@@ -109,8 +109,10 @@ enum MenuRadioHardwareItems {
|
||||
ITEM_RADIO_HARDWARE_SB,
|
||||
ITEM_RADIO_HARDWARE_SC,
|
||||
ITEM_RADIO_HARDWARE_SD,
|
||||
#if NUM_SWITCHES > 4
|
||||
ITEM_RADIO_HARDWARE_SF,
|
||||
ITEM_RADIO_HARDWARE_SH,
|
||||
#endif
|
||||
ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE,
|
||||
#if defined(BLUETOOTH)
|
||||
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
|
||||
@@ -124,7 +126,13 @@ enum MenuRadioHardwareItems {
|
||||
};
|
||||
|
||||
#define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
|
||||
|
||||
#if NUM_SWITCHES > 4
|
||||
#define SWITCHES_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
|
||||
#else
|
||||
#define SWITCHES_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
|
||||
#endif
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
#define BLUETOOTH_ROWS uint8_t(btChipPresent ? 0 : HIDDEN_ROW), uint8_t(g_eeGeneral.bluetoothMode == BLUETOOTH_TELEMETRY ? -1 : HIDDEN_ROW), uint8_t(g_eeGeneral.bluetoothMode == BLUETOOTH_OFF ? HIDDEN_ROW : -1), uint8_t(g_eeGeneral.bluetoothMode == BLUETOOTH_OFF ? HIDDEN_ROW : -1), uint8_t(g_eeGeneral.bluetoothMode == BLUETOOTH_OFF ? HIDDEN_ROW : 0),
|
||||
#elif defined(BLUETOOTH)
|
||||
@@ -133,18 +141,19 @@ enum MenuRadioHardwareItems {
|
||||
#define BLUETOOTH_ROWS
|
||||
#endif
|
||||
#if defined(PCBXLITE)
|
||||
#define SWITCH_TYPE_MAX(sw) SWITCH_3POS
|
||||
#define SWITCH_TYPE_MAX(sw) ((MIXSRC_SC-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SD-MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS)
|
||||
#else
|
||||
#define SWITCH_TYPE_MAX(sw) ((MIXSRC_SF-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SH-MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS)
|
||||
#endif
|
||||
|
||||
#define HW_SETTINGS_COLUMN1 30
|
||||
#define HW_SETTINGS_COLUMN2 (30 + 5*FW)
|
||||
|
||||
void menuRadioHardware(event_t event)
|
||||
{
|
||||
MENU(STR_HARDWARE, menuTabGeneral, MENU_RADIO_HARDWARE, ITEM_RADIO_HARDWARE_MAX, { LABEL(Sticks), 0, 0, 0, 0, LABEL(Pots), POTS_ROWS, LABEL(Switches), SWITCHES_ROWS, 0, BLUETOOTH_ROWS 0 });
|
||||
MENU(STR_HARDWARE, menuTabGeneral, MENU_RADIO_HARDWARE, HEADER_LINE+ITEM_RADIO_HARDWARE_MAX, { HEADER_LINE_COLUMNS LABEL(Sticks), 0, 0, 0, 0, LABEL(Pots), POTS_ROWS, LABEL(Switches), SWITCHES_ROWS, 0, BLUETOOTH_ROWS 0 });
|
||||
|
||||
uint8_t sub = menuVerticalPosition;
|
||||
uint8_t sub = menuVerticalPosition - HEADER_LINE;
|
||||
|
||||
for (uint8_t i=0; i<LCD_LINES-1; i++) {
|
||||
coord_t y = MENU_HEADER_HEIGHT + 1 + i*FH;
|
||||
@@ -197,8 +206,10 @@ void menuRadioHardware(event_t event)
|
||||
case ITEM_RADIO_HARDWARE_SB:
|
||||
case ITEM_RADIO_HARDWARE_SC:
|
||||
case ITEM_RADIO_HARDWARE_SD:
|
||||
#if NUM_SWITCHES > 4
|
||||
case ITEM_RADIO_HARDWARE_SF:
|
||||
case ITEM_RADIO_HARDWARE_SH:
|
||||
#endif
|
||||
{
|
||||
int index = k-ITEM_RADIO_HARDWARE_SA;
|
||||
int config = SWITCH_CONFIG(index);
|
||||
|
||||
@@ -549,7 +549,7 @@ void menuMainView(event_t event)
|
||||
uint8_t x = 2*FW-2, y = 4*FH+i*FH+1;
|
||||
if (i >= NUM_SWITCHES/2) {
|
||||
x = 16*FW+1;
|
||||
y -= 3*FH;
|
||||
y -= (NUM_SWITCHES/2)*FH;
|
||||
}
|
||||
getvalue_t val = getValue(MIXSRC_FIRST_SWITCH+i);
|
||||
getvalue_t sw = ((val < 0) ? 3*i+1 : ((val == 0) ? 3*i+2 : 3*i+3));
|
||||
|
||||
@@ -261,7 +261,7 @@ void generalDefault()
|
||||
#endif
|
||||
g_eeGeneral.slidersConfig = 0x0f; // 4 sliders
|
||||
g_eeGeneral.blOffBright = 20;
|
||||
#elif defined(PCBX7) || defined(PCBXLITE)
|
||||
#elif defined(PCBX7) || defined(PCBXLITE)
|
||||
g_eeGeneral.potsConfig = 0x07; // S1 = pot without detent, S2 = pot with detent
|
||||
#elif defined(PCBTARANIS)
|
||||
g_eeGeneral.potsConfig = 0x05; // S1 and S2 = pots with detent
|
||||
@@ -269,7 +269,7 @@ void generalDefault()
|
||||
#endif
|
||||
|
||||
#if defined(PCBXLITE)
|
||||
g_eeGeneral.switchConfig = 0x0000000f; // 2x3POS
|
||||
g_eeGeneral.switchConfig = (SWITCH_2POS << 6) + (SWITCH_2POS << 4) + (SWITCH_3POS << 2) + (SWITCH_3POS << 0); // 2x3POS, 2x2POS
|
||||
#elif defined(PCBX7)
|
||||
g_eeGeneral.switchConfig = 0x000006ff; // 4x3POS, 1x2POS, 1xTOGGLE
|
||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||
@@ -1268,7 +1268,7 @@ void alert(const pm_char * title, const pm_char * msg ALERT_SOUND_ARG)
|
||||
bool refresh = false;
|
||||
#endif
|
||||
|
||||
while(1) {
|
||||
while (1) {
|
||||
SIMU_SLEEP(1);
|
||||
#if defined(CPUARM)
|
||||
CoTickDelay(10);
|
||||
@@ -1283,6 +1283,7 @@ void alert(const pm_char * title, const pm_char * msg ALERT_SOUND_ARG)
|
||||
#if defined(PWR_BUTTON_PRESS)
|
||||
uint32_t pwr_check = pwrCheck();
|
||||
if (pwr_check == e_power_off) {
|
||||
drawSleepBitmap();
|
||||
boardOff();
|
||||
}
|
||||
else if (pwr_check == e_power_press) {
|
||||
@@ -1294,6 +1295,7 @@ void alert(const pm_char * title, const pm_char * msg ALERT_SOUND_ARG)
|
||||
}
|
||||
#else
|
||||
if (pwrCheck() == e_power_off) {
|
||||
drawSleepBitmap();
|
||||
boardOff(); // turn power off now
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -36,8 +36,10 @@
|
||||
9 /*TX_VOLTAGE*/ };
|
||||
#elif defined(PCBX9DP)
|
||||
const int8_t ana_direction[NUM_ANALOGS] = {1,-1,1,-1, 1,1,-1, 1,1, 1};
|
||||
#elif defined(PCBX7) || defined(PCBXLITE)
|
||||
#elif defined(PCBX7)
|
||||
const int8_t ana_direction[NUM_ANALOGS] = {-1,1,-1,1, 1,1, 1};
|
||||
#elif defined(PCBXLITE)
|
||||
const int8_t ana_direction[NUM_ANALOGS] = {1,-1,-1,1, -1,1, 1};
|
||||
#elif defined(REV4a)
|
||||
const int8_t ana_direction[NUM_ANALOGS] = {1,-1,1,-1, 1,-1,0, 1,1, 1};
|
||||
#else
|
||||
@@ -103,14 +105,8 @@ void adcInit()
|
||||
ADC_MAIN->SQR2 = (ADC_CHANNEL_POT4<<0) + (ADC_CHANNEL_SLIDER3<<5) + (ADC_CHANNEL_SLIDER4<<10) + (ADC_CHANNEL_BATT<<15); // conversions 7 and more
|
||||
ADC_MAIN->SQR3 = (ADC_CHANNEL_STICK_LH<<0) + (ADC_CHANNEL_STICK_LV<<5) + (ADC_CHANNEL_STICK_RV<<10) + (ADC_CHANNEL_STICK_RH<<15) + (ADC_CHANNEL_POT2<<20) + (ADC_CHANNEL_POT3<<25); // conversions 1 to 6
|
||||
#elif defined(PCBXLITE)
|
||||
if (ANALOGS_PWM_ENABLED()) {
|
||||
ADC_MAIN->SQR2 = 0;
|
||||
ADC_MAIN->SQR3 = (ADC_CHANNEL_POT1<<25) + (ADC_CHANNEL_POT2<<20) + (ADC_CHANNEL_BATT<<0);
|
||||
}
|
||||
else {
|
||||
ADC_MAIN->SQR2 = (ADC_CHANNEL_BATT<<0); // conversions 7 and more
|
||||
ADC_MAIN->SQR3 = (ADC_CHANNEL_STICK_LH<<0) + (ADC_CHANNEL_STICK_LV<<5) + (ADC_CHANNEL_STICK_RV<<10) + (ADC_CHANNEL_STICK_RH<<15) + (ADC_CHANNEL_POT1<<25) + (ADC_CHANNEL_POT2<<20); // conversions 1 to 6
|
||||
}
|
||||
ADC_MAIN->SQR2 = 0;
|
||||
ADC_MAIN->SQR3 = (ADC_CHANNEL_POT1<<0) + (ADC_CHANNEL_POT2<<5) + (ADC_CHANNEL_BATT<<10);
|
||||
#elif defined(PCBX7)
|
||||
ADC_MAIN->SQR2 = (ADC_CHANNEL_BATT<<0); // conversions 7 and more
|
||||
ADC_MAIN->SQR3 = (ADC_CHANNEL_STICK_LH<<0) + (ADC_CHANNEL_STICK_LV<<5) + (ADC_CHANNEL_STICK_RV<<10) + (ADC_CHANNEL_STICK_RH<<15) + (ADC_CHANNEL_POT1<<25) + (ADC_CHANNEL_POT2<<20); // conversions 1 to 6
|
||||
|
||||
@@ -430,8 +430,7 @@ enum Analogs {
|
||||
|
||||
#if defined(PCBXLITE)
|
||||
#define NUM_PWMANALOGS 4
|
||||
extern uint8_t analogs_pwm_disabled;
|
||||
#define ANALOGS_PWM_ENABLED() (analogs_pwm_disabled == false)
|
||||
#define ANALOGS_PWM_ENABLED() (true)
|
||||
void analogPwmInit(void);
|
||||
void analogPwmRead(uint16_t * values);
|
||||
void analogPwmCheck();
|
||||
|
||||
@@ -114,10 +114,10 @@
|
||||
#define TRIMS_GPIO_PIN_LHL GPIO_Pin_4 // PC.04
|
||||
#define TRIMS_GPIO_REG_LHR GPIOC->IDR
|
||||
#define TRIMS_GPIO_PIN_LHR GPIO_Pin_5 // PC.05
|
||||
#define TRIMS_GPIO_REG_LVD GPIOB->IDR
|
||||
#define TRIMS_GPIO_PIN_LVD GPIO_Pin_0 // PB.00
|
||||
#define TRIMS_GPIO_REG_LVU GPIOB->IDR
|
||||
#define TRIMS_GPIO_PIN_LVU GPIO_Pin_1 // PB.01
|
||||
#define TRIMS_GPIO_PIN_LVU GPIO_Pin_0 // PB.00
|
||||
#define TRIMS_GPIO_REG_LVD GPIOB->IDR
|
||||
#define TRIMS_GPIO_PIN_LVD GPIO_Pin_1 // PB.01
|
||||
#elif defined(PCBX7)
|
||||
#define TRIMS_GPIO_REG_LHL GPIOD->IDR
|
||||
#define TRIMS_GPIO_PIN_LHL GPIO_Pin_15 // PD.15
|
||||
@@ -480,13 +480,12 @@
|
||||
#define ADC_GPIO_PIN_POT1 GPIO_Pin_1 // PC.01
|
||||
#define ADC_GPIO_PIN_POT2 GPIO_Pin_2 // PC.02
|
||||
#define ADC_GPIO_PIN_BATT GPIO_Pin_0 // PC.00
|
||||
#define STICKS_GPIOA_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3)
|
||||
#define PWM_GPIOA_PINS STICKS_GPIOA_PINS
|
||||
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_POT1 | (ANALOGS_PWM_ENABLED() ? 0 : STICKS_GPIOA_PINS))
|
||||
#define ADC_GPIOB_PINS ADC_GPIO_PIN_POT2
|
||||
#define ADC_GPIOC_PINS ADC_GPIO_PIN_BATT
|
||||
#define ADC_CHANNEL_POT1 ADC_Channel_6
|
||||
#define ADC_CHANNEL_POT2 ADC_Channel_8
|
||||
#define PWM_GPIOA_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3)
|
||||
#define ADC_GPIOA_PINS 0
|
||||
#define ADC_GPIOB_PINS 0
|
||||
#define ADC_GPIOC_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2)
|
||||
#define ADC_CHANNEL_POT1 ADC_Channel_11
|
||||
#define ADC_CHANNEL_POT2 ADC_Channel_12
|
||||
#define ADC_CHANNEL_BATT ADC_Channel_10
|
||||
#elif defined(PCBX7)
|
||||
#define ADC_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA2)
|
||||
@@ -558,14 +557,18 @@
|
||||
|
||||
#if defined(PCBXLITE)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON GPIO_ResetBits
|
||||
#define GPIO_LED_GPIO_OFF GPIO_SetBits
|
||||
#define LED_BLUE_GPIO GPIOE
|
||||
#define LED_BLUE_GPIO_PIN GPIO_Pin_4 // PE.04
|
||||
#define LED_RED_GPIO GPIOE
|
||||
#define LED_RED_GPIO_PIN GPIO_Pin_6 // PE.06
|
||||
#define LED_GREEN_GPIO GPIOE
|
||||
#define LED_GREEN_GPIO_PIN GPIO_Pin_5 // PE.05
|
||||
#define LED_RED_GPIO GPIOE
|
||||
#define LED_RED_GPIO_PIN GPIO_Pin_4 // PE.04
|
||||
#define LED_BLUE_GPIO GPIOE
|
||||
#define LED_BLUE_GPIO_PIN GPIO_Pin_6 // PE.06
|
||||
#elif defined(PCBX7)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON GPIO_SetBits
|
||||
#define GPIO_LED_GPIO_OFF GPIO_ResetBits
|
||||
#define LED_GREEN_GPIO GPIOC
|
||||
#define LED_GREEN_GPIO_PIN GPIO_Pin_4 // PC.04
|
||||
#define LED_RED_GPIO GPIOC
|
||||
|
||||
@@ -39,25 +39,25 @@ void ledInit()
|
||||
|
||||
void ledOff()
|
||||
{
|
||||
GPIO_ResetBits(LED_RED_GPIO, LED_RED_GPIO_PIN);
|
||||
GPIO_ResetBits(LED_BLUE_GPIO, LED_BLUE_GPIO_PIN);
|
||||
GPIO_ResetBits(LED_GREEN_GPIO, LED_GREEN_GPIO_PIN);
|
||||
GPIO_LED_GPIO_OFF(LED_RED_GPIO, LED_RED_GPIO_PIN);
|
||||
GPIO_LED_GPIO_OFF(LED_BLUE_GPIO, LED_BLUE_GPIO_PIN);
|
||||
GPIO_LED_GPIO_OFF(LED_GREEN_GPIO, LED_GREEN_GPIO_PIN);
|
||||
}
|
||||
|
||||
void ledRed()
|
||||
{
|
||||
ledOff();
|
||||
GPIO_SetBits(LED_RED_GPIO, LED_RED_GPIO_PIN);
|
||||
GPIO_LED_GPIO_ON(LED_RED_GPIO, LED_RED_GPIO_PIN);
|
||||
}
|
||||
|
||||
void ledGreen()
|
||||
{
|
||||
ledOff();
|
||||
GPIO_SetBits(LED_GREEN_GPIO, LED_GREEN_GPIO_PIN);
|
||||
GPIO_LED_GPIO_ON(LED_GREEN_GPIO, LED_GREEN_GPIO_PIN);
|
||||
}
|
||||
|
||||
void ledBlue()
|
||||
{
|
||||
ledOff();
|
||||
GPIO_SetBits(LED_BLUE_GPIO, LED_BLUE_GPIO_PIN);
|
||||
GPIO_LED_GPIO_ON(LED_BLUE_GPIO, LED_BLUE_GPIO_PIN);
|
||||
}
|
||||
|
||||
@@ -477,7 +477,7 @@
|
||||
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0"
|
||||
#elif defined(PCBXLITE)
|
||||
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0"
|
||||
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0"
|
||||
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0"
|
||||
#elif defined(PCBX7)
|
||||
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0"
|
||||
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SF\0""\312SH\0"
|
||||
|
||||
Reference in New Issue
Block a user