summaryrefslogtreecommitdiff
path: root/shared-bindings/rotaryio/IncrementalEncoder.c
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2019-06-12 01:00:59 -0700
committerScott Shawcroft <scott@tannewt.org>2019-06-12 11:36:43 -0700
commita35d9b469d4ed65fd992771aa98ac57241983794 (patch)
tree32dc9fc2dafd4ba1ff8d7982f4cb94ca1d68fa32 /shared-bindings/rotaryio/IncrementalEncoder.c
parent6db4f4575420ef09faef244f8d3437884d939345 (diff)
Refactor deinit check to reduce code size.
Diffstat (limited to 'shared-bindings/rotaryio/IncrementalEncoder.c')
-rw-r--r--shared-bindings/rotaryio/IncrementalEncoder.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/shared-bindings/rotaryio/IncrementalEncoder.c b/shared-bindings/rotaryio/IncrementalEncoder.c
index 5d2264ffc..f2f157847 100644
--- a/shared-bindings/rotaryio/IncrementalEncoder.c
+++ b/shared-bindings/rotaryio/IncrementalEncoder.c
@@ -100,6 +100,12 @@ STATIC mp_obj_t rotaryio_incrementalencoder_deinit(mp_obj_t self_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(rotaryio_incrementalencoder_deinit_obj, rotaryio_incrementalencoder_deinit);
+STATIC void check_for_deinit(rotaryio_incrementalencoder_obj_t *self) {
+ if (common_hal_rotaryio_incrementalencoder_deinited(self)) {
+ raise_deinited_error();
+ }
+}
+
//| .. method:: __enter__()
//|
//| No-op used by Context Managers.
@@ -126,7 +132,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(rotaryio_incrementalencoder___exit___
//|
STATIC mp_obj_t rotaryio_incrementalencoder_obj_get_position(mp_obj_t self_in) {
rotaryio_incrementalencoder_obj_t *self = MP_OBJ_TO_PTR(self_in);
- raise_error_if_deinited(common_hal_rotaryio_incrementalencoder_deinited(self));
+ check_for_deinit(self);
return mp_obj_new_int(common_hal_rotaryio_incrementalencoder_get_position(self));
}
@@ -134,7 +140,7 @@ MP_DEFINE_CONST_FUN_OBJ_1(rotaryio_incrementalencoder_get_position_obj, rotaryio
STATIC mp_obj_t rotaryio_incrementalencoder_obj_set_position(mp_obj_t self_in, mp_obj_t new_position) {
rotaryio_incrementalencoder_obj_t *self = MP_OBJ_TO_PTR(self_in);
- raise_error_if_deinited(common_hal_rotaryio_incrementalencoder_deinited(self));
+ check_for_deinit(self);
common_hal_rotaryio_incrementalencoder_set_position(self, mp_obj_get_int(new_position));
return mp_const_none;