summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c84
1 files changed, 52 insertions, 32 deletions
diff --git a/src/main.c b/src/main.c
index 13b0b3f..aecc820 100644
--- a/src/main.c
+++ b/src/main.c
@@ -7,7 +7,7 @@
#include "bg96.h"
#include "utils.h"
-struct structCfg dataCfg = {NULL, NULL, -1, -1};
+listCfgData cfgData = {NULL, NULL};
int main(int argc, char **argv) {
@@ -16,12 +16,12 @@ int main(int argc, char **argv) {
return 1;
}
- if (readCfg(&dataCfg, argv[0]) != 0) {
+ if (readCfg(cfgData, argv[0]) != 0) {
printf("Error reading the config file.\n");
return 1;
}
- if (0 == strcmp(argv[1], "--initpublic")) {
+ /* if (0 == strcmp(argv[1], "--initpublic")) {
printf("Powering on\n");
if (0 != powerOn(dataCfg.pathSerialPort, dataCfg.pathGpioChip,
@@ -39,7 +39,7 @@ int main(int argc, char **argv) {
}
printf("Configuring the network settings for DNA public network\n");
- if (0 != cfgPublicNetwork(dataCfg.pathSerialPort)) {
+ if (0 != configureNetwork(dataCfg.pathSerialPort)) {
printf("Error setting public network configuration\n");
freeCfgData(&dataCfg);
return 1;
@@ -55,65 +55,82 @@ int main(int argc, char **argv) {
printf("Initialization complete\n");
freeCfgData(&dataCfg);
return 0;
- }
+ } */
- else if (0 == strcmp(argv[1], "--init6GTN")) {
+ if (0 == strcmp(argv[1], "--initConnection")) {
printf("Powering on\n");
- if (0 != powerOn(dataCfg.pathSerialPort, dataCfg.pathGpioChip,
- dataCfg.pinStatus, dataCfg.pinPwrKey)) {
+ if (0 != powerOn(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value,
+ cfgData.strDataList[PATH_TO_GPIO_CHIP_POS].value,
+ cfgData.intDataList[PIN_STATUS_POS].value,
+ cfgData.intDataList[PIN_PWR_KEY_POS].value)) {
printf("Error powering the module on\n");
- freeCfgData(&dataCfg);
+ freeCfgData(cfgData);
return 1;
}
printf("Initiating GNSS\n");
- if (0 != initGNSS(dataCfg.pathSerialPort)) {
+ if (0 != initGNSS(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value)) {
printf("Error initiating GNSS\n");
- freeCfgData(&dataCfg);
+ freeCfgData(cfgData);
return 1;
}
- printf("Configuring the network settings for 6GTN\n");
- if (0 != cfg6GTN(dataCfg.pathSerialPort)) {
- printf("Error setting 6GTN network configuration\n");
- freeCfgData(&dataCfg);
+ printf("Configuring the network settings\n");
+ if (0 !=
+ configureNetwork(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value)) {
+ printf("Error setting network configuration\n");
+ freeCfgData(cfgData);
return 1;
}
+ if (1 /*DETAILS*/) {
+ printf("Defining operator and PDP context\n");
+ if (0 !=
+ defineNetworkDetails(
+ cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value /* , 120 */)) {
+ printf("Error defining operator and PDP context\n");
+ freeCfgData(cfgData);
+ return 1;
+ }
+ }
+
printf("Waiting for establishing network connection\n");
- if (0 != connect6GTN(dataCfg.pathSerialPort, 120)) {
- printf("Error while connecting to 6GTN\n");
- freeCfgData(&dataCfg);
+ if (0 != waitForNetwork(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value,
+ 120)) {
+ printf("Error while waiting for network connection\n");
+ freeCfgData(cfgData);
return 1;
}
printf("Initialization complete\n");
- freeCfgData(&dataCfg);
+ freeCfgData(cfgData);
return 0;
}
else if (0 == strcmp(argv[1], "--stop")) {
printf("Stopping GNSS\n");
- if (0 != stopGNSS(dataCfg.pathSerialPort)) {
+ if (0 != stopGNSS(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value)) {
printf("Error stopping GNSS\n");
}
printf("Disconnecting MQTT\n");
- if (0 != mqttDisc(dataCfg.pathSerialPort)) {
+ if (0 != mqttDisc(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value)) {
printf("Could not disconnect MQTT\n");
}
printf("Powering off\n");
- if (0 != powerOff(dataCfg.pathSerialPort, dataCfg.pathGpioChip,
- dataCfg.pinStatus, dataCfg.pinPwrKey)) {
+ if (0 != powerOff(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value,
+ cfgData.strDataList[PATH_TO_GPIO_CHIP_POS].value,
+ cfgData.intDataList[PIN_STATUS_POS].value,
+ cfgData.intDataList[PIN_PWR_KEY_POS].value)) {
printf("Error powering the module off\n");
- freeCfgData(&dataCfg);
+ freeCfgData(cfgData);
return 1;
}
printf("Power off complete\n");
- freeCfgData(&dataCfg);
+ freeCfgData(cfgData);
return 0;
}
@@ -122,26 +139,29 @@ int main(int argc, char **argv) {
printf("Obtaining network info\n");
initNetworkData(nD);
- if (gatherData(nD, dataCfg.pathSerialPort) != 0) {
+ if (gatherData(nD, cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value) !=
+ 0) {
printf("Failed to gather network info\n");
goto netinfopubFail;
}
printf("Connecting to the MQTT broker\n");
- if (0 != mqttConn(dataCfg.pathSerialPort, "io.adafruit.com", 8883, "kboz",
+ if (0 != mqttConn(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value,
+ "io.adafruit.com", 8883, "kboz",
"aio_lvhz87FJ0rIlidH8g30V5mQ7FK7s")) {
printf("Error connecting MQTT\n");
goto netinfopubFail;
}
printf("Publishing network information\n");
- if (0 != mqttPubNetData(dataCfg.pathSerialPort, *nD)) {
+ if (0 != mqttPubNetData(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value,
+ *nD)) {
printf("Error publishing to MQTT server\n");
goto netinfopubFail;
}
printf("Disconnecting from the MQTT broker\n");
- if (0 != mqttDisc(dataCfg.pathSerialPort)) {
+ if (0 != mqttDisc(cfgData.strDataList[PATH_TO_SERIAL_PORT_POS].value)) {
printf("Could not disconnect MQTT\n");
goto netinfopubFail;
}
@@ -149,19 +169,19 @@ int main(int argc, char **argv) {
printf("Network info publish complete\n");
freeNetworkData(nD);
free(nD);
- freeCfgData(&dataCfg);
+ freeCfgData(cfgData);
return 0;
netinfopubFail:
freeNetworkData(nD);
free(nD);
- freeCfgData(&dataCfg);
+ freeCfgData(cfgData);
return 1;
}
else {
printf("Unknown arguments\n");
- freeCfgData(&dataCfg);
+ freeCfgData(cfgData);
return 1;
}
}