diff --git a/radio/src/targets/sky9x/board.h b/radio/src/targets/sky9x/board.h index c49fd1119..07861eb69 100644 --- a/radio/src/targets/sky9x/board.h +++ b/radio/src/targets/sky9x/board.h @@ -261,6 +261,8 @@ void init_pxx(uint32_t port); void disable_pxx(uint32_t port); void init_serial(uint32_t port, uint32_t baudrate, uint32_t period_half_us); void disable_serial(uint32_t port); +void init_module_timer( uint32_t module_index, uint32_t period, uint8_t state); +void disable_module_timer( uint32_t module_index); // SD driver #if defined(SIMU) @@ -405,8 +407,12 @@ void debugPutc(const char c); // Telemetry driver void telemetryPortInit(uint32_t baudrate, uint8_t mode); uint32_t telemetryTransmitPending(); -void telemetryTransmitBuffer(uint8_t * buffer, uint32_t size); +void telemetryTransmitBuffer(const uint8_t * buffer, uint32_t size); void rxPdcUsart( void (*pChProcess)(uint8_t x) ); +inline void sportSendBuffer(const uint8_t * buffer, uint32_t size) +{ + telemetryTransmitBuffer(buffer, size); +} // Second UART driver void serial2TelemetryInit(unsigned int protocol); diff --git a/radio/src/targets/sky9x/pulses_driver.cpp b/radio/src/targets/sky9x/pulses_driver.cpp index 34f24f2cf..4764b1c43 100644 --- a/radio/src/targets/sky9x/pulses_driver.cpp +++ b/radio/src/targets/sky9x/pulses_driver.cpp @@ -129,6 +129,22 @@ void init_no_pulses(uint32_t port) } } +void init_module_timer(uint32_t port, uint32_t period, uint8_t state) +{ + if (port == EXTERNAL_MODULE) { + // TODO use period here + init_main_ppm(3000, 0); + } +} + +void disable_module_timer(uint32_t port) +{ + if (port == EXTERNAL_MODULE) { + disable_ppm(EXTERNAL_MODULE); + } +} + + void disable_no_pulses(uint32_t port) { if (port == EXTERNAL_MODULE) { diff --git a/radio/src/targets/sky9x/telemetry_driver.cpp b/radio/src/targets/sky9x/telemetry_driver.cpp index e9dc3edaa..e26a63be6 100644 --- a/radio/src/targets/sky9x/telemetry_driver.cpp +++ b/radio/src/targets/sky9x/telemetry_driver.cpp @@ -135,12 +135,11 @@ void rxPdcUsart( void (*pChProcess)(uint8_t x) ) #endif } -uint32_t txPdcUsart(uint8_t *buffer, uint32_t size) +uint32_t txPdcUsart(const uint8_t * buffer, uint32_t size) { - Usart *pUsart = SECOND_USART; + Usart * pUsart = SECOND_USART; - if ( pUsart->US_TNCR == 0 ) - { + if (pUsart->US_TNCR == 0) { #ifndef SIMU pUsart->US_TNPR = (uint32_t)buffer ; #endif @@ -174,7 +173,7 @@ void telemetryPortInit(uint32_t baudrate, uint8_t mode) #endif } -void telemetryTransmitBuffer(uint8_t * buffer, uint32_t size) +void telemetryTransmitBuffer(const uint8_t * buffer, uint32_t size) { txPdcUsart(buffer, size); } diff --git a/radio/src/telemetry/telemetry.cpp b/radio/src/telemetry/telemetry.cpp index cfa7cb7ec..b40033783 100644 --- a/radio/src/telemetry/telemetry.cpp +++ b/radio/src/telemetry/telemetry.cpp @@ -38,7 +38,6 @@ uint8_t telemetryProtocol = 255; uint8_t serialInversion = 0; #endif - void processTelemetryData(uint8_t data) { #if defined(CROSSFIRE) diff --git a/radio/src/telemetry/telemetry.h b/radio/src/telemetry/telemetry.h index 1b97a850e..3170bae7f 100644 --- a/radio/src/telemetry/telemetry.h +++ b/radio/src/telemetry/telemetry.h @@ -97,7 +97,6 @@ void delTelemetryIndex(uint8_t index); int availableTelemetryIndex(); int lastUsedTelemetryIndex(); -int32_t getTelemetryValue(uint8_t index, uint8_t & prec); int32_t convertTelemetryValue(int32_t value, uint8_t unit, uint8_t prec, uint8_t destUnit, uint8_t destPrec); void frskySportSetDefault(int index, uint16_t id, uint8_t subId, uint8_t instance); @@ -107,7 +106,7 @@ void frskyDSetDefault(int index, uint16_t id); #define IS_SPEED_UNIT(unit) ((unit) >= UNIT_KTS && (unit) <= UNIT_MPH) extern uint8_t telemetryProtocol; -#define IS_FRSKY_D_PROTOCOL() (telemetryProtocol == PROTOCOL_FRSKY_D) + #if defined (MULTIMODULE) #define IS_D16_MULTI() ((g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false) == MM_RF_PROTO_FRSKY) && (g_model.moduleData[EXTERNAL_MODULE].subType == MM_RF_FRSKY_SUBTYPE_D16 || g_model.moduleData[EXTERNAL_MODULE].subType == MM_RF_FRSKY_SUBTYPE_D16_8CH)) #define IS_FRSKY_SPORT_PROTOCOL() (telemetryProtocol == PROTOCOL_TELEMETRY_FRSKY_SPORT || (telemetryProtocol == PROTOCOL_TELEMETRY_MULTIMODULE && IS_D16_MULTI()))