@@ -97,7 +97,7 @@ static void print_deferred(const lwm2m_carrier_event_t *evt)
9797
9898static void on_event_app_data (const lwm2m_carrier_event_t * event )
9999{
100- int ret ;
100+ size_t size ;
101101 lwm2m_carrier_event_app_data_t * app_data = event -> data .app_data ;
102102
103103 if (app_data -> path_len > ARRAY_SIZE (app_data -> path )) {
@@ -122,16 +122,16 @@ static void on_event_app_data(const lwm2m_carrier_event_t *event)
122122 * SM_CARRIER_APP_DATA_BUFFER_LEN to account for the hex string.
123123 * However, sm_data_buf is not expected to receive more than 512 bytes in downlink.
124124 */
125- ret = sm_util_htoa (app_data -> buffer , app_data -> buffer_len ,
126- sm_data_buf , sizeof (sm_data_buf ));
127- if (ret < 0 ) {
128- LOG_ERR ("Failed to encode hex array to hex string: %d" , ret );
125+ size = bin2hex (app_data -> buffer , app_data -> buffer_len , sm_data_buf ,
126+ sizeof (sm_data_buf ));
127+ if (size == 0 ) {
128+ LOG_ERR ("Failed to encode array to hex string" );
129129 return ;
130130 }
131131
132- rsp_send ("\r\n#XCARRIEREVT: %u,%hhu,\"%s\",%d \r\n\"" , event -> type , app_data -> type ,
133- uri_path , ret );
134- data_send (sm_data_buf , ret );
132+ rsp_send ("\r\n#XCARRIEREVT: %u,%hhu,\"%s\",%zu \r\n\"" , event -> type , app_data -> type ,
133+ uri_path , size );
134+ data_send (sm_data_buf , size );
135135 rsp_send ("\"" );
136136 } else {
137137 rsp_send ("\r\n#XCARRIEREVT: %u,%hhu,\"%s\"\r\n" , event -> type , app_data -> type ,
@@ -261,16 +261,16 @@ static int carrier_datamode_callback(uint8_t op, const uint8_t *data, int len, u
261261
262262 size_t size = CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN / 2 ;
263263
264- ret = sm_util_atoh (data , len , sm_data_buf , size );
265- if (ret < 0 ) {
266- LOG_ERR ("Failed to decode hex string to hex array" );
267- return ret ;
264+ size = hex2bin (data , len , sm_data_buf , size );
265+ if (size == 0 ) {
266+ LOG_ERR ("Failed to decode hex string to array" );
267+ return - EINVAL ;
268268 }
269269
270270 uint16_t path [3 ] = { LWM2M_CARRIER_OBJECT_APP_DATA_CONTAINER , 0 , 0 };
271271 uint8_t path_len = 3 ;
272272
273- ret = lwm2m_carrier_app_data_set (path , path_len , sm_data_buf , ret );
273+ ret = lwm2m_carrier_app_data_set (path , path_len , sm_data_buf , size );
274274 LOG_INF ("datamode send: %d" , ret );
275275 if (ret < 0 ) {
276276 exit_datamode_handler (ret );
@@ -331,8 +331,8 @@ static int do_carrier_appdata_set(enum at_parser_cmd_type, struct at_parser *par
331331 char data_ascii [CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN ] = {0 };
332332 size_t data_ascii_len = CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN ;
333333
334- char data_hex [CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN / 2 ];
335- size_t data_hex_len = CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN / 2 ;
334+ uint8_t data [CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN / 2 ];
335+ size_t data_len = CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN / 2 ;
336336
337337 if (param_count == 3 ) {
338338 uint16_t path [3 ] = { LWM2M_CARRIER_OBJECT_APP_DATA_CONTAINER , 0 , 0 };
@@ -343,16 +343,16 @@ static int do_carrier_appdata_set(enum at_parser_cmd_type, struct at_parser *par
343343 return ret ;
344344 }
345345
346- ret = sm_util_atoh (data_ascii , data_ascii_len , data_hex , data_hex_len );
347- if (ret < 0 ) {
348- LOG_ERR ("Failed to decode hex string to hex array" );
349- return ret ;
346+ data_len = hex2bin (data_ascii , data_ascii_len , data , data_len );
347+ if (data_len == 0 ) {
348+ LOG_ERR ("Failed to decode hex string to array" );
349+ return - EINVAL ;
350350 }
351351
352- ret = lwm2m_carrier_app_data_set (path , path_len , data_hex , ret );
352+ ret = lwm2m_carrier_app_data_set (path , path_len , data , data_len );
353353 } else if (param_count == 4 || param_count == 5 ) {
354- uint8_t * data = NULL ;
355- int size = 0 ;
354+ uint8_t * data_ptr = NULL ;
355+ size_t size = 0 ;
356356
357357 uint16_t inst_id ;
358358 uint16_t res_inst_id ;
@@ -378,17 +378,16 @@ static int do_carrier_appdata_set(enum at_parser_cmd_type, struct at_parser *par
378378 return ret ;
379379 }
380380
381- ret = sm_util_atoh (data_ascii , data_ascii_len , data_hex , data_hex_len );
382- if (ret < 0 ) {
383- LOG_ERR ("Failed to decode hex string to hex array" );
384- return ret ;
381+ size = hex2bin (data_ascii , data_ascii_len , data , data_len );
382+ if (size == 0 ) {
383+ LOG_ERR ("Failed to decode hex string to array" );
384+ return - EINVAL ;
385385 }
386386
387- data = data_hex ;
388- size = ret ;
387+ data_ptr = data ;
389388 }
390389
391- ret = lwm2m_carrier_app_data_set (path , path_len , data , size );
390+ ret = lwm2m_carrier_app_data_set (path , path_len , data_ptr , size );
392391 }
393392
394393 return ret ;
@@ -746,21 +745,21 @@ static int do_carrier_event_log_log_data(enum at_parser_cmd_type, struct at_pars
746745 char data_ascii [CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN ] = {0 };
747746 size_t data_ascii_len = CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN ;
748747
749- char data_hex [CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN / 2 ];
750- size_t data_hex_len = CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN / 2 ;
748+ uint8_t data [CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN / 2 ];
749+ size_t data_len = CONFIG_SM_CARRIER_APP_DATA_BUFFER_LEN / 2 ;
751750
752751 int ret = util_string_get (parser , 2 , data_ascii , & data_ascii_len );
753752 if (ret ) {
754753 return ret ;
755754 }
756755
757- ret = sm_util_atoh (data_ascii , data_ascii_len , data_hex , data_hex_len );
758- if (ret < 0 ) {
759- LOG_ERR ("Failed to decode hex string to hex array" );
760- return ret ;
756+ data_len = hex2bin (data_ascii , data_ascii_len , data , data_len );
757+ if (data_len == 0 ) {
758+ LOG_ERR ("Failed to decode hex string to array" );
759+ return - EINVAL ;
761760 }
762761
763- return lwm2m_carrier_log_data_set (data_hex , ret );
762+ return lwm2m_carrier_log_data_set (data , data_len );
764763}
765764
766765/* AT#XCARRIER="position",<latitude>,<longitude>,<altitude>,<timestamp>,<uncertainty> */
0 commit comments