1. 解决PWM 更新导致周期混乱继而亮度抖动的问题
2. 增加无论何种状态都能强制复位的机制 3. 添加设备注册检查机制,如果设备已经处于配网但是还是注册的状态,强制进行一次复位 4. 添加串口控制协议
This commit is contained in:
@@ -100,8 +100,14 @@ typedef struct __attribute__((packed, aligned(1))) {
|
||||
#define BRIGHTNESS_MAX 100 // 最大亮度
|
||||
#define BRIGHTNESS_LOCAL_MIN 0 // 最小亮度
|
||||
#define BRIGHTNESS_LOCAL_MAX 10000 // 最大亮度
|
||||
#define BRIGHTNESS_REMOTE2LOCAL(x) (x * 100) //变化范围0 -10000
|
||||
#define BRIGHTNESS_LOCAL2REMOTE(x) (x / 100)
|
||||
|
||||
// 亮度映射函数:仅对1-10%范围进行映射到2-10%,11-100%保持不变
|
||||
// 映射公式:
|
||||
// - 1-10%: 实际亮度 = 2 + (APP亮度 - 1) * 8 / 9
|
||||
// - 11-100%: 实际亮度 = APP亮度
|
||||
// 当APP亮度为1%时,实际亮度为2%;当APP亮度为10%时,实际亮度为10%;11%及以上保持不变
|
||||
#define BRIGHTNESS_REMOTE2LOCAL(x) (((x) <= 0) ? 0 : ((x) <= 10 ? (200 + (((x) - 1) * 800) / 9) : ((x) * 100)))
|
||||
#define BRIGHTNESS_LOCAL2REMOTE(x) (((x) <= 0) ? 0 : ((x) <= 1000 ? (1 + (((x) - 200) * 9) / 800) : ((x) / 100)))
|
||||
|
||||
#define BRIGHTNESS_LITME_RANGE(x) do { \
|
||||
if (x > BRIGHTNESS_LOCAL_MAX) x = BRIGHTNESS_LOCAL_MAX; \
|
||||
@@ -113,9 +119,9 @@ typedef struct __attribute__((packed, aligned(1))) {
|
||||
#define INIT_STA__BRIGHTNESS 50
|
||||
#define INIT_STA__CCT 4000
|
||||
|
||||
#define INIT_NET_CFG_PWOER_ON_KEEP_TIME (5 * 1000) // 统计进入配网每次打开状态的保持时间
|
||||
#define INIT_NET_CFG_PWOER_ON_KEEP_TIME (5 * 1000) // 上电保持超过该时间则清零计数(防误触)
|
||||
|
||||
#define NET_CFG_ENTRY_CNT 8 // 配网进入的上电次数
|
||||
#define NET_CFG_ENTRY_CNT 8 // 快速上电计数阈值:达到即强制解绑并恢复出厂
|
||||
#define NET_CFG_BREATH_DURATION 1*60*1000 // 配网呼吸灯持续时间(ms)
|
||||
#define NET_CFG_TOTAL_TIMEOUT 10*60*1000 // 配网总超时时间(ms)
|
||||
|
||||
@@ -195,6 +201,10 @@ typedef enum {
|
||||
#define CCT_PIN GPIO_00 // 暖白LED (WW)
|
||||
#define SWITCH_PIN GPIO_13
|
||||
|
||||
// PWM 更新标志输出引脚(用于逻辑分析仪观察控制时序)
|
||||
// 选取 GPIO10:每次调用 update_pwm_output() 时翻转一次电平
|
||||
#define PWM_UPDATE_FLAG_PIN GPIO_10
|
||||
|
||||
#define CONFIG_PWM_GROUP_ID 2
|
||||
|
||||
#define OPEN_LIGHT GPIO_LEVEL_HIGH
|
||||
@@ -213,6 +223,7 @@ typedef enum {
|
||||
.is_net_configured = false, \
|
||||
.duty_cw = 0, \
|
||||
.duty_ww = 0, \
|
||||
.power_on_cnt = 0, \
|
||||
};
|
||||
|
||||
int spotlight_main(void);
|
||||
@@ -228,4 +239,3 @@ void stop_net_config(void);
|
||||
extern int fast_report(const char* svc_id);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user