Send file data demo.
Dependencies: modem_ref_helper CRC DebouncedInterrupt
Diff: modem_callbacks.cpp
- Revision:
- 1:f4a7a48a5f2b
- Parent:
- 0:065f2318fcb9
- Child:
- 2:992b87360140
--- a/modem_callbacks.cpp Wed May 03 11:31:11 2017 +0000 +++ b/modem_callbacks.cpp Thu May 11 15:25:55 2017 +0000 @@ -6,7 +6,7 @@ #include "alp_helpers.h" #include "modem_ref.h" -#include "fs.h" +#include "ram_fs.h" #include "hal_types.h" // ============================================================}}} @@ -17,23 +17,43 @@ { u8 data[256]; // XXX VLA - fs_read(fid, offset, length, data); + if (ram_fs_read(fid, offset, length, data)) + { + // Error + length = 0; + } 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); + alp_errors_t err; - modem_respond(0, ALP_ERR_NONE, id); + if (ram_fs_write(fid, offset, length, (uint8_t*)data)) + { + err = ALP_ERR_FILE_NOT_FOUND; + } + else + { + err = ALP_ERR_NONE; + } + + modem_respond(0, err, id); } void my_read_fprop(u8 fid, int id) { - u8* hdr = (u8*)fs_get_header(fid); + u8* hdr = (u8*)ram_fs_get_header(fid); - modem_respond_fprop(fid, hdr, id); + 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) @@ -44,9 +64,11 @@ void my_delete(u8 fid, int id) { - fs_delete(fid); + alp_errors_t err; - modem_respond(0, ALP_ERR_NONE, id); + err = (ram_fs_delete(fid))? ALP_ERR_FILE_NOT_FOUND : ALP_ERR_NONE; + + modem_respond(0, err, id); } void my_lqual(u8 ifid, int per)