CVE and update status of the FreeBSD ports tree3,295 unaddressed CVEs in 670 portsAll times are CET
Port details

comms/dcf77pi 3.7.1.1_2

DCF77 receiver/logger/analyzer and library for the Raspberry Pi

Port info

Maintainer
rene@FreeBSD.org
Packages
latest: 3.7.1.1_2
Upstream
up to date
Last update
to 3.7.1.1_2 · e0f0d7870d
Quarterly
2026Q4: 3.7.1.1_2
WWW
https://codeberg.org/rene0/dcf77pi
Links
cgit · VuXML

Install

Package
# pkg install dcf77pi
installs 3.7.1.1_2 from latest; from quarterly (2026Q4) 3.7.1.1_2
Port
# cd /usr/ports/comms/dcf77pi && make install clean
# make -C /usr/ports/comms/dcf77pi config  # change options first
Size
42 KiB download · 121 KiB installed
Depends on
devel/json-c 0.19_1
License
BSD2CLAUSE
Options
1 of 2 on in the package: DOCS
Show the 1 options that are off
DOXYGEN
pkg-message
Shown after installing
Normally, dcf77pi and readpin need to be run as root due to the permissions of
/dev/gpioc* , but they can be run as a regular user by changing the permissions
of the device node:

# chmod 0660 /dev/gpioc*

And to make the change persistent across reboots:

# echo "perm gpioc* 0660" >> /etc/devfs.conf

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 163.7.1.1_23.7.1.1_2–
FreeBSD 153.7.1.1_23.7.1.1_2–
FreeBSD 143.7.1.1_23.7.1.1_23.7.1.1_2

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 153.7.1.1_23.7.1.1_2–
FreeBSD 143.7.1.1_23.7.1.1_23.7.1.1_2

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 3.7.1.1_2.

Fixed (0)

No VuXML entries for this package.

Problem reports (0) · open in Bugzilla, most recently changed first

None.

Commits (49)

Rene Ladan (rene) · 3.7.1.1_2
comms/dcf77pi: fix build

Fixes:	19d8d6dd4ba6 "comms/dcf77pi: migrate to codeberg"
Pointyhat:	rene
e0f0d7870d
Rene Ladan (rene) · 3.7.1.1_2
comms/dcf77pi: migrate to codeberg

portfmt while here, and bump PORTREVISION
19d8d6dd4b
Stefan Eßer (se) · 3.7.1.1_1
Remove WWW entries moved into port Makefiles

Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
fb16dfecae
Stefan Eßer (se) · 3.7.1.1_1
Add WWW entries to port Makefiles

It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
b7f05445c0
Rene Ladan (rene) · 3.7.1.1_1
cleanup: remove Created-by lines mentioning myself from my ports.

While here use my FreeBSD address again for all my ports.
db3918c88e
Rene Ladan (rene) · 3.7.1.1_1
comms/dcf77pi: pet portclippy
59dc0b5edf
Mathieu Arnold (mat) · 3.7.1.1_1
Remove # $FreeBSD$ from Makefiles.
305f148f48
Rene Ladan (rene) · 3.7.1.1_1
Move ports that I wrote to my personal email address.
71a54257c7
Sunpoet Po-Chuan Hsieh (sunpoet) · 3.7.1.1_1
Bump PORTREVISION for devel/json-c json-c
aabbea4dfa
Rene Ladan (rene) · 3.7.1.1
comms/dcf77pi: update to 3.7.1.1, clean up Makefile
368437a0df
Rene Ladan (rene) · 3.7.0_1
UCL-ify pkg-message of my ports.
52ab157552
Mathieu Arnold (mat) · 3.7.0_1
Add DOCS options to ports that should have one.

Also various fixes related to said option.

PR:		230864
Submitted by:	mat
exp-runs by:	antoine
e1bfdfbe56
Sunpoet Po-Chuan Hsieh (sunpoet) · 3.7.0_1
Update devel/json-c to 0.13.1

- Add my LOCAL to MASTER_SITES
- Bump PORTREVISION of dependent ports for shlib change

