Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: modem_ref_helper CRC X_NUCLEO_IKS01A1 DebouncedInterrupt
Revision 18:51b15d8bf2fe, committed 2021-10-29
- Comitter:
- marin_wizzi
- Date:
- Fri Oct 29 12:55:52 2021 +0000
- Parent:
- 17:3e6083d76bc6
- Commit message:
- Compatible with 6.2 modem version
Changed in this revision
diff -r 3e6083d76bc6 -r 51b15d8bf2fe CRC.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CRC.lib Fri Oct 29 12:55:52 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/teams/WizziLab/code/CRC/#88116ae677af
diff -r 3e6083d76bc6 -r 51b15d8bf2fe files.cpp
--- a/files.cpp Thu May 28 09:22:46 2020 +0000
+++ b/files.cpp Fri Oct 29 12:55:52 2021 +0000
@@ -63,6 +63,9 @@
.alloc= HAL_U32_BYTE_SWAP((uint32_t)(_size))\
}
+
+#define DATA_FILE_SENSOR_VALUE(name,_size) int32_t f_sensor_value_##name[_size] = {0}
+
HEADER_FILE_SENSOR_CONFIG(mag);
HEADER_FILE_SENSOR_CONFIG(acc);
HEADER_FILE_SENSOR_CONFIG(gyr);
@@ -81,6 +84,15 @@
HEADER_FILE_SENSOR_VALUE(tem2, 1*sizeof(int32_t));
HEADER_FILE_SENSOR_VALUE(light, 1*sizeof(int32_t));
+DATA_FILE_SENSOR_VALUE(mag, 3);
+DATA_FILE_SENSOR_VALUE(acc, 3);
+DATA_FILE_SENSOR_VALUE(gyr, 3);
+DATA_FILE_SENSOR_VALUE(pre, 1);
+DATA_FILE_SENSOR_VALUE(hum, 1);
+DATA_FILE_SENSOR_VALUE(tem1, 1);
+DATA_FILE_SENSOR_VALUE(tem2, 1);
+DATA_FILE_SENSOR_VALUE(light, 1);
+
sensor_config_t f_sensor_config_mag = {
.report_type = REPORT_ON_DIFFERENCE,
.read_period = 1000,
diff -r 3e6083d76bc6 -r 51b15d8bf2fe files.h
--- a/files.h Thu May 28 09:22:46 2020 +0000
+++ b/files.h Fri Oct 29 12:55:52 2021 +0000
@@ -7,6 +7,14 @@
#include "alp_helpers.h"
#include "modem_ref.h"
+TYPEDEF_STRUCT_PACKED {
+ uint8_t fid;
+ uint32_t offset;
+ uint32_t length;
+} touch_t;
+
+extern Queue<touch_t, 8> g_file_modified;
+
// Types of reporting
typedef enum
{
@@ -39,7 +47,8 @@
#define FILE_DECLARE_SENSOR_CONFIG(name) extern const alp_file_header_t h_sensor_config_##name;\
extern sensor_config_t f_sensor_config_##name
-#define FILE_DECLARE_SENSOR_VALUE(name) extern const alp_file_header_t h_sensor_value_##name
+#define FILE_DECLARE_SENSOR_VALUE(name) extern const alp_file_header_t h_sensor_value_##name;\
+ extern int32_t f_sensor_value_##name[]
#define FID_SENSOR_CONFIG_MAG 132
#define FID_SENSOR_CONFIG_ACC 133
diff -r 3e6083d76bc6 -r 51b15d8bf2fe main.cpp
--- a/main.cpp Thu May 28 09:22:46 2020 +0000
+++ b/main.cpp Fri Oct 29 12:55:52 2021 +0000
@@ -6,9 +6,10 @@
#include "sensors.h"
#include "sensors_cfg.h"
#include "simul.h"
-#include "modem_ref_helper.h"
+#include "modem_d7a.h"
#include "modem_callbacks.h"
#include "files.h"
+#include "crc.h"
#define MIN_REPORT_PERIOD (10) // Seconds
@@ -19,10 +20,10 @@
};
Semaphore button_user(1);
-Semaphore modem_ready[MAX_USER_NB];
Semaphore thread_ready(0);
sensor_config_t g_light_config;
-Queue<void, 8> g_file_modified;
+int sensor_id = 0;
+Queue<touch_t, 8> g_file_modified;
static bool report_ok(uint32_t last_report_time)
{
@@ -37,20 +38,32 @@
}
// Check parameters to see if data should be send
-static bool report_needed(sensor_config_t* config, int32_t value, int32_t last_value, uint32_t last_report_time, uint8_t user_id)
+static bool report_needed(sensor_config_t* config, int32_t value, int32_t last_value, uint32_t last_report_time, uint8_t thread_id)
{
-
+ char thread_name[10];
+ switch (thread_id)
+ {
+ case 0: strcpy(thread_name,"Magnetometer"); break;
+ case 1: strcpy(thread_name,"Accelerometer"); break;
+ case 2: strcpy(thread_name,"Pressure"); break;
+ case 3: strcpy(thread_name,"Humidity"); break;
+ case 4: strcpy(thread_name,"Temperature sensor 1"); break;
+ case 5: strcpy(thread_name,"Temperature sensor 2"); break;
+ case 6: strcpy(thread_name,"Light sensor"); break;
+ default: strcpy(thread_name,"Unknown"); break;
+ }
+
switch (config->report_type)
{
case REPORT_ALWAYS:
// Send a report at each measure
- PRINT("Report[%d] always\r\n", user_id);
+ PRINT("Report[%d] : %s always\r\n", thread_id, thread_name);
return report_ok(last_report_time);
case REPORT_ON_DIFFERENCE:
// Send a report when the difference between the last reported measure and the current mesure is greater than max_diff
if (abs(last_value - value) >= config->max_diff && config->max_diff)
{
- PRINT("Report[%d] on difference (last:%d new:%d max_diff:%d)\r\n", user_id, last_value, value, config->max_diff);
+ PRINT("Report[%d] : %s on difference (last:%d new:%d max_diff:%d)\r\n", thread_id, thread_name, last_value, value, config->max_diff);
return report_ok(last_report_time);
}
break;
@@ -61,7 +74,7 @@
|| (value < config->threshold_high && last_value >= config->threshold_high)
|| (value > config->threshold_low && last_value <= config->threshold_low))
{
- PRINT("Report[%d] on threshold (last:%d new:%d th:%d tl:%d)\r\n", user_id, last_value, value, config->threshold_high, config->threshold_low);
+ PRINT("Report[%d] : %s on threshold (last:%d new:%d th:%d tl:%d)\r\n", thread_id, thread_name, last_value, value, config->threshold_high, config->threshold_low);
return report_ok(last_report_time);
}
break;
@@ -72,10 +85,9 @@
// Send a report if it's been more than max_period since the last report
if (((last_report_time/1000) >= config->max_period) && config->max_period)
{
- PRINT("Report[%d] on period (max_period:%d time:%d)\r\n", user_id, config->max_period, last_report_time);
+ PRINT("Report[%d] : %s on period (max_period:%d time:%d)\r\n", thread_id, thread_name, config->max_period, last_report_time);
return report_ok(last_report_time);
}
-
return false;
}
@@ -85,7 +97,7 @@
button_user.release();
}
-modem_callbacks_t callbacks = {
+modem_ref_callbacks_t callbacks = {
.read = my_read,
.write = my_write,
.read_fprop = my_read_fprop,
@@ -99,20 +111,6 @@
.busy = my_busy,
};
-// Callback for Users
-void my_main_callback(uint8_t terminal, int8_t err, uint8_t id)
-{
- if (ALP_ERR_NONE > err)
- {
- PRINT("Status[%d]: ", id);
- modem_print_error(ALP_ITF_TYPE_D7A, err);
- }
-
- if (terminal)
- {
- modem_ready[id].release();
- }
-}
// -----------------------------------------------
// Sensor Threads
@@ -155,7 +153,6 @@
.config_file_id = FID_SENSOR_CONFIG_##NAME\
}
-
SENSOR_THREAD_CTX(mag, MAG, 3);
SENSOR_THREAD_CTX(acc, ACC, 3);
SENSOR_THREAD_CTX(gyr, GYR, 3);
@@ -167,17 +164,16 @@
void thread_sensor()
{
+ int thread_id = sensor_id++;
+
FPRINT("(id:0x%08x)\r\n", osThreadGetId());
// To force a first report
uint32_t last_report_time = 0xFFFFFFFF;
sensor_thread_ctx_t* ctx = g_thread_ctx;
- uint8_t user_id = modem_get_id(my_main_callback);
// Get the sensor configuration
- ram_fs_read(ctx->config_file_id, 0, sizeof(sensor_config_t), (uint8_t*)&(ctx->config));
-
- PRINT("Start sensor thread %d\n", user_id);
+ ram_fs_read(ctx->config_file_id, (uint8_t*)&(ctx->config), 0, sizeof(sensor_config_t));
thread_ready.release();
@@ -196,11 +192,10 @@
for (uint8_t i = 0; i < ctx->nb_values; i++)
{
- if (report_needed(&(ctx->config), ctx->current_value[i], ctx->last_report_value[i], last_report_time, user_id))
+ if (report_needed(&(ctx->config), ctx->current_value[i], ctx->last_report_value[i], last_report_time, thread_id))
{
// Send notification
- modem_write_file(ctx->value_file_id, ctx->current_value, 0, ctx->data_size, user_id);
- modem_ready[user_id].acquire();
+ modem_write_file(ctx->value_file_id, ctx->current_value, 0, ctx->data_size);
// Update last report value
memcpy(ctx->last_report_value, ctx->current_value, ctx->data_size);
@@ -230,28 +225,28 @@
{
// If a configuration file has been modified, update the context
case FID_SENSOR_CONFIG_MAG:
- ram_fs_read(fid, 0, sizeof(sensor_config_t), (uint8_t*)&(mag_thread_ctx.config));
+ ram_fs_read(fid, (uint8_t*)&(mag_thread_ctx.config), 0, sizeof(sensor_config_t));
break;
case FID_SENSOR_CONFIG_ACC:
- ram_fs_read(fid, 0, sizeof(sensor_config_t), (uint8_t*)&(acc_thread_ctx.config));
+ ram_fs_read(fid, (uint8_t*)&(mag_thread_ctx.config), 0, sizeof(sensor_config_t));
break;
case FID_SENSOR_CONFIG_GYR:
- ram_fs_read(fid, 0, sizeof(sensor_config_t), (uint8_t*)&(gyr_thread_ctx.config));
+ ram_fs_read(fid, (uint8_t*)&(gyr_thread_ctx.config), 0, sizeof(sensor_config_t));
break;
case FID_SENSOR_CONFIG_PRE:
- ram_fs_read(fid, 0, sizeof(sensor_config_t), (uint8_t*)&(pre_thread_ctx.config));
+ ram_fs_read(fid, (uint8_t*)&(gyr_thread_ctx.config), 0, sizeof(sensor_config_t));
break;
case FID_SENSOR_CONFIG_HUM:
- ram_fs_read(fid, 0, sizeof(sensor_config_t), (uint8_t*)&(hum_thread_ctx.config));
+ ram_fs_read(fid, (uint8_t*)&(gyr_thread_ctx.config), 0, sizeof(sensor_config_t));
break;
case FID_SENSOR_CONFIG_TEM1:
- ram_fs_read(fid, 0, sizeof(sensor_config_t), (uint8_t*)&(tem1_thread_ctx.config));
+ ram_fs_read(fid, (uint8_t*)&(gyr_thread_ctx.config), 0, sizeof(sensor_config_t));
break;
case FID_SENSOR_CONFIG_TEM2:
- ram_fs_read(fid, 0, sizeof(sensor_config_t), (uint8_t*)&(tem2_thread_ctx.config));
+ ram_fs_read(fid, (uint8_t*)&(gyr_thread_ctx.config), 0, sizeof(sensor_config_t));
break;
case FID_SENSOR_CONFIG_LIGHT:
- ram_fs_read(fid, 0, sizeof(sensor_config_t), (uint8_t*)&(light_thread_ctx.config));
+ ram_fs_read(fid, (uint8_t*)&(gyr_thread_ctx.config), 0, sizeof(sensor_config_t));
break;
default:
break;
@@ -259,8 +254,6 @@
}
}
-Queue<void, 8> modem_resp;
-
// Callback for button
void my_response_callback(uint8_t terminal, int8_t err, uint8_t id)
{
@@ -273,13 +266,13 @@
if (terminal)
{
- modem_resp.put((void*)MODEM_RESP_TERMINAL);
+ g_file_modified.put((touch_t*)MODEM_RESP_TERMINAL);
}
else
{
if (ALP_ERR_NONE == err)
{
- modem_resp.put((void*)MODEM_RESP_DONE);
+ g_file_modified.put((touch_t*)MODEM_RESP_DONE);
}
}
}
@@ -292,8 +285,10 @@
uint32_t resp;
uint8_t alarm;
d7a_sp_res_t istat;
- uint8_t user_id = modem_get_id(my_response_callback);
+ alp_payload_t* alp;
+ alp_payload_t* alp_rsp;
uint8_t nb = 0;
+ int err;
alp_d7a_itf_t alarm_itf = {
.type = ALP_ITF_TYPE_D7A,
@@ -308,7 +303,7 @@
};
// Load alarm value
- ram_fs_read(FID_ALARM, 0, 1, &alarm);
+ ram_fs_read(FID_ALARM, &alarm, 0, 1);
while (true)
{
@@ -316,24 +311,27 @@
button_user.acquire();
// load/save value to keep coherence in case of remote access...
- ram_fs_read(FID_ALARM, 0, 1, &alarm);
+ ram_fs_read(FID_ALARM, &alarm, 0, 1);
// Initial value
if (alarm != 255)
{
// Toggle alarm state
alarm = !alarm;
- ram_fs_write(FID_ALARM, 0, 1, &alarm);
+ ram_fs_write(FID_ALARM, &alarm, 0, 1);
}
PRINT("BUTTON ALARM %d\r\n", alarm);
nb = 0;
- modem_send_file_content((uint8_t*)&alarm_itf, D7_ITF_SIZE(&alarm_itf), (void*)&istat, FID_ALARM, &alarm, 0, 1, user_id);
+ alp = NULL;
+ alp = alp_payload_rsp_f_data(alp, FID_ALARM, &alarm, 0, 1);
+
+ err = modem_remote_raw_alp((void*)&alarm_itf, alp, &alp_rsp, (uint32_t)15000);
do
{
- evt = modem_resp.get();
+ evt = g_file_modified.get();
resp = (evt.status == osEventMessage)? (uint32_t)evt.value.p : MODEM_RESP_NO;
if (MODEM_RESP_DONE == resp)
@@ -353,14 +351,15 @@
{
// Toggle alarm state
alarm = !!alarm;
- ram_fs_write(FID_ALARM, 0, 1, &alarm);
+ ram_fs_write(FID_ALARM, &alarm, 0, 1);
}
}
}
// Todo for each sensor
-#define SENSOR_SETUP(NAME,name) modem_update_file(FID_SENSOR_VALUE_##NAME, (alp_file_header_t*)&h_sensor_value_##name, NULL);\
- modem_update_file(FID_SENSOR_CONFIG_##NAME, (alp_file_header_t*)&h_sensor_config_##name, (uint8_t*)&f_sensor_config_##name);\
+#define SENSOR_SETUP(NAME,name) ram_fs_new(FID_SENSOR_VALUE_##NAME, (uint8_t*)&h_sensor_value_##name, (uint8_t*)f_sensor_value_##name); modem_declare_file(FID_SENSOR_VALUE_##NAME, (alp_file_header_t*)&h_sensor_value_##name);\
+ ram_fs_new(FID_SENSOR_CONFIG_##NAME, (uint8_t*)&h_sensor_config_##name, (uint8_t*)&f_sensor_config_##name);\
+ modem_declare_file(FID_SENSOR_CONFIG_##NAME, (alp_file_header_t*)&h_sensor_config_##name);\
g_thread_ctx = &name##_thread_ctx;\
Thread th_##name(osPriorityNormal, 1024, NULL);\
status = th_##name.start(thread_sensor);\
@@ -384,37 +383,26 @@
FPRINT("(id:0x%08x)\r\n", osThreadGetId());
- modem_helper_open(&callbacks);
-
- uint8_t main_id = modem_get_id(my_main_callback);
+ modem_open(&callbacks);
PRINT("Register Files\n");
- modem_update_file(FID_ALARM, &h_alarm, (uint8_t*)&f_alarm);
-
- // Configure URC: LQUAL on report file notification every 10 reports
- PRINT("Setup URCs\n");
- modem_enable_urc(ALP_URC_TYPE_LQUAL, IFID_REPORT, 10, true, main_id);
- modem_ready[main_id].acquire();
+ ram_fs_new(FID_ALARM, (uint8_t*)&h_alarm, (uint8_t*)&f_alarm);
+ modem_declare_file(FID_ALARM, (alp_file_header_t*)&h_alarm);
- // Put modem to listen to downlink access class
- d7a_xcl_t xcl = { .bf.s = 0, .bf.m = 0x1 };
- modem_write_file(D7A_FID_DLL_CFG, (void*)&xcl, offsetof(d7a_dll_cfg_t, xcl), sizeof(d7a_xcl_t), main_id);
- modem_ready[main_id].acquire();
+ PRINT("Enable D7A interface\n");
+ modem_d7a_enable_itf();
- modem_flush_file(D7A_FID_DLL_CFG, main_id);
- modem_ready[main_id].acquire();
+ // Host revision file is in the modem. Update it.
+ PRINT("Update host revision\n");
+ modem_write_file(FID_HOST_REV, (void*)&f_rev, 0, sizeof(revision_t));
- PRINT("Start D7A Stack\n");
- modem_activate_itf(ALP_ITF_TYPE_D7A, 24, 0, ALP_D7A_ISTAT_RESP | ALP_D7A_ISTAT_UNS | ALP_D7A_ISTAT_EOP, true, main_id);
- modem_ready[main_id].acquire();
- PRINT("Notify Modem Version\n");
- modem_notify_file(D7A_FID_FIRMWARE_VERSION, 0, SIZE_HOST_REV, main_id);
- modem_ready[main_id].acquire();
+ // Retrieve modem revision
+ PRINT("Send revision\n");
- PRINT("Notify FW Version\n");
- uint8_t default_root_key[16] = DEFAULT_ROOT_KEY;
- modem_notify_host_rev(&f_rev, &h_rev, default_root_key);
+ revision_t rev;
+
+ modem_read_file(FID_WM_REV, &rev, 0, sizeof(revision_t));
// Start file modified thread
Thread th_file_modified(osPriorityNormal, 1024, NULL);
@@ -483,7 +471,6 @@
SENSOR_SETUP(LIGHT,light);
#endif
- modem_free_id(main_id);
// For button
#ifdef DEBUG_BUTTON
diff -r 3e6083d76bc6 -r 51b15d8bf2fe modem_callbacks.cpp
--- a/modem_callbacks.cpp Thu May 28 09:22:46 2020 +0000
+++ b/modem_callbacks.cpp Fri Oct 29 12:55:52 2021 +0000
@@ -1,4 +1,5 @@
-#include "modem_ref_helper.h"
+#include "modem_d7a.h"
+#include "files.h"
#define SERIAL_MAX_PACKET_SIZE (255)
@@ -6,116 +7,76 @@
// Callbacks to MODEM's ALP requests
// ============================================================{{{
-void my_read(u8 fid, u32 offset, u32 length, int id)
+void my_read(u8 action, u8 fid, u32 offset, u32 length, int id)
{
u8 data[SERIAL_MAX_PACKET_SIZE];
ASSERT((ALP_ACTION_RSP_TAG_SIZE + ALP_ACTION_RSP_F_DATA_SIZE(offset, length)) <= SERIAL_MAX_PACKET_SIZE,
- "Read response too big for serial protocol (%d/%dmax)", length, ALP_ACTION_RSP_TAG_SIZE + ALP_ACTION_RSP_F_DATA_SIZE(offset,SERIAL_MAX_PACKET_SIZE));
- if (ram_fs_read(fid, offset, length, data))
+ "Read response too big for serial protocol (%d/%dmax)", length, ALP_ACTION_RSP_TAG_SIZE + ALP_ACTION_RSP_F_DATA_SIZE(offset,SERIAL_MAX_PACKET_SIZE));
+
+ if (ram_fs_read(fid, data, offset, length))
{
- modem_respond(ALP_ERR_FILE_NOT_FOUND, id);
+ modem_ref_respond(action, ALP_ERR_FILE_NOT_FOUND, id);
}
else
{
- modem_respond_read(fid, data, offset, length, id);
+ modem_ref_respond_read(fid, data, offset, length, id);
}
}
-void my_write(u8 fid, void *data, u32 offset, u32 length, int id)
+
+void my_write(u8 action, u8 fid, void *data, u32 offset, u32 length, int id)
{
alp_errors_t err;
- if (ram_fs_write(fid, offset, length, (uint8_t*)data))
+ if (ram_fs_write(fid, (uint8_t*)data, offset, length))
{
err = ALP_ERR_FILE_NOT_FOUND;
}
else
{
- extern Queue<void, 8> g_file_modified;
-
err = ALP_ERR_NONE;
- g_file_modified.put((void*)fid);
+
+ touch_t* touch = (touch_t*)MALLOC(sizeof(touch_t));
+
+ touch->fid = fid;
+ touch->offset = offset;
+ touch->length = length;
+
+ g_file_modified.put(touch);
}
- modem_respond(err, id);
+ modem_ref_respond(action, err, id);
}
-void my_read_fprop(u8 fid, int id)
+void my_read_fprop(u8 action, u8 fid, int id)
{
u8* hdr = (u8*)ram_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(ALP_ERR_NONE, id);
-}
-
-void my_delete(u8 fid, int id)
-{
- alp_errors_t err;
-
- err = (ram_fs_delete(fid))? ALP_ERR_FILE_NOT_FOUND : ALP_ERR_NONE;
-
- modem_respond(err, id);
+ if (hdr != NULL)
+ {
+ modem_ref_respond_fprop(fid, (alp_file_header_t*)hdr, id);
+ }
+ else
+ {
+ modem_ref_respond(action, ALP_ERR_FILE_NOT_FOUND, id);
+ }
}
-void my_udata(void *data, u32 length)
-{
- uint8_t* p = (uint8_t*)data;
- int32_t rem = length;
- alp_parsed_chunk_t r;
- d7a_sp_res_t* istat;
-
- do {
- uint32_t parsed = alp_parse_chunk(&p, &r);
- if (!parsed)
- {
- // Discard the payload in case of parsing error.
- PRINT("Parsing error!\r\n");
- break;
- }
- rem -= parsed;
-
- switch (r.type)
- {
- // Interface status
- case ALP_OPCODE_RSP_ISTATUS:
- // D7A Interface
- if (ALP_ITF_TYPE_D7A == r.meta.itf.type)
- {
- union {
- u8 b[8];
- u32 w[2];
- } uid;
-
- // ISTATUS can come either alone or together with ALP_OPCODE_RSP_F_DATA
- // but there should be only one per payload, moreover it will come first
- istat = (d7a_sp_res_t*)r.data;
- memcpy(uid.b,istat->addressee.id,8);
-
- PRINT("Got accessed by UID:%08X%08X SNR: %3ddB RXLEV: -%-3ddBm LB: %3ddB\n",
- HAL_U32_BYTE_SWAP(uid.w[0]), HAL_U32_BYTE_SWAP(uid.w[1]),
- istat->snr, istat->rxlev, istat->lb);
- }
- else
- {
- PRINT("Got accessed by unknown Interface 0x%02X\n", r.meta.itf.type);
- }
- break;
- // Data return
- case ALP_OPCODE_RSP_F_DATA:
- // RSP_F_DATA can come either alone or together with ISTATUS
- PRINT("Got UNS File[%3d]@%d %d Bytes\n", r.meta.f_data.fid, r.meta.f_data.offset, r.meta.f_data.length);
- break;
- default:
- PRINT("Untreated OPCODE %d\n", r.type);
- break;
- }
- } while (rem > 0);
+void my_flush(u8 action, u8 fid, int id)
+{
+ // No flush in this file system
+ modem_ref_respond(action, ALP_ERR_NONE, id);
+}
+
+void my_delete(u8 action, u8 fid, int id)
+{
+ modem_ref_respond(action, (ram_fs_delete(fid))? ALP_ERR_FILE_NOT_FOUND : ALP_ERR_NONE, id);
+}
+
+void my_udata(alp_payload_t* alp)
+{
+ alp_payload_print(alp);
}
void my_lqual(u8 ifid, int per)
diff -r 3e6083d76bc6 -r 51b15d8bf2fe modem_callbacks.h --- a/modem_callbacks.h Thu May 28 09:22:46 2020 +0000 +++ b/modem_callbacks.h Fri Oct 29 12:55:52 2021 +0000 @@ -1,18 +1,13 @@ -#ifndef __MODEM_CALLBACKS_H__ -#define __MODEM_CALLBACKS_H__ - #include "hal_types.h" -void my_read(u8 fid, u32 offset, u32 length, int id); -void my_write(u8 fid, void *data, u32 offset, u32 length, int id); -void my_read_fprop(u8 fid, int id); -void my_flush(u8 fid, int id); -void my_delete(u8 fid, int id); -void my_udata(void *data, u32 length); +void my_read(u8 action, u8 fid, u32 offset, u32 length, int id); +void my_write(u8 action, u8 fid, void *data, u32 offset, u32 length, int id); +void my_read_fprop(u8 action, u8 fid, int id); +void my_flush(u8 action, u8 fid, int id); +void my_delete(u8 action, u8 fid, int id); +void my_udata(alp_payload_t*); void my_lqual(u8 ifid, int per); void my_ldown(u8 ifid); void my_reset(void); void my_boot(u8 cause, u16 number); -void my_busy(u8 busy); - -#endif \ No newline at end of file +void my_busy(u8 busy); \ No newline at end of file
diff -r 3e6083d76bc6 -r 51b15d8bf2fe modem_d7a.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modem_d7a.lib Fri Oct 29 12:55:52 2021 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/teams/WizziLab/code/modem_ref_helper/#dcf0983476aa
diff -r 3e6083d76bc6 -r 51b15d8bf2fe modem_ref_helper.lib --- a/modem_ref_helper.lib Thu May 28 09:22:46 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://developer.mbed.org/teams/WizziLab/code/modem_ref_helper/#d624707636f9