Also play model name on model changes (#5416)
[opentx.git] / companion / src / constants.h
blob6b8eac456efd67f19b94fb47d30fcef82ed15066
1 /*
2 * Copyright (C) OpenTX
4 * Based on code named
5 * th9x - http://code.google.com/p/th9x
6 * er9x - http://code.google.com/p/er9x
7 * gruvin9x - http://code.google.com/p/gruvin9x
9 * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
21 #ifndef _CONSTANTS_H_
22 #define _CONSTANTS_H_
24 #include <QCoreApplication>
26 #define CPN_MAX_MODELS 60
27 #define CPN_MAX_TIMERS 3
28 #define CPN_MAX_FLIGHT_MODES 9
29 #define CPN_MAX_MIXERS 64
30 #define CPN_MAX_INPUTS 32
31 #define CPN_MAX_EXPOS 64
32 #define CPN_MAX_CURVES 32
33 #define CPN_MAX_POINTS 17
34 #define CPN_MAX_GVARS 9
35 #define CPN_MAX_ENCODERS 2 // rotary encoders
36 #define CPN_MAX_CHNOUT 32 // number of real output channels
37 #define CPN_MAX_LOGICAL_SWITCHES 64 // number of custom switches
38 #define CPN_MAX_SPECIAL_FUNCTIONS 64 // number of functions assigned to switches
39 #define CPN_MAX_MODULES 2
40 #define CPN_MAX_STICKS Board::STICK_AXIS_COUNT
41 #define CPN_MAX_TRIMS Board::TRIM_AXIS_COUNT
42 #define CPN_MAX_TRIM_SW Board::TRIM_SW_COUNT
43 #define CPN_MAX_KNOBS 4
44 #define CPN_MAX_SLIDERS 4
45 #define CPN_MAX_POTS (CPN_MAX_KNOBS + CPN_MAX_SLIDERS)
46 #define CPN_MAX_CYC 3
47 #define CPN_MAX_SWITCHES 32
48 #define CPN_MAX_KEYS 32
49 #define CPN_MAX_MOUSE_ANALOGS 2
50 #define CPN_MAX_ANALOGS (CPN_MAX_STICKS + CPN_MAX_POTS + CPN_MAX_MOUSE_ANALOGS)
52 #define CPN_STR_FILES QCoreApplication::translate("Companion", "files")
53 #define CPN_STR_RAD_MOD_SETTINGS QCoreApplication::translate("Companion", "Radio and Models settings")
54 #define HEX_FILES_FILTER "HEX " % CPN_STR_FILES % " (*.hex);;"
55 #define BIN_FILES_FILTER "BIN " % CPN_STR_FILES % " (*.bin);;"
56 #define DFU_FILES_FILTER "DFU " % CPN_STR_FILES % " (*.dfu);;"
57 #define EEPE_FILES_FILTER "EEPE " % CPN_STR_FILES % " (*.eepe);;"
58 #define OTX_FILES_FILTER "OpenTX " % CPN_STR_FILES % " (*.otx);;"
59 #define EEPROM_FILES_FILTER CPN_STR_RAD_MOD_SETTINGS % " " % CPN_STR_FILES % " (*.otx *.eepe *.bin *.hex);;" % OTX_FILES_FILTER % EEPE_FILES_FILTER % BIN_FILES_FILTER % HEX_FILES_FILTER
60 #define FLASH_FILES_FILTER "FLASH " % CPN_STR_FILES % " (*.bin *.hex *.dfu);;" % BIN_FILES_FILTER % HEX_FILES_FILTER % DFU_FILES_FILTER
61 #define EXTERNAL_EEPROM_FILES_FILTER "EEPROM " % CPN_STR_FILES % " (*.bin *.hex);;" % BIN_FILES_FILTER % HEX_FILES_FILTER
62 #define ER9X_EEPROM_FILE_TYPE "ER9X_EEPROM_FILE"
63 #define EEPE_EEPROM_FILE_HEADER "EEPE EEPROM FILE"
64 #define EEPE_MODEL_FILE_HEADER "EEPE MODEL FILE"
66 #define CPN_STR_SW_INDICATOR_UP QCoreApplication::translate("RawSwitch", "\xE2\x86\x91") // Switch up position indicator: Up arrow, or similar.
67 #define CPN_STR_SW_INDICATOR_DN QCoreApplication::translate("RawSwitch", "\xE2\x86\x93") // Switch down position indicator: Down arrow, or similar.
68 #define CPN_STR_SW_INDICATOR_NEUT QCoreApplication::translate("RawSwitch", "-") // Switch neutral (middle) position indicator.
69 #define CPN_STR_SW_INDICATOR_REV QCoreApplication::translate("RawSwitch", "!") // Switch reversed logic (NOT) indicator.
71 #endif // _CONSTANTS_H_