Changes:	https://github.com/json-c/json-c/blob/master/ChangeLog
PR:		231007
Exp-run by:	antoine
29632fcc45
Rene Ladan (rene) · 3.7.0
comms/dcf77pi: update to version 3.7.0
ea16b41ed1
Rene Ladan (rene) · 3.6.1
comms/dcf77pi: update to 3.6.1

Changelog:	https://github.com/rene0/dcf77pi/releases/tag/3.6.1
MFH:		2017Q4
10c237288a
Rene Ladan (rene) · 3.6.0
comms/dcf77pi: update to 3.6.0

See CHANGELOG.md for changes

While here, improve pkg-message
b06e51b9b0
Rene Ladan (rene) · 3.5.0
comms/dcf77pi: add a tip to make it possible to run the programs as non-root
71d2f2e7d1
Rene Ladan (rene) · 3.5.0
comms/dcf77pi: update to version 3.5.0 - pin numbers are now 16 bits - rename some functions to not confuse Doxygen - make some functions public
abae7b71c8
Mathieu Arnold (mat) · 3.4.2
Remove ${PORTSDIR}/ from dependencies, Mk and categories a, b, and c.

With hat:	portmgr
Sponsored by:	Absolight
7f4572eae4
Rene Ladan (rene) · 3.4.2
comms/dcf77pi: update to version 3.4.2

This update fixes a bug in the century calculation which could result in
wrongly calculated dates.
MFH:		2016Q1
327625af94
Rene Ladan (rene) · 3.4.1
comms/dcf77pi: update to version 3.4.1
37982a8ab9
Rene Ladan (rene) · 3.4.0
comms/dcf77pi: update to 3.4.0

Add option to create Doxygen HTML

Changelog:	https://github.com/rene0/dcf77pi/releases/tag/3.4.0
a89bc69537
Mathieu Arnold (mat) · 3.3.0
Update ports in the [bcd]* categories to not use GH_COMMIT.

With minor cleanups to make things simpler.

With hat:	portmgr
Sponsored by:	Absolight
c6457ffef4
Rene Ladan (rene) · 3.3.0
comms/dcf77pi: update to 3.3.0

Changes:
* improve support for decoding the alarm messages by showing the main German
  regions which are affected. Note that this was an experimental and now
  unused system. With permission from Mr. Wenzelewski from DIN

* Doxygen support, provide a Doxyfile (not supported by the port yet)

* Small fixes to the FidoCADJ schematics

* library:
  - assign date/time fields more independently so that errors are corrected
    faster
  - record the accumulated minute length at the end of each line in the log
    file, preceded by an 'a'. These values are read back by get_bit_file()
  - redesign the calculations for the accumulated minute length to be more
    accurate in case of reception errors or reading log files. Time can now
    be adjust forwards and backwards.
  - record the minute cutoff value at the end of each line in the log file,
    preceded by a 'c'. These values are read back by get_bit_file()
  - skip consecutive newlines in the log file
  - use a more accurate sleep time when receiving live bits
  - set upper bound of hw.freq to 155,000 Hz
  - API cleanups (types sanitized, const qualifiers added, some renames)
  - algorithm and code cleanups

* dcf77pi:
  - show the accumulated minute length each second instead of each minute
  - show the minute cutoff value
54cedf8e15
Rene Ladan (rene) · 3.2.0
Clean up pkg-plist of my ports.
cad5f95847
Rene Ladan (rene) · 3.2.0
- Update comms/dcf77pi to version 3.2.0 - Use USE_LDCONFIG

Overall changes:
- Compile with -fpic instead of -fPIC (potentially smaller code size)
- Add a schematics file for the hardware receiver in FidoCadJ format
- Language and typographical updates to README.md
- Several signed/unsigned/size fixes

Library changes:
- Extract generic third-party code for bits 1..14 from decode_alarm.h into a
  new file bits1to14.h
- Convert almost all calculations for decoding the live signal into integer
  operations, drop fields 'a', 'frac', and 'maxone' from struct bitinfo.
