Начало

This commit is contained in:
cfif 2026-03-24 11:01:49 +03:00
parent 98efa5d0b1
commit cde6f62063
1 changed files with 11 additions and 10 deletions

View File

@ -235,6 +235,8 @@ void TaskSerialToCanSpontany_StartThread(tTaskSerialToCanSpontany *env) {
void SerialCommand_Scheduler(tTaskSerial *env) { void SerialCommand_Scheduler(tTaskSerial *env) {
osStatus_t status;
while (AtCmdReceiveNextLine(&env->At, SystemWaitForever) == AT_OK) { while (AtCmdReceiveNextLine(&env->At, SystemWaitForever) == AT_OK) {
if (AtCmdRxBeginWithStatic(&env->At, "T")) { if (AtCmdRxBeginWithStatic(&env->At, "T")) {
@ -270,16 +272,16 @@ void SerialCommand_Scheduler(tTaskSerial *env) {
memcpy(dataCan.can_rx_message.data, data, size); memcpy(dataCan.can_rx_message.data, data, size);
if (opt) { if (opt) {
osMessageQueuePut(env->txDataQueue_Spontany, &dataCan, 0x0, 0U); status = osMessageQueuePut(env->txDataQueue_Spontany, &dataCan, 0x0, 0U);
} else { } else {
uint32_t count0 = osMessageQueueGetCount(env->txDataQueue_Cyclic0); uint32_t count0 = osMessageQueueGetCount(env->txDataQueue_Cyclic0);
uint32_t count1 = osMessageQueueGetCount(env->txDataQueue_Cyclic1); uint32_t count1 = osMessageQueueGetCount(env->txDataQueue_Cyclic1);
if (count0 <= count1) { if (count0 <= count1) {
osMessageQueuePut(env->txDataQueue_Cyclic0, &dataCan.can_rx_message, 0x0, 0U); status = osMessageQueuePut(env->txDataQueue_Cyclic0, &dataCan.can_rx_message, 0x0, 0U);
} else { } else {
osMessageQueuePut(env->txDataQueue_Cyclic1, &dataCan.can_rx_message, 0x0, 0U); status = osMessageQueuePut(env->txDataQueue_Cyclic1, &dataCan.can_rx_message, 0x0, 0U);
} }
} }
} }
@ -318,16 +320,16 @@ void SerialCommand_Scheduler(tTaskSerial *env) {
memcpy(dataCan.can_rx_message.data, data, size); memcpy(dataCan.can_rx_message.data, data, size);
if (opt) { if (opt) {
osMessageQueuePut(env->txDataQueue_Spontany, &dataCan, 0x0, 0U); status = osMessageQueuePut(env->txDataQueue_Spontany, &dataCan, 0x0, 0U);
} else { } else {
uint32_t count0 = osMessageQueueGetCount(env->txDataQueue_Cyclic0); uint32_t count0 = osMessageQueueGetCount(env->txDataQueue_Cyclic0);
uint32_t count1 = osMessageQueueGetCount(env->txDataQueue_Cyclic1); uint32_t count1 = osMessageQueueGetCount(env->txDataQueue_Cyclic1);
if (count0 <= count1) { if (count0 <= count1) {
osMessageQueuePut(env->txDataQueue_Cyclic0, &dataCan.can_rx_message, 0x0, 0U); status = osMessageQueuePut(env->txDataQueue_Cyclic0, &dataCan.can_rx_message, 0x0, 0U);
} else { } else {
osMessageQueuePut(env->txDataQueue_Cyclic1, &dataCan.can_rx_message, 0x0, 0U); status = osMessageQueuePut(env->txDataQueue_Cyclic1, &dataCan.can_rx_message, 0x0, 0U);
} }
} }
@ -354,10 +356,9 @@ void SerialCommand_Scheduler(tTaskSerial *env) {
void TaskSerialUART_Init(tTaskSerial *env, void TaskSerialUART_Init(tTaskSerial *env,
tFrom_uart from_uart, tFrom_uart from_uart,
tSerialPortIO *ioUART, tSerialPortIO *ioUART,
osMessageQueueId_t txDataQueue_Spontany,
osMessageQueueId_t txDataQueue_Cyclic0, osMessageQueueId_t txDataQueue_Cyclic0,
osMessageQueueId_t txDataQueue_Cyclic1 osMessageQueueId_t txDataQueue_Cyclic1,
osMessageQueueId_t txDataQueue_Spontany
) { ) {
@ -366,9 +367,9 @@ void TaskSerialUART_Init(tTaskSerial *env,
env->ioUART = ioUART; env->ioUART = ioUART;
env->txDataQueue_Spontany = txDataQueue_Spontany;
env->txDataQueue_Cyclic0 = txDataQueue_Cyclic0; env->txDataQueue_Cyclic0 = txDataQueue_Cyclic0;
env->txDataQueue_Cyclic1 = txDataQueue_Cyclic1; env->txDataQueue_Cyclic1 = txDataQueue_Cyclic1;
env->txDataQueue_Spontany = txDataQueue_Spontany;
SerialPortClearRxBuffer(env->ioUART); SerialPortClearRxBuffer(env->ioUART);