Начало
This commit is contained in:
parent
5974d803a0
commit
e1d23f5f3e
|
|
@ -187,16 +187,16 @@ void TaskSerialToCanCyclic1_StartThread(tTaskSerialToCanCyclic *env) {
|
|||
|
||||
void TaskSerialToCanSpontany_Init(tTaskSerialToCanSpontany *env,
|
||||
tSerialPortFrameIO *ioCAN,
|
||||
tSerialPortIO *ioUART,
|
||||
tSerialPortIO *ioUSB
|
||||
tSerialPortIO *ioUSB1,
|
||||
tSerialPortIO *ioUSB2
|
||||
|
||||
) {
|
||||
|
||||
// env->access = osMutexNew(NULL);
|
||||
env->ioCAN = ioCAN;
|
||||
|
||||
env->ioUART = ioUART;
|
||||
env->ioUSB = ioUSB;
|
||||
env->ioUSB1 = ioUSB1;
|
||||
env->ioUSB2 = ioUSB2;
|
||||
|
||||
env->txDataQueue = osMessageQueueNew(20, sizeof(can_rx_message_Spontany), NULL);
|
||||
|
||||
|
|
@ -218,16 +218,16 @@ static _Noreturn void Serial_ToCanSpontany_Thread(tTaskSerialToCanSpontany *env)
|
|||
data.can_rx_message.dlc, data.can_rx_message.standard_id, 0, 2,
|
||||
1000);
|
||||
if (sent) {
|
||||
if (data.from_uart == FROM_UART) {
|
||||
env->ioUART->transmit(env->ioUART->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
if (data.from_num_usb == FROM_UART_USB1) {
|
||||
env->ioUSB1->transmit(env->ioUSB1->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
} else {
|
||||
env->ioUSB->transmit(env->ioUSB->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
env->ioUSB2->transmit(env->ioUSB2->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
}
|
||||
} else {
|
||||
if (data.from_uart == FROM_UART) {
|
||||
env->ioUART->transmit(env->ioUART->env, (uint8_t *) "ERROR\r\n", sizeof("ERROR\r\n") - 1, 1000);
|
||||
if (data.from_num_usb == FROM_UART_USB1) {
|
||||
env->ioUSB1->transmit(env->ioUSB1->env, (uint8_t *) "ERROR\r\n", sizeof("ERROR\r\n") - 1, 1000);
|
||||
} else {
|
||||
env->ioUSB->transmit(env->ioUSB->env, (uint8_t *) "ERROR\r\n", sizeof("ERROR\r\n") - 1, 1000);
|
||||
env->ioUSB2->transmit(env->ioUSB2->env, (uint8_t *) "ERROR\r\n", sizeof("ERROR\r\n") - 1, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -237,16 +237,16 @@ static _Noreturn void Serial_ToCanSpontany_Thread(tTaskSerialToCanSpontany *env)
|
|||
1000);
|
||||
|
||||
if (sent) {
|
||||
if (data.from_uart == FROM_UART) {
|
||||
env->ioUART->transmit(env->ioUART->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
if (data.from_num_usb == FROM_UART_USB1) {
|
||||
env->ioUSB1->transmit(env->ioUSB1->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
} else {
|
||||
env->ioUSB->transmit(env->ioUSB->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
env->ioUSB2->transmit(env->ioUSB2->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
}
|
||||
} else {
|
||||
if (data.from_uart == FROM_UART) {
|
||||
env->ioUART->transmit(env->ioUART->env, (uint8_t *) "ERROR\r\n", sizeof("ERROR\r\n") - 1, 1000);
|
||||
if (data.from_num_usb == FROM_UART_USB1) {
|
||||
env->ioUSB1->transmit(env->ioUSB1->env, (uint8_t *) "ERROR\r\n", sizeof("ERROR\r\n") - 1, 1000);
|
||||
} else {
|
||||
env->ioUSB->transmit(env->ioUSB->env, (uint8_t *) "ERROR\r\n", sizeof("ERROR\r\n") - 1, 1000);
|
||||
env->ioUSB2->transmit(env->ioUSB2->env, (uint8_t *) "ERROR\r\n", sizeof("ERROR\r\n") - 1, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -315,7 +315,7 @@ void SerialCommand_Scheduler(tTaskSerial *env) {
|
|||
|
||||
|
||||
can_rx_message_Spontany dataCan;
|
||||
dataCan.from_uart = env->from_uart;
|
||||
dataCan.from_num_usb = env->from_num_usb;
|
||||
dataCan.can_rx_message.dlc = size;
|
||||
dataCan.can_rx_message.id_type = CAN_ID_STANDARD;
|
||||
dataCan.can_rx_message.standard_id = adr;
|
||||
|
|
@ -365,7 +365,7 @@ void SerialCommand_Scheduler(tTaskSerial *env) {
|
|||
size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[9], len);
|
||||
|
||||
can_rx_message_Spontany dataCan;
|
||||
dataCan.from_uart = env->from_uart;
|
||||
dataCan.from_num_usb = env->from_num_usb;
|
||||
dataCan.can_rx_message.dlc = size;
|
||||
dataCan.can_rx_message.id_type = CAN_ID_EXTENDED;
|
||||
dataCan.can_rx_message.extended_id = adr;
|
||||
|
|
@ -392,8 +392,8 @@ void SerialCommand_Scheduler(tTaskSerial *env) {
|
|||
}
|
||||
|
||||
if (AtCmdRxBeginWithStatic(&env->At, "V")) {
|
||||
env->ioUART->transmit(env->ioUART->env, (uint8_t *) "v001\r\n", sizeof("v001\r\n") - 1, 1000);
|
||||
env->ioUART->transmit(env->ioUART->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
env->ioUSB->transmit(env->ioUSB->env, (uint8_t *) "v001\r\n", sizeof("v001\r\n") - 1, 1000);
|
||||
env->ioUSB->transmit(env->ioUSB->env, (uint8_t *) "OK\r\n", sizeof("OK\r\n") - 1, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -409,9 +409,9 @@ void SerialCommand_Scheduler(tTaskSerial *env) {
|
|||
//начало ------------------------------Обработчик UART команд-----------------------------------------------------------
|
||||
//начало ------------------------------Обработчик UART команд-----------------------------------------------------------
|
||||
|
||||
void TaskSerialUART_Init(tTaskSerial *env,
|
||||
tFrom_uart from_uart,
|
||||
tSerialPortIO *ioUART,
|
||||
void TaskSerialUSB1_Init(tTaskSerial *env,
|
||||
tFrom_num_usb from_num_usb,
|
||||
tSerialPortIO *ioUSB,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic0,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic1,
|
||||
tTaskSerialToCanSpontany *TaskSerialToCanSpontany
|
||||
|
|
@ -419,18 +419,18 @@ void TaskSerialUART_Init(tTaskSerial *env,
|
|||
) {
|
||||
|
||||
// env->access = osMutexNew(NULL);
|
||||
env->from_uart = from_uart;
|
||||
env->from_num_usb = from_num_usb;
|
||||
|
||||
env->ioUART = ioUART;
|
||||
env->ioUSB = ioUSB;
|
||||
|
||||
env->TaskSerialToCanCyclic0 = TaskSerialToCanCyclic0;
|
||||
env->TaskSerialToCanCyclic1 = TaskSerialToCanCyclic1;
|
||||
env->TaskSerialToCanSpontany = TaskSerialToCanSpontany;
|
||||
|
||||
SerialPortClearRxBuffer(env->ioUART);
|
||||
SerialPortClearRxBuffer(env->ioUSB);
|
||||
|
||||
AtCmdInit(
|
||||
&env->At, env->ioUART,
|
||||
&env->At, env->ioUSB,
|
||||
env->AtRx, sizeof(env->AtRx),
|
||||
env->AtTx, sizeof(env->AtTx),
|
||||
2000, 2000
|
||||
|
|
@ -440,7 +440,7 @@ void TaskSerialUART_Init(tTaskSerial *env,
|
|||
}
|
||||
|
||||
|
||||
static _Noreturn void Serial_UART_Thread(tTaskSerial *env) {
|
||||
static _Noreturn void Serial_USB1_Thread(tTaskSerial *env) {
|
||||
for (;;) {
|
||||
|
||||
// if (osMutexAcquire(env->access, 1000) == osOK) {
|
||||
|
|
@ -450,13 +450,12 @@ static _Noreturn void Serial_UART_Thread(tTaskSerial *env) {
|
|||
// osMutexRelease(env->access);
|
||||
// }
|
||||
|
||||
SystemDelayMs(1);
|
||||
}
|
||||
}
|
||||
|
||||
void TaskSerialUART_StartThread(tTaskSerial *env) {
|
||||
void TaskSerialUSB1_StartThread(tTaskSerial *env) {
|
||||
if (!env->thread.id) {
|
||||
env->thread.id = osThreadNew((osThreadFunc_t) (Serial_UART_Thread), (void *) (env), &env->thread.attr);
|
||||
env->thread.id = osThreadNew((osThreadFunc_t) (Serial_USB1_Thread), (void *) (env), &env->thread.attr);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -469,27 +468,28 @@ void TaskSerialUART_StartThread(tTaskSerial *env) {
|
|||
//начало ------------------------------Обработчик UART USB команд-------------------------------------------------------
|
||||
//начало ------------------------------Обработчик UART USB команд-------------------------------------------------------
|
||||
|
||||
void TaskSerialUSB_Init(tTaskSerial *env,
|
||||
tFrom_uart from_uart,
|
||||
tSerialPortIO *ioUART,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic0,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic1,
|
||||
tTaskSerialToCanSpontany *TaskSerialToCanSpontany
|
||||
void TaskSerialUSB2_Init(tTaskSerial *env,
|
||||
tFrom_num_usb from_num_usb,
|
||||
tSerialPortIO *ioUSB,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic0,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic1,
|
||||
tTaskSerialToCanSpontany *TaskSerialToCanSpontany
|
||||
|
||||
) {
|
||||
|
||||
// env->access = osMutexNew(NULL);
|
||||
env->from_uart = from_uart;
|
||||
env->from_num_usb = from_num_usb;
|
||||
|
||||
env->ioUART = ioUART;
|
||||
env->ioUSB = ioUSB;
|
||||
|
||||
env->TaskSerialToCanCyclic0 = TaskSerialToCanCyclic0;
|
||||
env->TaskSerialToCanCyclic1 = TaskSerialToCanCyclic1;
|
||||
env->TaskSerialToCanSpontany = TaskSerialToCanSpontany;
|
||||
|
||||
SerialPortClearRxBuffer(env->ioUART);
|
||||
SerialPortClearRxBuffer(env->ioUSB);
|
||||
|
||||
AtCmdInit(
|
||||
&env->At, env->ioUART,
|
||||
&env->At, env->ioUSB,
|
||||
env->AtRx, sizeof(env->AtRx),
|
||||
env->AtTx, sizeof(env->AtTx),
|
||||
2000, 2000
|
||||
|
|
@ -499,7 +499,7 @@ void TaskSerialUSB_Init(tTaskSerial *env,
|
|||
}
|
||||
|
||||
|
||||
static _Noreturn void Serial_USB_Thread(tTaskSerial *env) {
|
||||
static _Noreturn void Serial_USB2_Thread(tTaskSerial *env) {
|
||||
for (;;) {
|
||||
|
||||
// if (osMutexAcquire(env->access, 1000) == osOK) {
|
||||
|
|
@ -509,13 +509,12 @@ static _Noreturn void Serial_USB_Thread(tTaskSerial *env) {
|
|||
// osMutexRelease(env->access);
|
||||
// }
|
||||
|
||||
SystemDelayMs(1);
|
||||
}
|
||||
}
|
||||
|
||||
void TaskSerialUSB_StartThread(tTaskSerial *env) {
|
||||
void TaskSerialUSB2_StartThread(tTaskSerial *env) {
|
||||
if (!env->thread.id) {
|
||||
env->thread.id = osThreadNew((osThreadFunc_t) (Serial_USB_Thread), (void *) (env), &env->thread.attr);
|
||||
env->thread.id = osThreadNew((osThreadFunc_t) (Serial_USB2_Thread), (void *) (env), &env->thread.attr);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@
|
|||
|
||||
|
||||
typedef enum {
|
||||
FROM_UART,
|
||||
FROM_UART_USB
|
||||
} tFrom_uart;
|
||||
FROM_UART_USB1,
|
||||
FROM_UART_USB2
|
||||
} tFrom_num_usb;
|
||||
|
||||
typedef struct {
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
can_rx_message_type can_rx_message;
|
||||
tFrom_uart from_uart;
|
||||
tFrom_num_usb from_num_usb;
|
||||
} can_rx_message_Spontany;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -43,8 +43,8 @@ typedef struct {
|
|||
// osMutexId_t access;
|
||||
osMessageQueueId_t txDataQueue;
|
||||
|
||||
tSerialPortIO *ioUART;
|
||||
tSerialPortIO *ioUSB;
|
||||
tSerialPortIO *ioUSB2;
|
||||
tSerialPortIO *ioUSB1;
|
||||
|
||||
struct {
|
||||
osThreadId_t id;
|
||||
|
|
@ -62,8 +62,8 @@ typedef struct {
|
|||
uint8_t AtRx[255];
|
||||
uint8_t AtTx[255];
|
||||
|
||||
tSerialPortIO *ioUART;
|
||||
tFrom_uart from_uart;
|
||||
tSerialPortIO *ioUSB;
|
||||
tFrom_num_usb from_num_usb;
|
||||
// osMutexId_t access;
|
||||
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic0;
|
||||
|
|
@ -81,26 +81,26 @@ typedef struct {
|
|||
} tTaskSerial;
|
||||
|
||||
|
||||
void TaskSerialUART_Init(tTaskSerial *env,
|
||||
tFrom_uart from_uart,
|
||||
tSerialPortIO *ioUART,
|
||||
void TaskSerialUSB1_Init(tTaskSerial *env,
|
||||
tFrom_num_usb from_num_usb,
|
||||
tSerialPortIO *ioUSB,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic0,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic1,
|
||||
tTaskSerialToCanSpontany *TaskSerialToCanSpontany
|
||||
);
|
||||
|
||||
void TaskSerialUART_StartThread(tTaskSerial *env);
|
||||
void TaskSerialUSB1_StartThread(tTaskSerial *env);
|
||||
|
||||
void TaskSerialUSB_Init(tTaskSerial *env,
|
||||
tFrom_uart from_uart,
|
||||
tSerialPortIO *ioUART,
|
||||
void TaskSerialUSB2_Init(tTaskSerial *env,
|
||||
tFrom_num_usb from_num_usb,
|
||||
tSerialPortIO *ioUSB,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic0,
|
||||
tTaskSerialToCanCyclic *TaskSerialToCanCyclic1,
|
||||
tTaskSerialToCanSpontany *TaskSerialToCanSpontany
|
||||
|
||||
);
|
||||
|
||||
void TaskSerialUSB_StartThread(tTaskSerial *env);
|
||||
void TaskSerialUSB2_StartThread(tTaskSerial *env);
|
||||
|
||||
|
||||
void TaskSerialToCanCyclic0_Init(tTaskSerialToCanCyclic *env,
|
||||
|
|
@ -117,8 +117,8 @@ void TaskSerialToCanCyclic1_StartThread(tTaskSerialToCanCyclic *env);
|
|||
|
||||
void TaskSerialToCanSpontany_Init(tTaskSerialToCanSpontany *env,
|
||||
tSerialPortFrameIO *ioCAN,
|
||||
tSerialPortIO *ioUART,
|
||||
tSerialPortIO *ioUSB
|
||||
tSerialPortIO *ioUSB1,
|
||||
tSerialPortIO *ioUSB2
|
||||
|
||||
);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue