diff --git a/config/config.txt b/config/config.txt new file mode 100755 index 0000000..7a6c2e7 --- /dev/null +++ b/config/config.txt @@ -0,0 +1,89 @@ +# For more options and information see +# http://rpf.io/configtxt +# Some settings may impact device functionality. See link above for details + +[all] +# uncomment if you get no picture on HDMI for a default "safe" mode +#hdmi_safe=1 + +# uncomment the following to adjust overscan. Use positive numbers if console +# goes off screen, and negative if there is too much border +#overscan_left=16 +#overscan_right=16 +#overscan_top=16 +#overscan_bottom=16 + +# uncomment to force a console size. By default it will be display's size minus +# overscan. +#framebuffer_width=1280 +#framebuffer_height=720 + +# uncomment if hdmi display is not detected and composite is being output +#hdmi_force_hotplug=1 + +# uncomment to force a specific HDMI mode (this will force VGA) +#hdmi_group=1 +#hdmi_mode=1 + +# uncomment to force a HDMI mode rather than DVI. This can make audio work in +# DMT (computer monitor) modes +#hdmi_drive=2 + +# uncomment to increase signal to HDMI, if you have interference, blanking, or +# no display +#config_hdmi_boost=4 + +# uncomment for composite PAL +#sdtv_mode=2 + +#uncomment to overclock the arm. 700 MHz is the default. +#arm_freq=800 +#arm_freq=2000 + +# Uncomment some or all of these to enable the optional hardware interfaces +#dtparam=i2c_arm=on +#dtparam=i2s=on +#dtparam=spi=on + +# Uncomment this to enable infrared communication. +#dtoverlay=gpio-ir,gpio_pin=17 +#dtoverlay=gpio-ir-tx,gpio_pin=18 + +# Additional overlays and parameters are documented /boot/overlays/README + +# Enable audio (loads snd_bcm2835) +dtparam=audio=on + +# Automatically load overlays for detected cameras +camera_auto_detect=1 + +# Automatically load overlays for detected DSI displays +display_auto_detect=1 + +# Enable DRM VC4 V3D driver +dtoverlay=vc4-kms-v3d +max_framebuffers=2 + +# Disable compensation for displays with overscan +disable_overscan=1 + +[cm4] +# Enable host mode on the 2711 built-in XHCI USB controller. +# This line should be removed if the legacy DWC2 controller is required +# (e.g. for USB device mode) or if USB support is not required. +otg_mode=1 + + +[pi4] +# Run as fast as firmware / board allows +arm_boost=1 + +[fan] +fan_temp0_temp=55 +fan_temp0_speed=0 +fan_temp1_temp=60 +fan_temp1_speed=50 +fan_temp2_temp=70 +fan_temp2_speed=100 + + diff --git a/systemd/system/fanctrl.service b/systemd/system/fanctrl.service new file mode 100644 index 0000000..7f23d66 --- /dev/null +++ b/systemd/system/fanctrl.service @@ -0,0 +1,16 @@ +[Unit] +Description=Control the Ultra Light ICE-Tower Cooler fan +After=network.service + +[Service] +Type=simple +#WorkingDirectory=/home/pi/git/fanctrl +ExecStart=/usr/local/bin/fanctrl +StandardOutput=append:/var/log/fanctrl.log +StandardError=append:/var/log/fanctrl_error.log +Restart=no + + +[Install] +WantedBy=multi-user.target + diff --git a/usr/local/bin/fanctrl b/usr/local/bin/fanctrl new file mode 100755 index 0000000..ec4cc97 --- /dev/null +++ b/usr/local/bin/fanctrl @@ -0,0 +1,15 @@ +#! /bin/bash + +cleanup() { + echo "cleanup()" + echo "terminating ${FANCTRL_PID}" + kill -TERM "${FANCTRL_PID}" +} + +trap cleanup exit + +cd /home/pi/git/fanctrl +exec /home/pi/.local/bin/uv run ./fanctrl.py & +FANCTRL_PID=$! +echo "FANCTRL_PID=${FANCTRL_PID}" +wait "${FANCTRL_PID}"