Loading...
Searching...
No Matches
dcf77.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2019 HAW Hamburg
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
20
21#include <stdint.h>
22#include <stdlib.h>
23#include <inttypes.h>
24#include "xtimer.h"
25#include "time.h"
26#include "periph/gpio.h"
27#include "dcf77_internal.h"
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33/* forward-declaration for dcf77_tick_cb_t */
34struct dcf77;
35
42typedef void(*dcf77_tick_cb_t)(struct dcf77 *dev, void *arg);
43
47enum {
52};
53
57typedef struct {
58 gpio_t pin;
62
76
86int dcf77_init(dcf77_t *dev, const dcf77_params_t *params);
87
99int dcf77_get_time(dcf77_t *dev, struct tm *time);
100
110void dcf77_set_tick_cb(dcf77_t *dev, dcf77_tick_cb_t cb, void *arg);
111
112#ifdef __cplusplus
113}
114#endif
115
Bit definitions for DCF77 transmission.
Low-level GPIO peripheral driver interface definitions.
gpio_mode_t
Available pin modes.
Definition periph_cpu.h:96
void dcf77_set_tick_cb(dcf77_t *dev, dcf77_tick_cb_t cb, void *arg)
Set a tick callback for DCF77.
int dcf77_init(dcf77_t *dev, const dcf77_params_t *params)
Initialize a new DCF77 device.
void(* dcf77_tick_cb_t)(struct dcf77 *dev, void *arg)
Signature for tick callback.
Definition dcf77.h:42
struct dcf77 dcf77_t
Device descriptor for DCF77 sensor devices.
int dcf77_get_time(dcf77_t *dev, struct tm *time)
get a new timestamp from the device.
@ DCF77_INIT_ERROR
Initialization error.
Definition dcf77.h:51
@ DCF77_OK
all good
Definition dcf77.h:48
@ DCF77_NOCSUM
checksum error
Definition dcf77.h:49
@ DCF77_TIMEOUT
communication timed out
Definition dcf77.h:50
Adds include for missing inttype definitions.
Configuration parameters for DCF77 devices.
Definition dcf77.h:57
gpio_t pin
GPIO pin of the device's data pin.
Definition dcf77.h:58
gpio_mode_t in_mode
input pin configuration from the device, without pull resistor
Definition dcf77.h:59
Device descriptor for DCF77 sensor devices.
Definition dcf77.h:66
dcf77_bits_t last_bitseq
contains all Bits from a last cycle
Definition dcf77.h:69
void * tick_cb_args
Arguments for the tick callback.
Definition dcf77.h:74
dcf77_tick_cb_t tick_cb
Callback to be called if a new minute starts.
Definition dcf77.h:73
dcf77_params_t params
Device parameters.
Definition dcf77.h:67
dcf77_bits_t bitseq
contains all Bits from a current cycle
Definition dcf77.h:68
uint8_t bitCounter
Counter of the Bits in a Bitsequenz.
Definition dcf77.h:72
uint32_t startTime
Timestamp to measure the term of the level.
Definition dcf77.h:70
uint8_t internal_state
internal States
Definition dcf77.h:71
Timeinformation bitfields for DCF77 devices.
xtimer interface definitions