修复 App 语法报错与命名冲突,彻底在后台命令行成功编译生成 wristband.hex 固件
This commit is contained in:
@@ -18,7 +18,7 @@ extern volatile bit alarm_flash_flag;
|
|||||||
extern Sensor_Slot xdata sensor_list[16];
|
extern Sensor_Slot xdata sensor_list[16];
|
||||||
|
|
||||||
// 本地私有变量
|
// 本地私有变量
|
||||||
static u32 alarm_timer_ms = 0; // 报警震动波形计数器
|
static u32 alarm_pulse_timer = 0; // 报警震动波形计数器
|
||||||
static u16 last_run_tick = 0; // 记录上一次轮询的 ticks
|
static u16 last_run_tick = 0; // 记录上一次轮询的 ticks
|
||||||
|
|
||||||
// 声明本应用的生命周期回调函数
|
// 声明本应用的生命周期回调函数
|
||||||
@@ -47,7 +47,7 @@ static void AlarmApp_OnStart(void)
|
|||||||
u8 zone = 1;
|
u8 zone = 1;
|
||||||
|
|
||||||
current_state = STATE_ALARM; // 系统切入报警状态
|
current_state = STATE_ALARM; // 系统切入报警状态
|
||||||
alarm_timer_ms = 0; // 振动计时器清零
|
alarm_pulse_timer = 0; // 振动计时器清零
|
||||||
last_run_tick = ms_tick;
|
last_run_tick = ms_tick;
|
||||||
|
|
||||||
// 比对查出当前触发警报的传感器在数据库中的属性
|
// 比对查出当前触发警报的传感器在数据库中的属性
|
||||||
@@ -114,47 +114,47 @@ static void AlarmApp_onRun(void)
|
|||||||
}
|
}
|
||||||
last_run_tick = ms_tick;
|
last_run_tick = ms_tick;
|
||||||
|
|
||||||
alarm_timer_ms += tick_diff;
|
alarm_pulse_timer += tick_diff;
|
||||||
if (alarm_timer_ms >= 5000) {
|
if (alarm_pulse_timer >= 5000) {
|
||||||
alarm_timer_ms = 0; // 5秒一周期
|
alarm_pulse_timer = 0; // 5秒一周期
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type == 0) {
|
if (type == 0) {
|
||||||
// 门磁警报波形:单次震动 300ms,停 4700ms
|
// 门磁警报波形:单次震动 300ms,停 4700ms
|
||||||
if (alarm_timer_ms < 300) MOTOR = 1; else MOTOR = 0;
|
if (alarm_pulse_timer < 300) MOTOR = 1; else MOTOR = 0;
|
||||||
} else if (type == 1) {
|
} else if (type == 1) {
|
||||||
// PIR 警报波形:震动 300ms,停 200ms,再震动 300ms,停 4200ms
|
// PIR 警报波形:震动 300ms,停 200ms,再震动 300ms,停 4200ms
|
||||||
if (alarm_timer_ms < 300) MOTOR = 1;
|
if (alarm_pulse_timer < 300) MOTOR = 1;
|
||||||
else if (alarm_timer_ms >= 300 && alarm_timer_ms < 500) MOTOR = 0;
|
else if (alarm_pulse_timer >= 300 && alarm_pulse_timer < 500) MOTOR = 0;
|
||||||
else if (alarm_timer_ms >= 500 && alarm_timer_ms < 800) MOTOR = 1;
|
else if (alarm_pulse_timer >= 500 && alarm_pulse_timer < 800) MOTOR = 1;
|
||||||
else MOTOR = 0;
|
else MOTOR = 0;
|
||||||
} else if (type == 2) {
|
} else if (type == 2) {
|
||||||
// 烟感警报波形:急促短闪三下 200ms-150ms-200ms-150ms-200ms
|
// 烟感警报波形:急促短闪三下 200ms-150ms-200ms-150ms-200ms
|
||||||
if (alarm_timer_ms < 200) MOTOR = 1;
|
if (alarm_pulse_timer < 200) MOTOR = 1;
|
||||||
else if (alarm_timer_ms >= 200 && alarm_timer_ms < 350) MOTOR = 0;
|
else if (alarm_pulse_timer >= 200 && alarm_pulse_timer < 350) MOTOR = 0;
|
||||||
else if (alarm_timer_ms >= 350 && alarm_timer_ms < 550) MOTOR = 1;
|
else if (alarm_pulse_timer >= 350 && alarm_pulse_timer < 550) MOTOR = 1;
|
||||||
else if (alarm_timer_ms >= 550 && alarm_timer_ms < 700) MOTOR = 0;
|
else if (alarm_pulse_timer >= 550 && alarm_pulse_timer < 700) MOTOR = 0;
|
||||||
else if (alarm_timer_ms >= 700 && alarm_timer_ms < 900) MOTOR = 1;
|
else if (alarm_pulse_timer >= 700 && alarm_pulse_timer < 900) MOTOR = 1;
|
||||||
else MOTOR = 0;
|
else MOTOR = 0;
|
||||||
} else if (type == 3) {
|
} else if (type == 3) {
|
||||||
// 燃气报警波形:快频连续四下
|
// 燃气报警波形:快频连续四下
|
||||||
if (alarm_timer_ms < 200) MOTOR = 1;
|
if (alarm_pulse_timer < 200) MOTOR = 1;
|
||||||
else if (alarm_timer_ms >= 200 && alarm_timer_ms < 300) MOTOR = 0;
|
else if (alarm_pulse_timer >= 200 && alarm_pulse_timer < 300) MOTOR = 0;
|
||||||
else if (alarm_timer_ms >= 300 && alarm_timer_ms < 500) MOTOR = 1;
|
else if (alarm_pulse_timer >= 300 && alarm_pulse_timer < 500) MOTOR = 1;
|
||||||
else if (alarm_timer_ms >= 500 && alarm_timer_ms < 600) MOTOR = 0;
|
else if (alarm_pulse_timer >= 500 && alarm_pulse_timer < 600) MOTOR = 0;
|
||||||
else if (alarm_timer_ms >= 600 && alarm_timer_ms < 800) MOTOR = 1;
|
else if (alarm_pulse_timer >= 600 && alarm_pulse_timer < 800) MOTOR = 1;
|
||||||
else if (alarm_timer_ms >= 800 && alarm_timer_ms < 900) MOTOR = 0;
|
else if (alarm_pulse_timer >= 800 && alarm_pulse_timer < 900) MOTOR = 0;
|
||||||
else if (alarm_timer_ms >= 900 && alarm_timer_ms < 1100) MOTOR = 1;
|
else if (alarm_pulse_timer >= 900 && alarm_pulse_timer < 1100) MOTOR = 1;
|
||||||
else MOTOR = 0;
|
else MOTOR = 0;
|
||||||
} else if (type == 4) {
|
} else if (type == 4) {
|
||||||
// 水浸警报波形:慢速双长震波 600ms 和 600ms
|
// 水浸警报波形:慢速双长震波 600ms 和 600ms
|
||||||
if (alarm_timer_ms < 600) MOTOR = 1;
|
if (alarm_pulse_timer < 600) MOTOR = 1;
|
||||||
else if (alarm_timer_ms >= 600 && alarm_timer_ms < 900) MOTOR = 0;
|
else if (alarm_pulse_timer >= 600 && alarm_pulse_timer < 900) MOTOR = 0;
|
||||||
else if (alarm_timer_ms >= 900 && alarm_timer_ms < 1500) MOTOR = 1;
|
else if (alarm_pulse_timer >= 900 && alarm_pulse_timer < 1500) MOTOR = 1;
|
||||||
else MOTOR = 0;
|
else MOTOR = 0;
|
||||||
} else {
|
} else {
|
||||||
// 缺省状态默认单次 300ms
|
// 缺省状态默认单次 300ms
|
||||||
if (alarm_timer_ms < 300) MOTOR = 1; else MOTOR = 0;
|
if (alarm_pulse_timer < 300) MOTOR = 1; else MOTOR = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ extern volatile u16 ms_tick;
|
|||||||
static u8 menu_level = 0; // 0-主菜单, 1-二级传感器选择菜单, 2-IPC绑定一键发射
|
static u8 menu_level = 0; // 0-主菜单, 1-二级传感器选择菜单, 2-IPC绑定一键发射
|
||||||
static u16 last_bind_tx_ms = 0; // 记录上一次绑定发射的时间戳
|
static u16 last_bind_tx_ms = 0; // 记录上一次绑定发射的时间戳
|
||||||
|
|
||||||
// 克隆的手环出厂物理 ID 地址定义 (用于一键绑定)
|
// 引入外部时钟调节接口
|
||||||
#define CLONED_ADDR 0x55AAAA
|
extern void Start_Time_Edit(void);
|
||||||
|
|
||||||
// 声明本应用的生命周期回调函数
|
// 声明本应用的生命周期回调函数
|
||||||
static void MenuApp_OnStart(void);
|
static void MenuApp_OnStart(void);
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ static u8 last_radar_sec; // 备份上一次雷达动画的帧索引
|
|||||||
static u8 captured_zone = 1; // 准备分配的防区号 (1~99)
|
static u8 captured_zone = 1; // 准备分配的防区号 (1~99)
|
||||||
static u8 success_start_sec = 0;// 对码成功时的起始秒数 (延迟退场)
|
static u8 success_start_sec = 0;// 对码成功时的起始秒数 (延迟退场)
|
||||||
static u8 fail_start_sec = 0; // 对码失败时的起始秒数
|
static u8 fail_start_sec = 0; // 对码失败时的起始秒数
|
||||||
static u32 pair_timeout_ms = 0; // 对码超时毫秒计数器
|
static u32 pair_pulse_timer = 0; // 对码超时毫秒计数器
|
||||||
static u16 last_run_tick = 0; // 上一次执行 onRun 时的毫秒滴答数
|
static u16 last_run_tick = 0; // 上一次执行 onRun 时的毫秒滴答数
|
||||||
|
|
||||||
// 声明本应用的生命周期回调函数
|
// 声明本应用的生命周期回调函数
|
||||||
@@ -58,7 +58,7 @@ static void PairApp_OnStart(void)
|
|||||||
pair_state = PAIR_STATE_WAIT;
|
pair_state = PAIR_STATE_WAIT;
|
||||||
last_radar_sec = 99; // 强制刷写
|
last_radar_sec = 99; // 强制刷写
|
||||||
current_state = STATE_PAIR_WAIT;
|
current_state = STATE_PAIR_WAIT;
|
||||||
pair_timeout_ms = 0;
|
pair_pulse_timer = 0;
|
||||||
last_run_tick = ms_tick;
|
last_run_tick = ms_tick;
|
||||||
captured_zone = 1;
|
captured_zone = 1;
|
||||||
RF_SetMode(1); // 开启无线接收模式
|
RF_SetMode(1); // 开启无线接收模式
|
||||||
@@ -105,9 +105,9 @@ static void PairApp_onRun(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 累加计算 30 秒的对码时间上限
|
// 累加计算 30 秒的对码时间上限
|
||||||
pair_timeout_ms += tick_diff;
|
pair_pulse_timer += tick_diff;
|
||||||
if (pair_timeout_ms >= 30000UL) {
|
if (pair_pulse_timer >= 30000UL) {
|
||||||
pair_timeout_ms = 0;
|
pair_pulse_timer = 0;
|
||||||
pair_state = PAIR_STATE_FAIL;
|
pair_state = PAIR_STATE_FAIL;
|
||||||
current_state = STATE_PAIR_FAIL;
|
current_state = STATE_PAIR_FAIL;
|
||||||
fail_start_sec = current_sec;
|
fail_start_sec = current_sec;
|
||||||
|
|||||||
@@ -101,6 +101,5 @@ static void RfMonitorApp_onClose(void)
|
|||||||
*/
|
*/
|
||||||
static EventResult RfMonitorApp_onEvent(SystemEvent *evt)
|
static EventResult RfMonitorApp_onEvent(SystemEvent *evt)
|
||||||
{
|
{
|
||||||
(void)evt;
|
|
||||||
return EVENT_IGNORED;
|
return EVENT_IGNORED;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,12 +12,9 @@ extern SystemState current_state;
|
|||||||
extern volatile u16 ms_tick;
|
extern volatile u16 ms_tick;
|
||||||
extern volatile bit alarm_flash_flag;
|
extern volatile bit alarm_flash_flag;
|
||||||
|
|
||||||
// 克隆的手环出厂物理 ID 地址
|
|
||||||
#define CLONED_ADDR 0x55AAAA
|
|
||||||
|
|
||||||
// 本地私有变量
|
// 本地私有变量
|
||||||
static u8 sos_last_phase = 99; // 记录上一次发射的 500ms 半周期状态
|
static u8 sos_last_phase = 99; // 记录上一次发射的 500ms 半周期状态
|
||||||
static u32 alarm_timer_ms = 0; // SOS 马达震动波形计数器
|
static u32 sos_pulse_timer = 0; // SOS 马达震动波形计数器
|
||||||
static u16 last_run_tick = 0; // 记录上一次轮询的 ticks
|
static u16 last_run_tick = 0; // 记录上一次轮询的 ticks
|
||||||
|
|
||||||
// 声明本应用的生命周期回调函数
|
// 声明本应用的生命周期回调函数
|
||||||
@@ -43,7 +40,7 @@ static void SOSApp_OnStart(void)
|
|||||||
{
|
{
|
||||||
current_state = STATE_SOS_EMITTED; // 进入 SOS 紧急求救状态
|
current_state = STATE_SOS_EMITTED; // 进入 SOS 紧急求救状态
|
||||||
sos_last_phase = 99;
|
sos_last_phase = 99;
|
||||||
alarm_timer_ms = 0; // 马达震动计数器清零
|
sos_pulse_timer = 0; // 马达震动计数器清零
|
||||||
last_run_tick = ms_tick;
|
last_run_tick = ms_tick;
|
||||||
UI_ShowSosPage(); // 初始化渲染 SOS 警示主页
|
UI_ShowSosPage(); // 初始化渲染 SOS 警示主页
|
||||||
|
|
||||||
@@ -101,12 +98,12 @@ static void SOSApp_onRun(void)
|
|||||||
}
|
}
|
||||||
last_run_tick = ms_tick;
|
last_run_tick = ms_tick;
|
||||||
|
|
||||||
alarm_timer_ms += tick_diff;
|
sos_pulse_timer += tick_diff;
|
||||||
if (alarm_timer_ms >= 1200) {
|
if (sos_pulse_timer >= 1200) {
|
||||||
alarm_timer_ms = 0;
|
sos_pulse_timer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (alarm_timer_ms < 1000) {
|
if (sos_pulse_timer < 1000) {
|
||||||
MOTOR = 1;
|
MOTOR = 1;
|
||||||
} else {
|
} else {
|
||||||
MOTOR = 0;
|
MOTOR = 0;
|
||||||
|
|||||||
@@ -359,6 +359,41 @@
|
|||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>.\App\system.c</FilePath>
|
<FilePath>.\App\system.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>clock.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\App\clock.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_clock.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\App\app_clock.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_menu.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\App\app_menu.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_pair.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\App\app_pair.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_alarm.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\App\app_alarm.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_sos.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\App\app_sos.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_rf_monitor.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\App\app_rf_monitor.c</FilePath>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
|
|||||||
Reference in New Issue
Block a user