Commit 548d48fb authored by koalo's avatar koalo
Browse files

WIP

parent c59b291e
......@@ -5,6 +5,15 @@
#include "api/common.h"
#include "mphalport.h"
extern const mp_obj_type_t mp_type_bhi160_sample;
typedef struct _bhi160_sample_obj_t {
mp_obj_base_t base;
int x;
int y;
int z;
} bhi160_sample_obj_t;
STATIC mp_obj_t mp_bhi160_enable_sensor(size_t n_args, const mp_obj_t *args)
{
int sensor_type = mp_obj_get_int(args[0]);
......@@ -30,8 +39,55 @@ STATIC mp_obj_t mp_bhi160_read_sensor(mp_obj_t stream_id_in)
int n = epic_stream_read(sd, buf, sizeof(buf));
return MP_OBJ_NEW_SMALL_INT(n);
// mp_obj_list_t *list = mp_obj_new_list(0, NULL);
//for(int i = 0; i < n; i++) {
bhi160_sample_obj_t *o = m_new_obj(bhi160_sample_obj_t);
o->base.type = &mp_type_bhi160_sample;
o->x = buf[0].x;
o->y = buf[0].y;
o->z = buf[0].z;
//mp_obj_list_append(list, o);
//}
//return MP_OBJ_FROM_PTR(list);
return MP_OBJ_FROM_PTR(o);
}
STATIC mp_obj_t mp_bhi160_x(mp_obj_t type)
{
bhi160_sample_obj_t *self = MP_OBJ_TO_PTR(type);
return MP_OBJ_NEW_SMALL_INT(self->x);
}
static MP_DEFINE_CONST_FUN_OBJ_1(mp_bhi160_x_obj, mp_bhi160_x);
STATIC mp_obj_t mp_bhi160_y(mp_obj_t type)
{
bhi160_sample_obj_t *self = MP_OBJ_TO_PTR(type);
return MP_OBJ_NEW_SMALL_INT(self->y);
}
static MP_DEFINE_CONST_FUN_OBJ_1(mp_bhi160_y_obj, mp_bhi160_y);
STATIC mp_obj_t mp_bhi160_z(mp_obj_t type)
{
bhi160_sample_obj_t *self = MP_OBJ_TO_PTR(type);
return MP_OBJ_NEW_SMALL_INT(self->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[] = {
{ MP_ROM_QSTR(MP_QSTR_get_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_get_z), MP_ROM_PTR(&mp_bhi160_z_obj) },
};
STATIC MP_DEFINE_CONST_DICT(bhi160_sample_locals_dict, bhi160_sample_locals_dict_table);
const mp_obj_type_t mp_type_bhi160_sample = {
{ &mp_type_type },
.name = MP_QSTR_BHI160Sample,
.locals_dict = (mp_obj_dict_t *)&bhi160_sample_locals_dict,
};
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(
mp_bhi160_enable_sensor_obj, 4, 4, mp_bhi160_enable_sensor
......
......@@ -64,6 +64,10 @@ Q(RTC_ALARM)
Q(sys_bhi160)
Q(enable_sensor)
Q(read_sensor)
Q(BHI160Sample)
Q(get_x)
Q(get_y)
Q(get_z)
/* 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