BME280: Check read status and throw error on fail.

patch-jpegdec-filename
Phil Howard 2023-03-13 12:35:39 +00:00
rodzic bcebccca1d
commit 1f0302bd66
1 zmienionych plików z 9 dodań i 5 usunięć

Wyświetl plik

@ -48,6 +48,7 @@ mp_obj_t BreakoutBME280_read(mp_obj_t self_in) {
breakout_bme280_BreakoutBME280_obj_t *self = MP_OBJ_TO_PTR2(self_in, breakout_bme280_BreakoutBME280_obj_t); breakout_bme280_BreakoutBME280_obj_t *self = MP_OBJ_TO_PTR2(self_in, breakout_bme280_BreakoutBME280_obj_t);
BME280::bme280_reading result = self->breakout->read_forced(); BME280::bme280_reading result = self->breakout->read_forced();
if(result.status) {
mp_obj_t tuple[3]; mp_obj_t tuple[3];
tuple[0] = mp_obj_new_float(result.temperature); tuple[0] = mp_obj_new_float(result.temperature);
tuple[1] = mp_obj_new_float(result.pressure); tuple[1] = mp_obj_new_float(result.pressure);
@ -55,6 +56,9 @@ mp_obj_t BreakoutBME280_read(mp_obj_t self_in) {
return mp_obj_new_tuple(3, tuple); return mp_obj_new_tuple(3, tuple);
} }
mp_raise_msg(&mp_type_RuntimeError, "BME280: read failed.");
}
mp_obj_t BreakoutBME280_configure(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { mp_obj_t BreakoutBME280_configure(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
enum { ARG_self, ARG_filter, ARG_standby_time, ARG_os_pressure, ARG_os_temp, ARG_os_humidity, ARG_mode }; enum { ARG_self, ARG_filter, ARG_standby_time, ARG_os_pressure, ARG_os_temp, ARG_os_humidity, ARG_mode };
static const mp_arg_t allowed_args[] = { static const mp_arg_t allowed_args[] = {