Merge branch '2.3' into 3djc/2.3-synced
# Conflicts: # radio/src/pulses/pulses.cpp
This commit is contained in:
@@ -674,7 +674,7 @@ enum MixSources {
|
||||
MIXSRC_GYRO2, LUA_EXPORT("gyry", "Gyro Y")
|
||||
#endif
|
||||
|
||||
MIXSRC_MAX,
|
||||
MIXSRC_MAX, LUA_EXPORT("max", "MAX")
|
||||
|
||||
MIXSRC_FIRST_HELI,
|
||||
MIXSRC_CYC1 = MIXSRC_FIRST_HELI, LUA_EXPORT("cyc1", "Cyclic 1")
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
@@ -191,7 +191,6 @@ bool menuModelWizard(event_t event)
|
||||
uint16_t x = WIZARD_LEFT_SPACING + (wizidx - first) * (WIZARD_SPACING + WIZARD_ICON_X);
|
||||
strcpy(&wizpath[sizeof(WIZARD_PATH)], fno.fname);
|
||||
strcpy(&wizpath[sizeof(WIZARD_PATH) + strlen(fno.fname)], "/icon.png");
|
||||
lcdDrawText(x + 10, WIZARD_TEXT_Y, fno.fname);
|
||||
BitmapBuffer * background = BitmapBuffer::load(wizpath);
|
||||
lcd->drawBitmap(x, WIZARD_ICON_Y, background);
|
||||
if(wizidx == wizardSelected ) {
|
||||
|
||||
@@ -57,6 +57,13 @@ void drawPots()
|
||||
// The 2 main front sliders
|
||||
drawVerticalSlider(125, 120, 120, calibratedAnalogs[CALIBRATED_SLIDER_FRONT_LEFT], -RESX, RESX, 40, OPTION_SLIDER_TICKS | OPTION_SLIDER_BIG_TICKS | OPTION_SLIDER_SQUARE_BUTTON);
|
||||
drawVerticalSlider(LCD_W-125-12, 120, 120, calibratedAnalogs[CALIBRATED_SLIDER_FRONT_RIGHT], -RESX, RESX, 40, OPTION_SLIDER_TICKS | OPTION_SLIDER_BIG_TICKS | OPTION_SLIDER_SQUARE_BUTTON);
|
||||
#else
|
||||
if (IS_POT_AVAILABLE(EXT1)) {
|
||||
drawVerticalSlider(125, 120, 120, calibratedAnalogs[CALIBRATED_POT_EXT1], -RESX, RESX, 40, OPTION_SLIDER_TICKS | OPTION_SLIDER_BIG_TICKS | OPTION_SLIDER_SQUARE_BUTTON);
|
||||
}
|
||||
if (IS_POT_AVAILABLE(EXT2)) {
|
||||
drawVerticalSlider(LCD_W-125-12, 120, 120, calibratedAnalogs[CALIBRATED_POT_EXT2], -RESX, RESX, 40, OPTION_SLIDER_TICKS | OPTION_SLIDER_BIG_TICKS | OPTION_SLIDER_SQUARE_BUTTON);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -141,11 +141,11 @@ void menuModelReceiverOptions(event_t event)
|
||||
lcdInvertLine(0);
|
||||
|
||||
if (reusableBuffer.hardwareAndSettings.receiverSettings.state == PXX2_SETTINGS_OK) {
|
||||
for (uint8_t k=0; k<LCD_LINES-1; k++) {
|
||||
coord_t y = MENU_HEADER_HEIGHT + 1 + k*FH;
|
||||
for (uint8_t k = 0; k < LCD_LINES - 1; k++) {
|
||||
coord_t y = MENU_HEADER_HEIGHT + 1 + k * FH;
|
||||
uint8_t i = k + menuVerticalOffset;
|
||||
for (int j=0; j<=i; ++j) {
|
||||
if (j<(int)DIM(mstate_tab) && mstate_tab[j] == HIDDEN_ROW) {
|
||||
for (int j = 0; j <= i; ++j) {
|
||||
if (j < (int)DIM(mstate_tab) && mstate_tab[j] == HIDDEN_ROW) {
|
||||
++i;
|
||||
}
|
||||
}
|
||||
@@ -177,7 +177,7 @@ void menuModelReceiverOptions(event_t event)
|
||||
{
|
||||
lcdDrawText(0, y, STR_PROTOCOL);
|
||||
uint8_t portType = reusableBuffer.hardwareAndSettings.receiverSettings.fport | (reusableBuffer.hardwareAndSettings.receiverSettings.fport2 << 1);
|
||||
lcdDrawTextAtIndex(LCD_W/2, y, STR_SPORT_MODES, portType, attr);
|
||||
lcdDrawTextAtIndex(RECEIVER_OPTIONS_2ND_COLUMN, y, STR_SPORT_MODES, portType, attr);
|
||||
portType = checkIncDec(event, portType, 0, 2, EE_MODEL, isSPortModeAvailable);
|
||||
if (checkIncDec_Ret) {
|
||||
reusableBuffer.hardwareAndSettings.receiverSettings.fport = portType & 0x01;
|
||||
|
||||
@@ -98,8 +98,10 @@ enum {
|
||||
ITEM_RADIO_HARDWARE_STICK2,
|
||||
ITEM_RADIO_HARDWARE_STICK3,
|
||||
ITEM_RADIO_HARDWARE_STICK4,
|
||||
#if (NUM_POTS + NUM_SLIDERS) > 0
|
||||
ITEM_RADIO_HARDWARE_LABEL_POTS,
|
||||
ITEM_RADIO_HARDWARE_POT1,
|
||||
#endif
|
||||
#if defined(HARDWARE_POT2)
|
||||
ITEM_RADIO_HARDWARE_POT2,
|
||||
#endif
|
||||
@@ -196,21 +198,21 @@ enum {
|
||||
};
|
||||
|
||||
#if (NUM_POTS + NUM_SLIDERS) == 0
|
||||
#define POTS_ROWS HIDDEN_ROW
|
||||
#define POTS_ROWS
|
||||
#elif (NUM_POTS + NUM_SLIDERS) == 1
|
||||
#define POTS_ROWS NAVIGATION_LINE_BY_LINE|1
|
||||
#define POTS_ROWS LABEL(Pots), NAVIGATION_LINE_BY_LINE|1,
|
||||
#elif (NUM_POTS + NUM_SLIDERS) == 2
|
||||
#define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
|
||||
#define POTS_ROWS LABEL(Pots), NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1,
|
||||
#elif (NUM_POTS + NUM_SLIDERS) == 3
|
||||
#define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
|
||||
#define POTS_ROWS LABEL(Pots), NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1,
|
||||
#elif defined(PCBX9D) // TODO defined(STORAGE_POT3) && !defined(STORAGE_POT3)
|
||||
#define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, HIDDEN_ROW, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
|
||||
#define POTS_ROWS LABEL(Pots), NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, HIDDEN_ROW, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1,
|
||||
#elif (NUM_POTS + NUM_SLIDERS) == 4
|
||||
#define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
|
||||
#define POTS_ROWS LABEL(Pots), NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1,
|
||||
#elif (NUM_POTS + NUM_SLIDERS) == 5
|
||||
#define POTS_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
|
||||
#define POTS_ROWS LABEL(Pots), 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,
|
||||
#elif (NUM_POTS + NUM_SLIDERS) == 8
|
||||
#define POTS_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, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
|
||||
#define POTS_ROWS LABEL(Pots), 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, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1,
|
||||
#endif
|
||||
|
||||
#if defined(PCBX9E)
|
||||
@@ -324,14 +326,13 @@ void menuRadioHardware(event_t event)
|
||||
MENU(STR_HARDWARE, menuTabGeneral, MENU_RADIO_HARDWARE, HEADER_LINE + ITEM_RADIO_HARDWARE_MAX, {
|
||||
HEADER_LINE_COLUMNS
|
||||
0 /* calibration button */,
|
||||
0 /* stick 1 */,
|
||||
0 /* stick 2 */,
|
||||
0 /* stick 3 */,
|
||||
0 /* stick 4 */,
|
||||
LABEL(Pots),
|
||||
POTS_ROWS,
|
||||
0 /* stick 1 */,
|
||||
0 /* stick 2 */,
|
||||
0 /* stick 3 */,
|
||||
0 /* stick 4 */,
|
||||
POTS_ROWS
|
||||
LABEL(Switches),
|
||||
SWITCHES_ROWS,
|
||||
SWITCHES_ROWS,
|
||||
0 /* battery calib */,
|
||||
RTC_ROW
|
||||
TX_CAPACITY_MEASUREMENT_ROWS
|
||||
@@ -393,6 +394,7 @@ void menuRadioHardware(event_t event)
|
||||
editStickHardwareSettings(HW_SETTINGS_COLUMN1, y, k - ITEM_RADIO_HARDWARE_STICK1, event, attr);
|
||||
break;
|
||||
|
||||
#if (NUM_POTS + NUM_SLIDERS) > 0
|
||||
case ITEM_RADIO_HARDWARE_LABEL_POTS:
|
||||
lcdDrawTextAlignedLeft(y, STR_POTS);
|
||||
break;
|
||||
@@ -444,6 +446,7 @@ void menuRadioHardware(event_t event)
|
||||
g_eeGeneral.slidersConfig |= (potType << idx);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
case ITEM_RADIO_HARDWARE_LABEL_SWITCHES:
|
||||
|
||||
@@ -82,7 +82,7 @@ int checkIncDec(event_t event, int val, int i_min, int i_max, unsigned int i_fla
|
||||
}
|
||||
#endif
|
||||
|
||||
if (event==EVT_KEY_FIRST(KEY_RIGHT) || event==EVT_KEY_REPT(KEY_RIGHT) || (s_editMode>0 && (IS_ROTARY_RIGHT(event) || event==EVT_KEY_FIRST(KEY_UP) || event==EVT_KEY_REPT(KEY_UP)))) {
|
||||
if ((s_editMode>0 && (IS_ROTARY_RIGHT(event) || event==EVT_KEY_FIRST(KEY_UP) || event==EVT_KEY_REPT(KEY_UP)))) {
|
||||
do {
|
||||
if (IS_KEY_REPT(event) && (i_flags & INCDEC_REP10)) {
|
||||
newval += min(10, i_max-val);
|
||||
@@ -98,7 +98,7 @@ int checkIncDec(event_t event, int val, int i_min, int i_max, unsigned int i_fla
|
||||
AUDIO_KEY_ERROR();
|
||||
}
|
||||
}
|
||||
else if (event==EVT_KEY_FIRST(KEY_LEFT) || event==EVT_KEY_REPT(KEY_LEFT) || (s_editMode>0 && (IS_ROTARY_LEFT(event) || event==EVT_KEY_FIRST(KEY_DOWN) || event==EVT_KEY_REPT(KEY_DOWN)))) {
|
||||
else if ((s_editMode>0 && (IS_ROTARY_LEFT(event) || event==EVT_KEY_FIRST(KEY_DOWN) || event==EVT_KEY_REPT(KEY_DOWN)))) {
|
||||
do {
|
||||
if (IS_KEY_REPT(event) && (i_flags & INCDEC_REP10)) {
|
||||
newval -= min(10, val-i_min);
|
||||
@@ -136,7 +136,7 @@ int checkIncDec(event_t event, int val, int i_min, int i_max, unsigned int i_fla
|
||||
#if defined(AUTOSWITCH)
|
||||
else {
|
||||
uint8_t swtch = abs(getMovedSwitch());
|
||||
if (swtch) {
|
||||
if (swtch && !IS_SWITCH_MULTIPOS(swtch)) {
|
||||
newval = switchToMix(swtch);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ int checkIncDec(event_t event, int val, int i_min, int i_max, unsigned int i_fla
|
||||
#if defined(AUTOSWITCH)
|
||||
else {
|
||||
unsigned int swtch = abs(getMovedSwitch());
|
||||
if (swtch) {
|
||||
if (swtch && !IS_SWITCH_MULTIPOS(swtch)) {
|
||||
newval = switchToMix(swtch);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ int checkIncDec(event_t event, int val, int i_min, int i_max, unsigned int i_fla
|
||||
#if defined(AUTOSWITCH)
|
||||
else {
|
||||
unsigned int swtch = abs(getMovedSwitch());
|
||||
if (swtch) {
|
||||
if (swtch && !IS_SWITCH_MULTIPOS(swtch)) {
|
||||
newval = switchToMix(swtch);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ int checkIncDec(event_t event, int val, int i_min, int i_max, unsigned int i_fla
|
||||
#if defined(AUTOSWITCH)
|
||||
else {
|
||||
unsigned int swtch = abs(getMovedSwitch());
|
||||
if (swtch) {
|
||||
if (swtch && !IS_SWITCH_MULTIPOS(swtch)) {
|
||||
newval = switchToMix(swtch);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,15 +29,6 @@ horzpos_t menuHorizontalPosition;
|
||||
|
||||
int8_t checkIncDec_Ret;
|
||||
|
||||
#if defined(RADIO_T12)
|
||||
#define DBLKEYS_PRESSED_RGT_LFT(in) ((in & (KEYS_GPIO_PIN_RIGHT + KEYS_GPIO_PIN_LEFT)) == (KEYS_GPIO_PIN_RIGHT + KEYS_GPIO_PIN_LEFT))
|
||||
// set to 0
|
||||
#define DBLKEYS_PRESSED_UP_DWN(in) ((in & (KEYS_GPIO_PIN_UP + KEYS_GPIO_PIN_DOWN)) == (KEYS_GPIO_PIN_UP + KEYS_GPIO_PIN_DOWN))
|
||||
// set to max
|
||||
#define DBLKEYS_PRESSED_RGT_UP(in) ((in & (KEYS_GPIO_PIN_RIGHT + KEYS_GPIO_PIN_UP)) == (KEYS_GPIO_PIN_RIGHT + KEYS_GPIO_PIN_UP))
|
||||
// set to min
|
||||
#define DBLKEYS_PRESSED_LFT_DWN(in) ((in & (KEYS_GPIO_PIN_LEFT + KEYS_GPIO_PIN_DOWN)) == (KEYS_GPIO_PIN_LEFT + KEYS_GPIO_PIN_DOWN))
|
||||
#else
|
||||
// invert the value
|
||||
#define DBLKEYS_PRESSED_RGT_LFT(in) ((in & ((1<<KEY_SHIFT) + (1<<KEY_UP))) == ((1<<KEY_SHIFT) + (1<<KEY_UP)))
|
||||
// set to 0
|
||||
@@ -46,7 +37,6 @@ int8_t checkIncDec_Ret;
|
||||
#define DBLKEYS_PRESSED_RGT_UP(in) ((in & ((1<<KEY_SHIFT) + (1<<KEY_RIGHT))) == ((1<<KEY_SHIFT) + (1<<KEY_RIGHT)))
|
||||
// set to min
|
||||
#define DBLKEYS_PRESSED_LFT_DWN(in) ((in & ((1<<KEY_SHIFT) + (1<<KEY_LEFT))) == ((1<<KEY_SHIFT) + (1<<KEY_LEFT)))
|
||||
#endif
|
||||
|
||||
INIT_STOPS(stops100, 3, -100, 0, 100)
|
||||
INIT_STOPS(stops1000, 3, -1000, 0, 1000)
|
||||
@@ -166,7 +156,7 @@ int checkIncDec(event_t event, int val, int i_min, int i_max, unsigned int i_fla
|
||||
#if defined(AUTOSWITCH)
|
||||
else {
|
||||
uint8_t swtch = abs(getMovedSwitch());
|
||||
if (swtch) {
|
||||
if (swtch && !IS_SWITCH_MULTIPOS(swtch)) {
|
||||
newval = switchToMix(swtch);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ if(PYTHONINTERP_FOUND)
|
||||
add_lua_export_target(x10 ${LUA_INCLUDES} -DPCBHORUS -DPCBX10)
|
||||
add_lua_export_target(x12s ${LUA_INCLUDES} -DPCBHORUS -DPCBX12S)
|
||||
add_lua_export_target(t12 ${LUA_INCLUDES} -DPCBTARANIS -DPCBX7 -DRADIO_T12)
|
||||
add_lua_export_target(tlite ${LUA_INCLUDES} -DPCBTARANIS -DPCBX7 -DRADIO_TLITE)
|
||||
add_lua_export_target(tx12 ${LUA_INCLUDES} -DPCBTARANIS -DPCBX7 -DRADIO_TX12)
|
||||
add_lua_export_target(t8 ${LUA_INCLUDES} -DPCBTARANIS -DPCBX7 -DRADIO_T8)
|
||||
add_lua_export_target(t16 ${LUA_INCLUDES} -DPCBHORUS -DPCBX10 -DRADIO_T16)
|
||||
|
||||
@@ -40,6 +40,8 @@
|
||||
#include "lua/lua_exports_x7.inc"
|
||||
#elif defined(RADIO_T12)
|
||||
#include "lua/lua_exports_t12.inc"
|
||||
#elif defined(RADIO_TLITE)
|
||||
#include "lua/lua_exports_tlite.inc"
|
||||
#elif defined(RADIO_TX12)
|
||||
#include "lua/lua_exports_tx12.inc"
|
||||
#elif defined(RADIO_T8)
|
||||
@@ -1598,13 +1600,42 @@ static int luaMultiBuffer(lua_State * L)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*luadoc
|
||||
@function setSerialBaudrate(baudrate)
|
||||
@param baudrate Desired baurate
|
||||
|
||||
Set baudrate for serial port(s) affected to LUA
|
||||
|
||||
@status current Introduced in 2.3.12
|
||||
*/
|
||||
static int luaSetSerialBaudrate(lua_State * L)
|
||||
{
|
||||
#if defined(AUX_SERIAL) || defined(AUX2_SERIAL)
|
||||
unsigned int baudrate = luaL_checkunsigned(L, 1);
|
||||
#endif
|
||||
|
||||
#if defined(AUX_SERIAL)
|
||||
if (auxSerialMode == UART_MODE_LUA) {
|
||||
auxSerialStop();
|
||||
auxSerialSetup(baudrate, false);
|
||||
}
|
||||
#endif
|
||||
#if defined(AUX2_SERIAL)
|
||||
if (aux2SerialMode == UART_MODE_LUA) {
|
||||
aux2SerialStop();
|
||||
aux2SerialSetup(baudrate, false);
|
||||
}
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*luadoc
|
||||
@function serialWrite(str)
|
||||
@param str (string) String to be written to the serial port.
|
||||
|
||||
Writes a string to the serial port. The string is allowed to contain any character, including 0.
|
||||
|
||||
@status current Introduced in TODO
|
||||
@status current Introduced in 2.3.10
|
||||
*/
|
||||
static int luaSerialWrite(lua_State * L)
|
||||
{
|
||||
@@ -1614,21 +1645,22 @@ static int luaSerialWrite(lua_State * L)
|
||||
if (!str || len < 1)
|
||||
return 0;
|
||||
|
||||
#if !defined(SIMU)
|
||||
#if defined(USB_SERIAL)
|
||||
#if defined(USB_SERIAL)
|
||||
if (getSelectedUsbMode() == USB_SERIAL_MODE) {
|
||||
size_t wr_len = len;
|
||||
const char* p = str;
|
||||
while(wr_len--) usbSerialPutc(*p++);
|
||||
}
|
||||
#endif
|
||||
#if defined(AUX_SERIAL)
|
||||
#endif
|
||||
|
||||
#if defined(AUX_SERIAL)
|
||||
if (auxSerialMode == UART_MODE_LUA) {
|
||||
size_t wr_len = len;
|
||||
const char* p = str;
|
||||
while(wr_len--) auxSerialPutc(*p++);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(AUX2_SERIAL)
|
||||
if (aux2SerialMode == UART_MODE_LUA) {
|
||||
size_t wr_len = len;
|
||||
@@ -1636,9 +1668,6 @@ static int luaSerialWrite(lua_State * L)
|
||||
while(wr_len--) aux2SerialPutc(*p++);
|
||||
}
|
||||
#endif
|
||||
#else
|
||||
debugPrintf("luaSerialWrite: %.*s",len,str);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1742,6 +1771,7 @@ const luaL_Reg opentxLib[] = {
|
||||
#if defined(MULTIMODULE)
|
||||
{ "multiBuffer", luaMultiBuffer },
|
||||
#endif
|
||||
{ "setSerialBaudrate", luaSetSerialBaudrate },
|
||||
{ "serialWrite", luaSerialWrite },
|
||||
{ "serialRead", luaSerialRead },
|
||||
{ nullptr, nullptr } /* sentinel */
|
||||
|
||||
@@ -557,6 +557,8 @@ bool isInputRecursive(int index)
|
||||
}
|
||||
|
||||
#if defined(AUTOSOURCE)
|
||||
constexpr int MULTIPOS_STEP_SIZE = (2 * RESX) / XPOTS_MULTIPOS_COUNT;
|
||||
|
||||
int8_t getMovedSource(GET_MOVED_SOURCE_PARAMS)
|
||||
{
|
||||
int8_t result = 0;
|
||||
@@ -565,7 +567,7 @@ int8_t getMovedSource(GET_MOVED_SOURCE_PARAMS)
|
||||
static int16_t inputsStates[MAX_INPUTS];
|
||||
if (min <= MIXSRC_FIRST_INPUT) {
|
||||
for (uint8_t i=0; i<MAX_INPUTS; i++) {
|
||||
if (abs(anas[i] - inputsStates[i]) > 512) {
|
||||
if (abs(anas[i] - inputsStates[i]) > MULTIPOS_STEP_SIZE) {
|
||||
if (!isInputRecursive(i)) {
|
||||
result = MIXSRC_FIRST_INPUT+i;
|
||||
break;
|
||||
@@ -577,7 +579,7 @@ int8_t getMovedSource(GET_MOVED_SOURCE_PARAMS)
|
||||
static int16_t sourcesStates[NUM_STICKS+NUM_POTS+NUM_SLIDERS+NUM_MOUSE_ANALOGS];
|
||||
if (result == 0) {
|
||||
for (uint8_t i=0; i<NUM_STICKS+NUM_POTS+NUM_SLIDERS; i++) {
|
||||
if (abs(calibratedAnalogs[i] - sourcesStates[i]) > 512) {
|
||||
if (abs(calibratedAnalogs[i] - sourcesStates[i]) > MULTIPOS_STEP_SIZE) {
|
||||
result = MIXSRC_Rud+i;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -282,6 +282,12 @@ void memswap(void * a, void * b, uint8_t size);
|
||||
#define IS_MULTIPOS_CALIBRATED(cal) (false)
|
||||
#endif
|
||||
|
||||
#if NUM_XPOTS > 0
|
||||
#define IS_SWITCH_MULTIPOS(x) (SWSRC_FIRST_MULTIPOS_SWITCH <= (x) && (x) <= SWSRC_LAST_MULTIPOS_SWITCH)
|
||||
#else
|
||||
#define IS_SWITCH_MULTIPOS(x) (false)
|
||||
#endif
|
||||
|
||||
#if defined(PWR_BUTTON_PRESS)
|
||||
#define pwrOffPressed() pwrPressed()
|
||||
#else
|
||||
|
||||
@@ -507,7 +507,7 @@ bool setupPulsesInternalModule(uint8_t protocol)
|
||||
#else
|
||||
mixerSchedulerSetPeriod(INTERNAL_MODULE, PXX2_PERIOD);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -143,6 +143,8 @@ const char * getBasename(const char * path);
|
||||
#define OTX_FOURCC 0x3978746F // otx for Taranis X-Lite
|
||||
#elif defined(RADIO_T12)
|
||||
#define OTX_FOURCC 0x3D78746F // otx for Jumper T12
|
||||
#elif defined(RADIO_TLITE)
|
||||
#define OTX_FOURCC 0x4278746F // otx for Jumper TLite
|
||||
#elif defined(RADIO_TX12)
|
||||
#define OTX_FOURCC 0x4178746F // otx for Radiomaster TX12
|
||||
#elif defined(RADIO_T8)
|
||||
|
||||
+1
-1
@@ -255,7 +255,7 @@ void OpenTxSim::updateKeysAndSwitches(bool start)
|
||||
KEY_Down, KEY_DOWN,
|
||||
KEY_Right, KEY_RIGHT,
|
||||
KEY_Left, KEY_LEFT,
|
||||
#elif defined(PCBXLITE) || defined(RADIO_T12)
|
||||
#elif defined(PCBXLITE) || defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#if defined(KEYS_GPIO_REG_SHIFT)
|
||||
KEY_Shift_L, KEY_SHIFT,
|
||||
#endif
|
||||
|
||||
+20
-6
@@ -520,14 +520,28 @@ swsrc_t getMovedSwitch()
|
||||
swsrc_t result = 0;
|
||||
|
||||
#if defined(PCBTARANIS) || defined(PCBHORUS)
|
||||
for (int i=0; i<NUM_SWITCHES; i++) {
|
||||
// Switches
|
||||
for (int i = 0; i < NUM_SWITCHES; i++) {
|
||||
if (SWITCH_EXISTS(i)) {
|
||||
swarnstate_t mask = ((swarnstate_t)0x03 << (i*2));
|
||||
uint8_t prev = (switches_states & mask) >> (i*2);
|
||||
uint8_t next = (1024+getValue(MIXSRC_SA+i)) / 1024;
|
||||
swarnstate_t mask = ((swarnstate_t) 0x03 << (i * 2));
|
||||
uint8_t prev = (switches_states & mask) >> (i * 2);
|
||||
uint8_t next = (1024 + getValue(MIXSRC_SA + i)) / 1024;
|
||||
if (prev != next) {
|
||||
switches_states = (switches_states & (~mask)) | ((swarnstate_t)next << (i*2));
|
||||
result = 1+(3*i)+next;
|
||||
switches_states = (switches_states & (~mask)) | ((swarnstate_t) next << (i * 2));
|
||||
result = 1 + (3 * i) + next;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Multipos
|
||||
for (int i = 0; i < NUM_XPOTS; i++) {
|
||||
if (IS_POT_MULTIPOS(POT1 + i)) {
|
||||
StepsCalibData * calib = (StepsCalibData *) &g_eeGeneral.calib[POT1 + i];
|
||||
if (IS_MULTIPOS_CALIBRATED(calib)) {
|
||||
uint8_t prev = potsPos[i] & 0x0F;
|
||||
uint8_t next = anaIn(POT1 + i) / (2 * RESX / calib->count);
|
||||
if (prev != next) {
|
||||
result = SWSRC_LAST_SWITCH + i * XPOTS_MULTIPOS_COUNT + next + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ void adcInit()
|
||||
ADC_MAIN->SQR2 = (ADC_CHANNEL_BATT << 0) + (ADC_Channel_Vbat << 5);
|
||||
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 << 20) + (ADC_CHANNEL_POT2 << 25);
|
||||
}
|
||||
#elif defined(RADIO_T8)
|
||||
#elif defined(RADIO_T8) || defined(RADIO_TLITE)
|
||||
ADC_MAIN->SQR2 = (ADC_CHANNEL_BATT << 0) + (ADC_Channel_Vbat << 5);
|
||||
ADC_MAIN->SQR3 = (ADC_CHANNEL_STICK_LH << 0) + (ADC_CHANNEL_STICK_LV << 5) + (ADC_CHANNEL_STICK_RV << 10) + (ADC_CHANNEL_STICK_RH << 15);
|
||||
#elif defined(PCBX7)
|
||||
@@ -139,8 +139,8 @@ void adcInit()
|
||||
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 << 20) + (ADC_CHANNEL_POT2 << 25);
|
||||
#endif
|
||||
|
||||
ADC_MAIN->SMPR1 = (ADC_SAMPTIME << 0) + (ADC_SAMPTIME << 3) + (ADC_SAMPTIME << 6) + (ADC_SAMPTIME << 9) + (ADC_SAMPTIME << 12) + (ADC_SAMPTIME << 15) + (ADC_SAMPTIME << 18) + (ADC_SAMPTIME << 21) + (ADC_SAMPTIME << 24);
|
||||
ADC_MAIN->SMPR2 = (ADC_SAMPTIME << 0) + (ADC_SAMPTIME << 3) + (ADC_SAMPTIME << 6) + (ADC_SAMPTIME << 9) + (ADC_SAMPTIME << 12) + (ADC_SAMPTIME << 15) + (ADC_SAMPTIME << 18) + (ADC_SAMPTIME << 21) + (ADC_SAMPTIME << 24) + (ADC_SAMPTIME << 27);
|
||||
ADC_MAIN->SMPR1 = ADC_MAIN_SMPR1;
|
||||
ADC_MAIN->SMPR2 = ADC_MAIN_SMPR2;
|
||||
|
||||
ADC->CCR = ADC_CCR_VBATE; // Enable vbat sensor
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ uint8_t auxSerialMode = UART_MODE_COUNT; // Prevent debug output before port is
|
||||
Fifo<uint8_t, 512> auxSerialTxFifo;
|
||||
AuxSerialRxFifo auxSerialRxFifo __DMA (AUX_SERIAL_DMA_Stream_RX);
|
||||
|
||||
void auxSerialSetup(unsigned int baudrate, bool dma, uint16_t lenght = USART_WordLength_8b, uint16_t parity = USART_Parity_No, uint16_t stop = USART_StopBits_1)
|
||||
void auxSerialSetup(unsigned int baudrate, bool dma, uint16_t length, uint16_t parity, uint16_t stop)
|
||||
{
|
||||
USART_InitTypeDef USART_InitStructure;
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
@@ -53,7 +53,7 @@ void auxSerialSetup(unsigned int baudrate, bool dma, uint16_t lenght = USART_Wor
|
||||
#endif
|
||||
|
||||
USART_InitStructure.USART_BaudRate = baudrate;
|
||||
USART_InitStructure.USART_WordLength = lenght;
|
||||
USART_InitStructure.USART_WordLength = length;
|
||||
USART_InitStructure.USART_StopBits = stop;
|
||||
USART_InitStructure.USART_Parity = parity;
|
||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
||||
@@ -133,7 +133,7 @@ void auxSerialInit(unsigned int mode, unsigned int protocol)
|
||||
break;
|
||||
|
||||
case UART_MODE_LUA:
|
||||
auxSerialSetup(DEBUG_BAUDRATE, false);
|
||||
auxSerialSetup(LUA_DEFAULT_BAUDRATE, false);
|
||||
AUX_SERIAL_POWER_ON();
|
||||
}
|
||||
}
|
||||
@@ -217,16 +217,16 @@ extern "C" void AUX_SERIAL_USART_IRQHandler(void)
|
||||
}
|
||||
status = AUX_SERIAL_USART->SR;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#endif // SIMU
|
||||
#endif // AUX_SERIAL
|
||||
|
||||
#if defined(AUX2_SERIAL)
|
||||
uint8_t aux2SerialMode = UART_MODE_COUNT; // Prevent debug output before port is setup
|
||||
Fifo<uint8_t, 512> aux2SerialTxFifo;
|
||||
AuxSerialRxFifo aux2SerialRxFifo __DMA (AUX2_SERIAL_DMA_Stream_RX);
|
||||
|
||||
void aux2SerialSetup(unsigned int baudrate, bool dma, uint16_t lenght = USART_WordLength_8b, uint16_t parity = USART_Parity_No, uint16_t stop = USART_StopBits_1)
|
||||
void aux2SerialSetup(unsigned int baudrate, bool dma, uint16_t length, uint16_t parity, uint16_t stop)
|
||||
{
|
||||
USART_InitTypeDef USART_InitStructure;
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
@@ -249,7 +249,7 @@ void aux2SerialSetup(unsigned int baudrate, bool dma, uint16_t lenght = USART_Wo
|
||||
#endif
|
||||
|
||||
USART_InitStructure.USART_BaudRate = baudrate;
|
||||
USART_InitStructure.USART_WordLength = lenght;
|
||||
USART_InitStructure.USART_WordLength = length;
|
||||
USART_InitStructure.USART_StopBits = stop;
|
||||
USART_InitStructure.USART_Parity = parity;
|
||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
||||
@@ -329,7 +329,7 @@ void aux2SerialInit(unsigned int mode, unsigned int protocol)
|
||||
break;
|
||||
|
||||
case UART_MODE_LUA:
|
||||
aux2SerialSetup(DEBUG_BAUDRATE, false);
|
||||
aux2SerialSetup(LUA_DEFAULT_BAUDRATE, false);
|
||||
AUX2_SERIAL_POWER_ON();
|
||||
}
|
||||
}
|
||||
@@ -400,7 +400,6 @@ extern "C" void AUX2_SERIAL_USART_IRQHandler(void)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#if defined(AUX2_SERIAL)
|
||||
// Receive
|
||||
uint32_t status = AUX2_SERIAL_USART->SR;
|
||||
while (status & (USART_FLAG_RXNE | USART_FLAG_ERRORS)) {
|
||||
@@ -416,7 +415,5 @@ extern "C" void AUX2_SERIAL_USART_IRQHandler(void)
|
||||
status = AUX2_SERIAL_USART->SR;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif // AUX_SERIAL
|
||||
#endif // SIMU
|
||||
#endif // AUX2_SERIAL
|
||||
@@ -89,7 +89,7 @@ set(BOOTLOADER_SRC
|
||||
bin_files.cpp
|
||||
)
|
||||
|
||||
if(PCB STREQUAL X12S OR PCB STREQUAL X10 OR PCB STREQUAL X9E OR (PCB STREQUAL X9D+ AND PCBREV STREQUAL 2019) OR (PCB STREQUAL X7 AND NOT (PCBREV STREQUAL T12 OR PCBREV STREQUAL T8)) OR PCB STREQUAL X9LITE OR PCB STREQUAL X9LITES)
|
||||
if(ROTARY_ENCODER)
|
||||
set(BOOTLOADER_SRC
|
||||
${BOOTLOADER_SRC}
|
||||
../../../../../targets/common/arm/stm32/rotary_encoder_driver.cpp
|
||||
|
||||
@@ -20,6 +20,7 @@ set(LINKER_SCRIPT targets/horus/stm32f4_flash.ld)
|
||||
set(RTC_BACKUP_RAM YES)
|
||||
set(PPM_LIMITS_SYMETRICAL YES)
|
||||
set(USB_SERIAL ON CACHE BOOL "Enable USB serial (CDC)")
|
||||
set(ROTARY_ENCODER YES)
|
||||
|
||||
# for size report script
|
||||
set(CPU_TYPE_FULL STM32F429xI)
|
||||
|
||||
@@ -634,11 +634,16 @@ void sportUpdatePowerInit();
|
||||
// Aux serial port driver
|
||||
#if defined(RADIO_TX16S)
|
||||
#define DEBUG_BAUDRATE 400000
|
||||
#define LUA_DEFAULT_BAUDRATE 115200
|
||||
#else
|
||||
#define DEBUG_BAUDRATE 115200
|
||||
#define LUA_DEFAULT_BAUDRATE 115200
|
||||
#endif
|
||||
#if defined(AUX_SERIAL_GPIO)
|
||||
extern uint8_t auxSerialMode;
|
||||
#if defined __cplusplus
|
||||
void auxSerialSetup(unsigned int baudrate, bool dma, uint16_t length = USART_WordLength_8b, uint16_t parity = USART_Parity_No, uint16_t stop = USART_StopBits_1);
|
||||
#endif
|
||||
void auxSerialInit(unsigned int mode, unsigned int protocol);
|
||||
void auxSerialPutc(char c);
|
||||
#define auxSerialTelemetryInit(protocol) auxSerialInit(UART_MODE_TELEMETRY, protocol)
|
||||
@@ -658,6 +663,9 @@ void auxSerialPowerOff();
|
||||
// Aux2 serial port driver
|
||||
#if defined(AUX2_SERIAL)
|
||||
extern uint8_t aux2SerialMode;
|
||||
#if defined __cplusplus
|
||||
void aux2SerialSetup(unsigned int baudrate, bool dma, uint16_t length = USART_WordLength_8b, uint16_t parity = USART_Parity_No, uint16_t stop = USART_StopBits_1);
|
||||
#endif
|
||||
void aux2SerialInit(unsigned int mode, unsigned int protocol);
|
||||
void aux2SerialPutc(char c);
|
||||
#define aux2SerialTelemetryInit(protocol) aux2SerialInit(UART_MODE_TELEMETRY, protocol)
|
||||
|
||||
@@ -329,6 +329,9 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define ADC_MAIN_SMPR1 (ADC_SAMPTIME << 0) + (ADC_SAMPTIME << 3) + (ADC_SAMPTIME << 6) + (ADC_SAMPTIME << 9) + (ADC_SAMPTIME << 12) + (ADC_SAMPTIME << 15) + (ADC_SAMPTIME << 18) + (ADC_SAMPTIME << 21) + (ADC_SAMPTIME << 24);
|
||||
#define ADC_MAIN_SMPR2 (ADC_SAMPTIME << 0) + (ADC_SAMPTIME << 3) + (ADC_SAMPTIME << 6) + (ADC_SAMPTIME << 9) + (ADC_SAMPTIME << 12) + (ADC_SAMPTIME << 15) + (ADC_SAMPTIME << 18) + (ADC_SAMPTIME << 21) + (ADC_SAMPTIME << 24) + (ADC_SAMPTIME << 27);
|
||||
|
||||
// Power
|
||||
#if defined(RADIO_T18)
|
||||
#define PWR_RCC_AHB1Periph RCC_AHB1Periph_GPIOJ | RCC_AHB1Periph_GPIOB
|
||||
|
||||
@@ -811,9 +811,20 @@ void rtcSetTime(const struct gtm * t)
|
||||
{
|
||||
}
|
||||
|
||||
#if defined(USB_SERIAL)
|
||||
void usbSerialPutc(uint8_t c)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(AUX_SERIAL)
|
||||
AuxSerialRxFifo auxSerialRxFifo(nullptr);
|
||||
uint8_t auxSerialMode;
|
||||
|
||||
void auxSerialSetup(unsigned int baudrate, bool dma, uint16_t length, uint16_t parity, uint16_t stop)
|
||||
{
|
||||
}
|
||||
|
||||
void auxSerialInit(unsigned int mode, unsigned int protocol)
|
||||
{
|
||||
}
|
||||
@@ -834,6 +845,11 @@ void auxSerialStop()
|
||||
#if defined(AUX2_SERIAL)
|
||||
AuxSerialRxFifo aux2SerialRxFifo(nullptr);
|
||||
uint8_t aux2SerialMode;
|
||||
|
||||
void aux2SerialSetup(unsigned int baudrate, bool dma, uint16_t length, uint16_t parity, uint16_t stop)
|
||||
{
|
||||
}
|
||||
|
||||
void aux2SerialInit(unsigned int mode, unsigned int protocol)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -131,8 +131,21 @@ elseif(PCB STREQUAL X7)
|
||||
set(LINKER_SCRIPT targets/taranis/stm32f2_flash.ld)
|
||||
set(LUA_EXPORT lua_export_t12)
|
||||
add_definitions(-DRADIO_T12)
|
||||
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
|
||||
add_definitions(-DEEPROM_VARIANT=0x4001)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
elseif(PCBREV STREQUAL TLITE)
|
||||
option(INTERNAL_MODULE_MULTI "Support for MULTI internal module" ON)
|
||||
set(FLAVOUR tlite)
|
||||
set(NAVIGATION_TYPE 9x)
|
||||
set(CPU_TYPE STM32F2)
|
||||
set(CPU_TYPE_FULL STM32F205xE) # for size report
|
||||
set(LINKER_SCRIPT targets/taranis/stm32f2_flash.ld)
|
||||
set(LUA_EXPORT lua_export_tlite)
|
||||
add_definitions(-DRADIO_TLITE)
|
||||
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
|
||||
add_definitions(-DEEPROM_VARIANT=0x4003)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
elseif(PCBREV STREQUAL TX12)
|
||||
option(INTERNAL_MODULE_MULTI "Support for MULTI internal module" ON)
|
||||
set(FLAVOUR tx12)
|
||||
|
||||
@@ -117,7 +117,7 @@ uint32_t isBootloaderStart(const uint8_t * buffer);
|
||||
#define INTERNAL_MODULE_OFF() GPIO_ResetBits(INTMODULE_PWR_GPIO, INTMODULE_PWR_GPIO_PIN)
|
||||
#endif
|
||||
|
||||
#if !defined(PCBX9LITE) || defined(PCBX9LITES)
|
||||
#if (defined(INTERNAL_MODULE_PXX1) || defined(INTERNAL_MODULE_PXX2)) && (!defined(PCBX9LITE) || defined(PCBX9LITES))
|
||||
#define HARDWARE_INTERNAL_RAS
|
||||
#endif
|
||||
|
||||
@@ -436,7 +436,12 @@ enum EnumSwitchesPositions
|
||||
#define STORAGE_NUM_SWITCHES 6
|
||||
#define DEFAULT_SWITCH_CONFIG (SWITCH_2POS << 6) + (SWITCH_2POS << 4) + (SWITCH_3POS << 2) + (SWITCH_3POS << 0);
|
||||
#define DEFAULT_POTS_CONFIG (POT_WITHOUT_DETENT << 2) + (POT_WITHOUT_DETENT << 0)
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_TLITE)
|
||||
#define NUM_SWITCHES 4
|
||||
#define STORAGE_NUM_SWITCHES 8
|
||||
#define DEFAULT_SWITCH_CONFIG (SWITCH_2POS << 6) + (SWITCH_2POS << 4) + (SWITCH_3POS << 2) + (SWITCH_3POS << 0);
|
||||
#define DEFAULT_POTS_CONFIG (0)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define NUM_SWITCHES 8
|
||||
#define STORAGE_NUM_SWITCHES NUM_SWITCHES
|
||||
#define DEFAULT_SWITCH_CONFIG (SWITCH_2POS << 10) + (SWITCH_2POS << 8) + (SWITCH_3POS << 6) + (SWITCH_3POS << 4) + (SWITCH_3POS << 2) + (SWITCH_3POS << 0)
|
||||
@@ -553,7 +558,7 @@ enum Analogs {
|
||||
#define NUM_SLIDERS 0
|
||||
#define STORAGE_NUM_POTS 1
|
||||
#define STORAGE_NUM_SLIDERS 0
|
||||
#elif defined(RADIO_T8)
|
||||
#elif defined(RADIO_T8) || defined(RADIO_TLITE)
|
||||
#define NUM_POTS 0
|
||||
#define NUM_SLIDERS 0
|
||||
#define STORAGE_NUM_POTS 2
|
||||
@@ -658,10 +663,10 @@ extern uint16_t adcValues[NUM_ANALOGS];
|
||||
#define BATTERY_WARN 66 // 6.6V
|
||||
#define BATTERY_MIN 67 // 6.7V
|
||||
#define BATTERY_MAX 83 // 8.3V
|
||||
#elif defined(RADIO_T8)
|
||||
// 1S Li-ion / Lipo
|
||||
#define BATTERY_WARN 33 // 3.3V
|
||||
#define BATTERY_MIN 32 // 3.2V
|
||||
#elif defined(RADIO_T8) || defined(RADIO_TLITE)
|
||||
// 1S Li-ion / Lipo, LDO for 3.3V
|
||||
#define BATTERY_WARN 35 // 3.5V
|
||||
#define BATTERY_MIN 34 // 3.4V
|
||||
#define BATTERY_MAX 42 // 4.2V
|
||||
#else
|
||||
// NI-MH 7.2V
|
||||
@@ -733,6 +738,10 @@ uint8_t isBacklightEnabled();
|
||||
#define USB_NAME "Radiomaster T8"
|
||||
#define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */
|
||||
#define USB_PRODUCT 'R', 'M', ' ', 'T', '8', ' ', ' ', ' ' /* 8 Bytes */
|
||||
#elif defined(RADIO_TLITE)
|
||||
#define USB_NAME "Jumper TLite"
|
||||
#define USB_MANUFACTURER 'J', 'U', 'M', 'P', 'E', 'R', ' ', ' ' /* 8 bytes */
|
||||
#define USB_PRODUCT 'T', '-', 'L', 'I', 'T', 'E', ' ', ' ' /* 8 Bytes */
|
||||
#else
|
||||
#define USB_NAME "FrSky Taranis"
|
||||
#define USB_MANUFACTURER 'F', 'r', 'S', 'k', 'y', ' ', ' ', ' ' /* 8 bytes */
|
||||
@@ -850,8 +859,12 @@ void hapticOff();
|
||||
// Aux serial port driver
|
||||
#if defined(AUX_SERIAL_GPIO)
|
||||
#define DEBUG_BAUDRATE 115200
|
||||
#define LUA_DEFAULT_BAUDRATE 115200
|
||||
#define AUX_SERIAL
|
||||
extern uint8_t auxSerialMode;
|
||||
#if defined __cplusplus
|
||||
void auxSerialSetup(unsigned int baudrate, bool dma, uint16_t length = USART_WordLength_8b, uint16_t parity = USART_Parity_No, uint16_t stop = USART_StopBits_1);
|
||||
#endif
|
||||
void auxSerialInit(unsigned int mode, unsigned int protocol);
|
||||
void auxSerialPutc(char c);
|
||||
#define auxSerialTelemetryInit(protocol) auxSerialInit(UART_MODE_TELEMETRY, protocol)
|
||||
@@ -914,8 +927,8 @@ void ledBlue();
|
||||
#define IS_LCD_RESET_NEEDED() true
|
||||
#define LCD_CONTRAST_MIN 10
|
||||
#define LCD_CONTRAST_MAX 30
|
||||
#if defined(RADIO_TX12) || defined(RADIO_T8)
|
||||
#define LCD_CONTRAST_DEFAULT 21
|
||||
#if defined(RADIO_TX12) || defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LCD_CONTRAST_DEFAULT 25
|
||||
#else
|
||||
#define LCD_CONTRAST_DEFAULT 15
|
||||
#endif
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
#define KEYS_GPIO_PIN_LEFT GPIO_Pin_12 // PE.12
|
||||
#define KEYS_GPIO_REG_RIGHT GPIOE->IDR
|
||||
#define KEYS_GPIO_PIN_RIGHT GPIO_Pin_13 // PE.13
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define KEYS_GPIO_REG_EXIT GPIOD->IDR
|
||||
#define KEYS_GPIO_PIN_EXIT GPIO_Pin_2 // PD.02
|
||||
#define KEYS_GPIO_REG_ENTER GPIOE->IDR
|
||||
@@ -393,6 +393,13 @@
|
||||
#define SWITCHES_GPIO_PIN_B_L GPIO_Pin_7 // PE.07
|
||||
#define SWITCHES_GPIO_REG_B_H GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_B_H GPIO_Pin_13 // PE.13
|
||||
#elif defined(RADIO_TLITE)
|
||||
#define STORAGE_SWITCH_B
|
||||
#define HARDWARE_SWITCH_B
|
||||
#define SWITCHES_GPIO_REG_B_L GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_B_L GPIO_Pin_1 // PE.01
|
||||
#define SWITCHES_GPIO_REG_B_H GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_B_H GPIO_Pin_2 // PE.02
|
||||
#elif defined(PCBX7)
|
||||
#define STORAGE_SWITCH_B
|
||||
#define HARDWARE_SWITCH_B
|
||||
@@ -444,6 +451,11 @@
|
||||
#define SWITCHES_GPIO_PIN_C_L GPIO_Pin_2 // PE.02
|
||||
#define SWITCHES_GPIO_REG_C_H GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_C_H GPIO_Pin_1 // PE.01
|
||||
#elif defined(RADIO_TLITE)
|
||||
#define STORAGE_SWITCH_C
|
||||
#define HARDWARE_SWITCH_C
|
||||
#define SWITCHES_GPIO_REG_C GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_C GPIO_Pin_14 // PE.14
|
||||
#elif defined(PCBX7)
|
||||
#define STORAGE_SWITCH_C
|
||||
#define HARDWARE_SWITCH_C
|
||||
@@ -496,6 +508,11 @@
|
||||
#define HARDWARE_SWITCH_D
|
||||
#define SWITCHES_GPIO_REG_D GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_D GPIO_Pin_8 // PE.08
|
||||
#elif defined(RADIO_TLITE)
|
||||
#define STORAGE_SWITCH_D
|
||||
#define HARDWARE_SWITCH_D
|
||||
#define SWITCHES_GPIO_REG_D GPIOD->IDR
|
||||
#define SWITCHES_GPIO_PIN_D GPIO_Pin_14 // PD.14
|
||||
#elif defined(PCBX7)
|
||||
#define STORAGE_SWITCH_D
|
||||
#define HARDWARE_SWITCH_D
|
||||
@@ -582,9 +599,9 @@
|
||||
#define SWITCHES_GPIO_PIN_F_L GPIO_Pin_1 // PE.01
|
||||
#define SWITCHES_GPIO_REG_F_H GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_F_H GPIO_Pin_2 // PE.02
|
||||
#elif defined(RADIO_T8)
|
||||
#define STORAGE_SWITCH_F
|
||||
#elif defined(RADIO_T8) || defined(RADIO_TLITE)
|
||||
// no SWF
|
||||
#define STORAGE_SWITCH_F
|
||||
#elif defined(PCBX7)
|
||||
#define STORAGE_SWITCH_F
|
||||
#define HARDWARE_SWITCH_F
|
||||
@@ -636,6 +653,9 @@
|
||||
#define STORAGE_SWITCH_H
|
||||
// no SWH
|
||||
#elif defined(RADIO_TX12)
|
||||
#elif defined(RADIO_TLITE)
|
||||
// no SWH
|
||||
#define STORAGE_SWITCH_H
|
||||
#elif defined(PCBX7)
|
||||
#define STORAGE_SWITCH_H
|
||||
#define HARDWARE_SWITCH_H
|
||||
@@ -677,6 +697,11 @@
|
||||
#define HARDWARE_SWITCH_J
|
||||
#define SWITCHES_GPIO_REG_J GPIOD->IDR
|
||||
#define SWITCHES_GPIO_PIN_J GPIO_Pin_14 // PD.14
|
||||
#elif defined(RADIO_TLITE)
|
||||
// no SWI
|
||||
#define STORAGE_SWITCH_I
|
||||
// no SWJ
|
||||
#define STORAGE_SWITCH_J
|
||||
#elif defined(PCBX7)
|
||||
#define STORAGE_SWITCH_I
|
||||
#define HARDWARE_SWITCH_I
|
||||
@@ -786,7 +811,7 @@
|
||||
#define KEYS_GPIOB_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5)
|
||||
#define KEYS_GPIOC_PINS (GPIO_Pin_4 | GPIO_Pin_5)
|
||||
#define KEYS_GPIOE_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14)
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE)
|
||||
#define KEYS_GPIOA_PINS GPIO_Pin_5
|
||||
#define KEYS_GPIOC_PINS (GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3)
|
||||
@@ -849,6 +874,13 @@
|
||||
#define ADC_SET_DMA_FLAGS() ADC_DMA->HIFCR = (DMA_HIFCR_CTCIF4 | DMA_HIFCR_CHTIF4 | DMA_HIFCR_CTEIF4 | DMA_HIFCR_CDMEIF4 | DMA_HIFCR_CFEIF4)
|
||||
#define ADC_TRANSFER_COMPLETE() (ADC_DMA->HISR & DMA_HISR_TCIF4)
|
||||
#define ADC_SAMPTIME 2 // sample time = 28 cycles
|
||||
#if defined(RADIO_TLITE)
|
||||
#define ADC_MAIN_SMPR1 (ADC_SAMPTIME << 0) + (ADC_SAMPTIME << 3) + (ADC_SAMPTIME << 6) + (ADC_SAMPTIME << 9) + (ADC_SAMPTIME << 12) + (ADC_SAMPTIME << 15) + (ADC_SAMPTIME << 18) + (ADC_SAMPTIME << 21) + ((ADC_SAMPTIME + 1) << 24); // TLite needs +1 for proper RTC Bat measurement.
|
||||
#define ADC_MAIN_SMPR2 (ADC_SAMPTIME << 0) + (ADC_SAMPTIME << 3) + (ADC_SAMPTIME << 6) + (ADC_SAMPTIME << 9) + (ADC_SAMPTIME << 12) + (ADC_SAMPTIME << 15) + (ADC_SAMPTIME << 18) + (ADC_SAMPTIME << 21) + (ADC_SAMPTIME << 24) + (ADC_SAMPTIME << 27);
|
||||
#else
|
||||
#define ADC_MAIN_SMPR1 (ADC_SAMPTIME << 0) + (ADC_SAMPTIME << 3) + (ADC_SAMPTIME << 6) + (ADC_SAMPTIME << 9) + (ADC_SAMPTIME << 12) + (ADC_SAMPTIME << 15) + (ADC_SAMPTIME << 18) + (ADC_SAMPTIME << 21) + (ADC_SAMPTIME << 24);
|
||||
#define ADC_MAIN_SMPR2 (ADC_SAMPTIME << 0) + (ADC_SAMPTIME << 3) + (ADC_SAMPTIME << 6) + (ADC_SAMPTIME << 9) + (ADC_SAMPTIME << 12) + (ADC_SAMPTIME << 15) + (ADC_SAMPTIME << 18) + (ADC_SAMPTIME << 21) + (ADC_SAMPTIME << 24) + (ADC_SAMPTIME << 27);
|
||||
#endif
|
||||
#if defined(PCBX9E)
|
||||
#define HARDWARE_POT1
|
||||
#define HARDWARE_POT2
|
||||
@@ -979,6 +1011,24 @@
|
||||
#define ADC_GPIOC_PINS ADC_GPIO_PIN_BATT
|
||||
#define ADC_CHANNEL_BATT ADC_Channel_10
|
||||
#define ADC_VREF_PREC2 300
|
||||
#elif defined(RADIO_TLITE)
|
||||
#define ADC_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA2)
|
||||
#define ADC_RCC_APB1Periph 0
|
||||
#define ADC_RCC_APB2Periph RCC_APB2Periph_ADC1
|
||||
#define ADC_GPIO_PIN_STICK_RV GPIO_Pin_0 // PA.00
|
||||
#define ADC_GPIO_PIN_STICK_RH GPIO_Pin_1 // PA.01
|
||||
#define ADC_GPIO_PIN_STICK_LV GPIO_Pin_2 // PA.02
|
||||
#define ADC_GPIO_PIN_STICK_LH GPIO_Pin_3 // PA.03
|
||||
#define ADC_CHANNEL_STICK_RV ADC_Channel_0 // ADC1_IN0
|
||||
#define ADC_CHANNEL_STICK_RH ADC_Channel_1 // ADC1_IN1
|
||||
#define ADC_CHANNEL_STICK_LV ADC_Channel_2 // ADC1_IN2
|
||||
#define ADC_CHANNEL_STICK_LH ADC_Channel_3 // ADC1_IN3
|
||||
#define ADC_GPIO_PIN_BATT GPIO_Pin_0 // PC.00
|
||||
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV)
|
||||
#define ADC_GPIOB_PINS 0
|
||||
#define ADC_GPIOC_PINS ADC_GPIO_PIN_BATT
|
||||
#define ADC_CHANNEL_BATT ADC_Channel_10
|
||||
#define ADC_VREF_PREC2 330
|
||||
#elif defined(PCBX7)
|
||||
#define HARDWARE_POT1
|
||||
#define HARDWARE_POT2
|
||||
@@ -1241,7 +1291,7 @@
|
||||
#define INTMODULE_DMA_STREAM_IRQHandler DMA2_Stream5_IRQHandler
|
||||
#define INTMODULE_DMA_FLAG_TC DMA_IT_TCIF5
|
||||
#define INTMODULE_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2)
|
||||
#elif (defined(RADIO_T12) && defined(HARDWARE_INTERNAL_MODULE))|| defined(RADIO_TX12) || defined(RADIO_T8)
|
||||
#elif (defined(RADIO_FAMILY_JUMPER_T12) && defined(HARDWARE_INTERNAL_MODULE))|| defined(RADIO_TX12) || defined(RADIO_T8)
|
||||
#define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1)
|
||||
#define INTMODULE_RCC_APB1Periph (RCC_APB1Periph_USART3 | RCC_APB1Periph_TIM2)
|
||||
#define INTMODULE_RCC_APB2Periph 0
|
||||
@@ -1598,7 +1648,7 @@
|
||||
#define INTMODULE_HEARTBEAT_EXTI_PinSource GPIO_PinSource7
|
||||
#define INTMODULE_HEARTBEAT_EXTI_LINE EXTI_Line7
|
||||
#define INTMODULE_HEARTBEAT_EXTI_IRQn EXTI9_5_IRQn
|
||||
#elif defined(RADIO_X7) || defined(RADIO_TX12)
|
||||
#elif defined(RADIO_X7) || defined(RADIO_TX12)
|
||||
#define INTMODULE_HEARTBEAT
|
||||
#define INTMODULE_HEARTBEAT_REUSE_INTERRUPT_ROTARY_ENCODER
|
||||
#define INTMODULE_HEARTBEAT_RCC_AHB1Periph RCC_AHB1Periph_GPIOC
|
||||
@@ -1672,27 +1722,27 @@
|
||||
#define TRAINER_MODULE_CPPM
|
||||
#define TRAINER_MODULE_SBUS
|
||||
#endif
|
||||
#define TRAINER_MODULE_RCC_AHB1Periph RCC_AHB1Periph_GPIOC
|
||||
#define TRAINER_MODULE_RCC_APB2Periph RCC_APB2Periph_USART6
|
||||
#define TRAINER_MODULE_RCC_APB1Periph RCC_APB1Periph_TIM3
|
||||
#define TRAINER_MODULE_CPPM_TIMER TRAINER_TIMER
|
||||
#define TRAINER_MODULE_CPPM_GPIO INTMODULE_HEARTBEAT_GPIO
|
||||
#define TRAINER_MODULE_CPPM_GPIO_PIN INTMODULE_HEARTBEAT_GPIO_PIN
|
||||
#define TRAINER_MODULE_CPPM_GPIO_PinSource INTMODULE_HEARTBEAT_EXTI_PinSource
|
||||
#define TRAINER_MODULE_CPPM_INTERRUPT_ENABLE TIM_DIER_CC2IE
|
||||
#define TRAINER_MODULE_CPPM_INTERRUPT_FLAG TIM_SR_CC2IF
|
||||
#define TRAINER_MODULE_CPPM_CCMR1 (TIM_CCMR1_IC2F_0 | TIM_CCMR1_IC2F_1 | TIM_CCMR1_CC2S_0)
|
||||
#define TRAINER_MODULE_CPPM_CCER TIM_CCER_CC2E
|
||||
#define TRAINER_MODULE_CPPM_COUNTER_REGISTER TRAINER_TIMER->CCR2
|
||||
#define TRAINER_MODULE_CPPM_TIMER_IRQn TRAINER_TIMER_IRQn
|
||||
#define TRAINER_MODULE_CPPM_GPIO_AF GPIO_AF_TIM3
|
||||
#define TRAINER_MODULE_SBUS_GPIO_AF GPIO_AF_USART6
|
||||
#define TRAINER_MODULE_SBUS_USART USART6
|
||||
#define TRAINER_MODULE_SBUS_GPIO INTMODULE_HEARTBEAT_GPIO
|
||||
#define TRAINER_MODULE_SBUS_GPIO_PIN INTMODULE_HEARTBEAT_GPIO_PIN
|
||||
#define TRAINER_MODULE_SBUS_GPIO_PinSource INTMODULE_HEARTBEAT_EXTI_PinSource
|
||||
#define TRAINER_MODULE_SBUS_DMA_STREAM DMA2_Stream1
|
||||
#define TRAINER_MODULE_SBUS_DMA_CHANNEL DMA_Channel_5
|
||||
#define TRAINER_MODULE_RCC_AHB1Periph RCC_AHB1Periph_GPIOC
|
||||
#define TRAINER_MODULE_RCC_APB2Periph RCC_APB2Periph_USART6
|
||||
#define TRAINER_MODULE_RCC_APB1Periph RCC_APB1Periph_TIM3
|
||||
#define TRAINER_MODULE_CPPM_TIMER TRAINER_TIMER
|
||||
#define TRAINER_MODULE_CPPM_GPIO INTMODULE_HEARTBEAT_GPIO
|
||||
#define TRAINER_MODULE_CPPM_GPIO_PIN INTMODULE_HEARTBEAT_GPIO_PIN
|
||||
#define TRAINER_MODULE_CPPM_GPIO_PinSource INTMODULE_HEARTBEAT_EXTI_PinSource
|
||||
#define TRAINER_MODULE_CPPM_INTERRUPT_ENABLE TIM_DIER_CC2IE
|
||||
#define TRAINER_MODULE_CPPM_INTERRUPT_FLAG TIM_SR_CC2IF
|
||||
#define TRAINER_MODULE_CPPM_CCMR1 (TIM_CCMR1_IC2F_0 | TIM_CCMR1_IC2F_1 | TIM_CCMR1_CC2S_0)
|
||||
#define TRAINER_MODULE_CPPM_CCER TIM_CCER_CC2E
|
||||
#define TRAINER_MODULE_CPPM_COUNTER_REGISTER TRAINER_TIMER->CCR2
|
||||
#define TRAINER_MODULE_CPPM_TIMER_IRQn TRAINER_TIMER_IRQn
|
||||
#define TRAINER_MODULE_CPPM_GPIO_AF GPIO_AF_TIM3
|
||||
#define TRAINER_MODULE_SBUS_GPIO_AF GPIO_AF_USART6
|
||||
#define TRAINER_MODULE_SBUS_USART USART6
|
||||
#define TRAINER_MODULE_SBUS_GPIO INTMODULE_HEARTBEAT_GPIO
|
||||
#define TRAINER_MODULE_SBUS_GPIO_PIN INTMODULE_HEARTBEAT_GPIO_PIN
|
||||
#define TRAINER_MODULE_SBUS_GPIO_PinSource INTMODULE_HEARTBEAT_EXTI_PinSource
|
||||
#define TRAINER_MODULE_SBUS_DMA_STREAM DMA2_Stream1
|
||||
#define TRAINER_MODULE_SBUS_DMA_CHANNEL DMA_Channel_5
|
||||
#endif
|
||||
|
||||
// USB
|
||||
@@ -1789,7 +1839,7 @@
|
||||
#define KEYS_BACKLIGHT_RCC_AHB1Periph 0
|
||||
|
||||
// LCD driver
|
||||
#if defined(RADIO_TX12) || defined(RADIO_T12) || defined(RADIO_T8)
|
||||
#if defined(RADIO_TX12) || defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_T8)
|
||||
#define LCD_VERTICAL_INVERT
|
||||
#endif
|
||||
#if defined(PCBX9E)
|
||||
@@ -1984,12 +2034,16 @@
|
||||
#define AUDIO_SPEAKER_ENABLE_GPIO_PIN GPIO_Pin_14 // PD.14
|
||||
#define HEADPHONE_TRAINER_SWITCH_GPIO GPIOD
|
||||
#define HEADPHONE_TRAINER_SWITCH_GPIO_PIN GPIO_Pin_9 // PD.09
|
||||
#elif defined(RADIO_TX12) || defined(RADIO_T8)
|
||||
#elif defined(AUDIO_MUTE_GPIO)
|
||||
#define AUDIO_RCC_AHB1Periph (RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_DMA1)
|
||||
#define AUDIO_MUTE_GPIO GPIOE
|
||||
#define AUDIO_MUTE_GPIO_PIN GPIO_Pin_12 // PE.12
|
||||
#define AUDIO_UNMUTE_DELAY 150 // ms
|
||||
#define AUDIO_MUTE_DELAY 500 // ms
|
||||
#if defined(RADIO_TLITE)
|
||||
#define AUDIO_UNMUTE_DELAY 250 // ms
|
||||
#else
|
||||
#define AUDIO_UNMUTE_DELAY 150 // ms
|
||||
#endif
|
||||
#else
|
||||
#define AUDIO_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_DMA1)
|
||||
#endif
|
||||
@@ -2110,7 +2164,7 @@
|
||||
#define BT_USART_IRQn USART3_IRQn
|
||||
// #define BT_DMA_Stream_RX DMA1_Stream1
|
||||
// #define BT_DMA_Channel_RX DMA_Channel_4
|
||||
#elif defined(PCBX9D) || defined(PCBX9DP) || defined(RADIO_T12) || defined(RADIO_TX12) | defined(RADIO_T8)
|
||||
#elif defined(PCBX9D) || defined(PCBX9DP) || defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_TX12) || defined(RADIO_T8)
|
||||
#define STORAGE_BLUETOOTH
|
||||
#define BT_RCC_AHB1Periph 0
|
||||
#define BT_RCC_APB1Periph 0
|
||||
|
||||
@@ -209,6 +209,11 @@ uint32_t switchState(uint8_t index)
|
||||
ADD_2POS_CASE(A);
|
||||
ADD_3POS_CASE(B, 1);
|
||||
ADD_3POS_CASE(C, 2);
|
||||
#elif defined(RADIO_TLITE)
|
||||
ADD_3POS_CASE(A, 0);
|
||||
ADD_3POS_CASE(B, 1);
|
||||
ADD_2POS_CASE(C);
|
||||
ADD_2POS_CASE(D);
|
||||
#else
|
||||
ADD_3POS_CASE(A, 0);
|
||||
ADD_3POS_CASE(B, 1);
|
||||
@@ -242,6 +247,8 @@ uint32_t switchState(uint8_t index)
|
||||
ADD_3POS_CASE(F, 5);
|
||||
#elif defined(RADIO_T8)
|
||||
ADD_2POS_CASE(D);
|
||||
#elif defined(RADIO_TLITE)
|
||||
// Only 4 switches
|
||||
#elif defined(PCBX7)
|
||||
ADD_3POS_CASE(D, 3);
|
||||
ADD_2POS_CASE(F);
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
#include "opentx.h"
|
||||
|
||||
#if defined(RADIO_T12) || defined(RADIO_TX12) || defined(RADIO_T8)
|
||||
#if defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_TX12) || defined(RADIO_T8)
|
||||
#define LCD_CONTRAST_OFFSET -10
|
||||
#else
|
||||
#define LCD_CONTRAST_OFFSET 160
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -288,7 +288,7 @@
|
||||
#if defined(PCBHORUS)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "PGUP\0""PGDN\0""ENTER""MDL\0 ""RTN\0 ""TELE\0""SYS\0 "
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Dolů\0""Nhoru""Vprvo""Vlevo"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -294,7 +294,7 @@
|
||||
#elif defined(PCBXLITE)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Shift""Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -294,7 +294,7 @@
|
||||
#elif defined(PCBXLITE)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Shift""Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -291,7 +291,7 @@
|
||||
#elif defined(PCBXLITE)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Shift""Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -312,7 +312,7 @@
|
||||
#elif defined(PCBXLITE)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Shift""Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
#elif defined(PCBXLITE)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Shift""Exit\0""Enter""Bas\0 ""Haut\0""Droit""Gauch"
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
#elif defined(PCBXLITE)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Shift""Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -292,7 +292,7 @@
|
||||
#if defined(PCBHORUS)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "PGUP\0""PGDN\0""ENTER""MDL\0 ""RTN\0 ""TELE\0""SYS\0 "
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -312,7 +312,7 @@
|
||||
#elif defined(PCBXLITE)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Shift""Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -305,7 +305,7 @@
|
||||
#if defined(PCBHORUS)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "PGUP\0""PGDN\0""ENTER""MDL\0 ""RTN\0 ""TELE\0""SYS\0 "
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
#if defined(PCBHORUS)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "PGUP\0""PGDN\0""ENTER""MDL\0 ""RTN\0 ""TELE\0""SYS\0 "
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define LEN_VKEYS "\005"
|
||||
#define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#elif defined(PCBXLITE)
|
||||
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0"
|
||||
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0"
|
||||
#elif defined(RADIO_T12)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12)
|
||||
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0"
|
||||
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0"
|
||||
#elif defined(RADIO_TX12)
|
||||
|
||||
Reference in New Issue
Block a user