- New function setclock_ok() in setclock.h
- New functions get_acc_minlen(), add_acc_minlen(), reset_acc_minlen() in
  decode_time.h. The accumulated minute length is now a first-class entity.
  When decoding the live signal, increment it more precisely than just 1000 ms/s
  to prevent drift during bad radio reception.
- New functions dcftime() and isotime() in decode_time.h. Use the latter in
  setclock.c
- Check input values of etc/config.txt:
  - hw.active_high must be 0 or 1
  - hw.freq must be even between 10 and 666666
- Reset the values of bit0 and bit20 if the latter becomes smaller than the
  former, show this in the log file using a '!'
- Compact the signal buffer, it now stores 8 pulses per byte instead of just 1.

Client changes:
- Make dcf77pi and dcf77pi-analyze more agnostic of the contents of the
  third-party contents
- Update display code of dcf77pi and readpin for the updates to the live signal
  decoding
- Show in dcf77pi when the value of bit20 underflows
- Update the code to display the signal buffer in readpin
- Fix readpin to properly clean up when receiving a SIGINT
dffe241cd2
Rene Ladan (rene) · 3.1.0_1
comms/dcf77pi: apply upstream patch to fix display bug when realfreq is reset
11ab98b206
Rene Ladan (rene) · 3.1.0
comms/dcf77pi: update to 3.1.0, improve pkg-descr

General:
- add partial support for OSX and Cygwin
- add bitinfo.last0 field which represents the last pulse where the radio signal was 0
- store radio signal into a new field bitinfo.signal
- more robust handling of radio signal glitches
- improve realfreq by approximately 7% on a non-optimized standard build
- simplify code for handling DST changes and leap seconds
- defer assigning the decoded time until the minute length has been checked
  to match the exact expected value (i.e. 59 unless a leap second occurs)
- code cleanups

README:
 - mention supported platforms

dcf77pi:
- display updates, show last0

readpin:
- overhaul to make more use of libdcf77
- drop -t parameter
506b6fddaa
Rene Ladan (rene) · 3.0.0.1
comms/dcf77pi: Update 3.0.0.1

The code to decode the radio signal, date/time, and civil warnings is now
provided in a library libdcf77.so together with the relevant header files.

dcf77pi is now split up into dcf77pi (the live client) and dcf77pi-analyze
(the client to analyze log files). The -f parameter of dcf77pi is dropped.

Apply minor lint(1) fixes.
635797cf05
Rene Ladan (rene) · 2.1.0
comms/dcf77pi: update to 2.1.0

General:
- the maxzero and maxone parameters are now determined dynamically, remove
  them from config.txt and README.md
- Do not consider time offset jumps if bit 17 and 18 are equal

readpin:
- add a -q parameter to suppress displaying of the raw signal (default off)
- display updates

dcf77pi:
- display updates/fixes, show radio state
  (OK if no receive/transmit/random errors)
f2cacbe752
Rene Ladan (rene) · 2.0.3
comms/dcf77pi: update to 2.0.3, use the new @sample keyword - Mention the "backspace" key in README.md - Reset DST and leap second announcements at the next hour - Detect sudden jumps to non-DST - Relax conditions for processing a DST change
3709da2f35
Rene Ladan (rene) · 2.0.2
comms/dcf77pi: update to 2.0.2

- Prevent a possible string overflow when reading the configuration file.
- Plug a few memory leaks.
- Refactor a lot of code.

- Replace -l parameter (specify logfile) of dcf77pi by an interactive 'L' key
  which can also be used to change or disable the log file.
- New entry in config.txt, "outlogfile", to specify the the default log file
  (default empty).

- Fix a bug where the hour would be wrongly considered off by one at the
  moment of a DST change.

- Various bug fixes in the GUI code (only affected displaying of the data).

- Handle log files with \n\r line endings used by RISC OS (which runs on the
  Raspberry Pi).
- Slightly improve output when reading from a log file.

