feat: 添加模式切换模块支持USB/2.4G/BLE模式检测
- 在CMakeLists.txt中添加新的包含目录inc/events和源文件 mode_switch_module.c、mode_switch_event.c - 在设备树文件中添加模式切换ADC配置节点和通道设置 - 新增mode_switch_event.h头文件定义模式切换事件结构 - 实现mode_switch_event.c事件处理和日志记录功能 - 创建mode_switch_module.c核心模块实现ADC采样、 模式检测和事件发布逻辑 - 支持三种模式:USB、2.4G、BLE的电压阈值判断 - 集成CAF事件系统,支持电源管理和状态转换
This commit is contained in:
@@ -32,6 +32,13 @@
|
||||
power-gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
|
||||
power-on-sample-delay-us = <200>;
|
||||
};
|
||||
|
||||
mode_switch_adc: mode-switch-adc {
|
||||
compatible = "voltage-divider";
|
||||
io-channels = <&adc 5>;
|
||||
output-ohms = <1>;
|
||||
full-ohms = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
@@ -71,6 +78,16 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
channel@5 {
|
||||
reg = <5>;
|
||||
zephyr,gain = "ADC_GAIN_1_6";
|
||||
zephyr,reference = "ADC_REF_INTERNAL";
|
||||
zephyr,acquisition-time = <ADC_ACQ_TIME(ADC_ACQ_TIME_MICROSECONDS, 40)>;
|
||||
zephyr,input-positive = <NRF_SAADC_AIN5>;
|
||||
zephyr,resolution = <12>;
|
||||
zephyr,oversampling = <4>;
|
||||
};
|
||||
|
||||
channel@7 {
|
||||
reg = <7>;
|
||||
zephyr,gain = "ADC_GAIN_1_4";
|
||||
|
||||
Reference in New Issue
Block a user