From d189f48e4decf7ca4f4adfc168ee1a72f3074d73 Mon Sep 17 00:00:00 2001 From: fuchsi <fuchsi@hemio.de> Date: Tue, 19 Nov 2019 23:05:46 +0100 Subject: [PATCH] fix(bhi, leds): fixed faulty error handling due to always-false unsigned comparisons --- epicardium/modules/bhi.c | 4 ++-- pycardium/modules/sys_leds.c | 4 ++-- pycardium/mphalport.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/epicardium/modules/bhi.c b/epicardium/modules/bhi.c index b88e1dc2..b04d2fd5 100644 --- a/epicardium/modules/bhi.c +++ b/epicardium/modules/bhi.c @@ -131,7 +131,7 @@ int epic_bhi160_enable_sensor( int result = 0; bhy_virtual_sensor_t vs_id = bhi160_lookup_vs_id(sensor_type); - if (vs_id < 0) { + if (vs_id == (bhy_virtual_sensor_t)-1) { return -ENODEV; } @@ -188,7 +188,7 @@ int epic_bhi160_disable_sensor(enum bhi160_sensor_type sensor_type) int result = 0; bhy_virtual_sensor_t vs_id = bhi160_lookup_vs_id(sensor_type); - if (vs_id < 0) { + if (vs_id == (bhy_virtual_sensor_t)-1) { return -ENODEV; } diff --git a/pycardium/modules/sys_leds.c b/pycardium/modules/sys_leds.c index a5f57479..16efdcc9 100644 --- a/pycardium/modules/sys_leds.c +++ b/pycardium/modules/sys_leds.c @@ -202,8 +202,8 @@ static MP_DEFINE_CONST_FUN_OBJ_2(leds_set_rocket_obj, mp_leds_set_rocket); static mp_obj_t mp_leds_get_rocket(mp_obj_t led_in) { - int led = mp_obj_get_int(led_in); - uint8_t ret = epic_leds_get_rocket(led); + int led = mp_obj_get_int(led_in); + int ret = epic_leds_get_rocket(led); if (ret == -EINVAL) { mp_raise_ValueError( "invalid value: maybe the led does not exists" diff --git a/pycardium/mphalport.c b/pycardium/mphalport.c index 95954bba..5ae9cee4 100644 --- a/pycardium/mphalport.c +++ b/pycardium/mphalport.c @@ -112,7 +112,7 @@ void epic_isr_ctrl_c(void) void mp_hal_set_interrupt_char(char c) { - if (c != -1) { + if (c != '\xFF') { mp_obj_exception_clear_traceback( MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception)) ); -- GitLab