@@ -89,16 +89,22 @@ static mp_obj_t qspibus_qspibus_make_new(const mp_obj_type_t *type, size_t n_arg
8989 return MP_OBJ_FROM_PTR (self );
9090}
9191
92- //| def deinit(self) -> None:
93- //| """Release QSPI bus resources and claimed pins."""
92+ //| def reset(self) -> None:
93+ //| """Perform a hardware reset using the reset pin.
94+ //|
95+ //| :raises RuntimeError: if no reset pin was provided at construction.
96+ //| """
9497//| ...
9598//|
96- static mp_obj_t qspibus_qspibus_deinit (mp_obj_t self_in ) {
99+ static mp_obj_t qspibus_qspibus_obj_reset (mp_obj_t self_in ) {
97100 qspibus_qspibus_obj_t * self = MP_OBJ_TO_PTR (self_in );
98- common_hal_qspibus_qspibus_deinit (self );
101+ check_for_deinit (self );
102+ if (!common_hal_qspibus_qspibus_reset (MP_OBJ_FROM_PTR (self ))) {
103+ mp_raise_RuntimeError_varg (MP_ERROR_TEXT ("No %q pin" ), MP_QSTR_reset );
104+ }
99105 return mp_const_none ;
100106}
101- static MP_DEFINE_CONST_FUN_OBJ_1 (qspibus_qspibus_deinit_obj , qspibus_qspibus_deinit ) ;
107+ static MP_DEFINE_CONST_FUN_OBJ_1 (qspibus_qspibus_reset_obj , qspibus_qspibus_obj_reset ) ;
102108
103109//| def send(self, command: int, data: ReadableBuffer = b"") -> None:
104110//| """Send command with optional payload bytes.
@@ -178,38 +184,11 @@ static mp_obj_t qspibus_qspibus_write_data(mp_obj_t self_in, mp_obj_t data_obj)
178184}
179185MP_DEFINE_CONST_FUN_OBJ_2 (qspibus_qspibus_write_data_obj , qspibus_qspibus_write_data );
180186
181- //| def __enter__(self) -> QSPIBus:
182- //| """No-op context manager entry."""
183- //| ...
184- //|
185- static mp_obj_t qspibus_qspibus___enter__ (mp_obj_t self_in ) {
186- return self_in ;
187- }
188- static MP_DEFINE_CONST_FUN_OBJ_1 (qspibus_qspibus___enter___obj , qspibus_qspibus___enter__ ) ;
189-
190- //| def __exit__(
191- //| self,
192- //| exc_type: type[BaseException] | None,
193- //| exc_value: BaseException | None,
194- //| traceback: TracebackType | None,
195- //| ) -> None:
196- //| """Deinitialize on context manager exit."""
197- //| ...
198- //|
199- static mp_obj_t qspibus_qspibus___exit__ (size_t n_args , const mp_obj_t * args ) {
200- (void )n_args ;
201- common_hal_qspibus_qspibus_deinit (MP_OBJ_TO_PTR (args [0 ]));
202- return mp_const_none ;
203- }
204- static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (qspibus_qspibus___exit___obj , 4 , 4 , qspibus_qspibus___exit__ ) ;
205-
206187static const mp_rom_map_elem_t qspibus_qspibus_locals_dict_table [] = {
207- { MP_ROM_QSTR (MP_QSTR_deinit ), MP_ROM_PTR (& qspibus_qspibus_deinit_obj ) },
188+ { MP_ROM_QSTR (MP_QSTR_reset ), MP_ROM_PTR (& qspibus_qspibus_reset_obj ) },
208189 { MP_ROM_QSTR (MP_QSTR_send ), MP_ROM_PTR (& qspibus_qspibus_send_obj ) },
209190 { MP_ROM_QSTR (MP_QSTR_write_command ), MP_ROM_PTR (& qspibus_qspibus_write_command_obj ) },
210191 { MP_ROM_QSTR (MP_QSTR_write_data ), MP_ROM_PTR (& qspibus_qspibus_write_data_obj ) },
211- { MP_ROM_QSTR (MP_QSTR___enter__ ), MP_ROM_PTR (& qspibus_qspibus___enter___obj ) },
212- { MP_ROM_QSTR (MP_QSTR___exit__ ), MP_ROM_PTR (& qspibus_qspibus___exit___obj ) },
213192};
214193static MP_DEFINE_CONST_DICT (qspibus_qspibus_locals_dict , qspibus_qspibus_locals_dict_table ) ;
215194
0 commit comments