Начало

This commit is contained in:
cfif 2026-03-23 18:02:07 +03:00
parent 432176a0db
commit 98efa5d0b1
2 changed files with 18 additions and 28 deletions

View File

@ -176,13 +176,13 @@ static _Noreturn void Serial_ToCanSpontany_Thread(tTaskSerialToCanSpontany *env)
data.can_rx_message.dlc, data.can_rx_message.standard_id, 0, 2, data.can_rx_message.dlc, data.can_rx_message.standard_id, 0, 2,
1000); 1000);
if (sent) { if (sent) {
if (data.from_uart == SPONTANY_FROM_UART) { if (data.from_uart == FROM_UART) {
sendOk(env->At_UART); sendOk(env->At_UART);
} else { } else {
sendOk(env->At_UART_USB); sendOk(env->At_UART_USB);
} }
} else { } else {
if (data.from_uart == SPONTANY_FROM_UART) { if (data.from_uart == FROM_UART) {
sendError(env->At_UART); sendError(env->At_UART);
} else { } else {
sendError(env->At_UART_USB); sendError(env->At_UART_USB);
@ -195,13 +195,13 @@ static _Noreturn void Serial_ToCanSpontany_Thread(tTaskSerialToCanSpontany *env)
1000); 1000);
if (sent) { if (sent) {
if (data.from_uart == SPONTANY_FROM_UART) { if (data.from_uart == FROM_UART) {
sendOk(env->At_UART); sendOk(env->At_UART);
} else { } else {
sendOk(env->At_UART_USB); sendOk(env->At_UART_USB);
} }
} else { } else {
if (data.from_uart == SPONTANY_FROM_UART) { if (data.from_uart == FROM_UART) {
sendError(env->At_UART); sendError(env->At_UART);
} else { } else {
sendError(env->At_UART_USB); sendError(env->At_UART_USB);
@ -240,26 +240,23 @@ void SerialCommand_Scheduler(tTaskSerial *env) {
if (AtCmdRxBeginWithStatic(&env->At, "T")) { if (AtCmdRxBeginWithStatic(&env->At, "T")) {
uint8_t data[8]; uint8_t data[8];
//uint32_t adr = iAsciiStringParseUnsignedLongDecimalNumber(&env->At.rxBuffer.data[1],
// &env->At.rxBuffer.data[7]);
uint8_t size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[0], 1); uint8_t size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[1], 2);
uint8_t opt = data[0]; uint8_t opt = data[0];
size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[1], 1); size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[3], 2);
uint8_t remote = data[0]; uint8_t remote = data[0];
size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[3], 4); size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[5], 4);
uint32_t adr = (data[0] << 8) | data[1]; uint32_t adr = (data[0] << 8) | data[1];
uint8_t len = &env->At.rxBuffer.data[env->At.rxBuffer.len] - &env->At.rxBuffer.data[9] - 2;
uint8_t len = &env->At.rxBuffer.data[env->At.rxBuffer.len] - &env->At.rxBuffer.data[7] - 2;
if (len > 16) { if (len > 16) {
len = 16; len = 16;
} }
size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[7], len); size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[9], len);
can_rx_message_Spontany dataCan; can_rx_message_Spontany dataCan;
@ -355,9 +352,8 @@ void SerialCommand_Scheduler(tTaskSerial *env) {
//начало ------------------------------Обработчик UART команд----------------------------------------------------------- //начало ------------------------------Обработчик UART команд-----------------------------------------------------------
void TaskSerialUART_Init(tTaskSerial *env, void TaskSerialUART_Init(tTaskSerial *env,
spontany_from_uart from_uart, tFrom_uart from_uart,
tSerialPortIO *ioUART, tSerialPortIO *ioUART,
tSerialPortFrameIO *ioCAN,
osMessageQueueId_t txDataQueue_Spontany, osMessageQueueId_t txDataQueue_Spontany,
osMessageQueueId_t txDataQueue_Cyclic0, osMessageQueueId_t txDataQueue_Cyclic0,
osMessageQueueId_t txDataQueue_Cyclic1 osMessageQueueId_t txDataQueue_Cyclic1
@ -369,7 +365,6 @@ void TaskSerialUART_Init(tTaskSerial *env,
env->from_uart = from_uart; env->from_uart = from_uart;
env->ioUART = ioUART; env->ioUART = ioUART;
env->ioCAN = ioCAN;
env->txDataQueue_Spontany = txDataQueue_Spontany; env->txDataQueue_Spontany = txDataQueue_Spontany;
env->txDataQueue_Cyclic0 = txDataQueue_Cyclic0; env->txDataQueue_Cyclic0 = txDataQueue_Cyclic0;
@ -418,9 +413,8 @@ void TaskSerialUART_StartThread(tTaskSerial *env) {
//начало ------------------------------Обработчик UART USB команд------------------------------------------------------- //начало ------------------------------Обработчик UART USB команд-------------------------------------------------------
void TaskSerialUSB_Init(tTaskSerial *env, void TaskSerialUSB_Init(tTaskSerial *env,
spontany_from_uart from_uart, tFrom_uart from_uart,
tSerialPortIO *ioUART, tSerialPortIO *ioUART,
tSerialPortFrameIO *ioCAN,
osMessageQueueId_t txDataQueue_Spontany, osMessageQueueId_t txDataQueue_Spontany,
osMessageQueueId_t txDataQueue_Cyclic0, osMessageQueueId_t txDataQueue_Cyclic0,
osMessageQueueId_t txDataQueue_Cyclic1 osMessageQueueId_t txDataQueue_Cyclic1
@ -430,7 +424,6 @@ void TaskSerialUSB_Init(tTaskSerial *env,
env->from_uart = from_uart; env->from_uart = from_uart;
env->ioUART = ioUART; env->ioUART = ioUART;
env->ioCAN = ioCAN;
env->txDataQueue_Spontany = txDataQueue_Spontany; env->txDataQueue_Spontany = txDataQueue_Spontany;
env->txDataQueue_Cyclic0 = txDataQueue_Cyclic0; env->txDataQueue_Cyclic0 = txDataQueue_Cyclic0;

View File

@ -11,9 +11,9 @@
#include "CanSerialPortFrame.h" #include "CanSerialPortFrame.h"
typedef enum { typedef enum {
SPONTANY_FROM_UART, FROM_UART,
SPONTANY_FROM_UART_USB FROM_UART_USB
} spontany_from_uart; } tFrom_uart;
typedef struct { typedef struct {
@ -22,8 +22,7 @@ typedef struct {
uint8_t AtTx[255]; uint8_t AtTx[255];
tSerialPortIO *ioUART; tSerialPortIO *ioUART;
tSerialPortFrameIO *ioCAN; tFrom_uart from_uart;
spontany_from_uart from_uart;
osMutexId_t access; osMutexId_t access;
osMessageQueueId_t txDataQueue_Spontany; osMessageQueueId_t txDataQueue_Spontany;
@ -59,7 +58,7 @@ typedef struct {
typedef struct { typedef struct {
can_rx_message_type can_rx_message; can_rx_message_type can_rx_message;
spontany_from_uart from_uart; tFrom_uart from_uart;
} can_rx_message_Spontany; } can_rx_message_Spontany;
typedef struct { typedef struct {
@ -82,9 +81,8 @@ typedef struct {
} tTaskSerialToCanSpontany; } tTaskSerialToCanSpontany;
void TaskSerialUART_Init(tTaskSerial *env, void TaskSerialUART_Init(tTaskSerial *env,
spontany_from_uart from_uart, tFrom_uart from_uart,
tSerialPortIO *ioUART, tSerialPortIO *ioUART,
tSerialPortFrameIO *ioCAN,
osMessageQueueId_t txDataQueue_Spontany, osMessageQueueId_t txDataQueue_Spontany,
osMessageQueueId_t txDataQueue_Cyclic0, osMessageQueueId_t txDataQueue_Cyclic0,
osMessageQueueId_t txDataQueue_Cyclic1 osMessageQueueId_t txDataQueue_Cyclic1
@ -93,9 +91,8 @@ void TaskSerialUART_Init(tTaskSerial *env,
void TaskSerialUART_StartThread(tTaskSerial *env); void TaskSerialUART_StartThread(tTaskSerial *env);
void TaskSerialUSB_Init(tTaskSerial *env, void TaskSerialUSB_Init(tTaskSerial *env,
spontany_from_uart from_uart, tFrom_uart from_uart,
tSerialPortIO *ioUART, tSerialPortIO *ioUART,
tSerialPortFrameIO *ioCAN,
osMessageQueueId_t txDataQueue_Spontany, osMessageQueueId_t txDataQueue_Spontany,
osMessageQueueId_t txDataQueue_Cyclic0, osMessageQueueId_t txDataQueue_Cyclic0,
osMessageQueueId_t txDataQueue_Cyclic1 osMessageQueueId_t txDataQueue_Cyclic1