Fixing and unifying Serial RX initialisation. Destination arguments now
go last and each init method is passed the rxConfig.
This commit is contained in:
parent
f06c8bb99b
commit
6a9d38783c
|
@ -89,13 +89,13 @@ int main(void)
|
|||
switch (mcfg.rxConfig.serialrx_type) {
|
||||
case SERIALRX_SPEKTRUM1024:
|
||||
case SERIALRX_SPEKTRUM2048:
|
||||
spektrumInit(&rcReadRawFunc);
|
||||
spektrumInit(&mcfg.rxConfig, &rcReadRawFunc);
|
||||
break;
|
||||
case SERIALRX_SBUS:
|
||||
sbusInit(&rcReadRawFunc, &mcfg.rxConfig);
|
||||
sbusInit(&mcfg.rxConfig, &rcReadRawFunc);
|
||||
break;
|
||||
case SERIALRX_SUMD:
|
||||
sumdInit(&rcReadRawFunc);
|
||||
sumdInit(&mcfg.rxConfig, &rcReadRawFunc);
|
||||
break;
|
||||
}
|
||||
} else { // spektrum and GPS are mutually exclusive
|
||||
|
|
8
src/mw.h
8
src/mw.h
|
@ -176,14 +176,6 @@ void readEEPROM(void);
|
|||
void writeEEPROM(uint8_t b, uint8_t updateProfile);
|
||||
void checkFirstTime(bool reset);
|
||||
|
||||
// spektrum
|
||||
void spektrumInit(rcReadRawDataPtr *callback);
|
||||
bool spektrumFrameComplete(void);
|
||||
|
||||
// sumd
|
||||
void sumdInit(rcReadRawDataPtr *callback);
|
||||
bool sumdFrameComplete(void);
|
||||
|
||||
// buzzer
|
||||
void buzzer(bool warn_vbat);
|
||||
void systemBeep(bool onoff);
|
||||
|
|
|
@ -3,14 +3,13 @@
|
|||
|
||||
#include "platform.h"
|
||||
|
||||
#include "rx_common.h"
|
||||
|
||||
#include "drivers/system_common.h"
|
||||
|
||||
#include "drivers/serial_common.h"
|
||||
#include "drivers/serial_uart.h"
|
||||
#include "runtime_config.h"
|
||||
|
||||
#include "rx_common.h"
|
||||
#include "rx_sbus.h"
|
||||
|
||||
// driver for SBUS receiver using UART2
|
||||
|
@ -31,7 +30,7 @@ static uint32_t sbusChannelData[SBUS_MAX_CHANNEL];
|
|||
|
||||
//rxConfig_t *rxConfig;
|
||||
|
||||
void sbusInit(rcReadRawDataPtr *callback, rxConfig_t *rxConfig)
|
||||
void sbusInit(rxConfig_t *rxConfig, rcReadRawDataPtr *callback)
|
||||
{
|
||||
int b;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#pragma once
|
||||
|
||||
void sbusInit(rcReadRawDataPtr *callback, rxConfig_t *initialRxConfig);
|
||||
void sbusInit(rxConfig_t *initialRxConfig, rcReadRawDataPtr *callback);
|
||||
bool sbusFrameComplete(void);
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
#include "runtime_config.h"
|
||||
|
||||
#include "rx_common.h"
|
||||
#include "rx_spektrum.h"
|
||||
|
||||
|
||||
// driver for spektrum satellite receiver / sbus using UART2 (freeing up more motor outputs for stuff)
|
||||
|
||||
|
@ -30,7 +32,7 @@ static uint16_t spektrumReadRawRC(rxConfig_t *rxConfig, uint8_t chan);
|
|||
// external vars (ugh)
|
||||
extern int16_t failsafeCnt;
|
||||
|
||||
void spektrumInit(rxConfig_t*rxConfig, rcReadRawDataPtr *callback)
|
||||
void spektrumInit(rxConfig_t *rxConfig, rcReadRawDataPtr *callback)
|
||||
{
|
||||
switch (rxConfig->serialrx_type) {
|
||||
case SERIALRX_SPEKTRUM2048:
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
#pragma once
|
||||
|
||||
void spektrumInit(rxConfig_t *rxConfig, rcReadRawDataPtr *callback);
|
||||
bool spektrumFrameComplete(void);
|
|
@ -12,6 +12,7 @@
|
|||
#include "failsafe.h"
|
||||
|
||||
#include "rx_common.h"
|
||||
#include "rx_sumd.h"
|
||||
|
||||
// driver for SUMD receiver using UART2
|
||||
|
||||
|
@ -25,7 +26,7 @@ static uint16_t sumdReadRawRC(rxConfig_t *rxConfig, uint8_t chan);
|
|||
|
||||
static uint32_t sumdChannelData[SUMD_MAX_CHANNEL];
|
||||
|
||||
void sumdInit(rcReadRawDataPtr *callback)
|
||||
void sumdInit(rxConfig_t *rxConfig, rcReadRawDataPtr *callback)
|
||||
{
|
||||
core.rcvrport = uartOpen(USART2, sumdDataReceive, 115200, MODE_RX);
|
||||
if (callback)
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
#pragma once
|
||||
|
||||
void sumdInit(rxConfig_t *rxConfig, rcReadRawDataPtr *callback);
|
||||
bool sumdFrameComplete(void);
|
Loading…
Reference in New Issue