The M2M_net.c file contains the following callback functions:
Callback |
Event starting the callback: |
M2M_onNetEvent(…) |
PDP context activation/deactivation, SOCKET closed /error, etc. |
M2M_onRegStatusEvent(…) |
Cell change |
M2M_onGprsRegStatusEvent(...) |
GPRS registration update |
M2M_onMsgIndEvent(…) |
reception of a SMS |
M2M_onIP6RawEvent(…) |
reception of an ip6 raw packet |
M2M_onNetEvent(...) example:
• Use the m2m_timer_create(…) API and write its callback function to manage the timer expiration. Start the timer through the m2m_timer_start(…) API;
• When the timer is expired, the control calls the function to manage the timer expiration. Its code, written by the developer, in accordance with the timer identifier sends a message to the Task_1 using the m2m_os_send_message_to_task(…) API;
• Task_1 detects the received message in its queue and calls the M2M_msgProc1(…) callback function that executes the code written by the developer;
• M2M_msgProc1(…) callback, using the m2m_pdp_activate(…) API, create a PDP context. To wait for the module registration and the PDP context activation the M2M_msgProc1(…) starts a timer. When the timer expires, the control sends again a message to Task_1 to check the PDP status.
• When the PDP is active, the M2M_onNetEvent callback is executed. In general, this callback is activated by several network events. It is responsibility of the developer to wait for the desired event.
M2M_onRegStatusEvent(…) example:
• Enable the notification of the location registration by means of the m2m_network_enable_ registration _location_unsolicited() API;
• When cell_id or LAC changes, the M2M_onRegStatusEvent(…) callback is executed.
M2M_onGprsRegStatusEvent(...) example:
• Enable the notification of the GPRS registration by means of the m2m_network_enable_gprs _registration _location_unsolicited() API;
• When GPRS registration change, the M2M_onGprsRegStatusEvent(...) callback is executed.
M2M_onMsgIndEvent(…) example:
• Enable the messages indication by means of the m2m_sms_enable_new_message_ indication(…) API;
• Send a SMS to the module;
• When the module receives the SMS message, the M2M_onMsgIndEvent (…) callback is executed.
M2M_onIP6RawEvent(…) example:
• Enable the ip6 raw mode by means of the m2m_ip6_raw(…) API;
• When the module receives an ip6 packet in raw mode, the M2M_onIP6RawEvent(…) callback is executed.