Go to the documentation of this file.
61 #include "custom_config.h"
70 #define CTS_CONNECTION_MAX (10 < CFG_MAX_CONNECTIONS ?\
71 10 : CFG_MAX_CONNECTIONS)
72 #define CTS_CUR_TIME_VAL_LEN 10
73 #define CTS_LOC_TIME_INFO_VAL_LEN 2
74 #define CTS_REF_TIME_INFO_VAL_LEN 4
75 #define CTS_TIME_YEAR_VALID_VAL_MIN 1582
76 #define CTS_TIME_YEAR_VALID_VAL_MAX 9999
77 #define CTS_TIME_ZONE_OFFSET_MIN -48
78 #define CTS_TIME_ZONE_OFFSET_MAX 56
79 #define CTS_TIME_ACCURACY_OUT_RANGE 254
80 #define CTS_TIME_ACCURACT_UNKNOWN 255
81 #define CTS_ERROR_FIELDS_IGNORED 0x80
88 #define CTS_CHAR_MANDATORY 0x0f
89 #define CTS_CHAR_LOC_TIME_INFO_SUP 0x30
90 #define CTS_CHAR_REF_TIME_INFO_SUP 0xc0
91 #define CTS_CHAR_FULL 0xff
99 #define CTS_AR_NO_CHANGE (0x00 << 0)
100 #define CTS_AR_MAUAL_TIME_UPDATE (0x01 << 0)
101 #define CTS_AR_EXT_REF_TIME_UPDATE (0x01 << 1)
102 #define CTS_AR_TIME_ZONE_CHANGE (0x01 << 2)
103 #define CTS_AR_DST_CHANGE (0x01 << 3)
cts_evt_type_t evt_type
Definition: cts.h:205
uint8_t days_since_update
Definition: cts.h:188
@ CTS_DST_OFFSET_DOUB_DAYLIGHT_TIME
Definition: cts.h:131
cts_ref_time_info_t ref_time_info
Definition: cts.h:198
CTS Current Time value.
Definition: cts.h:171
cts_loc_time_info_t loc_time_info
Definition: cts.h:197
@ CTS_EVT_CUR_TIME_SET_BY_PEER
Definition: cts.h:152
@ CTS_REF_TIME_SRC_MANUAL
Definition: cts.h:141
uint8_t day_of_week
Definition: cts.h:165
uint16_t length
Definition: cts.h:207
@ CTS_WEEK_UNKNOWN_DAY
Definition: cts.h:115
cts_dst_offset_t dst_offset
Definition: cts.h:180
@ CTS_EVT_LOC_TIME_INFO_SET_BY_PEER
Definition: cts.h:153
cts_evt_handler_t evt_handler
Definition: cts.h:228
@ CTS_DST_OFFSET_HALF_HOUR
Definition: cts.h:129
@ CTS_WEEK_SUNDAY
Definition: cts.h:122
@ CTS_REF_TIME_SRC_ATOMIC_CLOCK
Definition: cts.h:142
@ CTS_DST_OFFSET_STANDAR_TIME
Definition: cts.h:128
CTS Reference Time Information.
Definition: cts.h:185
@ CTS_WEEK_WEDNESDAY
Definition: cts.h:118
@ CTS_REF_TIME_SRC_UNKNOWN
Definition: cts.h:137
@ CTS_REF_TIME_SRC_RADIO_TIME_SIGNAL
Definition: cts.h:140
@ CTS_REF_TIME_SRC_CELLUAR_NET
Definition: cts.h:143
@ CTS_EVT_CUR_TIME_NOTIFICATION_DISABLED
Definition: cts.h:151
@ CTS_DST_OFFSET_DAYLIGHT_TIME
Definition: cts.h:130
uint8_t conn_idx
Definition: cts.h:204
int8_t time_zone
Definition: cts.h:179
@ CTS_EVT_INVALID
Definition: cts.h:149
const uint8_t * p_data
Definition: cts.h:206
prf_date_time_t date_time
Definition: cts.h:164
CTS Exact Time 256.
Definition: cts.h:163
uint8_t fractions_256
Definition: cts.h:166
cts_loc_time_info_t loc_time_info
Definition: cts.h:231
cts_evt_type_t
Current Time Service event type.
Definition: cts.h:148
cts_dst_offset_t
Local time information:Daylight Saving Time Offset.
Definition: cts.h:127
@ CTS_REF_TIME_SRC_GPS
Definition: cts.h:139
sdk_err_t cts_service_init(cts_init_t *p_cts_init)
Initialize a Current Time Service instance and add in the DB.
cts_ref_time_info_t ref_time_info
Definition: cts.h:232
sdk_err_t cts_cur_time_send(uint8_t conn_idx, cts_cur_time_t *p_cur_time)
Send Current Time if its notification has been enabled.
CTS Local Time Information.
Definition: cts.h:178
uint16_t sdk_err_t
SDK API result type.
Definition: ble_error.h:243
@ CTS_REF_TIME_SRC_NET_TIME_PROTOCOL
Definition: cts.h:138
void cts_exact_time_get(cts_exact_time_256_t *p_exact_time)
Get exact time for user.
cts_cur_time_t cur_time
Definition: cts.h:230
The date and time structure. The packed size is 7 bytes.
Definition: ble_prf_types.h:101
@ CTS_EVT_CUR_TIME_NOTIFICATION_ENABLED
Definition: cts.h:150
void(* cts_evt_handler_t)(cts_evt_t *p_evt)
Current Time Service event handler type.
Definition: cts.h:218
cts_exact_time_256_t day_date_time
Definition: cts.h:196
@ CTS_WEEK_TUSEDAY
Definition: cts.h:117
Current Time Service init structure. This contains all option and data needed for initialization of t...
Definition: cts.h:227
void cts_exact_time_update(cts_exact_time_256_t *p_exact_time)
Update exact time.
cts_ref_time_source_t
Reference time information:Time Source.
Definition: cts.h:136
uint8_t hours_since_update
Definition: cts.h:189
cts_ref_time_source_t source
Definition: cts.h:186
@ CTS_WEEK_SATURDAY
Definition: cts.h:121
cts_cur_time_t cur_time
Definition: cts.h:208
void cts_cur_time_adjust(cts_adj_info_t *p_adj_info)
Adjust current time.
@ CTS_WEEK_THURSDAT
Definition: cts.h:119
cts_week_day_t
Current Time Day of week.
Definition: cts.h:114
uint16_t char_mask
Definition: cts.h:229
uint8_t accuracy
Definition: cts.h:187
@ CTS_WEEK_FRIDAY
Definition: cts.h:120
Profile/Service Utilities API.
uint8_t adjust_reason
Definition: cts.h:173
cts_exact_time_256_t day_date_time
Definition: cts.h:172
CTS Adjust information.
Definition: cts.h:194
cts_loc_time_info_t loc_time_info
Definition: cts.h:209
uint8_t adjust_reason
Definition: cts.h:195
Current Time Service event.
Definition: cts.h:203
@ CTS_WEEK_MONDAY
Definition: cts.h:116