mirror of
https://github.com/opentx/opentx.git
synced 2025-07-18 13:55:12 +03:00
[Taranis] Overrun errors on S.PORT are now counted and it's possible to display the errors count in the CLI
This commit is contained in:
parent
f622d7cf6d
commit
4443ab22ee
3 changed files with 9 additions and 2 deletions
|
@ -498,11 +498,13 @@ int cliDebugVars(const char ** argv)
|
||||||
#if defined(PCBHORUS)
|
#if defined(PCBHORUS)
|
||||||
extern uint32_t ioMutexReq, ioMutexRel;
|
extern uint32_t ioMutexReq, ioMutexRel;
|
||||||
extern uint32_t sdReadRetries;
|
extern uint32_t sdReadRetries;
|
||||||
|
|
||||||
serialPrint("ioMutexReq=%d", ioMutexReq);
|
serialPrint("ioMutexReq=%d", ioMutexReq);
|
||||||
serialPrint("ioMutexRel=%d", ioMutexRel);
|
serialPrint("ioMutexRel=%d", ioMutexRel);
|
||||||
serialPrint("sdReadRetries=%d", sdReadRetries);
|
serialPrint("sdReadRetries=%d", sdReadRetries);
|
||||||
|
#elif defined(PCBTARANIS)
|
||||||
|
serialPrint("telemetryErrors=%d", telemetryErrors);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -325,6 +325,7 @@ void telemetryPortInit(uint32_t baudrate);
|
||||||
void telemetryPortSetDirectionOutput(void);
|
void telemetryPortSetDirectionOutput(void);
|
||||||
void sportSendBuffer(uint8_t * buffer, uint32_t count);
|
void sportSendBuffer(uint8_t * buffer, uint32_t count);
|
||||||
int telemetryGetByte(uint8_t * byte);
|
int telemetryGetByte(uint8_t * byte);
|
||||||
|
extern uint32_t telemetryErrors;
|
||||||
|
|
||||||
// Audio driver
|
// Audio driver
|
||||||
void audioInit(void) ;
|
void audioInit(void) ;
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include "opentx.h"
|
#include "opentx.h"
|
||||||
|
|
||||||
Fifo<uint8_t, 32> telemetryFifo;
|
Fifo<uint8_t, 32> telemetryFifo;
|
||||||
|
uint32_t telemetryErrors = 0;
|
||||||
|
|
||||||
void telemetryPortInit(uint32_t baudrate)
|
void telemetryPortInit(uint32_t baudrate)
|
||||||
{
|
{
|
||||||
|
@ -125,7 +126,10 @@ extern "C" void TELEMETRY_USART_IRQHandler(void)
|
||||||
uint32_t status = TELEMETRY_USART->SR;
|
uint32_t status = TELEMETRY_USART->SR;
|
||||||
while (status & (USART_FLAG_RXNE | USART_FLAG_ERRORS)) {
|
while (status & (USART_FLAG_RXNE | USART_FLAG_ERRORS)) {
|
||||||
uint8_t data = TELEMETRY_USART->DR;
|
uint8_t data = TELEMETRY_USART->DR;
|
||||||
if (!(status & USART_FLAG_ERRORS)) {
|
if (status & USART_FLAG_ERRORS) {
|
||||||
|
telemetryErrors++;
|
||||||
|
}
|
||||||
|
else {
|
||||||
telemetryFifo.push(data);
|
telemetryFifo.push(data);
|
||||||
}
|
}
|
||||||
status = TELEMETRY_USART->SR;
|
status = TELEMETRY_USART->SR;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue