mirror of https://github.com/ARMmbed/mbed-os.git
Fixed state machine to accept roaming as valid registration.
parent
c82fd31735
commit
dcdb7a5da2
|
|
@ -570,10 +570,13 @@ void CellularConnectionFSM::network_callback(nsapi_event_t ev, intptr_t ptr)
|
||||||
{
|
{
|
||||||
|
|
||||||
tr_info("FSM: network_callback called with event: %d, intptr: %d", ev, ptr);
|
tr_info("FSM: network_callback called with event: %d, intptr: %d", ev, ptr);
|
||||||
if ((cellular_connection_status_t)ev == CellularRegistrationStatusChanged && ptr == CellularNetwork::RegisteredHomeNetwork && _state == STATE_REGISTERING_NETWORK) {
|
if ((cellular_connection_status_t)ev == CellularRegistrationStatusChanged && _state == STATE_REGISTERING_NETWORK) {
|
||||||
|
// expect packet data so only these states are valid
|
||||||
|
if (ptr == CellularNetwork::RegisteredHomeNetwork && CellularNetwork::RegisteredRoaming) {
|
||||||
_queue.cancel(_eventID);
|
_queue.cancel(_eventID);
|
||||||
continue_from_state(STATE_ATTACHING_NETWORK);
|
continue_from_state(STATE_ATTACHING_NETWORK);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (_event_status_cb) {
|
if (_event_status_cb) {
|
||||||
_event_status_cb(ev, ptr);
|
_event_status_cb(ev, ptr);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue