@@ -215,6 +215,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_3(badge_nvs_set_u16_obj, badge_nvs_set_u16_);
215
215
216
216
// Mpr121 (badge_mpr121.h)
217
217
#ifdef I2C_MPR121_ADDR
218
+ #define store_dict_int (dict , field , contents ) mp_obj_dict_store(dict, mp_obj_new_str(field, strlen(field), false), mp_obj_new_int(contents));
218
219
STATIC mp_obj_t badge_mpr121_get_touch_info_ (void ) {
219
220
struct badge_mpr121_touch_info info ;
220
221
esp_err_t err = badge_mpr121_get_touch_info (& info );
@@ -225,11 +226,14 @@ STATIC mp_obj_t badge_mpr121_get_touch_info_(void) {
225
226
mp_obj_t list_items [8 ];
226
227
int i ;
227
228
for (i = 0 ; i < 8 ; i ++ ) {
228
- list_items [i ] = mp_obj_new_dict (4 );
229
- mp_obj_dict_store (list_items [i ], MP_OBJ_NEW_QSTR (MP_QSTR_data ), mp_obj_new_int (info .data [i ]));
230
- mp_obj_dict_store (list_items [i ], MP_OBJ_NEW_QSTR (MP_QSTR_baseline ), mp_obj_new_int (info .baseline [i ]));
231
- mp_obj_dict_store (list_items [i ], MP_OBJ_NEW_QSTR (MP_QSTR_touch ), mp_obj_new_int (info .touch [i ]));
232
- mp_obj_dict_store (list_items [i ], MP_OBJ_NEW_QSTR (MP_QSTR_release ), mp_obj_new_int (info .release [i ]));
229
+ list_items [i ] = mp_obj_new_dict (0 );
230
+
231
+ mp_obj_dict_t * dict = MP_OBJ_TO_PTR (list_items [i ]);
232
+
233
+ store_dict_int (dict , "data" , info .data [i ]);
234
+ store_dict_int (dict , "baseline" , info .baseline [i ]);
235
+ store_dict_int (dict , "touch" , info .touch [i ]);
236
+ store_dict_int (dict , "release" , info .release [i ]);
233
237
}
234
238
mp_obj_t list = mp_obj_new_list (8 , list_items );
235
239
return list ;
0 commit comments