diff --git a/source/argon1.sh b/source/argon1.sh index 57054ad..f83535f 100644 --- a/source/argon1.sh +++ b/source/argon1.sh @@ -208,6 +208,9 @@ then if [ "$CHECKDEVICE" = "eon" ] then pkglist=($gpiopkg python3-smbus i2c-tools smartmontools) + elif [ "$CHECKDEVICE" = "oneoled" ] + then + pkglist=($gpiopkg python3-smbus i2c-tools python3-luma.oled) else pkglist=($gpiopkg python3-smbus i2c-tools) fi @@ -217,6 +220,9 @@ else if [ "$CHECKDEVICE" = "eon" ] then pkglist=($gpiopkg python3-smbus i2c-tools smartmontools) + elif [ "$CHECKDEVICE" = "oneoled" ] + then + pkglist=($gpiopkg python3-smbus i2c-tools python3-luma.oled) else pkglist=($gpiopkg python3-smbus i2c-tools) fi @@ -255,6 +261,16 @@ then fi fi +if [ "$CHECKDEVICE" = "oneoled" ] +then + TMPCONFIGFILE="/dev/shm/tmpconfig.txt" + cat $CONFIG | grep -v 'dtoverlay=dwc2' > $TMPCONFIGFILE + chmod 755 $TMPCONFIGFILE + sudo cp $TMPCONFIGFILE $CONFIG + set_config_var dtoverlay=dwc2,dr_mode host $CONFIG + rm $TMPCONFIGFILE +fi + # Added to enabled NVMe for pi5 set_nvme_default @@ -262,6 +278,7 @@ set_nvme_default basename="argonone" daemonname=$basename"d" irconfigscript=$INSTALLATIONFOLDER/${basename}-ir +upsconfigscript=$INSTALLATIONFOLDER/${basename}-upsconfig.sh fanconfigscript=$INSTALLATIONFOLDER/${basename}-fanconfig.sh eepromrpiscript="/usr/bin/rpi-eeprom-config" eepromconfigscript=$INSTALLATIONFOLDER/${basename}-eepromconfig.py @@ -280,6 +297,13 @@ then sudo chmod 755 $eepromconfigscript fi +if is_pifive +then + # UPS Config Script + sudo wget $ARGONDOWNLOADSERVER/scripts/argonone-upsconfig.sh -O $upsconfigscript --quiet + sudo chmod 755 $upsconfigscript +fi + # Fan Config Script sudo wget $ARGONDOWNLOADSERVER/scripts/argonone-fanconfig.sh -O $fanconfigscript --quiet sudo chmod 755 $fanconfigscript @@ -287,7 +311,12 @@ sudo chmod 755 $fanconfigscript # Fan Daemon/Service Files sudo wget $ARGONDOWNLOADSERVER/scripts/argononed.py -O $powerbuttonscript --quiet -sudo wget $ARGONDOWNLOADSERVER/scripts/argononed.service -O $daemonfanservice --quiet +if [ "$CHECKDEVICE" = "oneoled" ] +then + sudo wget $ARGONDOWNLOADSERVER/scripts/argononeoledd.service -O $daemonfanservice --quiet +else + sudo wget $ARGONDOWNLOADSERVER/scripts/argononed.service -O $daemonfanservice --quiet +fi sudo chmod 644 $daemonfanservice if [ ! "$CHECKDEVICE" = "fanhat" ] @@ -377,10 +406,6 @@ then daemonrtcservice=/lib/systemd/system/$daemonname.service rtcdaemonscript=$INSTALLATIONFOLDER/$daemonname.py - oledconfigscript=$INSTALLATIONFOLDER/${basename}-oledconfig.sh - oledlibscript=$INSTALLATIONFOLDER/${basename}oled.py - oledconfigfile=/etc/argoneonoled.conf - # Generate default RTC config file if non-existent if [ ! -f $rtcconfigfile ]; then sudo touch $rtcconfigfile @@ -390,6 +415,29 @@ then echo '# Argon RTC Configuration' >> $rtcconfigfile echo '#' >> $rtcconfigfile fi + + # RTC Config Script + sudo wget $ARGONDOWNLOADSERVER/scripts/argoneon-rtcconfig.sh -O $rtcconfigscript --quiet + sudo chmod 755 $rtcconfigscript + + # RTC Daemon/Service Files + sudo wget $ARGONDOWNLOADSERVER/scripts/argonrtc.py -O $INSTALLATIONFOLDER/argonrtc.py --quiet + sudo wget $ARGONDOWNLOADSERVER/scripts/argoneond.py -O $rtcdaemonscript --quiet + sudo wget $ARGONDOWNLOADSERVER/scripts/argoneond.service -O $daemonrtcservice --quiet + sudo chmod 644 $daemonrtcservice +fi + + +if [ "$CHECKDEVICE" = "eon" ] || [ "$CHECKDEVICE" = "oneoled" ] +then + # OLED Setup + basename="argoneon" + daemonname=$basename"d" + + oledconfigscript=$INSTALLATIONFOLDER/${basename}-oledconfig.sh + oledlibscript=$INSTALLATIONFOLDER/${basename}oled.py + oledconfigfile=/etc/argoneonoled.conf + # Generate default OLED config file if non-existent if [ ! -f $oledconfigfile ]; then sudo touch $oledconfigfile @@ -399,25 +447,25 @@ then echo '# Argon OLED Configuration' >> $oledconfigfile echo '#' >> $oledconfigfile echo 'switchduration=30' >> $oledconfigfile - echo 'screenlist="clock cpu storage raid ram temp ip"' >> $oledconfigfile + if [ "$CHECKDEVICE" = "eon" ] + then + echo 'screenlist="clock cpu storage raid ram temp ip"' >> $oledconfigfile + else + echo 'screenlist="clock cpu storage ram temp ip"' >> $oledconfigfile + fi fi - - # RTC Config Script - sudo wget $ARGONDOWNLOADSERVER/scripts/argoneon-rtcconfig.sh -O $rtcconfigscript --quiet - sudo chmod 755 $rtcconfigscript - - # RTC Daemon/Service Files - sudo wget $ARGONDOWNLOADSERVER/scripts/argoneond.py -O $rtcdaemonscript --quiet - sudo wget $ARGONDOWNLOADSERVER/scripts/argoneond.service -O $daemonrtcservice --quiet - sudo wget $ARGONDOWNLOADSERVER/scripts/argoneonoled.py -O $oledlibscript --quiet - sudo chmod 644 $daemonrtcservice - # OLED Config Script - sudo wget $ARGONDOWNLOADSERVER/scripts/argoneon-oledconfig.sh -O $oledconfigscript --quiet + if [ "$CHECKDEVICE" = "eon" ] + then + sudo wget $ARGONDOWNLOADSERVER/scripts/argoneonoled.py -O $oledlibscript --quiet + sudo wget $ARGONDOWNLOADSERVER/scripts/argoneon-oledconfig.sh -O $oledconfigscript --quiet + else + sudo wget $ARGONDOWNLOADSERVER/scripts/argononeoled.py -O $oledlibscript --quiet + sudo wget $ARGONDOWNLOADSERVER/scripts/argonone-oledconfig.sh -O $oledconfigscript --quiet + fi sudo chmod 755 $oledconfigscript - if [ ! -d $INSTALLATIONFOLDER/oled ] then sudo mkdir $INSTALLATIONFOLDER/oled @@ -484,7 +532,10 @@ echo 'while [ $mainloopflag -eq 1 ]' >> $configscript echo 'do' >> $configscript echo ' echo' >> $configscript echo ' echo "Choose Option:"' >> $configscript -echo ' echo " 1. Configure Fan"' >> $configscript +if [ ! "$CHECKDEVICE" = "oneoled" ] +then + echo ' echo " 1. Configure Fan"' >> $configscript +fi blstrdacoption=0 @@ -492,13 +543,27 @@ if [ "$CHECKDEVICE" = "fanhat" ] then uninstalloption="4" else - echo ' echo " 2. Configure IR"' >> $configscript + if [ ! "$CHECKDEVICE" = "oneoled" ] + then + echo ' echo " 2. Configure IR"' >> $configscript + fi if [ "$CHECKDEVICE" = "eon" ] then # ArgonEON Has RTC echo ' echo " 3. Configure RTC and/or Schedule"' >> $configscript echo ' echo " 4. Configure OLED"' >> $configscript uninstalloption="7" + elif [ "$CHECKDEVICE" = "oneoled" ] + then + echo ' echo " 1. Configure OLED"' >> $configscript + echo ' echo " 2. Argon Industria UPS"' >> $configscript + uninstalloption="5" + elif is_pifive + then + echo ' echo " 3. Argon Industria UPS"' >> $configscript + uninstalloption="7" + blstrdacoption=$(($uninstalloption-3)) + echo " echo \" $blstrdacoption. Configure BLSTR DAC (v3/v5 only)\"" >> $configscript else uninstalloption="6" blstrdacoption=$(($uninstalloption-3)) @@ -525,6 +590,7 @@ echo ' mainloopflag=0' >> $configscript echo ' elif [ $newmode -eq 1 ]' >> $configscript echo ' then' >> $configscript +# Option 1 if [ "$CHECKDEVICE" = "eon" ] then echo ' echo "Choose Triggers:"' >> $configscript @@ -544,44 +610,64 @@ then echo " $fanconfigscript hdd" >> $configscript echo ' mainloopflag=0' >> $configscript echo ' fi' >> $configscript - +elif [ "$CHECKDEVICE" = "oneoled" ] +then + echo " $oledconfigscript" >> $configscript + echo ' mainloopflag=0' >> $configscript else echo " $fanconfigscript" >> $configscript echo ' mainloopflag=0' >> $configscript fi +# Options 2 onwards if [ ! "$CHECKDEVICE" = "fanhat" ] then - echo ' elif [ $newmode -eq 2 ]' >> $configscript - echo ' then' >> $configscript - echo " $irconfigscript" >> $configscript - echo ' mainloopflag=0' >> $configscript - - if [ "$CHECKDEVICE" = "eon" ] + if [ "$CHECKDEVICE" = "oneoled" ] then - echo ' elif [ $newmode -eq 3 ]' >> $configscript + echo ' elif [ $newmode -eq 2 ]' >> $configscript echo ' then' >> $configscript - echo " $rtcconfigscript" >> $configscript - echo ' mainloopflag=0' >> $configscript - echo ' elif [ $newmode -eq 4 ]' >> $configscript - echo ' then' >> $configscript - echo " $oledconfigscript" >> $configscript - echo ' mainloopflag=0' >> $configscript - fi + echo " $upsconfigscript" >> $configscript + #echo ' mainloopflag=0' >> $configscript - if [ $blstrdacoption -gt 0 ] - then - echo " elif [ \$newmode -eq $blstrdacoption ]" >> $configscript + else + echo ' elif [ $newmode -eq 2 ]' >> $configscript echo ' then' >> $configscript - echo " $blstrdacconfigscript" >> $configscript - echo ' mainloopflag=0' >> $configscript + echo " $irconfigscript" >> $configscript + #echo ' mainloopflag=0' >> $configscript + + if [ "$CHECKDEVICE" = "eon" ] + then + echo ' elif [ $newmode -eq 3 ]' >> $configscript + echo ' then' >> $configscript + echo " $rtcconfigscript" >> $configscript + #echo ' mainloopflag=0' >> $configscript + echo ' elif [ $newmode -eq 4 ]' >> $configscript + echo ' then' >> $configscript + echo " $oledconfigscript" >> $configscript + #echo ' mainloopflag=0' >> $configscript + elif is_pifive + then + echo ' elif [ $newmode -eq 3 ]' >> $configscript + echo ' then' >> $configscript + echo " $upsconfigscript" >> $configscript + #echo ' mainloopflag=0' >> $configscript + fi + + if [ $blstrdacoption -gt 0 ] + then + echo " elif [ \$newmode -eq $blstrdacoption ]" >> $configscript + echo ' then' >> $configscript + echo " $blstrdacconfigscript" >> $configscript + #echo ' mainloopflag=0' >> $configscript + fi fi fi +# Standard options echo " elif [ \$newmode -eq $unitsoption ]" >> $configscript echo ' then' >> $configscript echo " $unitconfigscript" >> $configscript -echo ' mainloopflag=0' >> $configscript +#echo ' mainloopflag=0' >> $configscript echo " elif [ \$newmode -eq $statusoption ]" >> $configscript echo ' then' >> $configscript @@ -608,7 +694,7 @@ then fi shortcutfile="/home/$destfoldername/Desktop/argonone-config.desktop" -if [ "$CHECKPLATFORM" = "Raspbian" ] && [ -d "/home/$destfoldername/Desktop" ] +if [ -d "/home/$destfoldername/Desktop" ] then terminalcmd="lxterminal --working-directory=/home/$destfoldername/ -t" if [ -f "/home/$destfoldername/.twisteros.twid" ] @@ -648,7 +734,7 @@ then fi sudo ln -s $configscript /usr/bin/$configcmd - if [ "$CHECKDEVICE" = "one" ] + if [ "$CHECKDEVICE" = "one" ] || [ "$CHECKDEVICE" = "oneoled" ] then sudo ln -s $configscript /usr/bin/argonone-config sudo ln -s $uninstallscript /usr/bin/argonone-uninstall