Send file data demo.

Dependencies:   modem_ref_helper CRC DebouncedInterrupt

Revision:
0:065f2318fcb9
Child:
1:f4a7a48a5f2b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modem_callbacks.cpp	Wed May 03 11:31:11 2017 +0000
@@ -0,0 +1,73 @@
+#include "mbed.h"
+#include "rtos.h"
+#include "WizziDebug.h"
+
+#include "alp_spec.h"
+#include "alp_helpers.h"
+#include "modem_ref.h"
+
+#include "fs.h"
+#include "hal_types.h"
+
+// ============================================================}}}
+
+// Callbacks to MODEM's ALP requests
+// ============================================================{{{
+void my_read(u8 fid, u32 offset, u32 length, int id)
+{
+    u8 data[256]; // XXX VLA
+    
+    fs_read(fid, offset, length, data);
+    
+    modem_respond_read(fid, data, offset, length, id);
+}
+
+void my_write(u8 fid, void *data, u32 offset, u32 length, int id)
+{
+    fs_write(fid, offset, length, (uint8_t*)data);
+    
+    modem_respond(0, ALP_ERR_NONE, id);
+}
+
+void my_read_fprop(u8 fid, int id)
+{
+    u8* hdr = (u8*)fs_get_header(fid);
+    
+    modem_respond_fprop(fid, hdr, 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)
+{
+    fs_delete(fid);
+    
+    modem_respond(0, ALP_ERR_NONE, id);
+}
+
+void my_lqual(u8 ifid, int per)
+{
+    DPRINT("Interface File [%3d] LQUAL : %d%% PER\r\n", ifid, per);
+}
+
+void my_ldown(u8 ifid)
+{
+    DPRINT("Interface File [%3d] LDOWN\r\n", ifid);
+}
+
+void my_reset(void)
+{
+    NVIC_SystemReset();
+}
+
+void my_boot(u8 cause, u16 number)
+{
+    DPRINT("Modem BOOT[%c] #%d\r\nRe-Init\r\n", cause, number);
+    
+    // Modem re-booted, restart APP
+    my_reset();
+}
\ No newline at end of file