nRF Connect SDK Bare Metal API 2.0.99
Loading...
Searching...
No Matches
ble_date_time.h
1/*
2 * Copyright (c) 2011 - 2025 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
14#ifndef BLE_DATE_TIME_H__
15#define BLE_DATE_TIME_H__
16
17#include <stdint.h>
18#include <zephyr/sys/byteorder.h>
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
26 uint16_t year;
27 uint8_t month;
28 uint8_t day;
29 uint8_t hours;
30 uint8_t minutes;
31 uint8_t seconds;
32};
33
34static inline uint8_t ble_date_time_encode(const struct ble_date_time *date_time,
35 uint8_t *encoded_data)
36{
37 uint8_t len = 0;
38
39 sys_put_le16(date_time->year, encoded_data);
40 len += sizeof(uint16_t);
41
42 encoded_data[len++] = date_time->month;
43 encoded_data[len++] = date_time->day;
44 encoded_data[len++] = date_time->hours;
45 encoded_data[len++] = date_time->minutes;
46 encoded_data[len++] = date_time->seconds;
47
48 return len;
49}
50
51static inline uint8_t ble_date_time_decode(struct ble_date_time *date_time,
52 const uint8_t *encoded_data)
53{
54 uint8_t len = sizeof(uint16_t);
55
56 date_time->year = sys_get_le16(encoded_data);
57 date_time->month = encoded_data[len++];
58 date_time->day = encoded_data[len++];
59 date_time->hours = encoded_data[len++];
60 date_time->minutes = encoded_data[len++];
61 date_time->seconds = encoded_data[len++];
62
63 return len;
64}
65
66#ifdef __cplusplus
67}
68#endif
69
70#endif /* BLE_DATE_TIME_H__ */
71
static uint8_t ble_date_time_encode(const struct ble_date_time *date_time, uint8_t *encoded_data)
Definition ble_date_time.h:34
static uint8_t ble_date_time_decode(struct ble_date_time *date_time, const uint8_t *encoded_data)
Definition ble_date_time.h:51
uint8_t month
Definition ble_date_time.h:27
uint8_t seconds
Definition ble_date_time.h:31
uint16_t year
Definition ble_date_time.h:26
uint8_t hours
Definition ble_date_time.h:29
uint8_t minutes
Definition ble_date_time.h:30
uint8_t day
Definition ble_date_time.h:28
Date and Time structure.
Definition ble_date_time.h:25