int main(void) { PWM_init(); CF_init(&alpha, &beta); PID_init(&pid_x, &pid_y); Flags_init(); Timer1_init(); Twi_init(); Usart_init(); deviceInit_adc(); deviceInit_rc(); if(!deviceInit() || !Flags_getBit(flags_deviceAdcInitialised) || !Flags_getBit(flags_deviceRcInitialised)) { _exit(); } // todo: workaround for slave initialization deviceInitialize(deviceID_slave, _true); // todo: workaround for gps initialization deviceInitialize(deviceID_gps, _true); //enable interrupts _enableInterrupts(); while(1); }
int32_t main(int argc, char **argv) { int32_t i = 0; pthread_t vPollcmd; pthread_t vPipecmd; _gCurrentState=STATE_INIT; for(i = 0; i < argc; i++) { if(0 == memcmp("-d", argv[i], 2)) { if(i+1 < argc) { _gDebugFlagMask = strtol(argv[i+1], NULL, 0); i++; } else { _gDebugFlagMask=0xFF; } printf("enable debug, mask = 0x%04X\n", _gDebugFlagMask); _gDebugFlag=1; } else if(0 == memcmp("-t", argv[i], 2)) { _gTestMode=1; } } _gQuitHandler = signal( SIGQUIT, exit_handler ); _gKillHandler = signal( SIGKILL, exit_handler ); _gTermHandler = signal( SIGTERM, exit_handler ); _gTermHandler = signal( SIGINT, exit_handler ); #if(_DEBUG_ == 1 && _DEBUG_TO_FILE_ == 1) if(gDebugToFile == 1) util_debug_file_init(); #endif pipe_init(); if(0 != i2c_init()) return -1; #ifdef STATUS_LED LED_init(); #endif #ifdef PUBLIC_GPIO GPIO_init(); #endif Flags_init(); sysinfo_update_init(); menu_init(); signal( SIG_PROC_CMD, cmd_queue_handler ); signal( SIG_PROC_MENU, menu_queue_handler ); sigemptyset(&_gSigMask); pthread_create(&vPollcmd, NULL, timer_main, NULL); pthread_create(&vPipecmd, NULL, pipecmd, NULL); pthread_join( vPollcmd, NULL); pthread_join( vPipecmd, NULL); return (0); }