From 9a452f4a1e70185acef85be283e9d1865214e43c Mon Sep 17 00:00:00 2001 From: chibaron Date: Wed, 3 Oct 2018 00:32:18 +0900 Subject: [PATCH] Change SFHSS bind parameter rxSfhssSpiConfig to rxFrSkySpiConfig --- src/main/interface/cli.c | 11 ++++------- src/main/interface/settings.c | 4 ---- src/main/pg/pg_ids.h | 3 +-- src/main/rx/cc2500_common.c | 2 +- src/main/rx/cc2500_sfhss.c | 22 ++++++++-------------- src/main/target/common_post.h | 4 ++-- 6 files changed, 16 insertions(+), 30 deletions(-) diff --git a/src/main/interface/cli.c b/src/main/interface/cli.c index 07c80ed657..bbff2e15a4 100644 --- a/src/main/interface/cli.c +++ b/src/main/interface/cli.c @@ -2561,25 +2561,23 @@ static void cliBeeper(char *cmdline) } #endif -#ifdef USE_RX_BIND void cliRxBind(char *cmdline){ UNUSED(cmdline); switch (rxSpiConfig()->rx_spi_protocol) { +#ifdef USE_RX_CC2500_BIND case RX_SPI_FRSKY_D: case RX_SPI_FRSKY_X: case RX_SPI_SFHSS: cc2500SpiBind(); - cliPrint("Binding..."); - break; +#endif default: cliPrint("Not supported."); break; } } -#endif static void printMap(uint8_t dumpMask, const rxConfig_t *rxConfig, const rxConfig_t *defaultRxConfig) { @@ -4466,9 +4464,8 @@ const clicmd_t cmdTable[] = { CLI_COMMAND_DEF("flash_write", NULL, "
", cliFlashWrite), #endif #endif -#ifdef USE_RX_BIND - CLI_COMMAND_DEF("frsky_bind", "initiate binding for FrSky SPI RX", NULL, cliRxBind), - CLI_COMMAND_DEF("sfhss_bind", "initiate binding for S-FHSS SPI RX", NULL, cliRxBind), +#ifdef USE_RX_CC2500_BIND + CLI_COMMAND_DEF("bind", "initiate binding for RX", NULL, cliRxBind), #endif CLI_COMMAND_DEF("get", "get variable value", "[name]", cliGet), #ifdef USE_GPS diff --git a/src/main/interface/settings.c b/src/main/interface/settings.c index 013d363cfa..28528967b0 100644 --- a/src/main/interface/settings.c +++ b/src/main/interface/settings.c @@ -1114,10 +1114,6 @@ const clivalue_t valueTable[] = { { "frsky_spi_bind_hop_data", VAR_UINT8 | MASTER_VALUE | MODE_ARRAY, .config.array.length = 50, PG_RX_FRSKY_SPI_CONFIG, offsetof(rxFrSkySpiConfig_t, bindHopData) }, { "frsky_x_rx_num", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 255 }, PG_RX_FRSKY_SPI_CONFIG, offsetof(rxFrSkySpiConfig_t, rxNum) }, { "frsky_spi_use_external_adc", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_RX_FRSKY_SPI_CONFIG, offsetof(rxFrSkySpiConfig_t, useExternalAdc) }, -#endif -#ifdef USE_RX_SFHSS_SPI - { "sfhss_tx_id", VAR_UINT8 | MASTER_VALUE | MODE_ARRAY, .config.array.length = 2, PG_RX_SFHSS_SPI_CONFIG, offsetof(rxSfhssSpiConfig_t, bindTxId) }, - { "sfhss_offset", VAR_INT8 | MASTER_VALUE, .config.minmax = { -127, 127 }, PG_RX_SFHSS_SPI_CONFIG, offsetof(rxSfhssSpiConfig_t, bindOffset) }, #endif { "led_inversion", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, ((1 << STATUS_LED_NUMBER) - 1) }, PG_STATUS_LED_CONFIG, offsetof(statusLedConfig_t, inversion) }, #ifdef USE_DASHBOARD diff --git a/src/main/pg/pg_ids.h b/src/main/pg/pg_ids.h index 1c98456e23..d174482294 100644 --- a/src/main/pg/pg_ids.h +++ b/src/main/pg/pg_ids.h @@ -135,8 +135,7 @@ #define PG_BOARD_CONFIG 538 #define PG_RCDEVICE_CONFIG 539 #define PG_GYRO_DEVICE_CONFIG 540 -#define PG_RX_SFHSS_SPI_CONFIG 541 -#define PG_BETAFLIGHT_END 541 +#define PG_BETAFLIGHT_END 540 // OSD configuration (subject to change) diff --git a/src/main/rx/cc2500_common.c b/src/main/rx/cc2500_common.c index 5c2183f931..103d4ef02a 100755 --- a/src/main/rx/cc2500_common.c +++ b/src/main/rx/cc2500_common.c @@ -150,7 +150,7 @@ void cc2500LedBlink(timeMs_t blinkms) static bool ledIsOn=true; static timeMs_t ledBlinkMs = 0; - if ( (ledBlinkMs + blinkms) > millis() ){ + if ( (ledBlinkMs + blinkms) > millis() ) { return; } ledBlinkMs = millis(); diff --git a/src/main/rx/cc2500_sfhss.c b/src/main/rx/cc2500_sfhss.c index e0304a5550..d5b5d03123 100755 --- a/src/main/rx/cc2500_sfhss.c +++ b/src/main/rx/cc2500_sfhss.c @@ -44,6 +44,7 @@ #include "rx/rx_spi.h" #include "rx/cc2500_common.h" +#include "rx/cc2500_frsky_common.h" #include "rx/cc2500_sfhss.h" //void cliPrintLinef(const char *format, ...); @@ -82,13 +83,6 @@ static timeMs_t timeTunedMs; static int8_t bindOffset_max=0; static int8_t bindOffset_min=0; -PG_REGISTER_WITH_RESET_TEMPLATE(rxSfhssSpiConfig_t, rxSfhssSpiConfig, PG_RX_SFHSS_SPI_CONFIG, 1); - -PG_RESET_TEMPLATE(rxSfhssSpiConfig_t, rxSfhssSpiConfig, - .bindTxId = {0, 0}, - .bindOffset = 0, -); - static void initialise() { cc2500Reset(); @@ -101,7 +95,7 @@ static void initialise() { cc2500WriteReg(CC2500_08_PKTCTRL0, 0x0C); cc2500WriteReg(CC2500_09_ADDR, 0x29); cc2500WriteReg(CC2500_0B_FSCTRL1, 0x06); - cc2500WriteReg(CC2500_0C_FSCTRL0, (rxSfhssSpiConfigMutable()->bindOffset)); + cc2500WriteReg(CC2500_0C_FSCTRL0, (rxFrSkySpiConfigMutable()->bindOffset)); cc2500WriteReg(CC2500_0D_FREQ2, 0x5C); cc2500WriteReg(CC2500_0E_FREQ1, 0x4E); cc2500WriteReg(CC2500_0F_FREQ0, 0xC4); @@ -130,7 +124,7 @@ static void initialise() { cc2500WriteReg(CC2500_2E_TEST0, 0x0B); cc2500WriteReg(CC2500_3E_PATABLE, 0xFF); - for(unsigned c = 0;c < 30; c++){ + for(unsigned c = 0;c < 30; c++) { //calibrate all channels cc2500Strobe(CC2500_SIDLE); cc2500WriteReg(CC2500_0A_CHANNR, SFHSSCH2CHANNR(c)); @@ -171,8 +165,8 @@ static bool sfhssPacketParse(uint8_t *packet, bool check_txid) } if (check_txid){ - if ((rxSfhssSpiConfigMutable()->bindTxId[0] != GET_TXID1(packet)) || - (rxSfhssSpiConfigMutable()->bindTxId[1] != GET_TXID2(packet))){ + if ((rxFrSkySpiConfigMutable()->bindTxId[0] != GET_TXID1(packet)) || + (rxFrSkySpiConfigMutable()->bindTxId[1] != GET_TXID2(packet))){ return false; /* txid fail */ } } @@ -220,8 +214,8 @@ static bool tune1Rx(uint8_t *packet) if (sfhssRecv(packet)){ if (sfhssPacketParse(packet, false)){ if ((packet[SFHSS_PACKET_LEN - 1] & 0x7F) > 40 ){ /* lqi */ - rxSfhssSpiConfigMutable()->bindTxId[0] = GET_TXID1(packet); - rxSfhssSpiConfigMutable()->bindTxId[1] = GET_TXID2(packet); + rxFrSkySpiConfigMutable()->bindTxId[0] = GET_TXID1(packet); + rxFrSkySpiConfigMutable()->bindTxId[1] = GET_TXID2(packet); bindOffset_max = bindOffset_min; DEBUG_SET(DEBUG_RX_SFHSS_SPI, DEBUG_DATA_OFFSET_MAX, bindOffset_max); cc2500Strobe(CC2500_SRX); @@ -347,7 +341,7 @@ rx_spi_received_e sfhssSpiDataReceived(uint8_t *packet) initTuneRx(); SET_STATE(STATE_BIND_TUNING1); // retry } else { - rxSfhssSpiConfigMutable()->bindOffset = ((int16_t)bindOffset_max + (int16_t)bindOffset_min)/2 ; + rxFrSkySpiConfigMutable()->bindOffset = ((int16_t)bindOffset_max + (int16_t)bindOffset_min)/2 ; SET_STATE(STATE_BIND_COMPLETE); } } diff --git a/src/main/target/common_post.h b/src/main/target/common_post.h index f0d0ce2cad..7bbfde0335 100644 --- a/src/main/target/common_post.h +++ b/src/main/target/common_post.h @@ -125,13 +125,13 @@ #if defined(USE_RX_FRSKY_SPI_D) || defined(USE_RX_FRSKY_SPI_X) #define USE_RX_CC2500 +#define USE_RX_CC2500_BIND #define USE_RX_FRSKY_SPI -#define USE_RX_BIND #endif #if defined(USE_RX_SFHSS_SPI) #define USE_RX_CC2500 -#define USE_RX_BIND +#define USE_RX_CC2500_BIND #endif // Burst dshot to default off if not configured explicitly by target