Send file data demo.

Dependencies:   modem_ref_helper CRC DebouncedInterrupt

Committer:
Jeej
Date:
Wed May 03 11:31:11 2017 +0000
Revision:
0:065f2318fcb9
Child:
1:f4a7a48a5f2b
Simple notification demo application.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jeej 0:065f2318fcb9 1 #include "mbed.h"
Jeej 0:065f2318fcb9 2 #include "rtos.h"
Jeej 0:065f2318fcb9 3 #include "WizziDebug.h"
Jeej 0:065f2318fcb9 4
Jeej 0:065f2318fcb9 5 #include "alp_spec.h"
Jeej 0:065f2318fcb9 6 #include "alp_helpers.h"
Jeej 0:065f2318fcb9 7 #include "modem_ref.h"
Jeej 0:065f2318fcb9 8
Jeej 0:065f2318fcb9 9 #include "fs.h"
Jeej 0:065f2318fcb9 10 #include "hal_types.h"
Jeej 0:065f2318fcb9 11
Jeej 0:065f2318fcb9 12 // ============================================================}}}
Jeej 0:065f2318fcb9 13
Jeej 0:065f2318fcb9 14 // Callbacks to MODEM's ALP requests
Jeej 0:065f2318fcb9 15 // ============================================================{{{
Jeej 0:065f2318fcb9 16 void my_read(u8 fid, u32 offset, u32 length, int id)
Jeej 0:065f2318fcb9 17 {
Jeej 0:065f2318fcb9 18 u8 data[256]; // XXX VLA
Jeej 0:065f2318fcb9 19
Jeej 0:065f2318fcb9 20 fs_read(fid, offset, length, data);
Jeej 0:065f2318fcb9 21
Jeej 0:065f2318fcb9 22 modem_respond_read(fid, data, offset, length, id);
Jeej 0:065f2318fcb9 23 }
Jeej 0:065f2318fcb9 24
Jeej 0:065f2318fcb9 25 void my_write(u8 fid, void *data, u32 offset, u32 length, int id)
Jeej 0:065f2318fcb9 26 {
Jeej 0:065f2318fcb9 27 fs_write(fid, offset, length, (uint8_t*)data);
Jeej 0:065f2318fcb9 28
Jeej 0:065f2318fcb9 29 modem_respond(0, ALP_ERR_NONE, id);
Jeej 0:065f2318fcb9 30 }
Jeej 0:065f2318fcb9 31
Jeej 0:065f2318fcb9 32 void my_read_fprop(u8 fid, int id)
Jeej 0:065f2318fcb9 33 {
Jeej 0:065f2318fcb9 34 u8* hdr = (u8*)fs_get_header(fid);
Jeej 0:065f2318fcb9 35
Jeej 0:065f2318fcb9 36 modem_respond_fprop(fid, hdr, id);
Jeej 0:065f2318fcb9 37 }
Jeej 0:065f2318fcb9 38
Jeej 0:065f2318fcb9 39 void my_flush(u8 fid, int id)
Jeej 0:065f2318fcb9 40 {
Jeej 0:065f2318fcb9 41 // No flush in this file system
Jeej 0:065f2318fcb9 42 modem_respond(0, ALP_ERR_NONE, id);
Jeej 0:065f2318fcb9 43 }
Jeej 0:065f2318fcb9 44
Jeej 0:065f2318fcb9 45 void my_delete(u8 fid, int id)
Jeej 0:065f2318fcb9 46 {
Jeej 0:065f2318fcb9 47 fs_delete(fid);
Jeej 0:065f2318fcb9 48
Jeej 0:065f2318fcb9 49 modem_respond(0, ALP_ERR_NONE, id);
Jeej 0:065f2318fcb9 50 }
Jeej 0:065f2318fcb9 51
Jeej 0:065f2318fcb9 52 void my_lqual(u8 ifid, int per)
Jeej 0:065f2318fcb9 53 {
Jeej 0:065f2318fcb9 54 DPRINT("Interface File [%3d] LQUAL : %d%% PER\r\n", ifid, per);
Jeej 0:065f2318fcb9 55 }
Jeej 0:065f2318fcb9 56
Jeej 0:065f2318fcb9 57 void my_ldown(u8 ifid)
Jeej 0:065f2318fcb9 58 {
Jeej 0:065f2318fcb9 59 DPRINT("Interface File [%3d] LDOWN\r\n", ifid);
Jeej 0:065f2318fcb9 60 }
Jeej 0:065f2318fcb9 61
Jeej 0:065f2318fcb9 62 void my_reset(void)
Jeej 0:065f2318fcb9 63 {
Jeej 0:065f2318fcb9 64 NVIC_SystemReset();
Jeej 0:065f2318fcb9 65 }
Jeej 0:065f2318fcb9 66
Jeej 0:065f2318fcb9 67 void my_boot(u8 cause, u16 number)
Jeej 0:065f2318fcb9 68 {
Jeej 0:065f2318fcb9 69 DPRINT("Modem BOOT[%c] #%d\r\nRe-Init\r\n", cause, number);
Jeej 0:065f2318fcb9 70
Jeej 0:065f2318fcb9 71 // Modem re-booted, restart APP
Jeej 0:065f2318fcb9 72 my_reset();
Jeej 0:065f2318fcb9 73 }