演示例程¶
例程介绍¶
基础例程¶
源码路径: zephyr\samples_panchip\basic
。
Basic: Blinky: 演示LED闪灯,
led0
以一秒为周期亮灭。Basic: Button: 演示 Zephyr 对按键的支持功能, 当按键按下时向 Console 打印 Log 的同时
led0
亮,松开后led0
灭。Basic: Dynamic Frequency: 演示如何动态切换系统主频。
Basic: Synchronization: 演示内核基本功能,系统启动两个线程交替向
Console
打印消息。Basic: Hello World: 演示打印功能,支持
mcu boot
。
蓝牙例程¶
源码路径: zephyr\samples_panchip\bluetooth
。
Bluetooth: Beacon: 演示蓝牙 beacon。
Bluetooth: Central: 演示蓝牙主机功能,发现设备并与设备建立连接和断连。
Bluetooth: Central HID: 演示蓝牙主机HID功能,连接HID设备可以读取HID设备发来的键值等信息。
Bluetooth: Central Audio: 演示蓝牙语音传输主机端。
Bluetooth: Central Heart-rate Monitor: 演示蓝牙主机功能,主要是 HR (heart-rate) 服务相关,包括:发现设备, 解析广播数据并与包含HR服务的设备建立连接;查找并订阅HR服务。
Bluetooth: Central Health Thermometer sensor: 演示蓝牙主机功能,主要是 HT (health thermometer) 服务相关,包括:发现设备, 解析广播数据并与包含HT服务的设备建立连接;查找并订阅HT服务。
Bluetooth: Central Multilink: 演示主机多连接功能,可以发现设备并与最多8个从机设备建立连接。
Bluetooth: Eddystone: 演示 Google
Eddystone Configuration Service
和Eddystone beacon
功能。Bluetooth: HCI UART: 单 BLE Controller,可以通过串口发送HCI命令,用于 DTM,或者配合外部 Host 使用。
Bluetooth: iBeacon: 演示 Apple iBeacon功能,在支持iBeacon的应用上,可以粗略的显示距离信息。
Bluetooth: IoT WeChat: 演示微信硬件开发平台的
AirSync
协议。Bluetooth: Mesh Provisioner: 演示蓝牙 Mesh Provisioner 功能,先进行自我配置netkey,存储,然后通过pb adv对其他待入网设备广播进行扫描,建立link,入网的流程,并包括后续的配置流程。
Bluetooth: Mesh Provisioner: 演示蓝牙 Mesh Provisionee 功能,可以被 Mesh Provisioner 配网和控制,也可以通过手机或天猫精灵进行入网。
Bluetooth: Multi-roles: 演示蓝牙多角色(主从一体)功能,可以通过
shell
进行广播、扫描和连接,支持最多8组连接。Bluetooth: Peripheral: 演示蓝牙从机功能,包含 GATT服务: CTS/BAS/HRS。
Bluetooth: Peripheral Audio: 演示蓝牙语音传输从机端。
Bluetooth: Peripheral CSC: 演示蓝牙从机功能,包含 GATT服务:CSC (Cycling Speed and Cadence)。
Bluetooth: Peripheral DIS: 演示蓝牙从机功能,包含 GATT服务: DIS (Device Information)。
Bluetooth: Peripheral ESP: 演示蓝牙从机功能,包含 GATT服务: ESP (Environmental Sensing Profile)。
Bluetooth: Peripheral HIDs: 演示蓝牙从机功能,包含 GATT服务:HID,通用鼠标。
Bluetooth: Peripheral Heart-rate Monitor: 演示蓝牙从机功能,包含 GATT服务:HR (Heart Rate),连接订阅服务后,会上报虚拟的心率值。
Bluetooth: Peripheral Health Thermometer sensor: 演示蓝牙从机功能,包含 GATT服务:HT (Health Thermometer),连接订阅服务后,会上报虚拟的温度数据。
Bluetooth: Peripheral Identity: 演示从机多连接功能,可以与最多8个主机设备建立连接。
Bluetooth: Peripheral OTA: 演示蓝牙从机 OTA (Over-The-Air) 无线升级功能。
Bluetooth: Scan & Advertise: 演示蓝牙广播和扫描功能,将扫描到的设备个数,放在特定的广播数据中发出去。
外设驱动例程¶
源码路径: zephyr\samples_panchip\drivers
。
Driver: ACC: 演示硬件乘法器除法器功能。
Driver: ADC: 演示adc单次转换与多次转换功能。
Driver: Clock Control: 演示Clock Control API使用方法及切换系统时钟的方法。
Driver: Counter: 演示硬件计数器循环计数功能。
Driver: DMA M2M: 演示 DMA 的 Memory to Memory 功能。
Driver: DMA M2P&P2M: 演示 DMA 的 Memory to Peripheral 和 Peripehral to Memory 功能。
Driver: Flash Shell: 演示flash读写擦功能。
Driver: GPIO: 演示gpio输入输出及中断功能。
Driver: I2C Master: 演示i2c master读写功能。
Driver: I2C Slave: 演示i2c slave读写功能。
Driver: Kscan: 演示Kscan API使用方法及演示。
Driver: Pinmux: 演示开启或关闭SoC内部上拉或下拉电阻及切换引脚功能。
Driver: Power Management: 演示Zephyr低功耗流程。
Driver: PWM & RGB: 演示用PWM控制rgb灯的功能。
Driver: QDEC & PWM: 演示qdec计数功能。
Driver: SPI Master: 演示spi master读写功能。
Driver: UART FIFO: 演示uart收发功能。
Driver: Watchdog: 演示Watchdog看门狗功能。
低功耗例程¶
源码路径: zephyr\samples_panchip\low_power
。
LowPower: DeepSleep GPIO Key Wakeup: 演示 DeepSleep 模式下使用 GPIO 按键唤醒系统。
LowPower: DeepSleep GPIO PWM Wakeup: 演示 DeepSleep 模式下使用外部 PWM 波形触发 GPIO 中断唤醒系统。
LowPower: DeepSleep Timer Wakeup: 演示 DeepSleep 模式下使用 APB HW Timer 唤醒系统。
LowPower: Standby Mode 0 P56 Key Wakeup: 演示 Standby M0 模式下使用 P56 按键唤醒系统。
LowPower: Standby Mode 1 GPIO Key Wakeup: 演示 Standby M1 模式下使用 GPIO 按键唤醒系统。
LowPower: Standby Mode 1 LP Timer Wakeup: 演示 Standby M1 模式下使用 LP Timer 唤醒系统。
私有2.4G例程¶
源码路径: zephyr\samples_panchip\proprietary_radio
。
PRF: IO Pulse Receiver: 演示脉冲传输功能,接收发送端的2.4G信号,并恢复出波形,通过IO口输出。
PRF: IO Pulse Transmitter: 演示脉冲传输功能,通过IO口接收将外部的PWM波形,并通过2.4G传输给接收端设备。
PRF: 2.4G Receiver: 演示2.4G接收端功能。
PRF: 2.4G Transmitter: 演示2.4G发送端功能。
PRF: 2.4G NRF24L01 Transceiver: 演示2.4G nrf24l01 普通型、增强型的收发功能。
PRF: 2.4G XN297 Transceiver: 演示2.4G xn297 普通型、增强型的收发功能。
解决方案¶
源码路径: zephyr\samples_panchip\solutions
。
Solution: BLE HID Selfie: 自拍解决方案,通过蓝牙HID控制手机拍照。
Solution: BLE HID Uart: 蓝牙串口透传解决方案,演示蓝牙hid串口透传功能。
Solution: BLE Mouse Dongle: 蓝牙快连产测dongle程序,支持产测中使用dongle扫描`Pan_Mouse`并连接自动画圈。
Solution: BLE Panchip-CTE Beacon: 磐启定位标签解决方案,通过广播发送特定的定位数据。
Solution: BLE RGB Light: 蓝牙RGB三色灯解决方案,可以用小程序连接并进行控制。
Solution: BLE Vehicles Key: 模拟蓝牙感应钥匙功能,当手机足够接近电动车时,会自动解锁电动车。
Solution: Mesh Genie Curtain: 演示智能音箱(天猫精灵)控制 Mesh 窗帘功能,可以完成入网及窗帘模拟过程,也可以用nRF mesh的手机APP进行入网,进而进行控制操作。
Solution: Multimode Mouse: 鼠标解决方案,支持BLE、2.4G、USB三种模式。
Solution: Multimode Mouse Dongle: 2.4G Mouse Dongle接收器,配合鼠标使用,支持2.4G。
Solution: Multimode Keyboard: 键盘解决方案,支持BLE、2.4G、USB三种模式。
Solution: Multimode Keyboard Dongle: 2.4G Keyboard Dongle接收器,配合键盘使用,支持2.4G。
Solution: Multimode HID Demo: 使用单线程方式演示 USB, 2.4G, BLE 三模鼠标方案,功能较为简单,主要用来演示相关API接口。
Solution: XN297 BLE Demo: 演示蓝牙和 2.4G (XN297 模式) 协调工作的流程。
Solution: Tencent BLE iot vehicle: 演示基于微信小程序的腾讯连连电动二轮车钥匙项目,使用腾讯llsync协议。
子系统例程¶
源码路径: zephyr\samples_panchip\subsys
。
Subsys: USB HID Mouse: 演示usb作为鼠标的驱动识别和控制
Subsys: USB DFU: 演示usb作为DFU Device的识别和升级流程
Subsys: Panchip DFU: 演示usb作为DFU Device的识别和升级流程(Panchip私有协议)
Sub-1G例程¶
源码路径: zephyr\samples_panchip\sub_1G
。
Sub-1G: CAD: 演示 Sub-1G 检测空中信号的功能
Sub-1G: TRX Sample: 演示使用 BLE 配网以及 Sub-1G 通信
Sub-1G: PLHD: 演示 Sub-1G 提前中断的功能
Sub-1G: Intelligent Search: 演示 Sub-1G 智能搜索功能
Sub-1G: Packet reception rate: 演示 Sub-1G 收包率测试
注解
SDK中的所有例程均已适配了 PAN1080 EVB 开发板,我们可在 zephyr\boards\arm\
路径下找到当前支持的开发板配置文件。
开发板的配置信息存储在各自目录下的设备树(DeviceTree)配置文件(*.dts
)中,各开发板与例程有关的配置如下:
pan108xxa1_evb
/pan108xxb1_evb
/pan108xxb5_evb
/pan1083xa1_evb
:console, shell-uart, bt-mon-uart, bt-c2h-uart
uart0: TX: P00, RX: P01, 8N1, baudrate: 921600
LEDs
led_blue (led0): P16, active high
PWM LEDs
pwm_led_red: pwm0_ch4, P10
pwm_led_green: pwm0_ch5, P11
pwm_led_blue: pwm0_ch6, P16
Buttons
key1: P04, active low, pull-up enable
key2: P05, active low, pull-up enable
pan108xxa3_evb
:console, shell-uart, bt-mon-uart, bt-c2h-uart
uart0: TX: P30, RX: P31, 8N1, baudrate: 921600
LEDs
led_blue (led0): P16, active high
PWM LEDs
pwm_led_red: pwm0_ch4, P10
pwm_led_green: pwm0_ch5, P11
pwm_led_blue: pwm0_ch6, P16
例程列表¶
- 基础例程
- 蓝牙例程
- Bluetooth: Beacon
- Bluetooth: Central
- Bluetooth: Central Audio
- Bluetooth: Central HID
- Bluetooth: Central / Heart-rate Monitor
- Bluetooth: Central / Health Thermometer sensor
- Bluetooth: Central / Multilink
- Bluetooth: Eddystone
- Bluetooth: HCI UART
- Bluetooth: iBeacon
- Bluetooth: IoT WeChat
- Bluetooth: Mesh Provisionee
- Bluetooth: Mesh Provisioner
- Bluetooth: Multi-roles
- Bluetooth: Peripheral
- Bluetooth: Peripheral Audio
- Bluetooth: Peripheral CSC
- Bluetooth: Peripheral DIS
- Bluetooth: Peripheral ESP
- Bluetooth: Peripheral HIDs
- Bluetooth: Peripheral / Heart-rate Monitor
- Bluetooth: Peripheral / Health Thermometer sensor
- Bluetooth: Peripheral Identity
- Bluetooth: Peripheral OTA
- Bluetooth: Scan & Advertise
- 外设驱动例程
- Driver: ACC
- Driver: ADC
- Driver: Clock Control
- Driver: Counter
- Driver: DMA M2M
- Driver: DMA M2P&P2M
- Driver: Flash Shell
- Driver: GPIO
- Driver: I2C Master
- Driver: I2C Slave
- Driver: KSCAN
- Driver: Pinmux
- Driver: Power Management
- Driver: PWM & RGB
- Driver: QDEC & PWM
- Driver: SPI Master
- Driver: UART FIFO
- Driver: WatchDog
- 低功耗例程
- 私有2.4G例程
- 解决方案
- Solution: BLE HID Selfie
- Solution: BLE HID Uart
- Solution: ble Mouse
- Solution: BLE Mouse Dongle
- Solution: BLE Panchip-CTE Beacon
- Solution: BLE RGB Light
- Solution: BLE Vehicles Key
- Solution: Mesh Genie Curtain
- Solution: Multimode HID Demo
- Solution: Multimode Keyboard
- Solution: Multimode Keyboard Dongle
- Solution: Multi Model Mouse
- Solution: Multimode Mouse Dongle
- Solution: Tencent ble iot vehicle
- Solution: XN297 BLE Mesh Demo
- Solution: XN297 BLE Demo
- sub-1G例程
- 子系统例程