nRF Connect SDK API
3.4.99
Toggle main menu visibility
Loading...
Searching...
No Matches
rscs.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2021 Nordic Semiconductor ASA
3
*
4
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5
*/
6
7
#ifndef BT_RSCS_H_
8
#define BT_RSCS_H_
9
10
#include <stdlib.h>
11
#include <zephyr/types.h>
12
18
19
#ifdef __cplusplus
20
extern
"C"
{
21
#endif
22
24
enum
bt_rscs_location
{
25
RSC_LOC_OTHER
,
26
RSC_LOC_TOP_OF_SHOE
,
27
RSC_LOC_IN_SHOE
,
28
RSC_LOC_HIP
,
29
RSC_LOC_FRONT_WHEEL
,
30
RSC_LOC_LEFT_CRANK
,
31
RSC_LOC_RIGHT_CRANK
,
32
RSC_LOC_LEFT_PEDAL
,
33
RSC_LOC_RIGHT_PEDAL
,
34
RSC_LOC_FRONT_HUB
,
35
RSC_LOC_REAR_DROPOUT
,
36
RSC_LOC_CHAINSTAY
,
37
RSC_LOC_REAR_WHEEL
,
38
RSC_LOC_REAR_HUB
,
39
RSC_LOC_CHEST
,
40
RSC_LOC_SPIDER
,
41
RSC_LOC_CHAIN_RING
,
42
43
RSC_LOC_AMT
,
44
};
45
47
struct
bt_rsc_supported_loc
{
48
uint32_t
other
: 1;
49
uint32_t
top_of_shoe
: 1;
50
uint32_t
in_shoe
: 1;
51
uint32_t
hip
: 1;
52
uint32_t
front_wheel
: 1;
53
uint32_t
left_crank
: 1;
54
uint32_t
right_crank
: 1;
55
uint32_t
left_pedal
: 1;
56
uint32_t
right_pedal
: 1;
57
uint32_t
front_hub
: 1;
58
uint32_t
rear_dropout
: 1;
59
uint32_t
chainstay
: 1;
60
uint32_t
rear_wheel
: 1;
61
uint32_t
rear_hub
: 1;
62
uint32_t
chest
: 1;
63
uint32_t
spider
: 1;
64
uint32_t
chain_ring
: 1;
65
};
66
68
struct
bt_rscs_features
{
70
uint8_t
inst_stride_len
: 1;
71
73
uint8_t
total_distance
: 1;
74
76
uint8_t
walking_or_running
: 1;
77
79
uint8_t
sensor_calib_proc
: 1;
80
82
uint8_t
multi_sensor_loc
: 1;
83
};
84
86
enum
bt_rscs_evt
{
88
RSCS_EVT_MEAS_NOTIFY_ENABLE
,
89
91
RSCS_EVT_MEAS_NOTIFY_DISABLE
,
92
};
93
95
typedef
void (*
bt_rscs_evt_handler
) (
enum
bt_rscs_evt
evt);
96
98
struct
bt_rscs_cp_cb
{
106
int (*
set_cumulative
)(uint32_t total_distance);
107
113
int (*
calibration
)(void);
114
119
void (*
update_loc
)(uint8_t location);
120
};
121
123
struct
bt_rscs_init_params
{
125
struct
bt_rscs_features
features
;
126
128
struct
bt_rsc_supported_loc
supported_locations
;
129
131
enum
bt_rscs_location
location
;
132
134
bt_rscs_evt_handler
evt_handler
;
135
137
const
struct
bt_rscs_cp_cb
*
cp_cb
;
138
};
139
141
struct
bt_rscs_measurement
{
143
bool
is_inst_stride_len
;
144
146
bool
is_total_distance
;
147
149
bool
is_running
;
150
152
uint16_t
inst_speed
;
153
155
uint8_t
inst_cadence
;
156
158
uint16_t
inst_stride_length
;
159
161
uint32_t
total_distance
;
162
};
163
176
int
bt_rscs_measurement_send
(
struct
bt_conn *conn,
const
struct
bt_rscs_measurement
*measurement);
177
189
int
bt_rscs_init
(
const
struct
bt_rscs_init_params
*init);
190
191
#ifdef __cplusplus
192
}
193
#endif
194
198
199
#endif
/* BT_RSCS_H_ */
bt_rscs_init
int bt_rscs_init(const struct bt_rscs_init_params *init)
Initialize the Running Speed and Cadence Service.
bt_rscs_evt
bt_rscs_evt
Definition
rscs.h:86
RSCS_EVT_MEAS_NOTIFY_DISABLE
@ RSCS_EVT_MEAS_NOTIFY_DISABLE
Definition
rscs.h:91
RSCS_EVT_MEAS_NOTIFY_ENABLE
@ RSCS_EVT_MEAS_NOTIFY_ENABLE
Definition
rscs.h:88
bt_rscs_measurement_send
int bt_rscs_measurement_send(struct bt_conn *conn, const struct bt_rscs_measurement *measurement)
Sending Running Speed and Cadence measurement.
bt_rscs_evt_handler
void(* bt_rscs_evt_handler)(enum bt_rscs_evt evt)
Running Speed and Cadence Service event handler type.
Definition
rscs.h:95
bt_rscs_location
bt_rscs_location
RSC Sensor Locations.
Definition
rscs.h:24
RSC_LOC_TOP_OF_SHOE
@ RSC_LOC_TOP_OF_SHOE
Definition
rscs.h:26
RSC_LOC_FRONT_WHEEL
@ RSC_LOC_FRONT_WHEEL
Definition
rscs.h:29
RSC_LOC_REAR_HUB
@ RSC_LOC_REAR_HUB
Definition
rscs.h:38
RSC_LOC_CHEST
@ RSC_LOC_CHEST
Definition
rscs.h:39
RSC_LOC_FRONT_HUB
@ RSC_LOC_FRONT_HUB
Definition
rscs.h:34
RSC_LOC_REAR_WHEEL
@ RSC_LOC_REAR_WHEEL
Definition
rscs.h:37
RSC_LOC_CHAIN_RING
@ RSC_LOC_CHAIN_RING
Definition
rscs.h:41
RSC_LOC_OTHER
@ RSC_LOC_OTHER
Definition
rscs.h:25
RSC_LOC_LEFT_PEDAL
@ RSC_LOC_LEFT_PEDAL
Definition
rscs.h:32
RSC_LOC_HIP
@ RSC_LOC_HIP
Definition
rscs.h:28
RSC_LOC_REAR_DROPOUT
@ RSC_LOC_REAR_DROPOUT
Definition
rscs.h:35
RSC_LOC_IN_SHOE
@ RSC_LOC_IN_SHOE
Definition
rscs.h:27
RSC_LOC_LEFT_CRANK
@ RSC_LOC_LEFT_CRANK
Definition
rscs.h:30
RSC_LOC_CHAINSTAY
@ RSC_LOC_CHAINSTAY
Definition
rscs.h:36
RSC_LOC_AMT
@ RSC_LOC_AMT
Definition
rscs.h:43
RSC_LOC_RIGHT_PEDAL
@ RSC_LOC_RIGHT_PEDAL
Definition
rscs.h:33
RSC_LOC_RIGHT_CRANK
@ RSC_LOC_RIGHT_CRANK
Definition
rscs.h:31
RSC_LOC_SPIDER
@ RSC_LOC_SPIDER
Definition
rscs.h:40
bt_rsc_supported_loc::rear_wheel
uint32_t rear_wheel
Definition
rscs.h:60
bt_rsc_supported_loc::front_hub
uint32_t front_hub
Definition
rscs.h:57
bt_rsc_supported_loc::front_wheel
uint32_t front_wheel
Definition
rscs.h:52
bt_rsc_supported_loc::top_of_shoe
uint32_t top_of_shoe
Definition
rscs.h:49
bt_rsc_supported_loc::left_crank
uint32_t left_crank
Definition
rscs.h:53
bt_rsc_supported_loc::right_crank
uint32_t right_crank
Definition
rscs.h:54
bt_rsc_supported_loc::chain_ring
uint32_t chain_ring
Definition
rscs.h:64
bt_rsc_supported_loc::right_pedal
uint32_t right_pedal
Definition
rscs.h:56
bt_rsc_supported_loc::in_shoe
uint32_t in_shoe
Definition
rscs.h:50
bt_rsc_supported_loc::rear_dropout
uint32_t rear_dropout
Definition
rscs.h:58
bt_rsc_supported_loc::hip
uint32_t hip
Definition
rscs.h:51
bt_rsc_supported_loc::chest
uint32_t chest
Definition
rscs.h:62
bt_rsc_supported_loc::chainstay
uint32_t chainstay
Definition
rscs.h:59
bt_rsc_supported_loc::left_pedal
uint32_t left_pedal
Definition
rscs.h:55
bt_rsc_supported_loc::other
uint32_t other
Definition
rscs.h:48
bt_rsc_supported_loc::rear_hub
uint32_t rear_hub
Definition
rscs.h:61
bt_rsc_supported_loc::spider
uint32_t spider
Definition
rscs.h:63
bt_rsc_supported_loc
Bitmask set of supported location.
Definition
rscs.h:47
bt_rscs_cp_cb::update_loc
void(* update_loc)(uint8_t location)
Update Sensor Location Procedure.
Definition
rscs.h:119
bt_rscs_cp_cb::set_cumulative
int(* set_cumulative)(uint32_t total_distance)
Set Cumulative Value Procedure.
Definition
rscs.h:106
bt_rscs_cp_cb::calibration
int(* calibration)(void)
Start Sensor Calibration Procedure.
Definition
rscs.h:113
bt_rscs_cp_cb
SC Control Point callback structure.
Definition
rscs.h:98
bt_rscs_features::inst_stride_len
uint8_t inst_stride_len
Definition
rscs.h:70
bt_rscs_features::total_distance
uint8_t total_distance
Definition
rscs.h:73
bt_rscs_features::walking_or_running
uint8_t walking_or_running
Definition
rscs.h:76
bt_rscs_features::multi_sensor_loc
uint8_t multi_sensor_loc
Definition
rscs.h:82
bt_rscs_features::sensor_calib_proc
uint8_t sensor_calib_proc
Definition
rscs.h:79
bt_rscs_features
Bitmask set of supported features.
Definition
rscs.h:68
bt_rscs_init_params::supported_locations
struct bt_rsc_supported_loc supported_locations
Definition
rscs.h:128
bt_rscs_init_params::cp_cb
const struct bt_rscs_cp_cb * cp_cb
Definition
rscs.h:137
bt_rscs_init_params::evt_handler
bt_rscs_evt_handler evt_handler
Definition
rscs.h:134
bt_rscs_init_params::location
enum bt_rscs_location location
Definition
rscs.h:131
bt_rscs_init_params::features
struct bt_rscs_features features
Definition
rscs.h:125
bt_rscs_init_params
Running Speed and Cadence Service initialization parameters.
Definition
rscs.h:123
bt_rscs_measurement::is_total_distance
bool is_total_distance
Definition
rscs.h:146
bt_rscs_measurement::inst_stride_length
uint16_t inst_stride_length
Definition
rscs.h:158
bt_rscs_measurement::is_inst_stride_len
bool is_inst_stride_len
Definition
rscs.h:143
bt_rscs_measurement::inst_cadence
uint8_t inst_cadence
Definition
rscs.h:155
bt_rscs_measurement::total_distance
uint32_t total_distance
Definition
rscs.h:161
bt_rscs_measurement::is_running
bool is_running
Definition
rscs.h:149
bt_rscs_measurement::inst_speed
uint16_t inst_speed
Definition
rscs.h:152
bt_rscs_measurement
Running Speed and Cadence Service measurement structure.
Definition
rscs.h:141
include
bluetooth
services
rscs.h
Generated on
for nRF Connect SDK API by
1.17.0