Skip to content

Commit 5a79e13

Browse files
committed
add, use a default exit object
This just delegates to .deinit(). Also, reuse "identity_obj" for default __enter__. Saves about 800 bytes on metro rp2350.
1 parent 4ba872c commit 5a79e13

File tree

46 files changed

+90
-267
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+90
-267
lines changed

ports/espressif/bindings/espnow/ESPNow.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,7 @@ static MP_DEFINE_CONST_FUN_OBJ_1(espnow_deinit_obj, espnow_deinit);
9292
//| :ref:`lifetime-and-contextmanagers` for more info."""
9393
//| ...
9494
//|
95-
static mp_obj_t espnow_obj___exit__(size_t n_args, const mp_obj_t *args) {
96-
(void)n_args;
97-
return espnow_deinit(args[0]);
98-
}
99-
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(espnow___exit___obj, 4, 4, espnow_obj___exit__);
95+
// Provided by context manager helper.
10096

10197
// --- Send and Read messages ---
10298

@@ -271,7 +267,7 @@ MP_PROPERTY_GETTER(espnow_peers_obj,
271267
static const mp_rom_map_elem_t espnow_locals_dict_table[] = {
272268
// Context managers
273269
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&mp_identity_obj) },
274-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&espnow___exit___obj) },
270+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
275271

276272
// Deinit the object
277273
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&espnow_deinit_obj) },

ports/espressif/bindings/espulp/ULP.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ MP_PROPERTY_GETTER(espulp_ulp_arch_obj,
189189
static const mp_rom_map_elem_t espulp_ulp_locals_table[] = {
190190
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&espulp_ulp_deinit_obj) },
191191
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&mp_identity_obj) },
192-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&espulp_ulp___exit___obj) },
192+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
193193
{ MP_ROM_QSTR(MP_QSTR_set_wakeup_period), MP_ROM_PTR(&espulp_ulp_set_wakeup_period_obj) },
194194
{ MP_ROM_QSTR(MP_QSTR_run), MP_ROM_PTR(&espulp_ulp_run_obj) },
195195
{ MP_ROM_QSTR(MP_QSTR_halt), MP_ROM_PTR(&espulp_ulp_halt_obj) },

shared-bindings/analogbufio/BufferedIn.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,7 @@ static void check_for_deinit(analogbufio_bufferedin_obj_t *self) {
9191
//| :ref:`lifetime-and-contextmanagers` for more info."""
9292
//| ...
9393
//|
94-
static mp_obj_t analogbufio_bufferedin___exit__(size_t n_args, const mp_obj_t *args) {
95-
(void)n_args;
96-
common_hal_analogbufio_bufferedin_deinit(args[0]);
97-
return mp_const_none;
98-
}
99-
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(analogbufio_bufferedin___exit___obj, 4, 4, analogbufio_bufferedin___exit__);
94+
// Provided by context manager helper.
10095

10196
//| def readinto(self, buffer: WriteableBuffer, loop: bool = False) -> int:
10297
//| """Fills the provided buffer with ADC voltage values.
@@ -144,7 +139,7 @@ static const mp_rom_map_elem_t analogbufio_bufferedin_locals_dict_table[] = {
144139
{ MP_ROM_QSTR(MP_QSTR___del__), MP_ROM_PTR(&analogbufio_bufferedin_deinit_obj) },
145140
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&analogbufio_bufferedin_deinit_obj) },
146141
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
147-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&analogbufio_bufferedin___exit___obj) },
142+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
148143
{ MP_ROM_QSTR(MP_QSTR_readinto), MP_ROM_PTR(&analogbufio_bufferedin_readinto_obj)},
149144
};
150145

shared-bindings/analogio/AnalogIn.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,7 @@ static void check_for_deinit(analogio_analogin_obj_t *self) {
8787
//| :ref:`lifetime-and-contextmanagers` for more info."""
8888
//| ...
8989
//|
90-
static mp_obj_t analogio_analogin___exit__(size_t n_args, const mp_obj_t *args) {
91-
(void)n_args;
92-
common_hal_analogio_analogin_deinit(args[0]);
93-
return mp_const_none;
94-
}
95-
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(analogio_analogin___exit___obj, 4, 4, analogio_analogin___exit__);
90+
// Provided by context manager helper.
9691

9792
//| value: int
9893
//| """The value on the analog pin between 0 and 65535 inclusive (16-bit). (read-only)
@@ -135,7 +130,7 @@ MP_PROPERTY_GETTER(analogio_analogin_reference_voltage_obj,
135130
static const mp_rom_map_elem_t analogio_analogin_locals_dict_table[] = {
136131
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&analogio_analogin_deinit_obj) },
137132
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
138-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&analogio_analogin___exit___obj) },
133+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
139134
{ MP_ROM_QSTR(MP_QSTR_value), MP_ROM_PTR(&analogio_analogin_value_obj)},
140135
{ MP_ROM_QSTR(MP_QSTR_reference_voltage), MP_ROM_PTR(&analogio_analogin_reference_voltage_obj)},
141136
};

