dcf77_internal.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 HAW Hamburg
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
19 #ifndef DCF77_INTERNAL_H
20 #define DCF77_INTERNAL_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
29 typedef union {
33  struct values {
34  uint64_t start : 1,
35  wheater : 14,
36  calling : 1,
38  mesz : 2,
39  shift_sec : 1,
40  start_time : 1,
41  minute_l : 4,
42  minute_h : 3,
43  minute_par : 1,
44  hour_l : 4,
45  hour_h : 2,
46  hour_par : 1,
47  day_l : 4,
48  day_h : 2,
49  wday : 3,
50  month_l : 4,
51  month_h : 1,
52  year_l : 4,
53  year_h : 4,
54  date_par : 1,
55  buff : 5;
56  } val;
57  uint64_t bits;
58 } dcf77_bits_t;
64 enum {
68 };
69 
70 
71 #ifdef __cplusplus
72 }
73 #endif
74 
75 #endif /* DCF77_INTERNAL_H */
76 
dcf77_bits_t::values
Struct of bitfields.
Definition: dcf77_internal.h:33
dcf77_bits_t::values::day_l
uint64_t day_l
Number of Bits for lower calenderday value.
Definition: dcf77_internal.h:47
dcf77_bits_t::values::shift_sec
uint64_t shift_sec
Number of Bits for leap-second value.
Definition: dcf77_internal.h:39
DCF77_STATE_START
@ DCF77_STATE_START
Device is searching the start for a new minute.
Definition: dcf77_internal.h:66
DCF77_STATE_IDLE
@ DCF77_STATE_IDLE
Device is in idle state.
Definition: dcf77_internal.h:65
dcf77_bits_t::values::minute_l
uint64_t minute_l
Number of Bits for lower minute value.
Definition: dcf77_internal.h:41
dcf77_bits_t::values::wday
uint64_t wday
Number of Bits for weekday value.
Definition: dcf77_internal.h:49
dcf77_bits_t::bits
uint64_t bits
Value of Bits in a received cycle.
Definition: dcf77_internal.h:57
dcf77_bits_t::values::buff
uint64_t buff
Number of Bits for experimental buffer value.
Definition: dcf77_internal.h:55
dcf77_bits_t::values::month_l
uint64_t month_l
Number of Bits for lower month value.
Definition: dcf77_internal.h:50
dcf77_bits_t::values::minute_par
uint64_t minute_par
Number of Bits for minuteparity value.
Definition: dcf77_internal.h:43
dcf77_bits_t::values::date_par
uint64_t date_par
Number of Bits for dateparity value.
Definition: dcf77_internal.h:54
dcf77_bits_t::values::hour_h
uint64_t hour_h
Number of Bits for higher hour value.
Definition: dcf77_internal.h:45
dcf77_bits_t::values::minute_h
uint64_t minute_h
Number of Bits for higher minute value.
Definition: dcf77_internal.h:42
dcf77_bits_t::values::month_h
uint64_t month_h
Number of Bits for higher month value.
Definition: dcf77_internal.h:51
dcf77_bits_t::values::year_h
uint64_t year_h
Number of Bits for higher year value.
Definition: dcf77_internal.h:53
dcf77_bits_t::values::mesz
uint64_t mesz
Number of Bits for mesz value.
Definition: dcf77_internal.h:38
dcf77_bits_t::values::year_l
uint64_t year_l
Number of Bits for lower year value.
Definition: dcf77_internal.h:52
dcf77_bits_t::values::hour_l
uint64_t hour_l
Number of Bits for lower hour value.
Definition: dcf77_internal.h:44
dcf77_bits_t::values::calling
uint64_t calling
Number of Bits for calling value.
Definition: dcf77_internal.h:36
dcf77_bits_t::values::hour_par
uint64_t hour_par
Number of Bits for hourparity value.
Definition: dcf77_internal.h:46
dcf77_bits_t::values::start
uint64_t start
< Struct of bitfields
Definition: dcf77_internal.h:34
dcf77_bits_t::values::mez_mesz_shift
uint64_t mez_mesz_shift
Number of Bits for shift value.
Definition: dcf77_internal.h:37
dcf77_bits_t::values::start_time
uint64_t start_time
Number of Bits for start_Bit value.
Definition: dcf77_internal.h:40
DCF77_STATE_RX
@ DCF77_STATE_RX
Device is in RX mode.
Definition: dcf77_internal.h:67
dcf77_bits_t
Timeinformation bitfields for DCF77 devices.
Definition: dcf77_internal.h:29
dcf77_bits_t::values::day_h
uint64_t day_h
Number of Bits for higher calenderday value.
Definition: dcf77_internal.h:48
dcf77_bits_t::values::wheater
uint64_t wheater
Number of Bits for weather value.
Definition: dcf77_internal.h:35