Skip to content

Ensure uniclogs libs are installed globally#17

Merged
bryborge merged 11 commits into
mainfrom
fix-deps
Feb 26, 2026
Merged

Ensure uniclogs libs are installed globally#17
bryborge merged 11 commits into
mainfrom
fix-deps

Conversation

@bryborge
Copy link
Copy Markdown
Contributor

@bryborge bryborge commented Feb 10, 2026

Changes

  • Install pip packages globally
  • Ensure that the gpio c-bindings are present on the image
  • Ensure all necessary config and scripts are present on the image (migrated from here)
  • Install bc program for the get-temp.sh script
  • Ensure that I2C is enabled on the pi

And ensure that the gpio c-bindings are present on the image
System config files in the overlay dir get synced to the etc/ dir on the image.
@bryborge bryborge changed the title [WIP] Ensure uniclogs libs are installed globally Feb 12, 2026
@bryborge bryborge marked this pull request as ready for review February 16, 2026 03:59
Copy link
Copy Markdown
Contributor

@ThirteenFish ThirteenFish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just a handful of things that could be improved since we're touching these files anyway.

Comment thread uniclogs/overlay/etc/config/stationd.ini-UPB Outdated
ExecStart=/usr/bin/python3 -m stationd --config /etc/config/stationd.ini
ExecStartPost=/usr/bin/sleep 5
ExecStartPost=/home/uniclogs/bin/stationc.sh "radio-host power on" "rotator power on"
ExecStartPost=/usr/bin/sleep 30
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need this final sleep 30. We probably also don't need the sleep 5 but this raises an interesting question, how soon after starting stationd can we start talking to it?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that something you'd like tested explicitly when we get this uploaded onto our station hardware?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. We can probably also do something clever eventually to not have to empirically test this and have it just work by sending the command without waiting (probably something with systemd sockets).

On the other hand I'd be happy for now with even with just a quick check that it works either without a sleep or with a sleep 1, no need to go too overboard yet.

Comment thread uniclogs/overlay/home/uniclogs/bin/gpio-scan.sh Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This script can probably be replaced by iio_readdev from the package libiio-utils but I've not yet tested it. We may want to make a note in some kind of documentation though that the device exists and how to access it. We don't really have an operators manual yet though, but something that lists all the devices and how to interact with them might be nice in the future.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Captured: #18

# Restart HamLib rotctld when the rotator controller is connected
# Be sure to change the serial number from xxxxxxxx to your serial number!
# Try `ls /dev/tty_FTDI_*` for a list of potentials
SUBSYSTEM=="tty",SUBSYSTEMS=="usb",DRIVERS=="usb",ACTION=="add",ATTRS{product}=="FT232R USB UART",ATTRS{serial}=="xxxxxxxx",TAG+="systemd",ENV{SYSTEMD_WANTS}="rotctld.service",RUN+="/usr/bin/systemctl restart rotctld"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The RUN+="/usr/bin/systemctl restart rotctld" action here isn't a great way of doing this, instead the rotctld.service [Unit] section should have BindsTo=dev-tty_FTDI_xxxxxxxx.device. That will ensure that rotctld is stopped when the rotator goes away.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've removed the RUN+= snippet from this rules file and added the BindsTo directive to systemd.

@bryborge bryborge merged commit 2212aa6 into main Feb 26, 2026
@bryborge bryborge deleted the fix-deps branch February 26, 2026 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants