1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-15 04:15:26 +03:00

Buttons for trims T5 and T6 were not working in simu (fix #7167) (#7243)

Buttons for trims T5 and T6 were not working in simu (fix #7167)
This commit is contained in:
Andre Bernet 2020-01-03 12:16:26 +01:00 committed by Bertrand Songis
parent 3e4c67b273
commit abc70f1a5a
3 changed files with 12 additions and 12 deletions

View file

@ -581,7 +581,7 @@ enum SwitchSources {
#define SWSRC_TRAINER SWSRC_LAST_SWITCH,
#endif
#define SWSRC_LAST_TRIM (SWSRC_FIRST_TRIM + 2*NUM_TRIMS - 1)
#define SWSRC_LAST_TRIM (SWSRC_FIRST_TRIM + 2 * NUM_TRIMS - 1)
enum MixSources {
MIXSRC_NONE,

View file

@ -297,7 +297,7 @@ void OpenTxSim::updateKeysAndSwitches(bool start)
static FXuint trimKeys[] = { KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_F11, KEY_F12 };
#endif
for (unsigned i=0; i<2*NUM_TRIMS; i++) {
for (unsigned i=0; i<NUM_TRIMS_KEYS; i++) {
simuSetTrim(i, getApp()->getKeyState(trimKeys[i]));
}

View file

@ -149,7 +149,7 @@ void simuSetKey(uint8_t key, bool state)
keysStates[key] = state;
}
bool trimsStates[NUM_TRIMS * 2] = { false };
bool trimsStates[NUM_TRIMS_KEYS] = { false };
void simuSetTrim(uint8_t trim, bool state)
{
// TRACE("simuSetTrim(%d, %d)", trim, state);
@ -486,17 +486,17 @@ void pwrOff()
void readKeysAndTrims()
{
uint8_t index = 0;
uint32_t keys_input = readKeys();
for (uint8_t i = 1; i != uint8_t(1 << TRM_BASE); i <<= 1) {
keys[index++].input(keys_input & i);
auto keysInput = readKeys();
for (auto mask = (1 << 0); mask < (1 << TRM_BASE); mask <<= 1) {
keys[index++].input(keysInput & mask);
}
uint32_t trims_input = readTrims();
for (uint8_t i = 1; i != uint8_t(1 << 8); i <<= 1) {
keys[index++].input(trims_input & i);
auto trimsInput = readTrims();
for (auto mask = (1 << 0); mask < (1 << NUM_TRIMS_KEYS); mask <<= 1) {
keys[index++].input(trimsInput & mask);
}
if (keys_input || trims_input) {
if (keysInput || trimsInput) {
backlightOn();
}
}
@ -515,7 +515,7 @@ uint32_t readKeys()
{
uint32_t result = 0;
for (int i=0; i<NUM_KEYS; i++) {
for (int i = 0; i < NUM_KEYS; i++) {
if (keysStates[i]) {
// TRACE("key pressed %d", i);
result |= 1 << i;
@ -529,7 +529,7 @@ uint32_t readTrims()
{
uint32_t result = 0;
for (int i=0; i<NUM_TRIMS*2; i++) {
for (int i=0; i<NUM_TRIMS_KEYS; i++) {
if (trimsStates[i]) {
// TRACE("trim pressed %d", i);
result |= 1 << i;