shared-bindings/analogio/AnalogOut.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,7 @@ static MP_DEFINE_CONST_FUN_OBJ_1(analogio_analogout_deinit_obj, analogio_analogo
7373
//| :ref:`lifetime-and-contextmanagers` for more info."""
7474
//| ...
7575
//|
76-
static mp_obj_t analogio_analogout___exit__(size_t n_args, const mp_obj_t *args) {
77-
(void)n_args;
78-
common_hal_analogio_analogout_deinit(args[0]);
79-
return mp_const_none;
80-
}
81-
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(analogio_analogout___exit___obj, 4, 4, analogio_analogout___exit__);
76+
// Provided by context manager helper.
8277

8378
//| value: int
8479
//| """The value on the analog pin between 0 and 65535 inclusive (16-bit). (write-only)
@@ -107,7 +102,7 @@ static const mp_rom_map_elem_t analogio_analogout_locals_dict_table[] = {
107102
// instance methods
108103
{ MP_OBJ_NEW_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&analogio_analogout_deinit_obj) },
109104
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
110-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&analogio_analogout___exit___obj) },
105+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
111106

112107
// Properties
113108
{ MP_OBJ_NEW_QSTR(MP_QSTR_value), (mp_obj_t)&analogio_analogout_value_obj },

shared-bindings/audiobusio/I2SOut.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,12 +135,7 @@ static void check_for_deinit(audiobusio_i2sout_obj_t *self) {
135135
//| :ref:`lifetime-and-contextmanagers` for more info."""
136136
//| ...
137137
//|
138-
static mp_obj_t audiobusio_i2sout_obj___exit__(size_t n_args, const mp_obj_t *args) {
139-
(void)n_args;
140-
common_hal_audiobusio_i2sout_deinit(args[0]);
141-
return mp_const_none;
142-
}
143-
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(audiobusio_i2sout___exit___obj, 4, 4, audiobusio_i2sout_obj___exit__);
138+
// Provided by context manager helper.
144139

145140

146141
//| def play(self, sample: circuitpython_typing.AudioSample, *, loop: bool = False) -> None:
@@ -248,7 +243,7 @@ static const mp_rom_map_elem_t audiobusio_i2sout_locals_dict_table[] = {
248243
{ MP_ROM_QSTR(MP_QSTR___del__), MP_ROM_PTR(&audiobusio_i2sout_deinit_obj) },
249244
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&audiobusio_i2sout_deinit_obj) },
250245
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
251-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&audiobusio_i2sout___exit___obj) },
246+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
252247
{ MP_ROM_QSTR(MP_QSTR_play), MP_ROM_PTR(&audiobusio_i2sout_play_obj) },
253248
{ MP_ROM_QSTR(MP_QSTR_stop), MP_ROM_PTR(&audiobusio_i2sout_stop_obj) },
254249
{ MP_ROM_QSTR(MP_QSTR_pause), MP_ROM_PTR(&audiobusio_i2sout_pause_obj) },

shared-bindings/audiobusio/PDMIn.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,7 @@ static void check_for_deinit(audiobusio_pdmin_obj_t *self) {
152152
//| """Automatically deinitializes the hardware when exiting a context."""
153153
//| ...
154154
//|
155-
static mp_obj_t audiobusio_pdmin_obj___exit__(size_t n_args, const mp_obj_t *args) {
156-
(void)n_args;
157-
common_hal_audiobusio_pdmin_deinit(args[0]);
158-
return mp_const_none;
159-
}
160-
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(audiobusio_pdmin___exit___obj, 4, 4, audiobusio_pdmin_obj___exit__);
155+
// Provided by context manager helper.
161156

162157

163158
//| def record(self, destination: WriteableBuffer, destination_length: int) -> None:
@@ -220,7 +215,7 @@ static const mp_rom_map_elem_t audiobusio_pdmin_locals_dict_table[] = {
220215
{ MP_ROM_QSTR(MP_QSTR___del__), MP_ROM_PTR(&audiobusio_pdmin_deinit_obj) },
221216
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&audiobusio_pdmin_deinit_obj) },
222217
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
223-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&audiobusio_pdmin___exit___obj) },
218+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
224219
{ MP_ROM_QSTR(MP_QSTR_record), MP_ROM_PTR(&audiobusio_pdmin_record_obj) },
225220
{ MP_ROM_QSTR(MP_QSTR_sample_rate), MP_ROM_PTR(&audiobusio_pdmin_sample_rate_obj) }
226221
};

