|
@@ -94,6 +94,7 @@ int formatStr(uint16_t *bufTextCang02_IO000, uint8_t *Cang02_IO000, uint8_t cang
|
|
|
|
|
|
int formatStrCang01(uint16_t *bufTextCang01_IO000, uint8_t *Cang01_IO000, uint8_t cangNum); //可以显示兼容的老式协议
|
|
|
|
|
|
+SDateTime m_datetime;
|
|
|
static int FRAM_cnt = 0;
|
|
|
uint8_t vt_disp_type=0;
|
|
|
uint32_t cntUsage = 0; //统计cpu利用率
|
|
@@ -143,6 +144,44 @@ sT2C_ALL_Sensor_Data_Each_Cang *pT2C_ALL_Sensor_Data_Disp = &T2C_ALL_Sensor_Data
|
|
|
|
|
|
/* Private function prototypes -----------------------------------------------*/
|
|
|
/* USER CODE BEGIN FunctionPrototypes */
|
|
|
+void InitSensorScanParam(void)
|
|
|
+{
|
|
|
+ uint8_t data[16];
|
|
|
+
|
|
|
+ FM25L16B_Read_N_Bytes(ADDR_Sensor_Scan_Param, data, 16);
|
|
|
+ if(data[0] == 0x5A){
|
|
|
+ uint8_t *buf = data+1;
|
|
|
+ Pass41SensorScanParam.enable = 1;
|
|
|
+ if(buf[0] > 1 && buf[1] > 0){
|
|
|
+ Pass41SensorScanParam.step = buf[0];
|
|
|
+ Pass41SensorScanParam.nstep = buf[1];
|
|
|
+ if(buf[2] > 0 && buf[2] <= 8){
|
|
|
+ Pass41SensorScanParam.cmd_num = buf[2];
|
|
|
+ for (int n = 0; n < Pass41SensorScanParam.cmd_num; n++){
|
|
|
+ Pass41SensorScanParam.cmd_arr[n] = buf[3+n];
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ Pass41SensorScanParam.cmd_num = 2;
|
|
|
+ Pass41SensorScanParam.cmd_arr[0] = 0x40;
|
|
|
+ Pass41SensorScanParam.cmd_arr[1] = 0x91;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ Pass41SensorScanParam.step = 5;
|
|
|
+ Pass41SensorScanParam.nstep = 6;
|
|
|
+ Pass41SensorScanParam.cmd_num = 2;
|
|
|
+ Pass41SensorScanParam.cmd_arr[0] = 0x40;
|
|
|
+ Pass41SensorScanParam.cmd_arr[1] = 0x91;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ Pass41SensorScanParam.enable = 0;
|
|
|
+ Pass41SensorScanParam.step = 5;
|
|
|
+ Pass41SensorScanParam.nstep = 6;
|
|
|
+ Pass41SensorScanParam.cmd_num = 2;
|
|
|
+ Pass41SensorScanParam.cmd_arr[0] = 0x40;
|
|
|
+ Pass41SensorScanParam.cmd_arr[1] = 0x91;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void ControllerConfig_Init(void)
|
|
|
{
|
|
|
// uint8_t t000;
|
|
@@ -386,6 +425,9 @@ void ControllerConfig_Init(void)
|
|
|
|
|
|
vt_disp_type = FM25L16B_ReadByte(ADDR_DISP_VT_TYPE);
|
|
|
flag_En_BlankSeal = FM25L16B_ReadByte(ADDR_Enable_BlankSeal);
|
|
|
+
|
|
|
+ // 开机初始化读取,SensorScanParam
|
|
|
+ InitSensorScanParam();
|
|
|
}
|
|
|
/* USER CODE END FunctionPrototypes */
|
|
|
|
|
@@ -967,6 +1009,11 @@ void Task_Usart1_Terminal(void const *argument)
|
|
|
xEventGroupSetBits(xCreatedEventGroup, TASK_BIT_2);
|
|
|
osDelay(10); //阻塞延时,根据情况调节------保证每秒钟可以接收4帧数据,50*Nms休眠时间
|
|
|
|
|
|
+ // xy,新透传,41串口透传,模拟F3轮询传感器,构建数据
|
|
|
+ if(Pass41SensorScanParam.enable && i_task01 % 100 == 99)
|
|
|
+ {
|
|
|
+ DoInternalSensorScanAndPost();
|
|
|
+ }
|
|
|
} //while(1)
|
|
|
/* USER CODE END Task_Usart1_Terminal */
|
|
|
}
|
|
@@ -978,7 +1025,6 @@ void Task_Usart1_Terminal(void const *argument)
|
|
|
* @retval None
|
|
|
*/
|
|
|
/* USER CODE END Header_Task_GetCPU_Usage */
|
|
|
-SDateTime m_datetime;
|
|
|
void Task_GetCPU_Usage(void const *argument)
|
|
|
{
|
|
|
/* USER CODE BEGIN Task_GetCPU_Usage */
|
|
@@ -995,10 +1041,11 @@ void Task_GetCPU_Usage(void const *argument)
|
|
|
//DispRunInfo();//显示运行信息
|
|
|
cntUsage++;
|
|
|
osDelay(500); //阻塞延时,根据情况调节
|
|
|
- if(m_datetime.min!=min)
|
|
|
+ //2022-9-13, xy, 这里RTC时钟是按每分钟去读取一下RTC芯片校时的,但实在没必要如此频繁,优化成每小时
|
|
|
+ if(m_datetime.hour!=hour)
|
|
|
{
|
|
|
ds1302_SynTime(&m_datetime);
|
|
|
- min = m_datetime.min;
|
|
|
+ hour = m_datetime.hour;
|
|
|
}
|
|
|
uxBits = xEventGroupWaitBits(xCreatedEventGroup, /* 事件标志组句柄 */
|
|
|
TASK_BIT_ALL, /* 等待TASK_BIT_ALL被设置 */
|