Начало

This commit is contained in:
cfif 2026-03-13 16:38:05 +03:00
parent c086cbe1c1
commit d552803f86
1 changed files with 33 additions and 28 deletions

View File

@ -26,45 +26,50 @@ void sendVers(tAtCmd *AtCmd) {
void SerialCommand_Scheduler(tTaskSerial *env) {
if (AtCmdRxBeginWithStatic(&env->At, "T")) {
while (AtCmdReceiveNextLine(&env->At, SystemWaitForever) == AT_OK) {
uint8_t data[8];
uint32_t adr = iAsciiStringParseUnsignedLongDecimalNumber(&env->At.rxBuffer.data[1], &env->At.rxBuffer.data[9]);
if (AtCmdRxBeginWithStatic(&env->At, "T")) {
uint8_t len = &env->At.rxBuffer.data[env->At.rxBuffer.len] - &env->At.rxBuffer.data[9] - 2;
uint8_t data[8];
uint32_t adr = iAsciiStringParseUnsignedLongDecimalNumber(&env->At.rxBuffer.data[1],
&env->At.rxBuffer.data[9]);
if (len > 16) {
len = 16;
uint8_t len = &env->At.rxBuffer.data[env->At.rxBuffer.len] - &env->At.rxBuffer.data[9] - 2;
if (len > 16) {
len = 16;
}
uint8_t size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[9], len);
env->ioCAN->transmit(env->ioCAN->env, data, size, adr, 0, env->numberMailBox, 1000);
sendOk(&env->At);
}
uint8_t size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[9], len);
if (AtCmdRxBeginWithStatic(&env->At, "t")) {
env->ioCAN->transmit(env->ioCAN->env, data, size, adr, 0, env->numberMailBox, 1000);
uint8_t data[8];
uint32_t adr = iAsciiStringParseUnsignedLongDecimalNumber(&env->At.rxBuffer.data[1],
&env->At.rxBuffer.data[17]);
sendOk(&env->At);
}
uint8_t len = &env->At.rxBuffer.data[env->At.rxBuffer.len] - &env->At.rxBuffer.data[17] - 2;
if (AtCmdRxBeginWithStatic(&env->At, "t")) {
if (len > 16) {
len = 16;
}
uint8_t data[8];
uint32_t adr = iAsciiStringParseUnsignedLongDecimalNumber(&env->At.rxBuffer.data[1], &env->At.rxBuffer.data[17]);
uint8_t size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[17], len);
uint8_t len = &env->At.rxBuffer.data[env->At.rxBuffer.len] - &env->At.rxBuffer.data[17] - 2;
env->ioCAN->transmit(env->ioCAN->env, data, size, adr, 1, env->numberMailBox, 1000);
if (len > 16) {
len = 16;
sendOk(&env->At);
}
uint8_t size = iAsciiStringParseHexBytes(data, &env->At.rxBuffer.data[17], len);
env->ioCAN->transmit(env->ioCAN->env, data, size, adr, 1, env->numberMailBox, 1000);
sendOk(&env->At);
}
if (AtCmdRxBeginWithStatic(&env->At, "V")) {
sendVers(&env->At);
sendOk(&env->At);
if (AtCmdRxBeginWithStatic(&env->At, "V")) {
sendVers(&env->At);
sendOk(&env->At);
}
}
}
@ -105,7 +110,7 @@ static _Noreturn void Serial_UART_Thread(tTaskSerial *env) {
osMutexRelease(env->access);
}
SystemDelayMs(1000);
SystemDelayMs(1);
}
}
@ -151,7 +156,7 @@ static _Noreturn void Serial_USB_Thread(tTaskSerial *env) {
osMutexRelease(env->access);
}
SystemDelayMs(1000);
SystemDelayMs(1);
}
}