Commit f1abe3d5 authored by koalo's avatar koalo
Browse files

Working

parent 548d48fb
...@@ -39,19 +39,18 @@ STATIC mp_obj_t mp_bhi160_read_sensor(mp_obj_t stream_id_in) ...@@ -39,19 +39,18 @@ STATIC mp_obj_t mp_bhi160_read_sensor(mp_obj_t stream_id_in)
int n = epic_stream_read(sd, buf, sizeof(buf)); int n = epic_stream_read(sd, buf, sizeof(buf));
// mp_obj_list_t *list = mp_obj_new_list(0, NULL); mp_obj_list_t *list = mp_obj_new_list(0, NULL);
//for(int i = 0; i < n; i++) { for(int i = 0; i < n; i++) {
bhi160_sample_obj_t *o = m_new_obj(bhi160_sample_obj_t); bhi160_sample_obj_t *o = m_new_obj(bhi160_sample_obj_t);
o->base.type = &mp_type_bhi160_sample; o->base.type = &mp_type_bhi160_sample;
o->x = buf[0].x; o->x = buf[i].x;
o->y = buf[0].y; o->y = buf[i].y;
o->z = buf[0].z; o->z = buf[i].z;
//mp_obj_list_append(list, o); mp_obj_list_append(list, MP_OBJ_FROM_PTR(o));
//} }
//return MP_OBJ_FROM_PTR(list); return MP_OBJ_FROM_PTR(list);
return MP_OBJ_FROM_PTR(o);
} }
STATIC mp_obj_t mp_bhi160_x(mp_obj_t type) STATIC mp_obj_t mp_bhi160_x(mp_obj_t type)
...@@ -76,9 +75,9 @@ STATIC mp_obj_t mp_bhi160_z(mp_obj_t type) ...@@ -76,9 +75,9 @@ STATIC mp_obj_t mp_bhi160_z(mp_obj_t type)
static MP_DEFINE_CONST_FUN_OBJ_1(mp_bhi160_z_obj, mp_bhi160_z); static MP_DEFINE_CONST_FUN_OBJ_1(mp_bhi160_z_obj, mp_bhi160_z);
STATIC const mp_rom_map_elem_t bhi160_sample_locals_dict_table[] = { STATIC const mp_rom_map_elem_t bhi160_sample_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_get_x), MP_ROM_PTR(&mp_bhi160_x_obj) }, { MP_ROM_QSTR(MP_QSTR_x), MP_ROM_PTR(&mp_bhi160_x_obj) },
{ MP_ROM_QSTR(MP_QSTR_get_y), MP_ROM_PTR(&mp_bhi160_y_obj) }, { MP_ROM_QSTR(MP_QSTR_y), MP_ROM_PTR(&mp_bhi160_y_obj) },
{ MP_ROM_QSTR(MP_QSTR_get_z), MP_ROM_PTR(&mp_bhi160_z_obj) }, { MP_ROM_QSTR(MP_QSTR_z), MP_ROM_PTR(&mp_bhi160_z_obj) },
}; };
STATIC MP_DEFINE_CONST_DICT(bhi160_sample_locals_dict, bhi160_sample_locals_dict_table); STATIC MP_DEFINE_CONST_DICT(bhi160_sample_locals_dict, bhi160_sample_locals_dict_table);
......
...@@ -30,6 +30,20 @@ class BHI160Accelerometer: ...@@ -30,6 +30,20 @@ class BHI160Accelerometer:
interrupt.disable_callback(interrupt.BHI160_ACCELEROMETER) interrupt.disable_callback(interrupt.BHI160_ACCELEROMETER)
interrupt.set_callback(interrupt.BHI160_ACCELEROMETER, None) interrupt.set_callback(interrupt.BHI160_ACCELEROMETER, None)
def convert(self,value):
return 2*value/32768.0;
def read(self):
result = []
if self.acc_sd is not None:
for sample in sys_bhi160.read_sensor(self.acc_sd):
result.append(dict({
"x": self.convert(sample.x()),
"y": self.convert(sample.y()),
"z": self.convert(sample.z())
}))
return result
def _accelerometer_interrupt(self, _): def _accelerometer_interrupt(self, _):
if self.acc_sd is not None: if self.acc_sd is not None:
data = sys_bhi160.read_sensor(self.acc_sd) data = sys_bhi160.read_sensor(self.acc_sd)
......
...@@ -65,9 +65,9 @@ Q(sys_bhi160) ...@@ -65,9 +65,9 @@ Q(sys_bhi160)
Q(enable_sensor) Q(enable_sensor)
Q(read_sensor) Q(read_sensor)
Q(BHI160Sample) Q(BHI160Sample)
Q(get_x) Q(x)
Q(get_y) Q(y)
Q(get_z) Q(z)
/* display */ /* display */
Q(sys_display) Q(sys_display)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment