Skip to content

Commit ad4bec6

Browse files
readapting ConnectionHandler implementation to use setting struct
1 parent 4bda31b commit ad4bec6

11 files changed

+49
-74
lines changed

src/CatM1ConnectionHandler.cpp

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@
3030

3131
CatM1ConnectionHandler::CatM1ConnectionHandler(const char * pin, const char * apn, const char * login, const char * pass, RadioAccessTechnologyType rat, uint32_t band, bool const keep_alive)
3232
: ConnectionHandler{keep_alive, NetworkAdapter::CATM1}
33-
, _pin(pin)
34-
, _apn(apn)
35-
, _login(login)
36-
, _pass(pass)
37-
, _rat(rat)
38-
, _band(band)
3933
{
40-
34+
_settings.type = NetworkAdapter::CATM1;
35+
strcpy(_settings.values.catm1.pin, pin);
36+
strcpy(_settings.values.catm1.apn, apn);
37+
strcpy(_settings.values.catm1.login, login);
38+
strcpy(_settings.values.catm1.pass, pass);
39+
_settings.values.catm1.rat = rat
40+
_settings.values.catm1.band = band;
4141
}
4242

4343
/******************************************************************************
@@ -64,7 +64,13 @@ NetworkConnectionState CatM1ConnectionHandler::update_handleInit()
6464

6565
NetworkConnectionState CatM1ConnectionHandler::update_handleConnecting()
6666
{
67-
if(!GSM.begin(_pin, _apn, _login, _pass, _rat, _band))
67+
if(!GSM.begin(
68+
_settings.values.catm1.pin,
69+
_settings.values.catm1.apn,
70+
_settings.values.catm1.login,
71+
_settings.values.catm1.pass,
72+
_settings.values.catm1.rat,
73+
_settings.values.catm1.band))
6874
{
6975
Debug.print(DBG_ERROR, F("The board was not able to register to the network..."));
7076
return NetworkConnectionState::ERROR;

src/CatM1ConnectionHandler.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,6 @@ class CatM1ConnectionHandler : public ConnectionHandler
5959

6060
private:
6161

62-
const char * _pin;
63-
const char * _apn;
64-
const char * _login;
65-
const char * _pass;
66-
67-
RadioAccessTechnologyType _rat;
68-
uint32_t _band;
69-
7062
GSMUDP _gsm_udp;
7163
GSMClient _gsm_client;
7264
};

src/EthernetConnectionHandler.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,6 @@ class EthernetConnectionHandler : public ConnectionHandler
6464

6565
private:
6666

67-
IPAddress _ip;
68-
IPAddress _dns;
69-
IPAddress _gateway;
70-
IPAddress _netmask;
71-
72-
unsigned long _timeout;
73-
unsigned long _response_timeout;
74-
7567
EthernetUDP _eth_udp;
7668
EthernetClient _eth_client;
7769

src/GSMConnectionHandler.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ __attribute__((weak)) void mkr_gsm_feed_watchdog()
4949

5050
GSMConnectionHandler::GSMConnectionHandler(const char * pin, const char * apn, const char * login, const char * pass, bool const keep_alive)
5151
: ConnectionHandler{keep_alive, NetworkAdapter::GSM}
52-
, _pin(pin)
53-
, _apn(apn)
54-
, _login(login)
55-
, _pass(pass)
5652
{
57-
53+
_settings.type = NetworkAdapter::GSM;
54+
strcpy(_settings.values.gsm.pin, pin);
55+
strcpy(_settings.values.gsm.apn, apn);
56+
strcpy(_settings.values.gsm.login, login);
57+
strcpy(_settings.values.gsm.pass, pass);
5858
}
5959

6060
/******************************************************************************
@@ -74,7 +74,7 @@ NetworkConnectionState GSMConnectionHandler::update_handleInit()
7474
{
7575
mkr_gsm_feed_watchdog();
7676

77-
if (_gsm.begin(_pin) != GSM_READY)
77+
if (_gsm.begin(_settings.values.gsm.pin) != GSM_READY)
7878
{
7979
Debug.print(DBG_ERROR, F("SIM not present or wrong PIN"));
8080
return NetworkConnectionState::ERROR;
@@ -88,7 +88,8 @@ NetworkConnectionState GSMConnectionHandler::update_handleInit()
8888

8989
mkr_gsm_feed_watchdog();
9090

91-
GSM3_NetworkStatus_t const network_status = _gprs.attachGPRS(_apn, _login, _pass, true);
91+
GSM3_NetworkStatus_t const network_status = _gprs.attachGPRS(
92+
_settings.values.gsm.apn, _settings.values.gsm.login, _settings.values.gsm.pass, true);
9293
Debug.print(DBG_DEBUG, F("GPRS.attachGPRS(): %d"), network_status);
9394
if (network_status == GSM3_NetworkStatus_t::ERROR)
9495
{

src/GSMConnectionHandler.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,6 @@ class GSMConnectionHandler : public ConnectionHandler
5959

6060
private:
6161

62-
const char * _pin;
63-
const char * _apn;
64-
const char * _login;
65-
const char * _pass;
66-
6762
GSM _gsm;
6863
GPRS _gprs;
6964
GSMUDP _gsm_udp;

src/LoRaConnectionHandler.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@ typedef enum
4646
******************************************************************************/
4747
LoRaConnectionHandler::LoRaConnectionHandler(char const * appeui, char const * appkey, _lora_band const band, char const * channelMask, _lora_class const device_class)
4848
: ConnectionHandler{false, NetworkAdapter::LORA}
49-
, _appeui(appeui)
50-
, _appkey(appkey)
51-
, _band(band)
52-
, _channelMask(channelMask)
53-
, _device_class(device_class)
5449
{
55-
50+
_settings.type = NetworkAdapter::LORA;
51+
strcpy(_settings.values.lora.appeui, appeui);
52+
strcpy(_settings.values.lora.appkey, appkey);
53+
_settings.values.lora.band = band;
54+
strcpy(_settings.values.lora.channelMask, channelMask);
55+
_settings.values.lora.deviceClass = device_class;
5656
}
5757

