Начало
This commit is contained in:
parent
98efa5d0b1
commit
cde6f62063
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue