fix(bhi, leds): fixed faulty error handling due to always-false unsigned comparisons
-Wtype-limits
revealed three errors in the firmware:
../pycardium/modules/sys_leds.c: In function 'mp_leds_get_rocket':
../pycardium/modules/sys_leds.c:207:10: warning: comparison is always false due to limited range of data type [-Wtype-limits]
207 | if (ret == -EINVAL) {
| ^~
../pycardium/mphalport.c: In function 'mp_hal_set_interrupt_char':
../pycardium/mphalport.c:115:8: warning: comparison is always true due to limited range of data type [-Wtype-limits]
115 | if (c != -1) {
| ^~
../epicardium/modules/bhi.c: In function 'epic_bhi160_enable_sensor':
../epicardium/modules/bhi.c:134:12: warning: comparison is always false due to limited range of data type [-Wtype-limits]
134 | if (vs_id < 0) {
| ^
../epicardium/modules/bhi.c: In function 'epic_bhi160_disable_sensor':
../epicardium/modules/bhi.c:191:12: warning: comparison is always false due to limited range of data type [-Wtype-limits]
191 | if (vs_id < 0) {
| ^
note, that on the target platform char
and enums are unsigned. The compiler has probably removed all of these if
s so far because the conditions were determined to always be false.