Обновление
This commit is contained in:
parent
325f71c3fc
commit
7539d680df
|
|
@ -17,12 +17,14 @@ typedef struct {
|
|||
size_t length;
|
||||
} rxLine;
|
||||
|
||||
tSerialPortIO *serialCommandPort;
|
||||
tSerialPortIO *serialCommandPortIn;
|
||||
tSerialPortIO *serialCommandPortOut;
|
||||
|
||||
} tCliCmd;
|
||||
|
||||
void CliCmd_Init(tCliCmd *env, tSerialPortIO *io, uint8_t *data, size_t dataLen);
|
||||
void CliCmd_Init(tCliCmd *env, tSerialPortIO *io_in, tSerialPortIO *io_out, uint8_t *data, size_t dataLen);
|
||||
|
||||
#define CliCmd_InitStatic(ENV, IO, DATA) CliCmd_Init(ENV,IO,DATA,sizeof(DATA));
|
||||
#define CliCmd_InitStatic(ENV, IO_IN, IO_OUT, DATA) CliCmd_Init(ENV,IO_IN,IO_OUT,DATA,sizeof(DATA));
|
||||
|
||||
void CliCmd_WaitLine(tCliCmd *env);
|
||||
|
||||
|
|
|
|||
19
Src/CliCmd.c
19
Src/CliCmd.c
|
|
@ -7,8 +7,9 @@
|
|||
#include "AsciiStringAssmeblingUtils.h"
|
||||
#include "SystemDelayInterface.h"
|
||||
|
||||
void CliCmd_Init(tCliCmd *env, tSerialPortIO *io, uint8_t *data, size_t dataLen) {
|
||||
env->serialCommandPort = io;
|
||||
void CliCmd_Init(tCliCmd *env, tSerialPortIO *io_in, tSerialPortIO *io_out, uint8_t *data, size_t dataLen) {
|
||||
env->serialCommandPortIn = io_in;
|
||||
env->serialCommandPortOut = io_out;
|
||||
env->rxLine.limit = dataLen;
|
||||
env->rxLine.data = (char *) data;
|
||||
vAsciiStringInit(env->rxLine.data, &env->rxLine.length, env->rxLine.limit);
|
||||
|
|
@ -20,11 +21,11 @@ void CliCmd_WaitLine(tCliCmd *env) {
|
|||
//получаем строку
|
||||
//печатаем ее в ответ
|
||||
|
||||
SerialPortClearRxBuffer(env->serialCommandPort);
|
||||
SerialPortClearRxBuffer(env->serialCommandPortIn);
|
||||
vAsciiStringClean(env->rxLine.data, &env->rxLine.length);
|
||||
|
||||
env->rxLine.length = SerialPortReceiveTo(
|
||||
env->serialCommandPort,
|
||||
env->serialCommandPortIn,
|
||||
(uint8_t *) env->rxLine.data,
|
||||
env->rxLine.limit,
|
||||
'\n',
|
||||
|
|
@ -43,11 +44,11 @@ void CliCmd_WaitLineDelay(tCliCmd *env, uint32_t delay) {
|
|||
//получаем строку
|
||||
//печатаем ее в ответ
|
||||
|
||||
SerialPortClearRxBuffer(env->serialCommandPort);
|
||||
SerialPortClearRxBuffer(env->serialCommandPortIn);
|
||||
vAsciiStringClean(env->rxLine.data, &env->rxLine.length);
|
||||
|
||||
env->rxLine.length = SerialPortReceiveTo(
|
||||
env->serialCommandPort,
|
||||
env->serialCommandPortIn,
|
||||
(uint8_t *) env->rxLine.data,
|
||||
env->rxLine.limit,
|
||||
'\n',
|
||||
|
|
@ -62,14 +63,14 @@ void CliCmd_WaitLineDelay(tCliCmd *env, uint32_t delay) {
|
|||
}
|
||||
|
||||
void CliCmd_ClearRx(tCliCmd *env) {
|
||||
SerialPortClearRxBuffer(env->serialCommandPort);
|
||||
SerialPortClearRxBuffer(env->serialCommandPortIn);
|
||||
vAsciiStringClean(env->rxLine.data, &env->rxLine.length);
|
||||
}
|
||||
|
||||
bool CliCmd_HasCompleteLine(tCliCmd *env) {
|
||||
|
||||
env->rxLine.length = SerialPortReceiveTo(
|
||||
env->serialCommandPort,
|
||||
env->serialCommandPortIn,
|
||||
(uint8_t *) env->rxLine.begin,
|
||||
env->rxLine.limit,
|
||||
'\n',
|
||||
|
|
@ -84,7 +85,7 @@ bool CliCmd_HasCompleteLine(tCliCmd *env) {
|
|||
}
|
||||
|
||||
void CliCmd_Print(tCliCmd *cli, char *text, uint16_t len) {
|
||||
SerialPortTransmit(cli->serialCommandPort, (uint8_t *) text, len, SystemWaitForever);
|
||||
SerialPortTransmit(cli->serialCommandPortOut, (uint8_t *) text, len, SystemWaitForever);
|
||||
}
|
||||
|
||||
void CliCmd_PrintHex(tCliCmd *cli, uint8_t *data, uint16_t byteLen) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue