@@ -85,9 +85,9 @@ STATIC mp_obj_t busio_i2c_make_new(const mp_obj_type_t *type, size_t n_args, con
85
85
return (mp_obj_t )self ;
86
86
}
87
87
88
- //| def deinit(self, ) -> Any:
89
- //| """Releases control of the underlying hardware so other classes can use it."""
90
- //| ...
88
+ //| def deinit(self, ) -> Any:
89
+ //| """Releases control of the underlying hardware so other classes can use it."""
90
+ //| ...
91
91
STATIC mp_obj_t busio_i2c_obj_deinit (mp_obj_t self_in ) {
92
92
busio_i2c_obj_t * self = MP_OBJ_TO_PTR (self_in );
93
93
common_hal_busio_i2c_deinit (self );
@@ -101,15 +101,15 @@ STATIC void check_for_deinit(busio_i2c_obj_t *self) {
101
101
}
102
102
}
103
103
104
- //| def __enter__(self, ) -> Any:
105
- //| """No-op used in Context Managers."""
106
- //| ...
104
+ //| def __enter__(self, ) -> Any:
105
+ //| """No-op used in Context Managers."""
106
+ //| ...
107
107
// Provided by context manager helper.
108
108
109
- //| def __exit__(self, ) -> Any:
110
- //| """Automatically deinitializes the hardware on context exit. See
111
- //| :ref:`lifetime-and-contextmanagers` for more info."""
112
- //| ...
109
+ //| def __exit__(self, ) -> Any:
110
+ //| """Automatically deinitializes the hardware on context exit. See
111
+ //| :ref:`lifetime-and-contextmanagers` for more info."""
112
+ //| ...
113
113
STATIC mp_obj_t busio_i2c_obj___exit__ (size_t n_args , const mp_obj_t * args ) {
114
114
(void )n_args ;
115
115
common_hal_busio_i2c_deinit (args [0 ]);
@@ -124,14 +124,14 @@ static void check_lock(busio_i2c_obj_t *self) {
124
124
}
125
125
}
126
126
127
- //| def scan(self, ) -> Any:
127
+ //| def scan(self, ) -> Any:
128
128
//|
129
- //| """Scan all I2C addresses between 0x08 and 0x77 inclusive and return a
130
- //| list of those that respond.
129
+ //| """Scan all I2C addresses between 0x08 and 0x77 inclusive and return a
130
+ //| list of those that respond.
131
131
//|
132
- //| :return: List of device ids on the I2C bus
133
- //| :rtype: list"""
134
- //| ...
132
+ //| :return: List of device ids on the I2C bus
133
+ //| :rtype: list"""
134
+ //| ...
135
135
STATIC mp_obj_t busio_i2c_scan (mp_obj_t self_in ) {
136
136
busio_i2c_obj_t * self = MP_OBJ_TO_PTR (self_in );
137
137
check_for_deinit (self );
@@ -148,22 +148,22 @@ STATIC mp_obj_t busio_i2c_scan(mp_obj_t self_in) {
148
148
}
149
149
MP_DEFINE_CONST_FUN_OBJ_1 (busio_i2c_scan_obj , busio_i2c_scan );
150
150
151
- //| def try_lock(self, ) -> Any:
152
- //| """Attempts to grab the I2C lock. Returns True on success.
151
+ //| def try_lock(self, ) -> Any:
152
+ //| """Attempts to grab the I2C lock. Returns True on success.
153
153
//|
154
- //| :return: True when lock has been grabbed
155
- //| :rtype: bool"""
156
- //| ...
154
+ //| :return: True when lock has been grabbed
155
+ //| :rtype: bool"""
156
+ //| ...
157
157
STATIC mp_obj_t busio_i2c_obj_try_lock (mp_obj_t self_in ) {
158
158
busio_i2c_obj_t * self = MP_OBJ_TO_PTR (self_in );
159
159
check_for_deinit (self );
160
160
return mp_obj_new_bool (common_hal_busio_i2c_try_lock (self ));
161
161
}
162
162
MP_DEFINE_CONST_FUN_OBJ_1 (busio_i2c_try_lock_obj , busio_i2c_obj_try_lock );
163
163
164
- //| def unlock(self, ) -> Any:
165
- //| """Releases the I2C lock."""
166
- //| ...
164
+ //| def unlock(self, ) -> Any:
165
+ //| """Releases the I2C lock."""
166
+ //| ...
167
167
STATIC mp_obj_t busio_i2c_obj_unlock (mp_obj_t self_in ) {
168
168
busio_i2c_obj_t * self = MP_OBJ_TO_PTR (self_in );
169
169
check_for_deinit (self );
@@ -172,20 +172,20 @@ STATIC mp_obj_t busio_i2c_obj_unlock(mp_obj_t self_in) {
172
172
}
173
173
MP_DEFINE_CONST_FUN_OBJ_1 (busio_i2c_unlock_obj , busio_i2c_obj_unlock );
174
174
175
- //| def readfrom_into(self, address: int, buffer: bytearray, *, start: int = 0, end: int = None) -> Any:
176
- //| """Read into ``buffer`` from the slave specified by ``address``.
177
- //| The number of bytes read will be the length of ``buffer``.
178
- //| At least one byte must be read.
175
+ //| def readfrom_into(self, address: int, buffer: bytearray, *, start: int = 0, end: int = None) -> Any:
176
+ //| """Read into ``buffer`` from the slave specified by ``address``.
177
+ //| The number of bytes read will be the length of ``buffer``.
178
+ //| At least one byte must be read.
179
179
//|
180
- //| If ``start`` or ``end`` is provided, then the buffer will be sliced
181
- //| as if ``buffer[start:end]``. This will not cause an allocation like
182
- //| ``buf[start:end]`` will so it saves memory.
180
+ //| If ``start`` or ``end`` is provided, then the buffer will be sliced
181
+ //| as if ``buffer[start:end]``. This will not cause an allocation like
182
+ //| ``buf[start:end]`` will so it saves memory.
183
183
//|
184
- //| :param int address: 7-bit device address
185
- //| :param bytearray buffer: buffer to write into
186
- //| :param int start: Index to start writing at
187
- //| :param int end: Index to write up to but not include. Defaults to ``len(buffer)``"""
188
- //| ...
184
+ //| :param int address: 7-bit device address
185
+ //| :param bytearray buffer: buffer to write into
186
+ //| :param int start: Index to start writing at
187
+ //| :param int end: Index to write up to but not include. Defaults to ``len(buffer)``"""
188
+ //| ...
189
189
// Shared arg parsing for readfrom_into and writeto_then_readfrom.
190
190
STATIC void readfrom (busio_i2c_obj_t * self , mp_int_t address , mp_obj_t buffer , int32_t start , mp_int_t end ) {
191
191
mp_buffer_info_t bufinfo ;
@@ -223,26 +223,26 @@ STATIC mp_obj_t busio_i2c_readfrom_into(size_t n_args, const mp_obj_t *pos_args,
223
223
}
224
224
MP_DEFINE_CONST_FUN_OBJ_KW (busio_i2c_readfrom_into_obj , 3 , busio_i2c_readfrom_into );
225
225
226
- //| def writeto(self, address: int, buffer: bytearray, *, start: int = 0, end: int = None, stop: bool = True) -> Any:
227
- //| """Write the bytes from ``buffer`` to the slave specified by ``address``.
228
- //| Transmits a stop bit when stop is True. Setting stop=False is deprecated and stop will be
229
- //| removed in CircuitPython 6.x. Use `writeto_then_readfrom` when needing a write, no stop and
230
- //| repeated start before a read.
226
+ //| def writeto(self, address: int, buffer: bytearray, *, start: int = 0, end: int = None, stop: bool = True) -> Any:
227
+ //| """Write the bytes from ``buffer`` to the slave specified by ``address``.
228
+ //| Transmits a stop bit when stop is True. Setting stop=False is deprecated and stop will be
229
+ //| removed in CircuitPython 6.x. Use `writeto_then_readfrom` when needing a write, no stop and
230
+ //| repeated start before a read.
231
231
//|
232
- //| If ``start`` or ``end`` is provided, then the buffer will be sliced
233
- //| as if ``buffer[start:end]``. This will not cause an allocation like
234
- //| ``buffer[start:end]`` will so it saves memory.
232
+ //| If ``start`` or ``end`` is provided, then the buffer will be sliced
233
+ //| as if ``buffer[start:end]``. This will not cause an allocation like
234
+ //| ``buffer[start:end]`` will so it saves memory.
235
235
//|
236
- //| Writing a buffer or slice of length zero is permitted, as it can be used
237
- //| to poll for the existence of a device.
236
+ //| Writing a buffer or slice of length zero is permitted, as it can be used
237
+ //| to poll for the existence of a device.
238
238
//|
239
- //| :param int address: 7-bit device address
240
- //| :param bytearray buffer: buffer containing the bytes to write
241
- //| :param int start: Index to start writing from
242
- //| :param int end: Index to read up to but not include. Defaults to ``len(buffer)``
243
- //| :param bool stop: If true, output an I2C stop condition after the buffer is written.
244
- //| Deprecated. Will be removed in 6.x and act as stop=True."""
245
- //| ...
239
+ //| :param int address: 7-bit device address
240
+ //| :param bytearray buffer: buffer containing the bytes to write
241
+ //| :param int start: Index to start writing from
242
+ //| :param int end: Index to read up to but not include. Defaults to ``len(buffer)``
243
+ //| :param bool stop: If true, output an I2C stop condition after the buffer is written.
244
+ //| Deprecated. Will be removed in 6.x and act as stop=True."""
245
+ //| ...
246
246
// Shared arg parsing for writeto and writeto_then_readfrom.
247
247
STATIC void writeto (busio_i2c_obj_t * self , mp_int_t address , mp_obj_t buffer , int32_t start , mp_int_t end , bool stop ) {
248
248
// get the buffer to write the data from
@@ -281,23 +281,23 @@ STATIC mp_obj_t busio_i2c_writeto(size_t n_args, const mp_obj_t *pos_args, mp_ma
281
281
}
282
282
STATIC MP_DEFINE_CONST_FUN_OBJ_KW (busio_i2c_writeto_obj , 1 , busio_i2c_writeto );
283
283
284
- //| def writeto_then_readfrom(self, address: int, out_buffer: bytearray, in_buffer: bytearray, *, out_start: int = 0, out_end: int = None, in_start: int = 0, in_end: int = None) -> Any:
285
- //| """Write the bytes from ``out_buffer`` to the slave specified by ``address``, generate no stop
286
- //| bit, generate a repeated start and read into ``in_buffer``. ``out_buffer`` and
287
- //| ``in_buffer`` can be the same buffer because they are used sequentially.
284
+ //| def writeto_then_readfrom(self, address: int, out_buffer: bytearray, in_buffer: bytearray, *, out_start: int = 0, out_end: int = None, in_start: int = 0, in_end: int = None) -> Any:
285
+ //| """Write the bytes from ``out_buffer`` to the slave specified by ``address``, generate no stop
286
+ //| bit, generate a repeated start and read into ``in_buffer``. ``out_buffer`` and
287
+ //| ``in_buffer`` can be the same buffer because they are used sequentially.
288
288
//|
289
- //| If ``start`` or ``end`` is provided, then the corresponding buffer will be sliced
290
- //| as if ``buffer[start:end]``. This will not cause an allocation like ``buf[start:end]``
291
- //| will so it saves memory.
289
+ //| If ``start`` or ``end`` is provided, then the corresponding buffer will be sliced
290
+ //| as if ``buffer[start:end]``. This will not cause an allocation like ``buf[start:end]``
291
+ //| will so it saves memory.
292
292
//|
293
- //| :param int address: 7-bit device address
294
- //| :param bytearray out_buffer: buffer containing the bytes to write
295
- //| :param bytearray in_buffer: buffer to write into
296
- //| :param int out_start: Index to start writing from
297
- //| :param int out_end: Index to read up to but not include. Defaults to ``len(buffer)``
298
- //| :param int in_start: Index to start writing at
299
- //| :param int in_end: Index to write up to but not include. Defaults to ``len(buffer)``"""
300
- //| ...
293
+ //| :param int address: 7-bit device address
294
+ //| :param bytearray out_buffer: buffer containing the bytes to write
295
+ //| :param bytearray in_buffer: buffer to write into
296
+ //| :param int out_start: Index to start writing from
297
+ //| :param int out_end: Index to read up to but not include. Defaults to ``len(buffer)``
298
+ //| :param int in_start: Index to start writing at
299
+ //| :param int in_end: Index to write up to but not include. Defaults to ``len(buffer)``"""
300
+ //| ...
301
301
STATIC mp_obj_t busio_i2c_writeto_then_readfrom (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args ) {
302
302
enum { ARG_address , ARG_out_buffer , ARG_in_buffer , ARG_out_start , ARG_out_end , ARG_in_start , ARG_in_end };
303
303
static const mp_arg_t allowed_args [] = {
0 commit comments