shared-bindings/audiocore/RawSample.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,7 @@ static void check_for_deinit(audioio_rawsample_obj_t *self) {
137137
//| :ref:`lifetime-and-contextmanagers` for more info."""
138138
//| ...
139139
//|
140-
static mp_obj_t audioio_rawsample_obj___exit__(size_t n_args, const mp_obj_t *args) {
141-
(void)n_args;
142-
common_hal_audioio_rawsample_deinit(args[0]);
143-
return mp_const_none;
144-
}
145-
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(audioio_rawsample___exit___obj, 4, 4, audioio_rawsample_obj___exit__);
140+
// Provided by context manager helper.
146141

147142
//| sample_rate: Optional[int]
148143
//| """32 bit value that dictates how quickly samples are played in Hertz (cycles per second).
@@ -174,7 +169,7 @@ static const mp_rom_map_elem_t audioio_rawsample_locals_dict_table[] = {
174169
// Methods
175170
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&audioio_rawsample_deinit_obj) },
176171
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
177-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&audioio_rawsample___exit___obj) },
172+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
178173

179174
// Properties
180175
{ MP_ROM_QSTR(MP_QSTR_sample_rate), MP_ROM_PTR(&audioio_rawsample_sample_rate_obj) },

shared-bindings/audiocore/WaveFile.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,7 @@ static void check_for_deinit(audioio_wavefile_obj_t *self) {
105105
//| :ref:`lifetime-and-contextmanagers` for more info."""
106106
//| ...
107107
//|
108-
static mp_obj_t audioio_wavefile_obj___exit__(size_t n_args, const mp_obj_t *args) {
109-
(void)n_args;
110-
common_hal_audioio_wavefile_deinit(args[0]);
111-
return mp_const_none;
112-
}
113-
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(audioio_wavefile___exit___obj, 4, 4, audioio_wavefile_obj___exit__);
108+
// Provided by context manager helper.
114109

115110
//| sample_rate: int
116111
//| """32 bit value that dictates how quickly samples are loaded into the DAC
@@ -165,7 +160,7 @@ static const mp_rom_map_elem_t audioio_wavefile_locals_dict_table[] = {
165160
// Methods
166161
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&audioio_wavefile_deinit_obj) },
167162
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
168-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&audioio_wavefile___exit___obj) },
163+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
169164

170165
// Properties
171166
{ MP_ROM_QSTR(MP_QSTR_sample_rate), MP_ROM_PTR(&audioio_wavefile_sample_rate_obj) },

shared-bindings/audiodelays/Echo.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,7 @@ static void check_for_deinit(audiodelays_echo_obj_t *self) {
138138
//| :ref:`lifetime-and-contextmanagers` for more info."""
139139
//| ...
140140
//|
141-
static mp_obj_t audiodelays_echo_obj___exit__(size_t n_args, const mp_obj_t *args) {
142-
(void)n_args;
143-
common_hal_audiodelays_echo_deinit(args[0]);
144-
return mp_const_none;
145-
}
146-
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(audiodelays_echo___exit___obj, 4, 4, audiodelays_echo_obj___exit__);
141+
// Provided by context manager helper.
147142

148143

149144
//| delay_ms: synthio.BlockInput
@@ -282,7 +277,7 @@ static const mp_rom_map_elem_t audiodelays_echo_locals_dict_table[] = {
282277
// Methods
283278
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&audiodelays_echo_deinit_obj) },
284279
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
285-
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&audiodelays_echo___exit___obj) },
280+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&default___exit___obj) },
286281
{ MP_ROM_QSTR(MP_QSTR_play), MP_ROM_PTR(&audiodelays_echo_play_obj) },
287282
{ MP_ROM_QSTR(MP_QSTR_stop), MP_ROM_PTR(&audiodelays_echo_stop_obj) },
288283

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy