diff --git a/src/mesh/PhoneAPI.cpp b/src/mesh/PhoneAPI.cpp index a14e3a7c9..8869a8222 100644 --- a/src/mesh/PhoneAPI.cpp +++ b/src/mesh/PhoneAPI.cpp @@ -27,18 +27,19 @@ PhoneAPI::~PhoneAPI() void PhoneAPI::handleStartConfig() { - // even if we were already connected - restart our state machine - state = STATE_SEND_MY_INFO; - - DEBUG_MSG("Reset nodeinfo read pointer\n"); - nodeInfoForPhone = NULL; // Don't keep returning old nodeinfos - nodeDB.resetReadPointer(); // FIXME, this read pointer should be moved out of nodeDB and into this class - because - // this will break once we have multiple instances of PhoneAPI running independently - + // Must be before setting state (because state is how we know !connected) if (!isConnected()) { onConnectionChanged(true); observe(&service.fromNumChanged); } + + // even if we were already connected - restart our state machine + state = STATE_SEND_MY_INFO; + + DEBUG_MSG("Starting API client config\n"); + nodeInfoForPhone = NULL; // Don't keep returning old nodeinfos + nodeDB.resetReadPointer(); // FIXME, this read pointer should be moved out of nodeDB and into this class - because + // this will break once we have multiple instances of PhoneAPI running independently } void PhoneAPI::close() diff --git a/src/nimble/NimbleBluetoothAPI.cpp b/src/nimble/NimbleBluetoothAPI.cpp index b47a75603..da2f80ea1 100644 --- a/src/nimble/NimbleBluetoothAPI.cpp +++ b/src/nimble/NimbleBluetoothAPI.cpp @@ -32,7 +32,7 @@ void BluetoothPhoneAPI::onNowHasData(uint32_t fromRadioNum) } bool BluetoothPhoneAPI::checkIsConnected() { - return curConnectionHandle != -1; + return curConnectionHandle >= 0; } int toradio_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg)