diff --git a/flight/pios/common/pios_exbus.c b/flight/pios/common/pios_exbus.c index a395d2605..ff2f38845 100644 --- a/flight/pios/common/pios_exbus.c +++ b/flight/pios/common/pios_exbus.c @@ -57,6 +57,8 @@ #define EXBUS_LOW_BAUD_RATE 125000 #define EXBUS_HIGH_BAUD_RATE 250000 #define EXBUS_BAUD_RATE_LIMIT 64 +#define EXBUS_FRAME_TIMEOUT 4 +#define EXBUS_FAILSAFE_TIMEOUT 64 /* Forward Declarations */ static int32_t PIOS_EXBUS_Get(uint32_t rcvr_id, uint8_t channel); @@ -108,7 +110,6 @@ struct pios_exbus_dev { }; /* Allocate EXBUS device descriptor */ -#if defined(PIOS_INCLUDE_FREERTOS) static struct pios_exbus_dev *PIOS_EXBUS_Alloc(void) { struct pios_exbus_dev *exbus_dev; @@ -121,23 +122,6 @@ static struct pios_exbus_dev *PIOS_EXBUS_Alloc(void) exbus_dev->magic = PIOS_EXBUS_DEV_MAGIC; return exbus_dev; } -#else -static struct pios_exbus_dev pios_exbus_devs[PIOS_EXBUS_MAX_DEVS]; -static uint8_t pios_exbus_num_devs; -static struct pios_exbus_dev *PIOS_EXBUS_Alloc(void) -{ - struct pios_exbus_dev *exbus_dev; - - if (pios_exbus_num_devs >= PIOS_EXBUS_MAX_DEVS) { - return NULL; - } - - exbus_dev = &pios_exbus_devs[pios_exbus_num_devs++]; - exbus_dev->magic = PIOS_EXBUS_DEV_MAGIC; - - return exbus_dev; -} -#endif /* if defined(PIOS_INCLUDE_FREERTOS) */ /* Validate EXBUS device descriptor */ static bool PIOS_EXBUS_Validate(struct pios_exbus_dev *exbus_dev) @@ -179,7 +163,6 @@ static int PIOS_EXBUS_UnrollChannels(struct pios_exbus_dev *exbus_dev) if (state->crc != 0) { /* crc failed */ - DEBUG_PRINTF(2, "Jeti CRC error!%d\r\n"); return -1; } @@ -244,6 +227,7 @@ static int PIOS_EXBUS_UnrollChannels(struct pios_exbus_dev *exbus_dev) exbus_state = EXBUS_STATE_DATA; byte += sizeof(uint8_t); break; + case EXBUS_STATE_DATA: if (channel < n_channels) { /* 1 lsb = 1/8 us */ @@ -412,7 +396,7 @@ static void PIOS_EXBUS_Supervisor(uint32_t exbus_id) struct pios_exbus_state *state = &(exbus_dev->state); /* waiting for new frame if no bytes were received in 8ms */ - if (++state->receive_timer > 4) { + if (++state->receive_timer > EXBUS_FRAME_TIMEOUT) { state->frame_found = false; state->byte_count = 0; state->receive_timer = 0; @@ -420,7 +404,7 @@ static void PIOS_EXBUS_Supervisor(uint32_t exbus_id) } /* activate failsafe if no frames have arrived in 102.4ms */ - if (++state->failsafe_timer > 64) { + if (++state->failsafe_timer > EXBUS_FAILSAFE_TIMEOUT) { PIOS_EXBUS_ResetChannels(exbus_dev); state->failsafe_timer = 0; PIOS_EXBUS_Change_BaudRate(exbus_dev); diff --git a/flight/pios/common/pios_hott.c b/flight/pios/common/pios_hott.c index c8e5698b4..71df3fe24 100644 --- a/flight/pios/common/pios_hott.c +++ b/flight/pios/common/pios_hott.c @@ -87,6 +87,9 @@ #define HOTT_STATUS_LIVING_SUMH 0x00 #define HOTT_STATUS_LIVING_SUMD 0x01 #define HOTT_STATUS_FAILSAFE 0x81 +#define HOTT_FRAME_TIMEOUT 4 +#define HOTT_FAILSAFE_TIMEOUT 64 + /* Forward Declarations */ static int32_t PIOS_HOTT_Get(uint32_t rcvr_id, uint8_t channel); @@ -125,7 +128,6 @@ struct pios_hott_dev { }; /* Allocate HOTT device descriptor */ -#if defined(PIOS_INCLUDE_FREERTOS) static struct pios_hott_dev *PIOS_HOTT_Alloc(void) { struct pios_hott_dev *hott_dev; @@ -138,23 +140,6 @@ static struct pios_hott_dev *PIOS_HOTT_Alloc(void) hott_dev->magic = PIOS_HOTT_DEV_MAGIC; return hott_dev; } -#else -static struct pios_hott_dev pios_hott_devs[PIOS_HOTT_MAX_DEVS]; -static uint8_t pios_hott_num_devs; -static struct pios_hott_dev *PIOS_HOTT_Alloc(void) -{ - struct pios_hott_dev *hott_dev; - - if (pios_hott_num_devs >= PIOS_HOTT_MAX_DEVS) { - return NULL; - } - - hott_dev = &pios_hott_devs[pios_hott_num_devs++]; - hott_dev->magic = PIOS_HOTT_DEV_MAGIC; - - return hott_dev; -} -#endif /* if defined(PIOS_INCLUDE_FREERTOS) */ /* Validate HOTT device descriptor */ static bool PIOS_HOTT_Validate(struct pios_hott_dev *hott_dev) @@ -413,7 +398,7 @@ static void PIOS_HOTT_Supervisor(uint32_t hott_id) struct pios_hott_state *state = &(hott_dev->state); /* waiting for new frame if no bytes were received in 8ms */ - if (++state->receive_timer > 4) { + if (++state->receive_timer > HOTT_FRAME_TIMEOUT) { state->frame_found = 1; state->byte_count = 0; state->receive_timer = 0; @@ -421,7 +406,7 @@ static void PIOS_HOTT_Supervisor(uint32_t hott_id) } /* activate failsafe if no frames have arrived in 102.4ms */ - if (++state->failsafe_timer > 64) { + if (++state->failsafe_timer > HOTT_FAILSAFE_TIMEOUT) { PIOS_HOTT_ResetChannels(state); state->failsafe_timer = 0; state->tx_connected = 0; diff --git a/flight/pios/inc/pios_exbus.h b/flight/pios/inc/pios_exbus.h index 66d220012..0e2cbf88c 100644 --- a/flight/pios/inc/pios_exbus.h +++ b/flight/pios/inc/pios_exbus.h @@ -1,12 +1,11 @@ /** ****************************************************************************** * - * @file pios_sbus.h + * @file pios_exbus.h * @author The LibrePilot Project, http://www.librepilot.org Copyright (C) 2015. * Tau Labs, http://taulabs.org, Copyright (C) 2013 * @brief Futaba S.Bus functions header. * @see The GNU Public License (GPL) Version 3 - * *****************************************************************************/ /* * This program is free software; you can redistribute it and/or modify diff --git a/flight/pios/pios.h b/flight/pios/pios.h index 65d69f88b..fca43089b 100644 --- a/flight/pios/pios.h +++ b/flight/pios/pios.h @@ -2,8 +2,8 @@ ****************************************************************************** * @file pios.h * @author The LibrePilot Project, http://www.librepilot.org, Copyright (c) 2015 - * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010-2013 - * @author PhoenixPilot, http://github.com/PhoenixPilot, Copyright (C) 2012 + * The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010-2013 + * PhoenixPilot, http://github.com/PhoenixPilot, Copyright (C) 2012 * @brief Main PiOS header. * @see The GNU Public License (GPL) Version 3 *****************************************************************************/ diff --git a/flight/targets/boards/coptercontrol/pios_board.h b/flight/targets/boards/coptercontrol/pios_board.h index f22c01ea4..5b002e009 100644 --- a/flight/targets/boards/coptercontrol/pios_board.h +++ b/flight/targets/boards/coptercontrol/pios_board.h @@ -249,7 +249,7 @@ extern uint32_t pios_com_hkosd_id; #define PIOS_SBUS_NUM_INPUTS (16 + 2) // ------------------------- -// Receiver HSUM input +// Receiver HOTT input // ------------------------- #define PIOS_HOTT_MAX_DEVS 1 #define PIOS_HOTT_NUM_INPUTS 32 diff --git a/flight/targets/boards/revolution/pios_board.h b/flight/targets/boards/revolution/pios_board.h index 48ceea0b8..5195be8a2 100644 --- a/flight/targets/boards/revolution/pios_board.h +++ b/flight/targets/boards/revolution/pios_board.h @@ -259,7 +259,7 @@ extern uint32_t pios_packet_handler; #define PIOS_SBUS_NUM_INPUTS (16 + 2) // ------------------------- -// Receiver HSUM input +// Receiver HOTT input // ------------------------- #define PIOS_HOTT_MAX_DEVS 1 #define PIOS_HOTT_NUM_INPUTS 32 diff --git a/flight/targets/boards/revonano/pios_board.h b/flight/targets/boards/revonano/pios_board.h index ea6e6d105..63ea052d5 100644 --- a/flight/targets/boards/revonano/pios_board.h +++ b/flight/targets/boards/revonano/pios_board.h @@ -259,7 +259,7 @@ extern uint32_t pios_packet_handler; #define PIOS_SBUS_NUM_INPUTS (16 + 2) // ------------------------- -// Receiver HSUM input +// Receiver HOTT input // ------------------------- #define PIOS_HOTT_MAX_DEVS 1 #define PIOS_HOTT_NUM_INPUTS 32 diff --git a/ground/gcs/src/plugins/setupwizard/connectiondiagram.cpp b/ground/gcs/src/plugins/setupwizard/connectiondiagram.cpp index 55755964c..0169a9c85 100644 --- a/ground/gcs/src/plugins/setupwizard/connectiondiagram.cpp +++ b/ground/gcs/src/plugins/setupwizard/connectiondiagram.cpp @@ -201,7 +201,7 @@ void ConnectionDiagram::setupGraphicsScene() case VehicleConfigurationSource::INPUT_DSM: elementsToShow << QString("%1satellite").arg(prefix); break; - case VehicleConfigurationSource::INPUT_HOTT: + case VehicleConfigurationSource::INPUT_HOTT_SUMD: elementsToShow << QString("%1hott").arg(prefix); break; case VehicleConfigurationSource::INPUT_EXBUS: diff --git a/ground/gcs/src/plugins/setupwizard/pages/airspeedpage.cpp b/ground/gcs/src/plugins/setupwizard/pages/airspeedpage.cpp index d390029cd..749faa3db 100644 --- a/ground/gcs/src/plugins/setupwizard/pages/airspeedpage.cpp +++ b/ground/gcs/src/plugins/setupwizard/pages/airspeedpage.cpp @@ -42,7 +42,7 @@ void AirSpeedPage::initializePage(VehicleConfigurationSource *settings) if (settings->getInputType() == VehicleConfigurationSource::INPUT_SBUS || settings->getInputType() == VehicleConfigurationSource::INPUT_DSM || settings->getInputType() == VehicleConfigurationSource::INPUT_SRXL || - settings->getInputType() == VehicleConfigurationSource::INPUT_HOTT || + settings->getInputType() == VehicleConfigurationSource::INPUT_HOTT_SUMD || settings->getInputType() == VehicleConfigurationSource::INPUT_EXBUS || settings->getGpsType() == VehicleConfigurationSource::GPS_UBX_FLEXI_I2CMAG) { // Disable non estimated sensors if ports are taken by receivers or I2C Mag diff --git a/ground/gcs/src/plugins/setupwizard/pages/gpspage.cpp b/ground/gcs/src/plugins/setupwizard/pages/gpspage.cpp index 6efa7df55..1a6b8b30e 100644 --- a/ground/gcs/src/plugins/setupwizard/pages/gpspage.cpp +++ b/ground/gcs/src/plugins/setupwizard/pages/gpspage.cpp @@ -41,7 +41,7 @@ void GpsPage::initializePage(VehicleConfigurationSource *settings) setItemDisabled(-1, false); if (settings->getInputType() == VehicleConfigurationSource::INPUT_SBUS || settings->getInputType() == VehicleConfigurationSource::INPUT_DSM || - settings->getInputType() == VehicleConfigurationSource::INPUT_HOTT || + settings->getInputType() == VehicleConfigurationSource::INPUT_HOTT_SUMD || settings->getInputType() == VehicleConfigurationSource::INPUT_EXBUS || settings->getInputType() == VehicleConfigurationSource::INPUT_SRXL) { // Disable GPS+I2C Mag diff --git a/ground/gcs/src/plugins/setupwizard/pages/inputpage.cpp b/ground/gcs/src/plugins/setupwizard/pages/inputpage.cpp index 197e6005e..5db75c3cb 100644 --- a/ground/gcs/src/plugins/setupwizard/pages/inputpage.cpp +++ b/ground/gcs/src/plugins/setupwizard/pages/inputpage.cpp @@ -54,7 +54,7 @@ bool InputPage::validatePage() } else if (ui->sbusButton->isChecked()) { getWizard()->setInputType(SetupWizard::INPUT_SBUS); } else if (ui->graupnerButton->isChecked()) { - getWizard()->setInputType(SetupWizard::INPUT_HOTT); + getWizard()->setInputType(SetupWizard::INPUT_HOTT_SUMD); } else if (ui->jetiButton->isChecked()) { getWizard()->setInputType(SetupWizard::INPUT_EXBUS); } else if (ui->spectrumButton->isChecked()) { @@ -94,7 +94,7 @@ bool InputPage::restartNeeded(VehicleConfigurationSource::INPUT_TYPE selectedTyp case VehicleConfigurationSource::INPUT_SRXL: return data.CC_FlexiPort != HwSettings::CC_FLEXIPORT_SRXL; - case VehicleConfigurationSource::INPUT_HOTT: + case VehicleConfigurationSource::INPUT_HOTT_SUMD: return data.CC_FlexiPort != HwSettings::CC_FLEXIPORT_HOTTSUMD; case VehicleConfigurationSource::INPUT_EXBUS: @@ -122,7 +122,7 @@ bool InputPage::restartNeeded(VehicleConfigurationSource::INPUT_TYPE selectedTyp case VehicleConfigurationSource::INPUT_SBUS: return data.RM_MainPort != HwSettings::RM_MAINPORT_SBUS; - case VehicleConfigurationSource::INPUT_HOTT: + case VehicleConfigurationSource::INPUT_HOTT_SUMD: return data.RM_FlexiPort != HwSettings::RM_FLEXIPORT_HOTTSUMD; case VehicleConfigurationSource::INPUT_EXBUS: diff --git a/ground/gcs/src/plugins/setupwizard/setupwizard.cpp b/ground/gcs/src/plugins/setupwizard/setupwizard.cpp index 5e2d45ce8..9de73be50 100644 --- a/ground/gcs/src/plugins/setupwizard/setupwizard.cpp +++ b/ground/gcs/src/plugins/setupwizard/setupwizard.cpp @@ -380,7 +380,7 @@ QString SetupWizard::getSummaryText() case INPUT_SRXL: summary.append(tr("Multiplex SRXL")); break; - case INPUT_HOTT: + case INPUT_HOTT_SUMD: summary.append(tr("Graupner HoTT")); break; case INPUT_EXBUS: diff --git a/ground/gcs/src/plugins/setupwizard/vehicleconfigurationhelper.cpp b/ground/gcs/src/plugins/setupwizard/vehicleconfigurationhelper.cpp index 2479efce6..e8004b034 100644 --- a/ground/gcs/src/plugins/setupwizard/vehicleconfigurationhelper.cpp +++ b/ground/gcs/src/plugins/setupwizard/vehicleconfigurationhelper.cpp @@ -169,7 +169,7 @@ void VehicleConfigurationHelper::applyHardwareConfiguration() case VehicleConfigurationSource::INPUT_SRXL: data.CC_FlexiPort = HwSettings::CC_FLEXIPORT_SRXL; break; - case VehicleConfigurationSource::INPUT_HOTT: + case VehicleConfigurationSource::INPUT_HOTT_SUMD: data.CC_FlexiPort = HwSettings::CC_FLEXIPORT_HOTTSUMD; break; case VehicleConfigurationSource::INPUT_EXBUS: @@ -213,7 +213,7 @@ void VehicleConfigurationHelper::applyHardwareConfiguration() case VehicleConfigurationSource::INPUT_SRXL: data.RM_FlexiPort = HwSettings::RM_FLEXIPORT_SRXL; break; - case VehicleConfigurationSource::INPUT_HOTT: + case VehicleConfigurationSource::INPUT_HOTT_SUMD: data.RM_FlexiPort = HwSettings::RM_FLEXIPORT_HOTTSUMD; break; case VehicleConfigurationSource::INPUT_EXBUS: @@ -912,7 +912,7 @@ void VehicleConfigurationHelper::applyManualControlDefaults() case VehicleConfigurationSource::INPUT_SRXL: channelType = ManualControlSettings::CHANNELGROUPS_SRXL; break; - case VehicleConfigurationSource::INPUT_HOTT: + case VehicleConfigurationSource::INPUT_HOTT_SUMD: channelType = ManualControlSettings::CHANNELGROUPS_HOTT; break; case VehicleConfigurationSource::INPUT_EXBUS: diff --git a/ground/gcs/src/plugins/setupwizard/vehicleconfigurationsource.h b/ground/gcs/src/plugins/setupwizard/vehicleconfigurationsource.h index da3fceeff..49e152af0 100644 --- a/ground/gcs/src/plugins/setupwizard/vehicleconfigurationsource.h +++ b/ground/gcs/src/plugins/setupwizard/vehicleconfigurationsource.h @@ -66,7 +66,7 @@ public: GROUNDVEHICLE_MOTORCYCLE, GROUNDVEHICLE_CAR, GROUNDVEHICLE_DIFFERENTIAL }; enum ESC_TYPE { ESC_ONESHOT, ESC_SYNCHED, ESC_RAPID, ESC_STANDARD, ESC_UNKNOWN }; enum SERVO_TYPE { SERVO_ANALOG, SERVO_DIGITAL, SERVO_UNKNOWN }; - enum INPUT_TYPE { INPUT_PWM, INPUT_PPM, INPUT_SBUS, INPUT_DSM, INPUT_SRXL, INPUT_HOTT, INPUT_EXBUS, INPUT_UNKNOWN }; + enum INPUT_TYPE { INPUT_PWM, INPUT_PPM, INPUT_SBUS, INPUT_DSM, INPUT_SRXL, INPUT_HOTT_SUMD, INPUT_EXBUS, INPUT_UNKNOWN }; enum AIRSPEED_TYPE { AIRSPEED_ESTIMATE, AIRSPEED_EAGLETREE, AIRSPEED_MS4525, AIRSPEED_DISABLED }; enum GPS_TYPE { GPS_PLATINUM, GPS_UBX_FLEXI_I2CMAG, GPS_UBX, GPS_NMEA, GPS_DISABLED }; enum RADIO_SETTING { RADIO_TELEMETRY, RADIO_DISABLED };