From af0261155b8ac936a0c38df5e34bbdbd5f9294cd Mon Sep 17 00:00:00 2001 From: Rahix <rahix@rahix.de> Date: Tue, 20 Aug 2019 21:19:33 +0200 Subject: [PATCH] chore(ble): Move ble_shall_start() into ble module Signed-off-by: Rahix <rahix@rahix.de> --- epicardium/ble/ble.c | 32 +++++++++++++++++++++++++++ epicardium/main.c | 42 +----------------------------------- epicardium/modules/modules.h | 2 ++ 3 files changed, 35 insertions(+), 41 deletions(-) diff --git a/epicardium/ble/ble.c b/epicardium/ble/ble.c index 38e9efdc..52c4f1a9 100644 --- a/epicardium/ble/ble.c +++ b/epicardium/ble/ble.c @@ -1,3 +1,4 @@ +#include "epicardium.h" #include "modules/log.h" #include "fs_util.h" @@ -172,6 +173,37 @@ void wsf_ble_signal_event(void) notify(); } /*************************************************************************************************/ +#define BLEMAXCFGBYTES 100 +bool ble_shall_start(void) +{ + int bleConfigFile = epic_file_open("ble.txt", "r"); + if (bleConfigFile < 0) { + LOG_INFO("ble", "can not open ble.txt -> BLE is not started"); + epic_file_close(bleConfigFile); + return false; + } + + char cfgBuf[BLEMAXCFGBYTES + 1]; + int readNum = epic_file_read(bleConfigFile, cfgBuf, BLEMAXCFGBYTES); + epic_file_close(bleConfigFile); + if (readNum < 0) { + LOG_WARN("ble", "can not read ble.txt -> BLE is not started"); + return false; + } + cfgBuf[readNum] = '\0'; + + char bleActiveStr[] = "active=true"; + cfgBuf[sizeof(bleActiveStr) - 1] = '\0'; + + if (strcmp(cfgBuf, "active=true") != 0) { + LOG_INFO("ble", "BLE is disabled."); + return false; + } else { + LOG_INFO("ble", "BLE is enabled."); + return true; + } +} +/*************************************************************************************************/ static void scheduleTimer(void) { bool_t timerRunning; diff --git a/epicardium/main.c b/epicardium/main.c index 8cbff1b0..9c99e8e8 100644 --- a/epicardium/main.c +++ b/epicardium/main.c @@ -9,46 +9,6 @@ #include <stdlib.h> #include <string.h> -#define BLEMAXCFGBYTES 100 -int bleShallStart(void) -{ - int bleConfigFile = epic_file_open("ble.txt", "r"); - if (bleConfigFile < 0) { - LOG_INFO( - "startup", - "can not open ble.txt -> BLE is not started" - ); - epic_file_close(bleConfigFile); - return 0; - } - - char cfgBuf[BLEMAXCFGBYTES + 1]; - int readNum = epic_file_read(bleConfigFile, cfgBuf, BLEMAXCFGBYTES); - epic_file_close(bleConfigFile); - if (readNum < 0) { - LOG_INFO( - "startup", - "can not read ble.txt -> BLE is not started" - ); - return 0; - } - cfgBuf[readNum] = '\0'; - - char bleActiveStr[] = "active=true"; - cfgBuf[sizeof(bleActiveStr) - 1] = '\0'; - - if (strcmp(cfgBuf, "active=true") != 0) { - LOG_INFO( - "startup", - "ble.txt is not \"active=true\" -> BLE is not started" - ); - return 0; - } - - LOG_INFO("startup", "ble.txt is \"active=true\" -> BLE is starting"); - return 1; -} - int main(void) { LOG_INFO("startup", "Epicardium startup ..."); @@ -100,7 +60,7 @@ int main(void) } /* BLE */ - if (bleShallStart()) { + if (ble_shall_start()) { if (xTaskCreate( vBleTask, (const char *)"BLE", diff --git a/epicardium/modules/modules.h b/epicardium/modules/modules.h index 2edaf85d..535dcf5c 100644 --- a/epicardium/modules/modules.h +++ b/epicardium/modules/modules.h @@ -5,6 +5,7 @@ #include "semphr.h" #include <stdint.h> +#include <stdbool.h> /* ---------- Dispatcher --------------------------------------------------- */ void vApiDispatcher(void *pvParameters); @@ -33,6 +34,7 @@ void vPmicTask(void *pvParameters); /* ---------- BLE ---------------------------------------------------------- */ void vBleTask(void *pvParameters); +bool ble_shall_start(void); void ble_uart_write(uint8_t *pValue, uint8_t len); /* ---------- Display ------------------------------------------------------ */ -- GitLab