mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 18:38:13 +00:00
code cleanup
This commit is contained in:
parent
6906f1652e
commit
1961579fe4
@ -331,6 +331,21 @@ void setup()
|
|||||||
pinMode(S2_pin,INPUT_PULLUP);
|
pinMode(S2_pin,INPUT_PULLUP);
|
||||||
pinMode(S3_pin,INPUT_PULLUP);
|
pinMode(S3_pin,INPUT_PULLUP);
|
||||||
pinMode(S4_pin,INPUT_PULLUP);
|
pinMode(S4_pin,INPUT_PULLUP);
|
||||||
|
|
||||||
|
#if defined ENABLE_DIRECT_INPUTS
|
||||||
|
#if defined (DI1_PIN)
|
||||||
|
pinMode(DI1_PIN,INPUT_PULLUP);
|
||||||
|
#endif
|
||||||
|
#if defined (DI2_PIN)
|
||||||
|
pinMode(DI2_PIN,INPUT_PULLUP);
|
||||||
|
#endif
|
||||||
|
#if defined (DI3_PIN)
|
||||||
|
pinMode(DI3_PIN,INPUT_PULLUP);
|
||||||
|
#endif
|
||||||
|
#if defined (DI4_PIN)
|
||||||
|
pinMode(DI4_PIN,INPUT_PULLUP);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
//Random pins
|
//Random pins
|
||||||
pinMode(PB0, INPUT_ANALOG); // set up pin for analog input
|
pinMode(PB0, INPUT_ANALOG); // set up pin for analog input
|
||||||
|
|
||||||
@ -666,23 +681,29 @@ bool Update_All()
|
|||||||
if(mode_select!=MODE_SERIAL && IS_PPM_FLAG_on) // PPM mode and a full frame has been received
|
if(mode_select!=MODE_SERIAL && IS_PPM_FLAG_on) // PPM mode and a full frame has been received
|
||||||
{
|
{
|
||||||
uint32_t chan_or=chan_order;
|
uint32_t chan_or=chan_order;
|
||||||
uint8_t ch;
|
uint8_t ch;
|
||||||
uint8_t channels_count = PPM_chan_max;
|
uint8_t channelsCount = PPM_chan_max;
|
||||||
#ifdef ENABLE_DIRECT_INPUTS
|
|
||||||
|
#ifdef ENABLE_DIRECT_INPUTS
|
||||||
#ifdef DI_CH1_read
|
#ifdef DI_CH1_read
|
||||||
PPM_data[channels_count++] = DI_CH1_read
|
PPM_data[channelsCount] = DI_CH1_read;
|
||||||
|
channelsCount++;
|
||||||
#endif
|
#endif
|
||||||
#ifdef DI_CH2_read
|
#ifdef DI_CH2_read
|
||||||
PPM_data[channels_count++] = DI_CH2_read
|
PPM_data[channelsCount] = DI_CH2_read;
|
||||||
|
channelsCount++;
|
||||||
#endif
|
#endif
|
||||||
#ifdef DI_CH3_read
|
#ifdef DI_CH3_read
|
||||||
PPM_data[channels_count++] = DI_CH3_read
|
PPM_data[channelsCount] = DI_CH3_read;
|
||||||
|
channelsCount++;
|
||||||
#endif
|
#endif
|
||||||
#ifdef DI_CH4_read
|
#ifdef DI_CH4_read
|
||||||
PPM_data[channels_count++] = DI_CH4_read
|
PPM_data[channelsCount] = DI_CH4_read;
|
||||||
#endif
|
channelsCount++;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
for(uint8_t i=0;i<channels_count;i++)
|
|
||||||
|
for(uint8_t i=0;i<channelsCount;i++)
|
||||||
{ // update servo data without interrupts to prevent bad read
|
{ // update servo data without interrupts to prevent bad read
|
||||||
uint16_t val;
|
uint16_t val;
|
||||||
cli(); // disable global int
|
cli(); // disable global int
|
||||||
@ -703,6 +724,7 @@ bool Update_All()
|
|||||||
else
|
else
|
||||||
Channel_data[i]=val;
|
Channel_data[i]=val;
|
||||||
}
|
}
|
||||||
|
|
||||||
PPM_FLAG_off; // wait for next frame before update
|
PPM_FLAG_off; // wait for next frame before update
|
||||||
#ifdef FAILSAFE_ENABLE
|
#ifdef FAILSAFE_ENABLE
|
||||||
PPM_failsafe();
|
PPM_failsafe();
|
||||||
|
@ -414,3 +414,18 @@
|
|||||||
#if defined (STM32_BOARD) && defined (DEBUG_SERIAL) && defined (NRF24L01_INSTALLED)
|
#if defined (STM32_BOARD) && defined (DEBUG_SERIAL) && defined (NRF24L01_INSTALLED)
|
||||||
#define XN297DUMP_NRF24L01_INO
|
#define XN297DUMP_NRF24L01_INO
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//Check if Direct inputs defined correctly
|
||||||
|
#if defined (ENABLE_DIRECT_INPUTS)
|
||||||
|
#if not defined (STM32_BOARD) || not defined (ENABLE_PPM) || defined (ENABLE_SERIAL)
|
||||||
|
#error You can enable dirct inputs only in PPM mode and only for STM32 board.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if not defined (DI1_PIN) && not defined (DI2_PIN) && not defined (DI3_PIN) && not defined (DI4_PIN)
|
||||||
|
#error You must define at least 1 direct input pin or undefine ENABLE_DIRECT_INPUTS in config.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if not defined (DI_CH1_read) && not defined (DI_CH2_read) && not defined (DI_CH3_read) && not defined (DI_CH4_read)
|
||||||
|
#error You must define at least 1 direct input chanell read macros or undefine ENABLE_DIRECT_INPUTS in config.
|
||||||
|
#endif
|
||||||
|
#endif
|
@ -494,36 +494,27 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
|||||||
/**********************************/
|
/**********************************/
|
||||||
//In this section you can configure the direct inputs.
|
//In this section you can configure the direct inputs.
|
||||||
//It enables switches wired directly to the board
|
//It enables switches wired directly to the board
|
||||||
//Current mappings are: AUX1-PB10, AUX2-PB11, AUX3-PA2, AUX4-PA3
|
|
||||||
//Direct inputs works only in ppm mode and only for stm_32 boards
|
//Direct inputs works only in ppm mode and only for stm_32 boards
|
||||||
#if defined(ENABLE_PPM) && defined (STM32_BOARD) && not defined (ENABLE_SERIAL)
|
//Uncomment following lines to enable derect inputs or define your own configuration in _MyConfig.h
|
||||||
|
/*
|
||||||
|
#define ENABLE_DIRECT_INPUTS
|
||||||
|
|
||||||
|
#define DI1_PIN PC13
|
||||||
|
#define IS_DI1_on (digitalRead(DI1_PIN)==LOW)
|
||||||
|
|
||||||
//If plan to use direct input mode please uncomment lines below
|
#define DI2_PIN PC14
|
||||||
#define ENABLE_DIRECT_INPUTS
|
#define IS_DI2_on (digitalRead(DI2_PIN)==LOW)
|
||||||
//
|
|
||||||
|
|
||||||
#define DI1_PIN PC13
|
|
||||||
#define DI1_SET_INPUT pinMode(DI1_PIN,INPUT)
|
|
||||||
#define DI1_SET_PULLUP digitalWrite(DI1_PIN,HIGH)
|
|
||||||
#define IS_DI1_on (digitalRead(DI1_PIN)==LOW)
|
|
||||||
|
|
||||||
#define DI2_PIN PC14
|
#define DI3_PIN PC15
|
||||||
#define DI2_SET_INPUT pinMode(DI2_PIN,INPUT)
|
#define IS_DI3_on (digitalRead(DI3_PIN)==LOW)
|
||||||
#define DI2_SET_PULLUP digitalWrite(DI2_PIN,HIGH)
|
|
||||||
#define IS_DI2_on (digitalRead(DI2_PIN)==LOW)
|
|
||||||
|
|
||||||
#define DI3_PIN PC15
|
//Define up to 4 direct input channels
|
||||||
#define DI3_SET_INPUT pinMode(DI3_PIN,INPUT)
|
//CHANNEL1 - 2pos switch
|
||||||
#define DI3_SET_PULLUP digitalWrite(DI3_PIN,HIGH)
|
#define DI_CH1_read IS_DI1_on ? PPM_MAX_100*2 : PPM_MIN_100*2
|
||||||
#define IS_DI3_on (digitalRead(DI3_PIN)==LOW)
|
//CHANNEL2 - 3pos switch
|
||||||
|
#define DI_CH2_read IS_DI2_on ? PPM_MAX_100*2 : (IS_DI2_on ? PPM_MAX_100 + PPM_MIN_100 : PPM_MIN_100*2)
|
||||||
|
*/
|
||||||
|
|
||||||
//CHANNEL1 - 2pos switch
|
|
||||||
#define DI_CH1_read IS_DI1_on ? PPM_MAX_100*2 : PPM_MIN_100*2
|
|
||||||
|
|
||||||
//CHANNEL2 - 3pos switch
|
|
||||||
#define DI_CH2_read IS_DI2_on ? PPM_MAX_100*2 : (IS_DI2_on ? PPM_MAX_100 + PPM_MIN_100 : PPM_MIN_100*2)
|
|
||||||
|
|
||||||
#endif
|
|
||||||
/* Available protocols and associated sub protocols to pick and choose from (Listed in alphabetical order)
|
/* Available protocols and associated sub protocols to pick and choose from (Listed in alphabetical order)
|
||||||
PROTO_AFHDS2A
|
PROTO_AFHDS2A
|
||||||
PWM_IBUS
|
PWM_IBUS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user