From 2ea27e0cdac91cd4743d9f12496bb3f911d9efa9 Mon Sep 17 00:00:00 2001 From: JF Date: Sun, 17 Nov 2019 20:47:04 +0100 Subject: Initial commit --- src/main.cpp | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/main.cpp (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 00000000..9ce22d36 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,76 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#if NRF_LOG_ENABLED +#include "Logging/NrfLogger.h" +Pinetime::Logging::NrfLogger logger; +#else +#include "Logging/DummyLogger.h" +Pinetime::Logging::DummyLogger logger; +#endif + +Pinetime::Applications::BlinkApp blinkApp; +TaskHandle_t systemThread; + + +extern "C" { + void vApplicationIdleHook() { + logger.Resume(); + } + + void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed portCHAR *pcTaskName ) { + bsp_board_led_on(3); + } +} + +static void bsp_event_handler(bsp_event_t event) +{ + switch (event) + { + case BSP_EVENT_KEY_0: + NRF_LOG_INFO("Button pressed"); + break; + default: + break; + } +} + + +void SystemTask(void *) { + APP_GPIOTE_INIT(2); + app_timer_init(); + + bsp_board_init(BSP_INIT_LEDS|BSP_INIT_BUTTONS); + bsp_init(BSP_INIT_LEDS | BSP_INIT_BUTTONS, bsp_event_handler); + + blinkApp.Start(); + + while (1) { + vTaskSuspend(nullptr); + } +} + +int main(void) { + logger.Init(); + nrf_drv_clock_init(); + + if (pdPASS != xTaskCreate(SystemTask, "MAIN", 256, nullptr, 0, &systemThread)) + APP_ERROR_HANDLER(NRF_ERROR_NO_MEM); + + vTaskStartScheduler(); + + for (;;) { + APP_ERROR_HANDLER(NRF_ERROR_FORBIDDEN); + } +} + + + -- cgit v1.2.3-70-g09d2