| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- * hw_config.h
- *
- * 可变化的硬件相关逻辑: GPIO 中断、睡眠/唤醒时序、开机初始化、
- * 节能曲线表、声音检测。
- * 换 PCB / 改引脚 / 调启动流程时只需修改 hw_config.c 即可,
- * ukey.c 和 ledx.c 的纯逻辑代码不动。
- */
- #ifndef HW_CONFIG_H
- #define HW_CONFIG_H
- #include "CH58x_common.h"
- /* struct eco_s 定义在 ledx.h */
- /* ---- 原 ukey.c 变量, 此处供 hw_config.c 使用 ---- */
- extern uint8_t key_down_counter;
- extern uint32_t key_down_time;
- extern uint16_t sys_idle_count;
- extern BOOL need_pwup;
- extern uint32_t sys_open_time;
- extern BOOL is_key_down;
- extern BOOL skip_this_btn_down;
- extern uint8_t count_5;
- extern BOOL is_powup_first;
- extern BOOL is_iqr_weekup;
- /* ---- 其他模块变量 ---- */
- extern BOOL isRFOn; /* RF_PHY.c */
- extern BOOL IS_RF_INITED; /* RF_main.c */
- /* eco_plan[] 定义在 hw_config.c, sizeof 对外部数组不可用,改为手动计数 */
- #ifndef ECO_PLAN_LEN
- #define ECO_PLAN_LEN 1
- #endif
- /* ---- 节能状态机 (定义在 hw_config.c) ---- */
- extern volatile uint8_t eco_idx;
- extern volatile uint16_t eco_sec;
- extern volatile uint16_t eco_loop_sec;
- uint8_t resetEco(void);
- uint8_t changeEco(void);
- /* ---- 声音检测 (原 ledx.c static 变量去 static) ---- */
- extern uint32_t _led_current_sound_systick;
- extern volatile uint16_t inSound;
- extern uint8_t sound_debounce_count;
- extern uint8_t last_gpio_state;
- /* ---- 函数声明 ---- */
- __INTERRUPT __HIGH_CODE void GPIOA_IRQHandler(void);
- void checkbleOnOrOff(uint32_t key_up_time);
- void sw_hal_sleep(void);
- void sys_startup(void);
- uint8_t catchSound(void);
- #endif /* HW_CONFIG_H */
|