From e4698d10a366191eaf25726e2c51d612083e3194 Mon Sep 17 00:00:00 2001 From: bsongis Date: Fri, 10 Jul 2015 09:15:18 +0200 Subject: [PATCH] [Taranis X9E] Second version for the startup procedure --- radio/src/targets/taranis/board_taranis.cpp | 23 ++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/radio/src/targets/taranis/board_taranis.cpp b/radio/src/targets/taranis/board_taranis.cpp index 4e6a4d392..ff0abb3d1 100644 --- a/radio/src/targets/taranis/board_taranis.cpp +++ b/radio/src/targets/taranis/board_taranis.cpp @@ -123,7 +123,7 @@ void boardInit() init5msTimer(); __enable_irq(); -#if defined(REV9E) +#if 0 // first version if (!(RCC->CSR & (RCC_CSR_SFTRSTF | RCC_CSR_WDGRSTF))) { tmr10ms_t start = get_tmr10ms(); while (pwrPressed()); @@ -134,6 +134,27 @@ void boardInit() } #endif +#if defined(REV9E) // second version + if (!(RCC->CSR & (RCC_CSR_SFTRSTF | RCC_CSR_WDGRSTF))) { + tmr10ms_t start = get_tmr10ms(); + tmr10ms_t duration = 0; + uint8_t pwr_on = 0; + while (pwrPressed()) { + duration = get_tmr10ms() - start; + if (duration >= 300) { + turnBacklightOff(); + } + else if (duration > 80 && pwr_on != 1) { + backlightInit(); + pwr_on = 1; + } + } + if (duration < 80 || duration >= 300) { + pwrOff(); + } + } +#endif + keysInit(); adcInit(); delaysInit();