From cd38d7c7d4710159b86ca5ed1557b46bba41d2ca Mon Sep 17 00:00:00 2001 From: kutayboz Date: Wed, 2 Aug 2023 19:36:09 +0300 Subject: Config file parsing and generalized functions WIP --- include/bg96.h | 4 ++-- include/utils.h | 44 ++++++++++++++++++++++++++++++++++++++------ 2 files changed, 40 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/bg96.h b/include/bg96.h index 3e8c350..3a8b762 100644 --- a/include/bg96.h +++ b/include/bg96.h @@ -20,11 +20,11 @@ int powerOn(char *pathToPort, char *pathToChip, int statusPin, int pwrKeyPin); int powerOff(char *pathToPort, char *pathToChip, int statusPin, int pwrKeyPin); -int cfgPublicNetwork(char *pathToPort); +int configureNetwork(char *pathToPort); int cfg6GTN(char *pathToPort); -int connect6GTN(char *pathToPort, int waitTimeSeconds); +int defineNetworkDetails(char *pathToPort/* , int waitTimeSeconds */); int waitForNetwork(char *pathToPort, int waitTimeSeconds); diff --git a/include/utils.h b/include/utils.h index a337ba3..06c48e6 100644 --- a/include/utils.h +++ b/include/utils.h @@ -1,16 +1,48 @@ #ifndef __INCLUDE_UTILS__ #define __INCLUDE_UTILS__ -struct structCfg { - char *pathSerialPort; - char *pathGpioChip; - int pinPwrKey, pinStatus; +enum { + /* Mandatory */ + PATH_TO_SERIAL_PORT_POS, + PATH_TO_GPIO_CHIP_POS, + /* Optional */ + NETWORK_USERNAME_POS, + NETWORK_PASSWORD_POS, + NETWORK_AUTH_POS, + STR_LIST_LENGTH }; +enum { PIN_PWR_KEY_POS, PIN_STATUS_POS, INT_LIST_LENGTH }; + +typedef struct { + char *name; + char *value; +} strData; + +typedef struct { + char *name; + int value; +} intData; + +typedef struct { + strData *strDataList; + intData *intDataList; +} listCfgData; + int checkPinVal(char *pathToChip, int pinNum); -int readCfg(struct structCfg *dataCfg, const char *pathExe); +/* Example config file: +path_to_serial_port = "/dev/serial0" +path_to_gpio_chip = "/dev/gpiochip0" +pin_pwr_key = "17" +pin_status = "27" +Below are optional: +network_username = "something something" +network_password = "something something" +network_auth = "something something" +*/ +int readCfg(listCfgData dataCfg, const char *pathExe); -int freeCfgData(struct structCfg *dataCfg); +int freeCfgData(listCfgData cfgData); #endif -- cgit v1.3