|
@@ -70,21 +70,27 @@ void task_1s(void *pvParameters);
|
|
|
TimerHandle_t timer1_handle = 0;
|
|
TimerHandle_t timer1_handle = 0;
|
|
|
int32_t count = 0;
|
|
int32_t count = 0;
|
|
|
uint32_t interval = 0;
|
|
uint32_t interval = 0;
|
|
|
|
|
+uint32_t timer_beep_flag = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void beep_timer_start(int cou2,uint32_t inval)
|
|
void beep_timer_start(int cou2,uint32_t inval)
|
|
|
{
|
|
{
|
|
|
- xTimerStop(timer1_handle,portMAX_DELAY);
|
|
|
|
|
|
|
+ if(timer_beep_flag == 1)
|
|
|
|
|
+ xTimerStop(timer1_handle,portMAX_DELAY);
|
|
|
|
|
+ timer_beep_flag = 0;
|
|
|
count = cou2;
|
|
count = cou2;
|
|
|
interval = inval;
|
|
interval = inval;
|
|
|
xTimerChangePeriod(timer1_handle,interval,portMAX_DELAY);
|
|
xTimerChangePeriod(timer1_handle,interval,portMAX_DELAY);
|
|
|
xTimerStart(timer1_handle,portMAX_DELAY);
|
|
xTimerStart(timer1_handle,portMAX_DELAY);
|
|
|
|
|
+ timer_beep_flag = 1;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void beep_timer_stop()
|
|
void beep_timer_stop()
|
|
|
{
|
|
{
|
|
|
- xTimerStop(timer1_handle,portMAX_DELAY);
|
|
|
|
|
|
|
+ if(timer_beep_flag == 1)
|
|
|
|
|
+ xTimerStop(timer1_handle,portMAX_DELAY);
|
|
|
|
|
+ timer_beep_flag = 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void timer1_callback( TimerHandle_t pxTimer )
|
|
void timer1_callback( TimerHandle_t pxTimer )
|
|
@@ -97,6 +103,7 @@ void timer1_callback( TimerHandle_t pxTimer )
|
|
|
{
|
|
{
|
|
|
sts_data.clear_beep();
|
|
sts_data.clear_beep();
|
|
|
beep_timer_stop();
|
|
beep_timer_stop();
|
|
|
|
|
+ timer_beep_flag = 0;
|
|
|
}else
|
|
}else
|
|
|
{
|
|
{
|
|
|
|
|
|
|
@@ -106,6 +113,8 @@ void timer1_callback( TimerHandle_t pxTimer )
|
|
|
|
|
|
|
|
|
|
|
|
|
extern uint8_t recode_normal_flag;
|
|
extern uint8_t recode_normal_flag;
|
|
|
|
|
+extern uint8_t recode_channel;
|
|
|
|
|
+uint8_t counter = 0;
|
|
|
|
|
|
|
|
void task_100ms(void *pvParameters)
|
|
void task_100ms(void *pvParameters)
|
|
|
{
|
|
{
|
|
@@ -146,12 +155,24 @@ void task_100ms(void *pvParameters)
|
|
|
{
|
|
{
|
|
|
sts_data.beep_flag = 0;
|
|
sts_data.beep_flag = 0;
|
|
|
sts_data.input_beep = 0;
|
|
sts_data.input_beep = 0;
|
|
|
|
|
+ if(recode_normal_flag)
|
|
|
|
|
+ {
|
|
|
|
|
+ counter++;
|
|
|
|
|
+ if(counter>= 3)
|
|
|
|
|
+ {
|
|
|
|
|
+ counter = 0;
|
|
|
|
|
+ recode_normal_flag = 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ channel = 0;
|
|
|
|
|
+ vTaskDelay(100);
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
if(sts_data.m_data.m_rw.rw_data.chiose_ch == INPUT_CHANNEL_1)
|
|
if(sts_data.m_data.m_rw.rw_data.chiose_ch == INPUT_CHANNEL_1)
|
|
|
{
|
|
{
|
|
|
uint16_t wanning_1 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_1]);
|
|
uint16_t wanning_1 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_1]);
|
|
|
|
|
+ uint16_t wanning_2 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_2]);
|
|
|
if(wanning_1 >> 8)
|
|
if(wanning_1 >> 8)
|
|
|
{
|
|
{
|
|
|
- uint16_t wanning_2 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_2]);
|
|
|
|
|
if(wanning_2 >> 8 )
|
|
if(wanning_2 >> 8 )
|
|
|
{
|
|
{
|
|
|
if(sts_data.m_data.m_rw.rw_data.md_eep.out_status == OUT_OPEN)
|
|
if(sts_data.m_data.m_rw.rw_data.md_eep.out_status == OUT_OPEN)
|
|
@@ -160,25 +181,21 @@ void task_100ms(void *pvParameters)
|
|
|
{
|
|
{
|
|
|
if(!recode_normal_flag)
|
|
if(!recode_normal_flag)
|
|
|
sts_data.choise_input(INPUT_CHANNEL_2);
|
|
sts_data.choise_input(INPUT_CHANNEL_2);
|
|
|
- else
|
|
|
|
|
- recode_normal_flag = 0;
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}else if(sts_data.m_data.m_rw.rw_data.chiose_ch == INPUT_CHANNEL_2)
|
|
}else if(sts_data.m_data.m_rw.rw_data.chiose_ch == INPUT_CHANNEL_2)
|
|
|
{
|
|
{
|
|
|
uint16_t wanning_2 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_2]);
|
|
uint16_t wanning_2 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_2]);
|
|
|
|
|
+ uint16_t wanning_1 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_1]);
|
|
|
if(wanning_2 >> 8)
|
|
if(wanning_2 >> 8)
|
|
|
{
|
|
{
|
|
|
- uint16_t wanning_1 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_1]);
|
|
|
|
|
if(wanning_1 >> 8)
|
|
if(wanning_1 >> 8)
|
|
|
{
|
|
{
|
|
|
if(sts_data.m_data.m_rw.rw_data.md_eep.out_status == OUT_OPEN) sts_data.close_output();
|
|
if(sts_data.m_data.m_rw.rw_data.md_eep.out_status == OUT_OPEN) sts_data.close_output();
|
|
|
}else
|
|
}else
|
|
|
{
|
|
{
|
|
|
if(!recode_normal_flag)
|
|
if(!recode_normal_flag)
|
|
|
- sts_data.choise_input(INPUT_CHANNEL_1);
|
|
|
|
|
- else
|
|
|
|
|
- recode_normal_flag = 0;
|
|
|
|
|
|
|
+ sts_data.choise_input(INPUT_CHANNEL_1);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}else
|
|
}else
|
|
@@ -189,8 +206,6 @@ void task_100ms(void *pvParameters)
|
|
|
{
|
|
{
|
|
|
if(!sts_data.input_beep){
|
|
if(!sts_data.input_beep){
|
|
|
sts_data.input_beep = 1;
|
|
sts_data.input_beep = 1;
|
|
|
-// sts_data.beep_count =sts_data.lost_count;
|
|
|
|
|
-// sts_data.beep_flag = 1;
|
|
|
|
|
beep_timer_start(20,300);
|
|
beep_timer_start(20,300);
|
|
|
}
|
|
}
|
|
|
uint16_t wanning_1 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_1]);
|
|
uint16_t wanning_1 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_1]);
|
|
@@ -201,8 +216,6 @@ void task_100ms(void *pvParameters)
|
|
|
}else if((sts_data.m_data.m_r.r_data.input_status.input_status[INPUT_CHANNEL_2]) ){
|
|
}else if((sts_data.m_data.m_r.r_data.input_status.input_status[INPUT_CHANNEL_2]) ){
|
|
|
if(!sts_data.input_beep){
|
|
if(!sts_data.input_beep){
|
|
|
sts_data.input_beep = 1;
|
|
sts_data.input_beep = 1;
|
|
|
-// sts_data.beep_count =sts_data.lost_count;
|
|
|
|
|
-// sts_data.beep_flag = 1;
|
|
|
|
|
beep_timer_start(20,300);
|
|
beep_timer_start(20,300);
|
|
|
}
|
|
}
|
|
|
uint16_t wanning_2 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_2]);
|
|
uint16_t wanning_2 = *(uint16_t*)(&sts_data.m_data.m_r.r_data.input_wanning.in_wan[INPUT_CHANNEL_2]);
|
|
@@ -231,10 +244,12 @@ void task_10ms(void *pvParameters)
|
|
|
{
|
|
{
|
|
|
sts_data.addr = ReadKeyValue();
|
|
sts_data.addr = ReadKeyValue();
|
|
|
sts_data.baund = 9600;
|
|
sts_data.baund = 9600;
|
|
|
|
|
+ Fwdgt_Init();
|
|
|
eMBInit(MB_RTU,sts_data.addr,0,sts_data.baund,MB_PAR_NONE);
|
|
eMBInit(MB_RTU,sts_data.addr,0,sts_data.baund,MB_PAR_NONE);
|
|
|
|
|
|
|
|
while(1)
|
|
while(1)
|
|
|
{
|
|
{
|
|
|
|
|
+ Fwdgt_reload();
|
|
|
if(eMBCheck())
|
|
if(eMBCheck())
|
|
|
{
|
|
{
|
|
|
eMBInit(MB_RTU, sts_data.addr, 0, sts_data.baund, MB_PAR_NONE);
|
|
eMBInit(MB_RTU, sts_data.addr, 0, sts_data.baund, MB_PAR_NONE);
|
|
@@ -383,13 +398,14 @@ void start_task(void *pvParameters)
|
|
|
(void* )NULL,
|
|
(void* )NULL,
|
|
|
(UBaseType_t )TASK2_PRIO,
|
|
(UBaseType_t )TASK2_PRIO,
|
|
|
(TaskHandle_t* )&Task2Task_Handler);
|
|
(TaskHandle_t* )&Task2Task_Handler);
|
|
|
-
|
|
|
|
|
|
|
+#if 0
|
|
|
xTaskCreate((TaskFunction_t )lcd_task,
|
|
xTaskCreate((TaskFunction_t )lcd_task,
|
|
|
(const char* )"task3",
|
|
(const char* )"task3",
|
|
|
(uint16_t )TASK3_STK_SIZE,
|
|
(uint16_t )TASK3_STK_SIZE,
|
|
|
(void* )NULL,
|
|
(void* )NULL,
|
|
|
(UBaseType_t )TASK3_PRIO,
|
|
(UBaseType_t )TASK3_PRIO,
|
|
|
(TaskHandle_t* )&Task3Task_Handler);
|
|
(TaskHandle_t* )&Task3Task_Handler);
|
|
|
|
|
+#endif
|
|
|
xTaskCreate((TaskFunction_t )task_1s,
|
|
xTaskCreate((TaskFunction_t )task_1s,
|
|
|
(const char* )"task4",
|
|
(const char* )"task4",
|
|
|
(uint16_t )TASK4_STK_SIZE,
|
|
(uint16_t )TASK4_STK_SIZE,
|