comparison Discovery/Inc/cv_heartbeat.h @ 1032:33b91584d827 Puls_Integration

New CV Pulse: The basic infrastructure for external puls measurement via Bluetooth has been added. Precondition is an OSTC with an activated central role. The OSTC will then search for a BLE device with puls measurement service. Reading data and visualization is not implemented yet.
author Ideenmodellierer
date Mon, 28 Jul 2025 18:34:45 +0200
parents
children 5f66e44d69f0
comparison
equal deleted inserted replaced
1031:cd4561c33758 1032:33b91584d827
1 ///////////////////////////////////////////////////////////////////////////////
2 /// -*- coding: UTF-8 -*-
3 ///
4 /// \file Discovery/Inc/cv_heartbeat.h
5 /// \brief Function definitions for connecting to a Polar HC10 heartbeat sensor
6 /// \date 3 July 2025
7
8 ///////////////////////////////////////////////////////////////////////////////
9 /// \par Copyright (c) 2014-2015 Heinrichs Weikamp gmbh
10 ///
11 /// This program is free software: you can redistribute it and/or modify
12 /// it under the terms of the GNU General Public License as published by
13 /// the Free Software Foundation, either version 3 of the License, or
14 /// (at your option) any later version.
15 ///
16 /// This program is distributed in the hope that it will be useful,
17 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
18 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 /// GNU General Public License for more details.
20 ///
21 /// You should have received a copy of the GNU General Public License
22 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
23 //////////////////////////////////////////////////////////////////////////////
24
25 #ifndef INC_CV_HEARTBEAT_H_
26 #define INC_CV_HEARTBEAT_H_
27
28 #include <stdint.h>
29
30
31 #define BLUEMOD_ADDR_SIZE (20u) /* length of address respond */
32 #define BLUEMOD_RSSI_SIZE (5u)
33 #define BLUEMOD_NAME_SIZE (40u)
34
35 void openEdit_Heartbeat(void);
36
37 typedef enum
38 {
39 NO_INDICATOR = 0,
40 DEVICE_INDICATOR,
41 CONNECTION_INDICATOR,
42 SERVICE_INDICATOR,
43 OK_INDICATOR, /* module control */
44 ERROR_INDICATOR /* module control */
45 } indicatior_t;
46
47 typedef enum
48 {
49 BT_READ_NOTHING = 0,
50 BT_READ_DEVICE_ADDR,
51 BT_READ_DEVICE_RSSI,
52 BT_READ_DEVICE_NAME,
53 BT_READ_CON_DETAILS,
54 BT_READ_SERV_HANDLE,
55 BT_READ_SERV_START,
56 BT_READ_SERV_END,
57 BT_READ_SERV_UUID
58 } readDataType_t;
59
60 typedef enum
61 {
62 SENSOR_HB_OFFLINE = 0, /* Default Status no data available */
63 SENSOR_HB_ENABLE_BLE,
64 SENSOR_HB_CHECK_CONFIG,
65 SENSOR_HB_DISCOVER,
66 SENSOR_HB_CONNECT,
67 SENSOR_HB_SERVICES,
68 SENSOR_HB_RESTART,
69 SENSOR_HB_DETECTION_INDICATOR, /* searching for indicators to identify data items */
70 SENSOR_HB_DETECTION_RSSI,
71 SENSOR_HB_DETECTION_NAME,
72 SENSOR_HB_DETECTION_MAN,
73 SENSOR_HB_DETECTION_UUID,
74 SENSOR_HB_FOUND, /* A device providing the requested service was found */
75 SENSOR_HB_CONNECTED, /* Connection to heartbeat sensor established */
76 SENSOR_HB_OFFLINEMODE, /* Oflline measurement started */
77 } sensorHeartbeat_State_t;
78
79 typedef struct
80 {
81 uint8_t address[BLUEMOD_ADDR_SIZE];
82 uint8_t rssi[BLUEMOD_RSSI_SIZE];
83 uint8_t name[BLUEMOD_NAME_SIZE];
84 } btDdeviceData_t;
85
86
87 typedef struct
88 {
89 uint8_t handle;
90 uint8_t start[6];
91 uint8_t end[6];
92 uint8_t uuid[50];
93 } btDeviceService_t;
94
95
96
97 sensorHeartbeat_State_t cv_heartbeat_getState();
98 void refresh_Heartbeat(void);
99 void cv_heartbeat_Control(void);
100
101 #endif /* INC_CV_HEARTBEAT_H_ */