Skip to content

Commit

Permalink
feat: telemetry buffer for all internal modules (#5267)
Browse files Browse the repository at this point in the history
  • Loading branch information
raphaelcoeffic authored Jul 8, 2024
1 parent 0a264ba commit 9518dca
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 22 deletions.
2 changes: 0 additions & 2 deletions radio/src/targets/common/arm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,11 @@ endif()
if(INTERNAL_MODULE_MULTI)
add_definitions(-DHARDWARE_INTERNAL_MODULE)
add_definitions(-DINTERNAL_MODULE_MULTI)
add_definitions(-DINTERNAL_MODULE_SERIAL_TELEMETRY)
endif()

if(INTERNAL_MODULE_CRSF)
add_definitions(-DHARDWARE_INTERNAL_MODULE)
add_definitions(-DINTERNAL_MODULE_CRSF)
add_definitions(-DINTERNAL_MODULE_SERIAL_TELEMETRY)
endif()

if(INTERNAL_MODULE_AFHDS2A)
Expand Down
30 changes: 10 additions & 20 deletions radio/src/telemetry/telemetry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,37 +60,27 @@
#include "flysky_ibus.h"
#endif

uint8_t telemetryStreaming = 0;
uint8_t telemetryRxBuffer[TELEMETRY_RX_PACKET_SIZE];
uint8_t telemetryRxBufferCount = 0;
struct telemetry_buffer {
uint8_t buffer[TELEMETRY_RX_PACKET_SIZE];
uint8_t length;
};

uint8_t telemetryStreaming = 0;
uint8_t telemetryState = TELEMETRY_INIT;

TelemetryData telemetryData;

#if defined(INTERNAL_MODULE_SERIAL_TELEMETRY)
static uint8_t intTelemetryRxBuffer[TELEMETRY_RX_PACKET_SIZE];
static uint8_t intTelemetryRxBufferCount;
#endif

static rxStatStruct rxStat;

uint8_t * getTelemetryRxBuffer(uint8_t moduleIdx)
telemetry_buffer _telemetry_rx_buffer[NUM_MODULES];

uint8_t* getTelemetryRxBuffer(uint8_t moduleIdx)
{
#if defined(INTERNAL_MODULE_SERIAL_TELEMETRY)
if (moduleIdx == INTERNAL_MODULE)
return intTelemetryRxBuffer;
#endif
return telemetryRxBuffer;
return _telemetry_rx_buffer[moduleIdx].buffer;
}

uint8_t &getTelemetryRxBufferCount(uint8_t moduleIdx)
{
#if defined(INTERNAL_MODULE_SERIAL_TELEMETRY)
if (moduleIdx == INTERNAL_MODULE)
return intTelemetryRxBufferCount;
#endif
return telemetryRxBufferCount;
return _telemetry_rx_buffer[moduleIdx].length;
}

rxStatStruct *getRxStatLabels() {
Expand Down

0 comments on commit 9518dca

Please sign in to comment.