Helper library to use modem_ref driver.
Dependencies: WizziCom WizziDebug ram_fs modem_ref
Dependents: D7A_Localisation D7A_1x_demo_send_file_data_and_forget D7A_1x_demo_CodeUpgradeProtocol D7A_1x_demo_LoRaWAN ... more
modem_d7a.h@71:b5c584f706ee, 2021-02-17 (annotated)
- Committer:
- Jeej
- Date:
- Wed Feb 17 11:11:09 2021 +0000
- Revision:
- 71:b5c584f706ee
- Parent:
- 69:8f2fe2426ef9
- Child:
- 72:15bf99fcfed9
Fixed memory leak. ALP payload is now consumed.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jeej | 68:b2dd7309da44 | 1 | #ifndef __MODEM_D7A_H__ |
Jeej | 68:b2dd7309da44 | 2 | #define __MODEM_D7A_H__ |
Jeej | 68:b2dd7309da44 | 3 | |
Jeej | 68:b2dd7309da44 | 4 | #include "mbed.h" |
Jeej | 68:b2dd7309da44 | 5 | #include "rtos.h" |
Jeej | 68:b2dd7309da44 | 6 | #include "WizziDebug.h" |
Jeej | 68:b2dd7309da44 | 7 | #include "WizziCom.h" |
Jeej | 68:b2dd7309da44 | 8 | |
Jeej | 68:b2dd7309da44 | 9 | #include "hwcfg.h" |
Jeej | 68:b2dd7309da44 | 10 | #include "ram_fs.h" |
Jeej | 68:b2dd7309da44 | 11 | |
Jeej | 68:b2dd7309da44 | 12 | #include "alp.h" |
Jeej | 68:b2dd7309da44 | 13 | #include "alp_helpers.h" |
Jeej | 68:b2dd7309da44 | 14 | #include "alp_lwan.h" |
Jeej | 68:b2dd7309da44 | 15 | #include "alp_spec.h" |
Jeej | 68:b2dd7309da44 | 16 | #include "d7a_1x.h" |
Jeej | 68:b2dd7309da44 | 17 | #include "d7a_1x_fs.h" |
Jeej | 68:b2dd7309da44 | 18 | #include "kal_fs.h" |
Jeej | 68:b2dd7309da44 | 19 | #include "kal_math.h" |
Jeej | 68:b2dd7309da44 | 20 | #include "modem_ref.h" |
Jeej | 68:b2dd7309da44 | 21 | #include "revision.h" |
Jeej | 68:b2dd7309da44 | 22 | |
Jeej | 68:b2dd7309da44 | 23 | #define DEFAULT_ROOT_KEY {206, 87, 116, 11, 4, 30, 202, 254, 206, 87, 116, 11, 4, 30, 202, 254} |
Jeej | 68:b2dd7309da44 | 24 | |
Jeej | 68:b2dd7309da44 | 25 | #define MODEM_TIMEOUT 1000 |
Jeej | 68:b2dd7309da44 | 26 | #define MODEM_WAIT_RESP(_s,_t) modem_wait_resp(&(_s), (_t), (char*)__FUNCTION__, __LINE__) |
Jeej | 68:b2dd7309da44 | 27 | |
Jeej | 68:b2dd7309da44 | 28 | TYPEDEF_STRUCT_PACKED { |
Jeej | 68:b2dd7309da44 | 29 | uint8_t type; |
Jeej | 68:b2dd7309da44 | 30 | d7a_sp_cfg_t cfg; |
Jeej | 68:b2dd7309da44 | 31 | } alp_d7a_itf_t; |
Jeej | 68:b2dd7309da44 | 32 | |
Jeej | 68:b2dd7309da44 | 33 | int modem_wait_resp(Semaphore* s, uint32_t timeout, char* function, uint32_t line); |
Jeej | 68:b2dd7309da44 | 34 | int modem_open(modem_ref_callbacks_t* callbacks); |
Jeej | 68:b2dd7309da44 | 35 | int modem_close(void); |
Jeej | 69:8f2fe2426ef9 | 36 | void modem_print_error(uint8_t itf, int error); |
Jeej | 68:b2dd7309da44 | 37 | |
Jeej | 69:8f2fe2426ef9 | 38 | int modem_raw_alp(alp_payload_t* alp, alp_payload_t** alp_rsp, uint32_t timeout); |
Jeej | 69:8f2fe2426ef9 | 39 | int modem_remote_raw_alp(void* itf, alp_payload_t* alp, alp_payload_t** alp_rsp, uint32_t timeout); |
Jeej | 68:b2dd7309da44 | 40 | int modem_read_file(uint8_t fid, void *data, uint32_t offset, uint32_t length); |
Jeej | 68:b2dd7309da44 | 41 | int modem_remote_read_file(void* itf, void *istatus, uint8_t fid, void *data, uint32_t offset, uint32_t length); |
Jeej | 68:b2dd7309da44 | 42 | int modem_write_file(uint8_t fid, void *data, uint32_t offset, uint32_t length); |
Jeej | 71:b5c584f706ee | 43 | int modem_remote_write_file(void* itf, void *istatus , uint8_t fid, void *data, uint32_t offset, uint32_t length); |
Jeej | 68:b2dd7309da44 | 44 | int modem_flush_file(uint8_t fid); |
Jeej | 68:b2dd7309da44 | 45 | int modem_declare_file(uint8_t fid, alp_file_header_t* header); |
Jeej | 68:b2dd7309da44 | 46 | int modem_d7a_enable_itf(void); |
Jeej | 68:b2dd7309da44 | 47 | int modem_d7a_disable_itf(void); |
Jeej | 68:b2dd7309da44 | 48 | |
Jeej | 69:8f2fe2426ef9 | 49 | int modem_lwan_open(modem_lwan_callbacks_t* callbacks); |
Jeej | 69:8f2fe2426ef9 | 50 | int modem_lwan_set_cfg(lwan_cfg_t* cfg); |
Jeej | 69:8f2fe2426ef9 | 51 | int modem_lwan_set_nls(lwan_nls_t* nls); |
Jeej | 69:8f2fe2426ef9 | 52 | int modem_lwan_send(alp_payload_t* alp); |
Jeej | 69:8f2fe2426ef9 | 53 | int modem_lwan_get_status(lwan_status_t* status); |
Jeej | 69:8f2fe2426ef9 | 54 | |
Jeej | 68:b2dd7309da44 | 55 | |
Jeej | 68:b2dd7309da44 | 56 | |
Jeej | 68:b2dd7309da44 | 57 | #define D7_ITF_SIZE(_itf) (1+my_alp_itf_d7a_cfg_size(&(_itf)->cfg)) |
Jeej | 68:b2dd7309da44 | 58 | int my_alp_itf_d7a_cfg_size(d7a_sp_cfg_t* cfg); |
Jeej | 68:b2dd7309da44 | 59 | |
Jeej | 68:b2dd7309da44 | 60 | #endif |