1
0
mirror of https://github.com/AG7GN/nexus-utilities.git synced 2025-05-17 07:00:09 -07:00
2019-11-16 18:51:17 -08:00
2019-09-22 15:23:20 -07:00
2019-09-22 15:35:45 -07:00
2019-11-16 18:40:29 -08:00
2019-09-22 15:35:45 -07:00
2019-11-16 18:01:51 -08:00
2019-11-16 18:40:29 -08:00
2019-10-02 16:32:04 -07:00
2019-10-02 16:32:04 -07:00
2019-09-22 15:35:45 -07:00
2019-09-23 13:14:25 -07:00
2019-09-23 13:14:25 -07:00
2019-09-22 15:35:45 -07:00
2019-09-22 15:35:45 -07:00
2019-09-22 15:35:45 -07:00
2019-09-22 15:35:45 -07:00
2019-09-22 15:35:45 -07:00

Hampi Utilities

VERSION 20191002

This is a collection of utilities for the Hampi image. These scripts will only work on the Hampi image.
Some scripts are specific to the Nexus DR-X board.

check-piano.sh

initialize-pi.sh

name-radios.sh

patmail.sh

tnc-left.conf tnc-right.conf

test-piano.sh

tnc.sh

trim scripts

watchdog-tnc.sh

shutdown_button.py

Installation

Easy Install

  • Click Raspberry > Hamradio > Update Pi and Ham Apps.
  • Check hampi-utilities, click OK.

Manual Install

