8000 Added ability to erase wifi sta/ap credentials from pycom config · daq-tools/pycom-micropython@439f2db · GitHub
[go: up one dir, main page]

Skip to content

Commit 439f2db

Browse files
author
iwahdan88
committed
Added ability to erase wifi sta/ap credentials from pycom config
1 parent de655d7 commit 439f2db

File tree

2 files changed

+61
-8
lines changed

2 files changed

+61
-8
lines changed

esp32/mods/modpycom.c

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -395,9 +395,16 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_pycom_wifi_mode_obj, 0, 1, mod_py
395395

396396
STATIC mp_obj_t mod_pycom_wifi_ssid_sta (mp_uint_t n_args, const mp_obj_t *args) {
397397
if (n_args) {
398-
if (MP_OBJ_IS_STR(args[0])) {
398+
if(args[0] == mp_const_none)
399+
{
400+
config_set_sta_wifi_ssid (NULL, true);
401+
}
402+
else if (MP_OBJ_IS_STR(args[0]))
403+
{
399404
config_set_sta_wifi_ssid ((uint8_t *)(mp_obj_str_get_str(args[0])), true);
400405
}
406+
else{/*Nothing*/}
407+
401408
} else {
402409
uint8_t * ssid = (uint8_t *)m_malloc(33);
403410
mp_obj_t ssid_obj;
@@ -418,9 +425,15 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_pycom_wifi_ssid_sta_obj, 0, 1, mo
418425

419426
STATIC mp_obj_t mod_pycom_wifi_pwd_sta (mp_uint_t n_args, const mp_obj_t *args) {
420427
if (n_args) {
421-
if (MP_OBJ_IS_STR(args[0])) {
428+
if(args[0] == mp_const_none)
429+
{
430+
config_set_wifi_sta_pwd (NULL, true);
431+
}
432+
else if (MP_OBJ_IS_STR(args[0]))
433+
{
422434
config_set_wifi_sta_pwd ((uint8_t *)(mp_obj_str_get_str(args[0])), true);
423435
}
436+
else{/*Nothing*/}
424437
} else {
425438
uint8_t * pwd = (uint8_t *)m_malloc(65);
426439
mp_obj_t pwd_obj;
@@ -441,9 +454,15 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_pycom_wifi_pwd_sta_obj, 0, 1, mod
441454

442455
STATIC mp_obj_t mod_pycom_wifi_ssid_ap (mp_uint_t n_args, const mp_obj_t *args) {
443456
if (n_args) {
444-
if (MP_OBJ_IS_STR(args[0])) {
457+
if(args[0] == mp_const_none)
458+
{
459+
config_set_wifi_ap_ssid (NULL);
460+
}
461+
else if (MP_OBJ_IS_STR(args[0]))
462+
{
445463
config_set_wifi_ap_ssid ((uint8_t *)(mp_obj_str_get_str(args[0])));
446464
}
465+
else{/*Nothing*/}
447466
} else {
448467
uint8_t * ssid = (uint8_t *)m_malloc(33);
449468
mp_obj_t ssid_obj;
@@ -464,9 +483,15 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_pycom_wifi_ssid_ap_obj, 0, 1, mod
464483

465484
STATIC mp_obj_t mod_pycom_wifi_pwd_ap (mp_uint_t n_args, const mp_obj_t *args) {
466485
if (n_args) {
467-
if (MP_OBJ_IS_STR(args[0])) {
486+
if(args[0] == mp_const_none)
487+
{
488+
config_set_wifi_ap_pwd (NULL);
489+
}
490+
else if (MP_OBJ_IS_STR(args[0]))
491+
{
468492
config_set_wifi_ap_pwd ((uint8_t *)(mp_obj_str_get_str(args[0])));
469493
}
494+
else{/*Nothing*/}
470495
} else {
471496
uint8_t * pwd = (uint8_t *)m_malloc(65);
472497
mp_obj_t pwd_obj;

esp32/pycom_config.c

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,15 @@ bool config_get_wifi_antenna(void)
180180

181181
bool config_set_wifi_ap_ssid(const uint8_t *wifi_ssid)
182182
{
183-
memcpy(pycom_config_block.wifi_ap_config.wifi_ssid, wifi_ssid, sizeof(pycom_config_block.wifi_ap_config.wifi_ssid));
183+
if(wifi_ssid != NULL)
184+
{
185+
memcpy(pycom_config_block.wifi_ap_config.wifi_ssid, wifi_ssid, sizeof(pycom_config_block.wifi_ap_config.wifi_ssid));
186+
}
187+
else
188+
{
189+
memset(pycom_config_block.wifi_ap_config.wifi_ssid, (uint8_t)0xFF, sizeof(pycom_config_block.wifi_ap_config.wifi_ssid));
190+
}
191+
184192
return config_write();
185193
}
186194

@@ -195,7 +203,15 @@ bool config_get_wifi_ap_ssid(uint8_t *wifi_ssid)
195203

196204
bool config_set_wifi_ap_pwd(const uint8_t *wifi_pwd)
197205
{
198-
memcpy(pycom_config_block.wifi_ap_config.wifi_pwd, wifi_pwd, sizeof(pycom_config_block.wifi_ap_config.wifi_pwd));
206+
if(wifi_pwd != NULL)
207+
{
208+
memcpy(pycom_config_block.wifi_ap_config.wifi_pwd, wifi_pwd, sizeof(pycom_config_block.wifi_ap_config.wifi_pwd));
209+
}
210+
else
211+
{
212+
memset(pycom_config_block.wifi_ap_config.wifi_pwd, (uint8_t)0xFF, sizeof(pycom_config_block.wifi_ap_config.wifi_pwd));
213+
}
214+
199215
return config_write();
200216
}
201217

@@ -261,7 +277,13 @@ bool config_get_heartbeat_on_boot (void) {
261277
}
262278

263279
bool config_set_sta_wifi_ssid (const uint8_t *wifi_ssid, bool update_flash) {
264-
memcpy(pycom_config_block.wifi_sta_config.wifi_ssid, wifi_ssid, sizeof(pycom_config_block.wifi_sta_config.wifi_ssid));
280+
if (wifi_ssid != NULL) {
281+
memcpy(pycom_config_block.wifi_sta_config.wifi_ssid, wifi_ssid, sizeof(pycom_config_block.wifi_sta_config.wifi_ssid));
282+
}
283+
else
284+
{
285+
memset(pycom_config_block.wifi_sta_config.wifi_ssid, (uint8_t)0xFF, sizeof(pycom_config_block.wifi_sta_config.wifi_ssid));
286+
}
265287
if (update_flash) {
266288
return config_write();
267289
}
@@ -280,7 +302,13 @@ bool config_get_wifi_sta_ssid (uint8_t *wifi_ssid) {
280302
}
281303

282304
bool config_set_wifi_sta_pwd (const uint8_t *wifi_pwd, bool update_flash) {
283-
memcpy(pycom_config_block.wifi_sta_config.wifi_pwd, wifi_pwd, sizeof(pycom_config_block.wifi_sta_config.wifi_pwd));
305+
if (wifi_pwd != NULL) {
306+
memcpy(pycom_config_block.wifi_sta_config.wifi_pwd, wifi_pwd, sizeof(pycom_config_block.wifi_sta_config.wifi_pwd));
307+
}
308+
else
309+
{
310+
memset(pycom_config_block.wifi_sta_config.wifi_pwd, (uint8_t)0xFF, sizeof(pycom_config_block.wifi_sta_config.wifi_pwd));
311+
}
284312
if (update_flash) {
285313
return config_write();
286314
}

0 commit comments

Comments
 (0)
0