Data reception demo.
Dependencies: modem_ref_helper CRC
modem_callbacks.cpp
- Committer:
- Jeej
- Date:
- 2017-05-15
- Revision:
- 2:6652be2d061f
- Parent:
- 0:02418479dcf7
- Child:
- 3:e9ea4d325c01
File content as of revision 2:6652be2d061f:
#include "mbed.h" #include "rtos.h" #include "WizziDebug.h" #include "alp_spec.h" #include "alp_helpers.h" #include "modem_ref.h" #include "ram_fs.h" #include "hal_types.h" extern Queue<void, 8> g_file_modified; // ============================================================}}} // Callbacks to MODEM's ALP requests // ============================================================{{{ void my_read(u8 fid, u32 offset, u32 length, int id) { u8 data[256]; if (ram_fs_read(fid, offset, length, data)) { modem_respond(0, ALP_ERR_FILE_NOT_FOUND, id); } else { modem_respond_read(fid, data, offset, length, id); } } void my_write(u8 fid, void *data, u32 offset, u32 length, int id) { modem_respond(0, (ram_fs_write(fid, offset, length, (uint8_t*)data))? ALP_ERR_FILE_NOT_FOUND : ALP_ERR_NONE, id); g_file_modified.put((void*)fid); } void my_read_fprop(u8 fid, int id) { u8* hdr = (u8*)ram_fs_get_header(fid); if (hdr != NULL) { modem_respond_fprop(fid, hdr, id); } else { modem_respond(0, ALP_ERR_FILE_NOT_FOUND, id); } } void my_flush(u8 fid, int id) { // No flush in this file system modem_respond(0, ALP_ERR_NONE, id); } void my_delete(u8 fid, int id) { modem_respond(0, (ram_fs_delete(fid))? ALP_ERR_FILE_NOT_FOUND : ALP_ERR_NONE, id); } void my_lqual(u8 ifid, int per) { PRINT("Interface File [%3d] LQUAL : %d%% PER\r\n", ifid, per); } void my_ldown(u8 ifid) { PRINT("Interface File [%3d] LDOWN\r\n", ifid); } void my_reset(void) { NVIC_SystemReset(); } void my_boot(u8 cause, u16 number) { PRINT("Modem BOOT[%c] #%d\r\nRe-Init\r\n", cause, number); // Modem re-booted, restart APP my_reset(); }