Alternatively, you can install these utilities manually as follows:

  • Open a terminal and run:

      cd ~
      rm -rf hampi-utilities 
      git clone https://github.com/AG7GN/hampi-utilities  
      sudo cp hampi-utilities/*.sh /usr/local/bin
      sudo cp hampi-utilities/*.desktop /usr/local/share/applications/
      cp hampi-utilities/hampi-utilities.version /usr/local/src/hampi/
      rm -rf hampi-utilities
    

check piano script

check-piano.sh is called by initialize-pi.sh whenever the Pi starts. It reads the position of the piano switches on the Nexus DR-X board and launches a script based on which switch levers are up or down.

The script that check-piano.sh calls must be in the user's home directory, be marked as executable, and be named pianoX.sh where X is one of these:

1, 12, 13, 14, 123, 124, 134, 1234, 2, 23, 234, 24, 3, 34, 4

Example: When the piano switch levers 2 and 4 are down, the script named $HOME/piano24.sh will run whenever the Raspberry Pi starts.

If a pianoX.sh script is not present, no action is taken and the pi boots normally.

initialize pi script

initialize-pi.sh is run whenever the Pi starts. It runs via this line in user pi's crontab:

@reboot sleep 5 && /usr/local/bin/initialize-pi.sh

The script checks for the presence of a file called DO_NOT_DELETE_THIS_FILE in the user's home directory. If the file is present, the script runs check-piano.sh and then exits.

If DO_NOT_DELETE_THIS_FILE is not present in the user's home directory, the script will reset various configuration files for ham radio applications to default values and reset the VNC Server and SSH keys. It will then create the DO_NOT_DELETE_THIS_FILE file in the user's home directory.

name radios script

name-radios.sh allows you to change the title bar of Fldigi suite and Direwolf applications so they say something other than "Left Radio" or "Right Radio". The associated menu entry file is /usr/local/share/applications/nameradios.desktop.

patmail script

patmail.sh allows the user to run pat within scripts rather than interactively. Obviously, pat must be installed for it to work. You can install Pat via Raspberry > Hamradio > Update Pi and Ham Apps.

test piano script

test-piano.sh allows you to test the operation of your pianoX.sh script by simulating what the check-piano.sh does when the Pi starts. Set the piano switches as desired, then open a Terminal and run test-piano.sh. The script will tell you which script will run based on which switch levers are down. It will not actually run the pianoX.sh script.

tnc left tnc right configuration files

tnc-left.conf and tnc-right.conf configuration files are required by /usr/local/bin/tnc.sh script. They contain the configuration that tnc.sh needs in order to operate with Direwolf as an APRS Digitpeater, iGate, Digipeater+iGate, or ax25 TNC.

IMPORTANT: You must edit tnc-{left|right}.conf with your own settings before running tnc.sh for the first time.

tnc.sh will look for tnc.conf in the user's home folder. To use tnc.sh, you must make a symlink to the appropriate tnc configuration file for the left or right radio.

  • For the left radio:

      cd ~
      ln -s tnc-left.conf tnc.conf
    
  • For the right radio:

      cd ~
      ln -s tnc-right.conf tnc.conf
    

tnc script

tnc.sh launches Direwolf, and optionally other related apps, in different modes. The script will look for tnc.conf in the user's home directory. The script will set up and run Direwolf to operate in any one of these modes TNC: ax25, APRS Digipeater, APRS iGate, APRS Digipeater+iGate. It can also launch pat, ardop, pat+ax25, or pat+ardop provided those apps are also installed and configured.

trim scripts

trim-fldigi-log.sh
trim-flmsg-log.sh
trim-flrig-log.sh
trim-fsq-audit.sh
trim-fsq-heard.sh

This collection of scripts trims the logs of various applications in the Fldigi family. They all take 1 argument: A date reference, for example: "10 days ago" or "1 hour ago". The script will delete log entries older than the date specified. These scripts are run whenever you launch Fldigi, Flrig and Flmsg from the Raspberry > Hamradio menu. You can change the timeframe of the trim by editing the .desktop. file. For example, this is the Exec entry in the /usr/local/share/applications/fldigi-left.desktop file:

Exec=sh -c '/usr/local/bin/trim-fldigi-log.sh "yesterday";PULSE_SINK=fepi-playback PULSE_SOURCE=fepi-capture fldigi --config-dir /home/pi/.fldigi-left -title "Fldigi (Left Radio)" --flmsg-dir /home/pi/.nbems-left'	

To change it to trim log entries older than 2 weeks ago rather than yesterday, the line would look like this:

Exec=sh -c '/usr/local/bin/trim-fldigi-log.sh "2 weeks ago";PULSE_SINK=fepi-playback PULSE_SOURCE=fepi-capture fldigi --config-dir /home/pi/.fldigi-left -title "Fldigi (Left Radio)" --flmsg-dir /home/pi/.nbems-left'	

watchdog tnc script

watchdog-tnc.sh runs via cron. It launches tnc.sh and restarts it automatically if it stops for some reason. It is intended for use when tnc.sh is run in one of the APRS modes. The script takes one argument, which it passes to tnc.sh as the "mode" argument. These are examples of entries you could use in crontab (only ONE can be used at one time):

# This one digipeats only - no internet
*/2 * * * * /usr/local/bin/watchdog-tnc.sh digi >/dev/null 2>&1

# This one digipeats and igates 
*/2 * * * * /usr/local/bin/watchdog-tnc.sh digiigate >/dev/null 2>&1

# This one igates only
*/2 * * * * /usr/local/bin/watchdog-tnc.sh igate >/dev/null 2>&1

Shutdown Button Script

shutdown_button.py monitors the shutdown button found on the DigiLink REV DS and Nexus DR-X boards. It reboots the Pi if the button is pressed more than 2 but less than 5 seconds, or shuts down the Pi if the button is pressed for more than 5 seconds.

Your Hampi image already has the systemd service file for the shutdown script installed and enabled. No further action is required to enable it, but for documentation purposes only, here's how to enable the service:

  • As sudo, create a file called /etc/systemd/system/shutdown_button.service with the following text:

      [Unit]
      Description=GPIO shutdown button
      After=network.target
    
      [Service]
      Type=simple
      Restart=always
      RestartSec=1
      User=root
      ExecStart=/usr/bin/python3 /usr/local/bin/shutdown_button.py
    
      [Install]
      WantedBy=multi-user.target
    
  • Run these commands in a Terminal to enable the service:

      sudo systemctl enable shutdown_button.service
      sudo systemctl start shutdown_button.service
    
Description
No description provided
Readme 482 KiB
Languages
Shell 76.9%
HTML 15.5%
Python 7.6%