Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
F
firmware
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
External wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
card10
firmware
Commits
4674cb69
Commit
4674cb69
authored
4 years ago
by
schneider
Browse files
Options
Downloads
Patches
Plain Diff
chore(ble): Make epic API headers look a bit nicer
parent
ec423bb0
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
epicardium/epicardium.h
+100
-51
100 additions, 51 deletions
epicardium/epicardium.h
with
100 additions
and
51 deletions
epicardium/epicardium.h
+
100
−
51
View file @
4674cb69
...
...
@@ -2354,67 +2354,99 @@ enum epic_ble_event_type {
BLE_EVENT_DM_EVENT
=
7
,
};
/**
* MicroPython Bluetooth support data types. Please
* do not use them until they are stabilized.
*/
typedef
uint8_t
bdAddr_t
[
6
];
struct
epic_wsf_header
{
uint16_t
param
;
/*!< \brief General purpose parameter passed to event handler */
uint8_t
event
;
/*!< \brief General purpose event value passed to event handler */
uint8_t
status
;
/*!< \brief General purpose status value passed to event handler */
/** General purpose parameter passed to event handler */
uint16_t
param
;
/** General purpose event value passed to event handler */
uint8_t
event
;
/** General purpose status value passed to event handler */
uint8_t
status
;
};
struct
epic_att_event
{
struct
epic_wsf_header
hdr
;
/*!< \brief Header structure */
uint8_t
*
pValue
;
/*!< \brief Value */
uint16_t
valueLen
;
/*!< \brief Value length */
uint16_t
handle
;
/*!< \brief Attribute handle */
uint8_t
continuing
;
/*!< \brief TRUE if more response packets expected */
uint16_t
mtu
;
/*!< \brief Negotiated MTU value */
/** Header structure */
struct
epic_wsf_header
hdr
;
/** Value */
uint8_t
*
pValue
;
/** Value length */
uint16_t
valueLen
;
/** Attribute handle */
uint16_t
handle
;
/** TRUE if more response packets expected */
uint8_t
continuing
;
/** Negotiated MTU value */
uint16_t
mtu
;
};
#define BDA_ADDR_LEN 6
typedef
uint8_t
bdAddr_t
[
BDA_ADDR_LEN
];
struct
epic_hciLeConnCmpl_event
{
struct
epic_wsf_header
hdr
;
/*!< \brief Event header */
uint8_t
status
;
/*!< \brief Status. */
uint16_t
handle
;
/*!< \brief Connection handle. */
uint8_t
role
;
/*!< \brief Local connection role. */
uint8_t
addrType
;
/*!< \brief Peer address type. */
bdAddr_t
peerAddr
;
/*!< \brief Peer address. */
uint16_t
connInterval
;
/*!< \brief Connection interval */
uint16_t
connLatency
;
/*!< \brief Connection latency. */
uint16_t
supTimeout
;
/*!< \brief Supervision timeout. */
uint8_t
clockAccuracy
;
/*!< \brief Clock accuracy. */
/* \brief enhanced fields */
bdAddr_t
localRpa
;
/*!< \brief Local RPA. */
bdAddr_t
peerRpa
;
/*!< \brief Peer RPA. */
{
/** Event header */
struct
epic_wsf_header
hdr
;
/** Status. */
uint8_t
status
;
/** Connection handle. */
uint16_t
handle
;
/** Local connection role. */
uint8_t
role
;
/** Peer address type. */
uint8_t
addrType
;
/** Peer address. */
bdAddr_t
peerAddr
;
/** Connection interval */
uint16_t
connInterval
;
/** Connection latency. */
uint16_t
connLatency
;
/** Supervision timeout. */
uint16_t
supTimeout
;
/** Clock accuracy. */
uint8_t
clockAccuracy
;
/** enhanced fields */
/** Local RPA. */
bdAddr_t
localRpa
;
/** Peer RPA. */
bdAddr_t
peerRpa
;
};
/*! \brief Disconnect complete event */
struct
epic_hciDisconnectCmpl_event
{
struct
epic_wsf_header
hdr
;
/*!< \brief Event header */
uint8_t
status
;
/*!< \brief Disconnect complete status. */
uint16_t
handle
;
/*!< \brief Connect handle. */
uint8_t
reason
;
/*!< \brief Reason. */
/** Event header */
struct
epic_wsf_header
hdr
;
/** Disconnect complete status. */
uint8_t
status
;
/** Connect handle. */
uint16_t
handle
;
/** Reason. */
uint8_t
reason
;
};
struct
epic_dm_event
{
union
{
struct
epic_hciLeConnCmpl_event
leConnCmpl
;
/*!< \brief LE connection complete. */
struct
epic_hciDisconnectCmpl_event
disconnectCmpl
;
/*!< \brief Disconnect complete. */
/** LE connection complete. */
struct
epic_hciLeConnCmpl_event
leConnCmpl
;
/** Disconnect complete. */
struct
epic_hciDisconnectCmpl_event
disconnectCmpl
;
};
};
struct
epic_att_write
{
struct
epic_wsf_header
hdr
;
/*!< \brief Header structure */
uint16_t
valueLen
;
/*!< \brief Value length */
uint16_t
handle
;
/*!< \brief Attribute handle */
/** Header structure */
struct
epic_wsf_header
hdr
;
/** Value length */
uint16_t
valueLen
;
/** Attribute handle */
uint16_t
handle
;
uint8_t
operation
;
uint16_t
offset
;
void
*
buffer
;
...
...
@@ -2431,21 +2463,29 @@ struct epic_ble_event {
};
/**
* Scan report data. Base
s
on ``hciLeAdvReportEvt_t`` from BLE stack.
* Scan report data. Base
d
on ``hciLeAdvReportEvt_t`` from BLE stack.
*
* TODO: 64 bytes for data is an arbitrary number ATM */
struct
epic_scan_report
{
uint8_t
data
[
64
];
/*!< \brief advertising or scan response data. */
uint8_t
len
;
/*!< \brief length of advertising or scan response data. */
int8_t
rssi
;
/*!< \brief RSSI. */
uint8_t
eventType
;
/*!< \brief Advertising event type. */
uint8_t
addrType
;
/*!< \brief Address type. */
uint8_t
addr
[
6
];
/*!< \brief Device address. */
/* \brief direct fields */
uint8_t
directAddrType
;
/*!< \brief Direct advertising address type. */
uint8_t
directAddr
[
6
];
/*!< \brief Direct advertising address. */
/** advertising or scan response data. */
uint8_t
data
[
64
];
/** length of advertising or scan response data. */
uint8_t
len
;
/** RSSI. */
int8_t
rssi
;
/** Advertising event type. */
uint8_t
eventType
;
/** Address type. */
uint8_t
addrType
;
/** Device address. */
uint8_t
addr
[
6
];
/** direct fields */
/** Direct advertising address type. */
uint8_t
directAddrType
;
/** Direct advertising address. */
uint8_t
directAddr
[
6
];
};
/**
...
...
@@ -2591,6 +2631,15 @@ API(API_BLE_GET_SCAN_REPORT, int epic_ble_get_scan_report(struct epic_scan_repor
*/
API
(
API_BLE_HID_SEND_REPORT
,
int
epic_ble_hid_send_report
(
uint8_t
report_id
,
uint8_t
*
data
,
uint8_t
len
));
/**
* MicroPython BLE support API
*
* Please do not use this API outside the MicroPython Bluetooth module. The API designed to work
* specifically with that module.
*
* The MicroPython Bluetooth module is still in flux so this API will continue to change as well.
*/
API
(
API_BLE_ATTS_DYN_CREATE_GROUP
,
int
epic_atts_dyn_create_service
(
const
uint8_t
*
uuid
,
uint8_t
uuid_len
,
uint16_t
group_size
,
void
**
pSvcHandle
,
uint16_t
*
start_handle
));
//API(API_BLE_ATTS_DYN_DELETE_GROUP, void AttsDynDeleteGroup(void *pSvcHandle));
API
(
API_BLE_ATTS_DYN_DELETE_GROUPS
,
int
epic_ble_atts_dyn_delete_groups
(
void
));
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment