1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-16 12:55:12 +03:00
This commit is contained in:
Michał Wróbel 2015-05-07 03:14:31 +02:00
parent 5f79e7e428
commit d63f6bcaf7
4 changed files with 28 additions and 24 deletions

View file

@ -445,15 +445,12 @@ int main(int argc,char **argv)
printf("Model size = %d\n", (int)sizeof(g_model)); printf("Model size = %d\n", (int)sizeof(g_model));
simuInit();
StartEepromThread(argc >= 2 ? argv[1] : "eeprom.bin"); StartEepromThread(argc >= 2 ? argv[1] : "eeprom.bin");
StartAudioThread(); StartAudioThread();
StartMainThread(); StartMainThread();
#if defined(PCBTARANIS)
simuSetSwitch(0, 0);
simuSetSwitch(1, 0);
#endif
return application.run(); return application.run();
} }

View file

@ -100,42 +100,46 @@ char simuSdDirectory[1024] = "";
uint8_t eeprom[EESIZE_SIMU]; uint8_t eeprom[EESIZE_SIMU];
sem_t *eeprom_write_sem; sem_t *eeprom_write_sem;
#if defined(CPUARM) void simuInit()
#if defined(PCBTARANIS) {
#define SWITCH_CASE(swtch, pin, mask) \ for (int i = 0; i <= 17; i++)
case swtch: \ simuSetSwitch(i, 0);
}
#define NEG_CASE(sw_or_key, pin, mask) \
case sw_or_key: \
if ((int)state > 0) pin &= ~(mask); else pin |= (mask); \ if ((int)state > 0) pin &= ~(mask); else pin |= (mask); \
break; break;
#else #define POS_CASE(sw_or_key, pin, mask) \
#define SWITCH_CASE(swtch, pin, mask) \ case sw_or_key: \
case swtch: \
if ((int)state > 0) pin |= (mask); else pin &= ~(mask); \ if ((int)state > 0) pin |= (mask); else pin &= ~(mask); \
break; break;
#if defined(CPUARM)
#if defined(PCBTARANIS)
#define SWITCH_CASE NEG_CASE
#else
#define SWITCH_CASE POS_CASE
#endif #endif
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \ #define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
case swtch: \ case swtch: \
if ((int)state < 0) pin1 &= ~(mask1); else pin1 |= (mask1); \ if ((int)state < 0) pin1 &= ~(mask1); else pin1 |= (mask1); \
if ((int)state > 0) pin2 &= ~(mask2); else pin2 |= (mask2); \ if ((int)state > 0) pin2 &= ~(mask2); else pin2 |= (mask2); \
break; break;
#define KEY_CASE(key, pin, mask) \ #define KEY_CASE NEG_CASE
case key: \
if ((int)state > 0) pin &= ~mask; else pin |= mask;\
break;
#define TRIM_CASE KEY_CASE #define TRIM_CASE KEY_CASE
#else #else
#define SWITCH_CASE(swtch, pin, mask) \ #if defined(PCBMEGA2560)
case swtch: \ #define SWITCH_CASE POS_CASE
if ((int)state > 0) pin &= ~(mask); else pin |= (mask); \ #else
break; #define SWITCH_CASE NEG_CASE
#endif
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \ #define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
case swtch: \ case swtch: \
if ((int)state >= 0) pin1 &= ~(mask1); else pin1 |= (mask1); \ if ((int)state >= 0) pin1 &= ~(mask1); else pin1 |= (mask1); \
if ((int)state <= 0) pin2 &= ~(mask2); else pin2 |= (mask2); \ if ((int)state <= 0) pin2 &= ~(mask2); else pin2 |= (mask2); \
break; break;
#define KEY_CASE(key, pin, mask) \ #define KEY_CASE POS_CASE
case key: \
if ((int)state > 0) pin |= (mask); else pin &= ~(mask);\
break;
#define TRIM_CASE KEY_CASE #define TRIM_CASE KEY_CASE
#endif #endif

View file

@ -367,6 +367,8 @@ extern uint8_t main_thread_running;
#define SIMU_SLEEP(x) do { if (!main_thread_running) return; sleep(x/*ms*/); } while (0) #define SIMU_SLEEP(x) do { if (!main_thread_running) return; sleep(x/*ms*/); } while (0)
#define SIMU_SLEEP_NORET(x) do { sleep(x/*ms*/); } while (0) #define SIMU_SLEEP_NORET(x) do { sleep(x/*ms*/); } while (0)
void simuInit();
void simuSetKey(uint8_t key, bool state); void simuSetKey(uint8_t key, bool state);
void simuSetTrim(uint8_t trim, bool state); void simuSetTrim(uint8_t trim, bool state);
void simuSetSwitch(uint8_t swtch, int8_t state); void simuSetSwitch(uint8_t swtch, int8_t state);

View file

@ -60,6 +60,7 @@ const char * zchar2string(const char * zstring, int size)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
QCoreApplication app(argc, argv); QCoreApplication app(argc, argv);
simuInit();
StartEepromThread(NULL); StartEepromThread(NULL);
g_menuStackPtr = 0; g_menuStackPtr = 0;
g_menuStack[0] = menuMainView; g_menuStack[0] = menuMainView;