- Update README.md
182bd70663
Rene Ladan (rene) · 2.0.1
comms/dcf77pi: No need to check for and install configuration sample in Makefile with stage support.
f6e5ca2b87
Rene Ladan (rene) · 2.0.1
comms/dcf77pi: update to 2.0.1 - support DESTDIR and install-strip, uninstall targets in upstream Makefile - clean up port Makefile accordingly - bugfix: do not accept removed 'S' command line option - bugfix: display 'no minute' at the correct position in GUI mode - do not leak curses memory at exit
a762c4c8ec
Rene Ladan (rene) · 2.0.0
comms/dcf77pi: update to version 2.0.0

- Provide an ncurses based interface in live mode, no changes when reading
  from a log file
- Drop the -v and -S parameters, they are now part of the GUI

- add ncurses to USES
558ea7a848
Rene Ladan (rene) · 1.1.3
comms/dcf77pi: Update to 1.1.3

Changes:
- Add the correct number of minutes when the accumulated minute length is
  more than 60 seconds (happens when e.g. the transmitter is off).
- Disallow DST changes or leap seconds if a 0 is specified for summermonth,
  wintermonth, or leapsecmonths.
- Allow compilation on NetBSD.
4c20e3ab39
Rene Ladan (rene) · 1.1.2
Update to 1.1.2

Changes:
- replace hardcoded realfreq parameter with a dynamically determined value
  and update README.md
- minor updates to time decoder
ceb97a7397
Rene Ladan (rene) · 1.1.1
Specify which BSD licence applies.

Submitted by:	make check-sanity
14f13b87df
Rene Ladan (rene) · 1.1.1
Update to 1.1.1

Changes:

dcf77pi:
- Calculate century (modulo 400) from year, month, day of week, day of month
- New parameter -S to set the system time
- Improvements to DST handling
- Set error state if day of month is too large, not just when greater than 31

readpin:
- New parameter -t for readpin to adjust nanosleep() delay
- Determine realfreq dynamically, do not use realfreq from config.txt

general:
- Documentation updates
- Code cleanups
5950623eec
Rene Ladan (rene) · 1.1.0
* Update to 1.1.0:   - New algorithm to receive bits from the radio signal from an idea by     Udo Klein, with permission [1] (configuration file changed)   - Use two independent maximum values for 0 and 1 bits (configuration     file changed)   - New verbose display output   - Weaken precondition for processing leap seconds and DST changes to not     insist on correct values for parity bits and b

* Simplify PORTDOCS installation

[1] http://blog.blinkenlight.net/experiments/dcf77/binary-clock/#comment-5916
dfdd404bbd
Rene Ladan (rene) · 1.0.5
- Update to 1.0.5 - Add a note to UPDATING about the changed and renamed configuration file.
c237320b4e
Rene Ladan (rene) · 1.0.4
Add staging support.
6bef8ca785
Baptiste Daroussin (bapt) · 1.0.4
Add NO_STAGE all over the place in preparation for the staging support (cat: comms)
2b300eeb3f
Rene Ladan (rene) · 1.0.4
Update to 1.0.4 : - better detection for bits in the radio signal - catch more corner cases in decoding of the time data

The configuration file (hardware.txt) needs to be updated with this update.
4641a8dc34
Rene Ladan (rene) · 1.0.3.1
Update to 1.0.3.1

This release fixes installation of the configuration file.
e74a981aff
Rene Ladan (rene) · 1.0.3_1
Distfile was rerolled, bump PORTREVISION
4c4fe81147
Rene Ladan (rene) · 1.0.3
Update to 1.0.3

No need to ignore on FreeBSD < 9.0, the software will disable GPIO itself.
bd7b90749a
Rene Ladan (rene) · 1.0.2
Update to 1.0.2
fc1f4c8dbf
Rene Ladan (rene) · 1.0.1
Yet another DCF77 decoder.  This one is intended for the Raspberry Pi platform but might work on other devices using GPIO pins too.

The received data can be logged for later playback/analysis.

WWW: https://github.com/rene0/dcf77pi
11fb4232d6