添加stmisp协议

This commit is contained in:
OPTOC
2025-10-07 17:49:20 +08:00
parent 0c1ff65651
commit 0336a20472
5 changed files with 382 additions and 2 deletions

View File

@@ -20,6 +20,8 @@ void sertrf_init(void)
// 协议初始化
sertrf.resend_read_mutex = xSemaphoreCreateMutex();
resend_init(&sertrf.resend_device, resend_send, resend_recv, resend_get_length,resend_user_parse);
// stmisp协议初始化
stmisp_init(&sertrf.stmisp_device,stmisp_send,stmisp_recv,stmisp_get_length);
//OAT信息获取
get_partition_status(&sertrf.otau);
//线程启动
@@ -62,7 +64,8 @@ void embedded_thread(void* arg)
{
uint8_t data[embedded_size ];
// data[embedded_size] = '\0';
embedded_device_read(&sertrf.device, data, embedded_size,0);
if(!sertrf.stmisp_device.flag)
embedded_device_read(&sertrf.device, data, embedded_size,0);
Protocol_buf_decode(data, embedded_size);
// SYS_LOG_INF("data : %s", data);
@@ -86,7 +89,8 @@ void pc_thread(void* arg)
uint8_t data[pc_size];
pc_device_read(&sertrf.device, data, pc_size);
// SYS_LOG_INF("data : %s", data);
embedded_device_write(&sertrf.device, data, pc_size);
if(!sertrf.stmisp_device.flag)
embedded_device_write(&sertrf.device, data, pc_size);
}
// printf_chill_time(10,1000);
@@ -354,4 +358,25 @@ void resend_user_parse(void *resend_device)
}
break;
}
}
int stmisp_send(void* data, uint16_t len, int timeout)
{
return embedded_device_write(&sertrf.device, data, len);
}
int stmisp_recv(void* data, uint16_t len, int timeout)
{
uint32_t time_start = os_get_sys_time();
int size = 0;
while(os_get_sys_time() - time_start < timeout)
{
size = embedded_device_read(&sertrf.device, data, len, 0);
os_thread_sleep(1);
}
return size;
}
int stmisp_get_length(void)
{
return embedded_device_get_rx_length(&sertrf.device);
}