Изменения на новый
This commit is contained in:
parent
dca478b809
commit
d7149141dc
|
|
@ -30,6 +30,7 @@ typedef struct {
|
|||
|
||||
osMessageQueueId_t rxDataQueue;
|
||||
osMessageQueueId_t rxDataSnifferQueue;
|
||||
osMessageQueueId_t rxDataSnifferSecondQueue;
|
||||
} tSerialPortArtery;
|
||||
|
||||
void vSerialPortInit(
|
||||
|
|
@ -201,7 +202,9 @@ tSerialPortIO vSerialPortGetIo(tSerialPortArtery *env);
|
|||
|
||||
tSerialPortIO vSerialPortGetSnifferIo(tSerialPortArtery *env);
|
||||
|
||||
uint16_t vSerialPortTransmit(tSerialPortArtery *env, uint8_t *data, uint16_t size, uint32_t timeout);
|
||||
tSerialPortIO SerialPort_GetSnifferSecondIo(tSerialPortArtery *env);
|
||||
|
||||
uint16_t vSerialPortTransmit(tSerialPortArtery *env, uint8_t *data, uint16_t size, uint32_t timeout);
|
||||
|
||||
uint16_t vSerialPortBlindTransmit(tSerialPortArtery *env, uint8_t *data, uint16_t size, uint32_t timeout);
|
||||
|
||||
|
|
|
|||
|
|
@ -524,7 +524,7 @@ void SerialPortFilter_RxDmaBufToQueue(tSerialPortArtery *env, uint32_t bufEnd,
|
|||
}
|
||||
|
||||
void SerialPort_RxDmaBufToQueue(tSerialPortArtery *env, uint32_t bufEnd) {
|
||||
|
||||
osStatus_t res;
|
||||
for (uint32_t i = env->rxDmaOffset; i < bufEnd; ++i) {
|
||||
osMessageQueuePut(env->rxDataQueue, &env->rxDmaBuf[i], 0x0, 0U);
|
||||
if (env->rxDataSnifferQueue) {
|
||||
|
|
@ -664,6 +664,12 @@ static uint16_t vSerialPortReceiveSniffer(tSerialPortArtery *env, uint8_t *data,
|
|||
: 0;
|
||||
}
|
||||
|
||||
static uint16_t vSerialPortReceiveSnifferSecond(tSerialPortArtery *env, uint8_t *data, uint16_t size, uint32_t timeout) {
|
||||
|
||||
return env->rxDataSnifferSecondQueue
|
||||
? vSerialPortReceiveQueue(env, data, size, timeout, env->rxDataSnifferSecondQueue)
|
||||
: 0;
|
||||
}
|
||||
|
||||
static uint16_t vSerialPortTransmitOverDma(tSerialPortArtery *env, uint8_t *data, uint16_t size, uint32_t timeout) {
|
||||
uint16_t sent = 0;
|
||||
|
|
@ -784,3 +790,12 @@ tSerialPortIO vSerialPortGetSnifferIo(tSerialPortArtery *env) {
|
|||
};
|
||||
return io;
|
||||
}
|
||||
|
||||
tSerialPortIO SerialPort_GetSnifferSecondIo(tSerialPortArtery *env) {
|
||||
tSerialPortIO io = {
|
||||
.env = env,
|
||||
.receive = (SerialPortIOTransaction) vSerialPortReceiveSnifferSecond,
|
||||
.transmit = vSerialPortTransmitterGet(env)
|
||||
};
|
||||
return io;
|
||||
}
|
||||
Loading…
Reference in New Issue