int main(void) { IntMasterDisable(); /* Set up hardware */ hardware_setup(); init_semaphores(); init_queues(); /* Module initialization */ if (spi_init() && uart_init_task() && uart_protocol_init_task() && status_led_task_init() && uart_echo_init() && par_updater_init() && (xTaskCreate(dreh_task, NAME("Dreh"), DEFAULT_STACK, NULL, PRIORITY_LOW, &task_handles[DREH_T])) == pdPASS && (xTaskCreate(lcd_task, NAME("LCD"), DEFAULT_STACK, NULL, PRIORITY_LOW, &task_handles[LCD_T])) == pdPASS && (xTaskCreate(menu_task, NAME("Menu"), LARGE_STACK, NULL, PRIORITY_LOW, &task_handles[MENU_T])) == pdPASS && (xTaskCreate(numpad_task, NAME("Numpad"), DEFAULT_STACK, NULL, PRIORITY_LOW, &task_handles[NUMPAD_T])) == pdPASS && (xTaskCreate(control_task, NAME("Control"), DEFAULT_STACK, NULL, PRIORITY_HIGH, &task_handles[CONTROL_T])) == pdPASS && (xTaskCreate(blink_task, NAME("Blink"), DEFAULT_STACK, NULL, PRIORITY_LOW, &task_handles[BLINK_T])) == pdPASS && uart_to_spi_init() && step_response_init() && itc_init_uartprinter() #ifdef DEBUG && spi_test_init() && runtimestats_init() #endif /* DEBUG */ ) { vTaskStartScheduler(); } while (1) { /* Will only get here if initialization went wrong. */ } return 1; }
void ICACHE_FLASH_ATTR spi_init() { spi_test_init(); }