event事件不再卡滞的版本
This commit is contained in:
parent
b82ade17b0
commit
8fc4a01ff4
@ -18,8 +18,6 @@
|
||||
|
||||
#include "FluxProtocol.h"
|
||||
|
||||
|
||||
|
||||
#define LOWERST_LIGHT_LEVEL (7222)
|
||||
|
||||
/*更新当前测试标准*/
|
||||
@ -27,6 +25,20 @@ static void standardVolumeRefresh(void);
|
||||
/*根据呼吸频率调整积分时间*/
|
||||
static void comulateTimeSend(void);
|
||||
|
||||
/*创建定时器*/
|
||||
static void comulateResultRead(lv_timer_t * timer)
|
||||
{
|
||||
/*下发数据获取指令*/
|
||||
flux_frame.DATA[1] = 0;
|
||||
flux_frame.DATA[3] = 120;
|
||||
flux_frame.FUNC = 0x03;
|
||||
|
||||
/*下发问询120个参数*/
|
||||
ESP_ERROR_CHECK(ModbusRTU_Send_0306(ECHO_UART_PORT_NUM1,&flux_frame));
|
||||
|
||||
|
||||
lv_label_set_text(ui_pageHome_labelStartTest,"Test Complete!");
|
||||
}
|
||||
|
||||
|
||||
/*亮度调节回调函数*/
|
||||
@ -90,9 +102,9 @@ void on_buttonStartTest_clicked(lv_event_t * e)
|
||||
{
|
||||
|
||||
/*下发积分时间*/
|
||||
//comulateTimeSend();
|
||||
#if 0
|
||||
/*使用0306报文格式*/
|
||||
|
||||
comulateTimeSend();
|
||||
uint8_t bytes[4];
|
||||
float time = (float)lv_spinbox_get_value(ui_pageFluxRead_spinboxTime);
|
||||
memcpy(bytes, &time, 4);
|
||||
@ -107,20 +119,44 @@ void on_buttonStartTest_clicked(lv_event_t * e)
|
||||
flux_frame.DATA[3] = bytes[2];
|
||||
|
||||
ESP_ERROR_CHECK(ModbusRTU_Send_0306(ECHO_UART_PORT_NUM1,&flux_frame));
|
||||
|
||||
#endif
|
||||
/*基于定时器进行任务调用*/
|
||||
lv_timer_t * comulateResultReadTimer;
|
||||
comulateResultReadTimer = lv_timer_create(comulateResultRead, 500, NULL);
|
||||
lv_timer_set_repeat_count(comulateResultReadTimer, 1);
|
||||
|
||||
|
||||
timeS = lv_spinbox_get_value(ui_pageFluxRead_spinboxTime);
|
||||
lv_timer_set_period(comulateResultReadTimer, timeS*1000+500);
|
||||
|
||||
/*下发启动测试指令*/
|
||||
FLUX_TEST_START;
|
||||
flux_frame_start.ADDR = FLUX_ADDR;
|
||||
flux_frame_start.FUNC = FLUX_FUNC_SET_SINGLE;
|
||||
|
||||
flux_frame_start.DATA[0] = 0x00;
|
||||
flux_frame_start.DATA[1] = 0x01;
|
||||
flux_frame_start.DATA[2] = 0x00;
|
||||
flux_frame_start.DATA[3] = 0x01;
|
||||
ESP_ERROR_CHECK(ModbusRTU_Send_0306(ECHO_UART_PORT_NUM1,&flux_frame_start));
|
||||
|
||||
lv_label_set_text(ui_pageHome_labelStartTest,"Testing...");
|
||||
|
||||
vTaskDelay(timeS*1000/portTICK_PERIOD_MS);
|
||||
//vTaskDelay(timeS*1000/portTICK_PERIOD_MS);
|
||||
lv_timer_enable(comulateResultReadTimer);
|
||||
#if 0
|
||||
/*下发数据获取指令*/
|
||||
flux_frame.DATA[1] = 0;
|
||||
flux_frame.DATA[3] = 120;
|
||||
flux_frame.FUNC = FLUX_FUNC_READ;
|
||||
|
||||
lv_event_send(ui_pageFluxRead_buttonReadFlux,LV_EVENT_CLICKED,NULL);
|
||||
/*下发问询120个参数*/
|
||||
ESP_ERROR_CHECK(ModbusRTU_Send_0306(ECHO_UART_PORT_NUM1,&flux_frame));
|
||||
|
||||
//lv_event_send(ui_pageFluxRead_buttonReadFlux,LV_EVENT_CLICKED,NULL);
|
||||
|
||||
lv_label_set_text(ui_pageHome_labelStartTest,"Test Complete!");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -162,6 +198,23 @@ void on_spinboxRate_valueChanged(lv_event_t * e)
|
||||
|
||||
/*下发测试时间*/
|
||||
comulateTimeSend();
|
||||
#if 1
|
||||
uint8_t bytes[4];
|
||||
float time = (float)lv_spinbox_get_value(ui_pageFluxRead_spinboxTime);
|
||||
memcpy(bytes, &time, 4);
|
||||
|
||||
/*下发命令*/
|
||||
flux_frame.ADDR = FLUX_ADDR;
|
||||
flux_frame.FUNC = FLUX_FUNC_SET_SINGLE;
|
||||
|
||||
flux_frame.DATA[0] = 0x00;
|
||||
flux_frame.DATA[1] = 0x02;
|
||||
flux_frame.DATA[2] = bytes[3];
|
||||
flux_frame.DATA[3] = bytes[2];
|
||||
|
||||
ESP_ERROR_CHECK(ModbusRTU_Send_0306(ECHO_UART_PORT_NUM1,&flux_frame));
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -267,7 +320,7 @@ void on_spinboxTime_valueChanged(lv_event_t * e)
|
||||
flux_frame2Reg.DATA[3] = bytes[0];
|
||||
|
||||
ESP_ERROR_CHECK(ModbusRTU_Send_0x10(ECHO_UART_PORT_NUM1,&flux_frame2Reg));
|
||||
#elif 1
|
||||
#elif 0
|
||||
/*使用0306报文格式*/
|
||||
uint8_t bytes[4];
|
||||
float time = (float)lv_spinbox_get_value(ui_pageFluxRead_spinboxTime);
|
||||
|
||||
@ -258,7 +258,7 @@ esp_err_t ModbusRTU_Send_0306(uart_port_t uart_num, struct ModbusRTU_Frame *fram
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
sprintf(text,"%02X %02X %02X %02X %02X %02X %02X %02X \n",frame->ADDR,frame->FUNC,frame->DATA[0],frame->DATA[1],frame->DATA[2],frame->DATA[3],frame->CRC[0],frame->CRC[1]);
|
||||
|
||||
lv_textarea_add_char(ui_pageDebug_textAreaContent,'\n');
|
||||
@ -321,6 +321,8 @@ esp_err_t RefreshResult(void)
|
||||
|
||||
}else{
|
||||
RESULT_RIGHT;
|
||||
|
||||
lv_label_set_text(ui_pageHome_labelResultCompare,"Pass!");
|
||||
}
|
||||
|
||||
return ESP_OK;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user