5858
/******************************************************************************
@@ -103,26 +103,26 @@ bool LoRaConnectionHandler::available()
103103

104104
NetworkConnectionState LoRaConnectionHandler::update_handleInit()
105105
{
106-
if (!_modem.begin(_band))
106+
if (!_modem.begin(_settings.values.lora.band))
107107
{
108108
Debug.print(DBG_ERROR, F("Something went wrong; are you indoor? Move near a window, then reset and retry."));
109109
return NetworkConnectionState::ERROR;
110110
}
111111
// Set channelmask based on configuration
112-
if (_channelMask) {
113-
_modem.sendMask(_channelMask);
112+
if (_settings.values.lora.channelMask) {
113+
_modem.sendMask(_settings.values.lora.channelMask);
114114
}
115115
//A delay is required between _modem.begin(band) and _modem.joinOTAA(appeui, appkey) in order to let the chip to be correctly initialized before the connection attempt
116116
delay(100);
117-
_modem.configureClass(_device_class);
117+
_modem.configureClass(_settings.values.lora.deviceClass);
118118
delay(100);
119119
Debug.print(DBG_INFO, F("Connecting to the network"));
120120
return NetworkConnectionState::CONNECTING;
121121
}
122122

123123
NetworkConnectionState LoRaConnectionHandler::update_handleConnecting()
124124
{
125-
bool const network_status = _modem.joinOTAA(_appeui, _appkey);
125+
bool const network_status = _modem.joinOTAA(_settings.values.lora.appeui, _settings.values.lora.appkey);
126126
if (network_status != true)
127127
{
128128
Debug.print(DBG_ERROR, F("Connection to the network failed"));

src/LoRaConnectionHandler.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,6 @@ class LoRaConnectionHandler : public ConnectionHandler
7373

7474
private:
7575

76-
char const * _appeui;
77-
char const * _appkey;
78-
_lora_band _band;
79-
char const * _channelMask;
80-
_lora_class _device_class;
8176
LoRaModem _modem;
8277
};
8378

src/NBConnectionHandler.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ NBConnectionHandler::NBConnectionHandler(char const * pin, char const * apn, boo
5959

6060
NBConnectionHandler::NBConnectionHandler(char const * pin, char const * apn, char const * login, char const * pass, bool const keep_alive)
6161
: ConnectionHandler{keep_alive, NetworkAdapter::NB}
62-
, _pin(pin)
63-
, _apn(apn)
64-
, _login(login)
65-
, _pass(pass)
6662
{
67-
63+
_settings.type = NetworkAdapter::NB;
64+
strcpy(_settings.values.nb.pin, pin);
65+
strcpy(_settings.values.nb.apn, apn);
66+
strcpy(_settings.values.nb.login, login);
67+
strcpy(_settings.values.nb.pass, pass);
6868
}
6969

7070
/******************************************************************************
@@ -84,7 +84,10 @@ NetworkConnectionState NBConnectionHandler::update_handleInit()
8484
{
8585
mkr_nb_feed_watchdog();
8686

87-
if (_nb.begin(_pin, _apn, _login, _pass) == NB_READY)
87+
if (_nb.begin(_settings.values.nb.pin,
88+
_settings.values.nb.apn,
89+
_settings.values.nb.login,
90+
_settings.values.nb.pass) == NB_READY)
8891
{
8992
Debug.print(DBG_INFO, F("SIM card ok"));
9093
_nb.setTimeout(NB_TIMEOUT);

src/NBConnectionHandler.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,6 @@ class NBConnectionHandler : public ConnectionHandler
6363

6464
void changeConnectionState(NetworkConnectionState _newState);
6565

66-
char const * _pin;
67-
char const * _apn;
68-
char const * _login;
69-
char const * _pass;
70-
7166
NB _nb;
7267
GPRS _nb_gprs;
7368
NBUDP _nb_udp;

src/WiFiConnectionHandler.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ static int const ESP_WIFI_CONNECTION_TIMEOUT = 3000;
3737

3838
WiFiConnectionHandler::WiFiConnectionHandler(char const * ssid, char const * pass, bool const keep_alive)
3939
: ConnectionHandler{keep_alive, NetworkAdapter::WIFI}
40-
, _ssid{ssid}
41-
, _pass{pass}
4240
{
43-
41+
_settings.type = NetworkAdapter::WIFI;
42+
strcpy(_settings.values.wifi.ssid, ssid);
43+
strcpy(_settings.values.wifi.pwd, pass);
4444
}
4545

4646
/******************************************************************************
@@ -99,7 +99,7 @@ NetworkConnectionState WiFiConnectionHandler::update_handleConnecting()
9999
{
100100
if (WiFi.status() != WL_CONNECTED)
101101
{
102-
WiFi.begin(_ssid, _pass);
102+
WiFi.begin(_settings.values.wifi.ssid, _settings.values.wifi.pwd);
103103
#if defined(ARDUINO_ARCH_ESP8266)
104104
/* Wait connection otherwise board won't connect */
105105
unsigned long start = millis();
@@ -113,15 +113,15 @@ NetworkConnectionState WiFiConnectionHandler::update_handleConnecting()
113113
if (WiFi.status() != NETWORK_CONNECTED)
114114
{
115115
#if !defined(__AVR__)
116-
Debug.print(DBG_ERROR, F("Connection to \"%s\" failed"), _ssid);
116+
Debug.print(DBG_ERROR, F("Connection to \"%s\" failed"), _settings.values.wifi.ssid);
117117
Debug.print(DBG_INFO, F("Retrying in \"%d\" milliseconds"), CHECK_INTERVAL_TABLE[static_cast<unsigned int>(NetworkConnectionState::CONNECTING)]);
118118
#endif
119119
return NetworkConnectionState::CONNECTING;
120120
}
121121
else
122122
{
123123
#if !defined(__AVR__)
124-
Debug.print(DBG_INFO, F("Connected to \"%s\""), _ssid);
124+
Debug.print(DBG_INFO, F("Connected to \"%s\""), _settings.values.wifi.ssid);
125125
#endif
126126
#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)
127127
configTime(0, 0, "time.arduino.cc", "pool.ntp.org", "time.nist.gov");
@@ -136,7 +136,7 @@ NetworkConnectionState WiFiConnectionHandler::update_handleConnected()
136136
{
137137
#if !defined(__AVR__)
138138
Debug.print(DBG_VERBOSE, F("WiFi.status(): %d"), WiFi.status());
139-
Debug.print(DBG_ERROR, F("Connection to \"%s\" lost."), _ssid);
139+
Debug.print(DBG_ERROR, F("Connection to \"%s\" lost."), _settings.values.wifi.ssid);
140140
#endif
141141
if (_keep_alive)
142142
{

src/WiFiConnectionHandler.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,6 @@ class WiFiConnectionHandler : public ConnectionHandler
8080
virtual NetworkConnectionState update_handleDisconnected () override;
8181

8282
private:
83-
84-
char const * _ssid;
85-
char const * _pass;
86-
8783
WiFiUDP _wifi_udp;
8884
WiFiClient _wifi_client;
8985
};

0 commit comments

Comments
 (0)