nrf5/modules: Adding constants class to ubluepy which will contain easy access to common bluetooth le numbers and definitions for the bluetooth stack.
This commit is contained in:
parent
f0f6ad20b2
commit
af2f32ed6a
@ -172,6 +172,7 @@ DRIVERS_SRC_C += $(addprefix modules/,\
|
||||
ubluepy/ubluepy_characteristic.c \
|
||||
ubluepy/ubluepy_uuid.c \
|
||||
ubluepy/ubluepy_delegate.c \
|
||||
ubluepy/ubluepy_constants.c \
|
||||
)
|
||||
|
||||
#ifeq ($(SD), )
|
||||
|
@ -33,6 +33,7 @@ extern const mp_obj_type_t ubluepy_service_type;
|
||||
extern const mp_obj_type_t ubluepy_uuid_type;
|
||||
extern const mp_obj_type_t ubluepy_characteristic_type;
|
||||
extern const mp_obj_type_t ubluepy_delegate_type;
|
||||
extern const mp_obj_type_t ubluepy_constants_type;
|
||||
|
||||
STATIC const mp_map_elem_t mp_module_ubluepy_globals_table[] = {
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_ubluepy) },
|
||||
@ -52,6 +53,7 @@ STATIC const mp_map_elem_t mp_module_ubluepy_globals_table[] = {
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_UUID), (mp_obj_t)&ubluepy_uuid_type },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_Service), (mp_obj_t)&ubluepy_service_type },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_Characteristic), (mp_obj_t)&ubluepy_characteristic_type },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_constants), (mp_obj_t)&ubluepy_constants_type },
|
||||
#if MICROPY_PY_UBLUEPY_DESCRIPTOR
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_Descriptor), (mp_obj_t)&ubluepy_descriptor_type },
|
||||
#endif
|
||||
|
@ -37,16 +37,16 @@ p.advertise(device_name="MicroPython")
|
||||
|
||||
DB setup:
|
||||
|
||||
from ubluepy import Service, Characteristic, UUID, Peripheral
|
||||
from ubluepy import Service, Characteristic, UUID, Peripheral, constants
|
||||
from pyb import LED
|
||||
|
||||
def event_handler(id, conn_handle, length, data):
|
||||
print("BLE event:", id, "conn_handle:", conn_handle, "length:", length)
|
||||
|
||||
if id == 16:
|
||||
if id == constants.EVT_GAP_CONNECTED:
|
||||
# connected
|
||||
LED(2).on()
|
||||
elif id == 17:
|
||||
elif id == constants.EVT_GAP_DISCONNECTED:
|
||||
# disconnect
|
||||
LED(2).off()
|
||||
|
||||
|
50
nrf5/modules/ubluepy/ubluepy_constants.c
Normal file
50
nrf5/modules/ubluepy/ubluepy_constants.c
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* This file is part of the Micro Python project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2017 Glenn Ruben Bakke
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "py/runtime.h"
|
||||
|
||||
#if MICROPY_PY_UBLUEPY
|
||||
|
||||
#include "modubluepy.h"
|
||||
|
||||
STATIC const mp_map_elem_t ubluepy_constants_locals_dict_table[] = {
|
||||
#if (BLUETOOTH_SD == 132)
|
||||
// GAP events
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_EVT_GAP_CONNECTED), MP_OBJ_NEW_SMALL_INT(0x16) },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_EVT_GAP_DISCONNECTED), MP_OBJ_NEW_SMALL_INT(0x17) },
|
||||
#endif
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(ubluepy_constants_locals_dict, ubluepy_constants_locals_dict_table);
|
||||
|
||||
const mp_obj_type_t ubluepy_constants_type = {
|
||||
{ &mp_type_type },
|
||||
.name = MP_QSTR_constants,
|
||||
.locals_dict = (mp_obj_t)&ubluepy_constants_locals_dict
|
||||
};
|
||||
|
||||
#endif // MICROPY_PY_UBLUEPY
|
Loading…
Reference in New Issue
Block a user