From 3d5789af0aa2b3a3527a8900daab4c6013a1967c Mon Sep 17 00:00:00 2001 From: schneider <schneider@blinkenlichts.net> Date: Sat, 20 Jun 2020 01:47:55 +0200 Subject: [PATCH] fix(ble): Keep advertising in slected mode after connection closes --- epicardium/ble/ble_main.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/epicardium/ble/ble_main.c b/epicardium/ble/ble_main.c index 7344683b6..009db4b84 100644 --- a/epicardium/ble/ble_main.c +++ b/epicardium/ble/ble_main.c @@ -600,7 +600,11 @@ static void bleProcMsg(bleMsg_t *pMsg) break; case DM_ADV_START_IND: - LOG_INFO("ble", "Advertisement started"); + LOG_INFO("ble", "Advertisement started %u %u", advertising_mode, advertising_mode_target); + if(advertising_mode != advertising_mode_target) { + AppAdvStop(); + } + break; case DM_ADV_STOP_IND: @@ -648,6 +652,12 @@ static void bleProcMsg(bleMsg_t *pMsg) pMsg->dm.connClose.reason); break; } + /* Stack overwrites advertising mode after connection close. + * Force our desired mode. + */ + advertising_mode = APP_MODE_NONE; + AppAdvStop(); + bleClose(pMsg); break; -- GitLab