nrf5/modules/ubluepy: Adding scan method to the Scanner object. Adding locals dict table.
This commit is contained in:
parent
471d6a05da
commit
89095f861f
@ -33,6 +33,7 @@
|
|||||||
#if MICROPY_PY_UBLUEPY_CENTRAL
|
#if MICROPY_PY_UBLUEPY_CENTRAL
|
||||||
|
|
||||||
#include "ble_drv.h"
|
#include "ble_drv.h"
|
||||||
|
#include "hal_time.h"
|
||||||
|
|
||||||
STATIC void ubluepy_scanner_print(const mp_print_t *print, mp_obj_t o, mp_print_kind_t kind) {
|
STATIC void ubluepy_scanner_print(const mp_print_t *print, mp_obj_t o, mp_print_kind_t kind) {
|
||||||
ubluepy_scanner_obj_t * self = (ubluepy_scanner_obj_t *)o;
|
ubluepy_scanner_obj_t * self = (ubluepy_scanner_obj_t *)o;
|
||||||
@ -57,14 +58,42 @@ STATIC mp_obj_t ubluepy_scanner_make_new(const mp_obj_type_t *type, size_t n_arg
|
|||||||
return MP_OBJ_FROM_PTR(s);
|
return MP_OBJ_FROM_PTR(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \method scan(timeout)
|
||||||
|
/// Scan for devices. Timeout is in milliseconds and will set the duration
|
||||||
|
/// of the scanning.
|
||||||
|
///
|
||||||
|
STATIC mp_obj_t scanner_scan(mp_obj_t self_in, mp_obj_t timeout_in) {
|
||||||
|
ubluepy_scanner_obj_t * self = MP_OBJ_TO_PTR(self_in);
|
||||||
|
mp_int_t timeout = mp_obj_get_int(timeout_in);
|
||||||
|
|
||||||
|
// start
|
||||||
|
ble_drv_scan_start();
|
||||||
|
|
||||||
|
// sleep
|
||||||
|
mp_hal_delay_ms(timeout);
|
||||||
|
|
||||||
|
// stop
|
||||||
|
ble_drv_scan_stop();
|
||||||
|
|
||||||
|
(void)self;
|
||||||
|
|
||||||
|
return mp_const_none;
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(ubluepy_scanner_scan_obj, scanner_scan);
|
||||||
|
|
||||||
|
STATIC const mp_map_elem_t ubluepy_scanner_locals_dict_table[] = {
|
||||||
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_scan), (mp_obj_t)(&ubluepy_scanner_scan_obj) },
|
||||||
|
};
|
||||||
|
|
||||||
|
STATIC MP_DEFINE_CONST_DICT(ubluepy_scanner_locals_dict, ubluepy_scanner_locals_dict_table);
|
||||||
|
|
||||||
|
|
||||||
const mp_obj_type_t ubluepy_scanner_type = {
|
const mp_obj_type_t ubluepy_scanner_type = {
|
||||||
{ &mp_type_type },
|
{ &mp_type_type },
|
||||||
.name = MP_QSTR_Scanner,
|
.name = MP_QSTR_Scanner,
|
||||||
.print = ubluepy_scanner_print,
|
.print = ubluepy_scanner_print,
|
||||||
.make_new = ubluepy_scanner_make_new,
|
.make_new = ubluepy_scanner_make_new,
|
||||||
#if 0
|
|
||||||
.locals_dict = (mp_obj_t)&ubluepy_scanner_locals_dict
|
.locals_dict = (mp_obj_t)&ubluepy_scanner_locals_dict
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MICROPY_PY_UBLUEPY_CENTRAL
|
#endif // MICROPY_PY_UBLUEPY_CENTRAL
|
||||||
|
Loading…
Reference in New Issue
Block a user