@@ -76,22 +76,23 @@ STATIC mp_obj_t busdevice_i2cdevice_make_new(const mp_obj_type_t *type, size_t n
76
76
77
77
busio_i2c_obj_t * i2c = args [ARG_i2c ].u_obj ;
78
78
79
- common_hal_busdevice_i2cdevice_construct (self , i2c , args [ARG_device_address ].u_int , args [ ARG_probe ]. u_bool );
79
+ common_hal_busdevice_i2cdevice_construct (MP_OBJ_TO_PTR ( self ) , i2c , args [ARG_device_address ].u_int );
80
80
if (args [ARG_probe ].u_bool == true) {
81
- common_hal_busdevice_i2cdevice___probe_for_device (self );
81
+ common_hal_busdevice_i2cdevice_probe_for_device (self );
82
82
}
83
83
84
84
return (mp_obj_t )self ;
85
85
}
86
86
87
87
STATIC mp_obj_t busdevice_i2cdevice_obj___enter__ (mp_obj_t self_in ) {
88
- common_hal_busdevice_i2cdevice_lock (self_in );
89
- return self_in ;
88
+ busdevice_i2cdevice_obj_t * self = MP_OBJ_TO_PTR (self_in );
89
+ common_hal_busdevice_i2cdevice_lock (self );
90
+ return self ;
90
91
}
91
92
STATIC MP_DEFINE_CONST_FUN_OBJ_1 (busdevice_i2cdevice___enter___obj , busdevice_i2cdevice_obj___enter__ );
92
93
93
94
STATIC mp_obj_t busdevice_i2cdevice_obj___exit__ (size_t n_args , const mp_obj_t * args ) {
94
- common_hal_busdevice_i2cdevice_unlock (args [0 ]);
95
+ common_hal_busdevice_i2cdevice_unlock (MP_OBJ_TO_PTR ( args [0 ]) );
95
96
return mp_const_none ;
96
97
}
97
98
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (busdevice_i2cdevice___exit___obj , 4 , 4 , busdevice_i2cdevice_obj___exit__ );
@@ -118,7 +119,7 @@ STATIC void readinto(busdevice_i2cdevice_obj_t *self, mp_obj_t buffer, int32_t s
118
119
mp_raise_ValueError (translate ("Buffer must be at least length 1" ));
119
120
}
120
121
121
- uint8_t status = common_hal_busdevice_i2cdevice_readinto (self , ((uint8_t * )bufinfo .buf ) + start , length );
122
+ uint8_t status = common_hal_busdevice_i2cdevice_readinto (MP_OBJ_TO_PTR ( self ) , ((uint8_t * )bufinfo .buf ) + start , length );
122
123
if (status != 0 ) {
123
124
mp_raise_OSError (status );
124
125
}
@@ -127,7 +128,7 @@ STATIC void readinto(busdevice_i2cdevice_obj_t *self, mp_obj_t buffer, int32_t s
127
128
STATIC mp_obj_t busdevice_i2cdevice_readinto (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args ) {
128
129
enum { ARG_buffer , ARG_start , ARG_end };
129
130
static const mp_arg_t allowed_args [] = {
130
- { MP_QSTR_buffer , MP_ARG_REQUIRED | MP_ARG_OBJ , {. u_obj = MP_OBJ_NULL } },
131
+ { MP_QSTR_buffer , MP_ARG_REQUIRED | MP_ARG_OBJ },
131
132
{ MP_QSTR_start , MP_ARG_KW_ONLY | MP_ARG_INT , {.u_int = 0 } },
132
133
{ MP_QSTR_end , MP_ARG_KW_ONLY | MP_ARG_INT , {.u_int = INT_MAX } },
133
134
};
@@ -165,7 +166,7 @@ STATIC void write(busdevice_i2cdevice_obj_t *self, mp_obj_t buffer, int32_t star
165
166
mp_raise_ValueError (translate ("Buffer must be at least length 1" ));
166
167
}
167
168
168
- uint8_t status = common_hal_busdevice_i2cdevice_write (self , ((uint8_t * )bufinfo .buf ) + start , length );
169
+ uint8_t status = common_hal_busdevice_i2cdevice_write (MP_OBJ_TO_PTR ( self ) , ((uint8_t * )bufinfo .buf ) + start , length );
169
170
if (status != 0 ) {
170
171
mp_raise_OSError (status );
171
172
}
@@ -174,7 +175,7 @@ STATIC void write(busdevice_i2cdevice_obj_t *self, mp_obj_t buffer, int32_t star
174
175
STATIC mp_obj_t busdevice_i2cdevice_write (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args ) {
175
176
enum { ARG_buffer , ARG_start , ARG_end };
176
177
static const mp_arg_t allowed_args [] = {
177
- { MP_QSTR_buffer , MP_ARG_REQUIRED | MP_ARG_OBJ , {. u_obj = MP_OBJ_NULL } },
178
+ { MP_QSTR_buffer , MP_ARG_REQUIRED | MP_ARG_OBJ },
178
179
{ MP_QSTR_start , MP_ARG_KW_ONLY | MP_ARG_INT , {.u_int = 0 } },
179
180
{ MP_QSTR_end , MP_ARG_KW_ONLY | MP_ARG_INT , {.u_int = INT_MAX } },
180
181
};
@@ -214,8 +215,8 @@ MP_DEFINE_CONST_FUN_OBJ_KW(busdevice_i2cdevice_write_obj, 2, busdevice_i2cdevice
214
215
STATIC mp_obj_t busdevice_i2cdevice_write_then_readinto (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args ) {
215
216
enum { ARG_out_buffer , ARG_in_buffer , ARG_out_start , ARG_out_end , ARG_in_start , ARG_in_end };
216
217
static const mp_arg_t allowed_args [] = {
217
- { MP_QSTR_out_buffer , MP_ARG_REQUIRED | MP_ARG_OBJ , {. u_obj = MP_OBJ_NULL } },
218
- { MP_QSTR_in_buffer , MP_ARG_REQUIRED | MP_ARG_OBJ , {. u_obj = MP_OBJ_NULL } },
218
+ { MP_QSTR_out_buffer , MP_ARG_REQUIRED | MP_ARG_OBJ },
219
+ { MP_QSTR_in_buffer , MP_ARG_REQUIRED | MP_ARG_OBJ },
219
220
{ MP_QSTR_out_start , MP_ARG_KW_ONLY | MP_ARG_INT , {.u_int = 0 } },
220
221
{ MP_QSTR_out_end , MP_ARG_KW_ONLY | MP_ARG_INT , {.u_int = INT_MAX } },
221
222
{ MP_QSTR_in_start , MP_ARG_KW_ONLY | MP_ARG_INT , {.u_int = 0 } },
@@ -234,31 +235,14 @@ STATIC mp_obj_t busdevice_i2cdevice_write_then_readinto(size_t n_args, const mp_
234
235
}
235
236
MP_DEFINE_CONST_FUN_OBJ_KW (busdevice_i2cdevice_write_then_readinto_obj , 3 , busdevice_i2cdevice_write_then_readinto );
236
237
237
- //| def __probe_for_device(self):
238
- //| """
239
- //| Try to read a byte from an address,
240
- //| if you get an OSError it means the device is not there
241
- //| or that the device does not support these means of probing
242
- //| """
243
- //| ...
244
- //|
245
- STATIC mp_obj_t busdevice_i2cdevice___probe_for_device (mp_obj_t self_in ) {
246
- busdevice_i2cdevice_obj_t * self = self_in ;
247
- common_hal_busdevice_i2cdevice___probe_for_device (self );
248
- return mp_const_none ;
249
- }
250
- MP_DEFINE_CONST_FUN_OBJ_1 (busdevice_i2cdevice___probe_for_device_obj , busdevice_i2cdevice___probe_for_device );
251
-
252
238
STATIC const mp_rom_map_elem_t busdevice_i2cdevice_locals_dict_table [] = {
253
239
{ MP_ROM_QSTR (MP_QSTR___enter__ ), MP_ROM_PTR (& busdevice_i2cdevice___enter___obj ) },
254
240
{ MP_ROM_QSTR (MP_QSTR___exit__ ), MP_ROM_PTR (& busdevice_i2cdevice___exit___obj ) },
255
241
{ MP_ROM_QSTR (MP_QSTR_readinto ), MP_ROM_PTR (& busdevice_i2cdevice_readinto_obj ) },
256
242
{ MP_ROM_QSTR (MP_QSTR_write ), MP_ROM_PTR (& busdevice_i2cdevice_write_obj ) },
257
243
{ MP_ROM_QSTR (MP_QSTR_write_then_readinto ), MP_ROM_PTR (& busdevice_i2cdevice_write_then_readinto_obj ) },
258
- { MP_ROM_QSTR (MP_QSTR___probe_for_device ), MP_ROM_PTR (& busdevice_i2cdevice___probe_for_device_obj ) },
259
244
};
260
245
261
-
262
246
STATIC MP_DEFINE_CONST_DICT (busdevice_i2cdevice_locals_dict , busdevice_i2cdevice_locals_dict_table );
263
247
264
248
const mp_obj_type_t busdevice_i2cdevice_type = {
0 commit comments