I got one of these rack units recently, and I couldn't help but hack on the code that drives the little OLED displays on the front of each unit. I've completely rewritten it. Among other things:
- A hostname is much more useful than a dynamically assigned IP address.
- I created a systemd service file so it automatically starts.
- The disk and RAM utilization readouts aren't very useful
- A network transmit rate is useful, especially on a system doing real-time SDR.
- The code and directory layout was just ugly. It needed a complete rewrite.
- The display is slow. It needed some speedups.
- I enlarged all the displays to use the full width of 15 characters, including the bar graphs at the bottom
- The bar graphs take a threshold parameter. When a value exeeds it, it's shown in a different color (usually red).
- I jettisoned the Python code. (I admit it, I just can't get into Python. The language, not the comedy troupe it's named after. I'm a diehard C programmer.)
The project supports running on RaspberryPi, Ubuntu, HomeAssistant,You can also use Python to call compiled DLLs on these platforms.
Add the following to the /boot/config.txt file
dtparam=i2c_arm=on,i2c_arm_baudrate=400000Add the following to the /boot/config.txt file
dtoverlay=gpio-shutdown,gpio_pin=4,active_low=1,gpio_pull=upreboot your system
sudo rebootWait for the system to restart
git clone https://github.com/UCTRONICS/SKU_RM0004.gitcd SKU_RM0004
make./display
Open the rc.local file
sudo nano /etc/rc.localAdd command to the rc.local file
cd /home/pi/SKU_RM0004
make clean
make
./display &reboot your system