1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-16 04:45:17 +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));
simuInit();
StartEepromThread(argc >= 2 ? argv[1] : "eeprom.bin");
StartAudioThread();
StartMainThread();
#if defined(PCBTARANIS)
simuSetSwitch(0, 0);
simuSetSwitch(1, 0);
#endif
return application.run();
}

View file

@ -100,42 +100,46 @@ char simuSdDirectory[1024] = "";
uint8_t eeprom[EESIZE_SIMU];
sem_t *eeprom_write_sem;
#if defined(CPUARM)
#if defined(PCBTARANIS)
#define SWITCH_CASE(swtch, pin, mask) \
case swtch: \
void simuInit()
{
for (int i = 0; i <= 17; i++)
simuSetSwitch(i, 0);
}
#define NEG_CASE(sw_or_key, pin, mask) \
case sw_or_key: \
if ((int)state > 0) pin &= ~(mask); else pin |= (mask); \
break;
#else
#define SWITCH_CASE(swtch, pin, mask) \
case swtch: \
#define POS_CASE(sw_or_key, pin, mask) \
case sw_or_key: \
if ((int)state > 0) pin |= (mask); else pin &= ~(mask); \
break;
#if defined(CPUARM)
#if defined(PCBTARANIS)
#define SWITCH_CASE NEG_CASE
#else
#define SWITCH_CASE POS_CASE
#endif
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
case swtch: \
if ((int)state < 0) pin1 &= ~(mask1); else pin1 |= (mask1); \
if ((int)state > 0) pin2 &= ~(mask2); else pin2 |= (mask2); \
break;
#define KEY_CASE(key, pin, mask) \
case key: \
if ((int)state > 0) pin &= ~mask; else pin |= mask;\
break;
#define KEY_CASE NEG_CASE
#define TRIM_CASE KEY_CASE
#else
#define SWITCH_CASE(swtch, pin, mask) \
case swtch: \
if ((int)state > 0) pin &= ~(mask); else pin |= (mask); \
break;
#if defined(PCBMEGA2560)
#define SWITCH_CASE POS_CASE
#else
#define SWITCH_CASE NEG_CASE
#endif
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
case swtch: \
if ((int)state >= 0) pin1 &= ~(mask1); else pin1 |= (mask1); \
if ((int)state <= 0) pin2 &= ~(mask2); else pin2 |= (mask2); \
break;
#define KEY_CASE(key, pin, mask) \
case key: \
if ((int)state > 0) pin |= (mask); else pin &= ~(mask);\
break;
#define KEY_CASE POS_CASE
#define TRIM_CASE KEY_CASE
#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_NORET(x) do { sleep(x/*ms*/); } while (0)
void simuInit();
void simuSetKey(uint8_t key, bool state);
void simuSetTrim(uint8_t trim, bool 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)
{
QCoreApplication app(argc, argv);
simuInit();
StartEepromThread(NULL);
g_menuStackPtr = 0;
g_menuStack[0] = menuMainView;