208208 if [ " $CHECKDEVICE " = " eon" ]
209209 then
210210 pkglist=($gpiopkg python3-smbus i2c-tools smartmontools)
211+ elif [ " $CHECKDEVICE " = " oneoled" ]
212+ then
213+ pkglist=($gpiopkg python3-smbus i2c-tools python3-luma.oled)
211214 else
212215 pkglist=($gpiopkg python3-smbus i2c-tools)
213216 fi
217220 if [ " $CHECKDEVICE " = " eon" ]
218221 then
219222 pkglist=($gpiopkg python3-smbus i2c-tools smartmontools)
223+ elif [ " $CHECKDEVICE " = " oneoled" ]
224+ then
225+ pkglist=($gpiopkg python3-smbus i2c-tools python3-luma.oled)
220226 else
221227 pkglist=($gpiopkg python3-smbus i2c-tools)
222228 fi
@@ -255,13 +261,24 @@ then
255261 fi
256262fi
257263
264+ if [ " $CHECKDEVICE " = " oneoled" ]
265+ then
266+ TMPCONFIGFILE=" /dev/shm/tmpconfig.txt"
267+ cat $CONFIG | grep -v ' dtoverlay=dwc2' > $TMPCONFIGFILE
268+ chmod 755 $TMPCONFIGFILE
269+ sudo cp $TMPCONFIGFILE $CONFIG
270+ set_config_var dtoverlay=dwc2,dr_mode host $CONFIG
271+ rm $TMPCONFIGFILE
272+ fi
273+
258274# Added to enabled NVMe for pi5
259275set_nvme_default
260276
261277# Fan Setup
262278basename=" argonone"
263279daemonname=$basename " d"
264280irconfigscript=$INSTALLATIONFOLDER /${basename} -ir
281+ upsconfigscript=$INSTALLATIONFOLDER /${basename} -upsconfig.sh
265282fanconfigscript=$INSTALLATIONFOLDER /${basename} -fanconfig.sh
266283eepromrpiscript=" /usr/bin/rpi-eeprom-config"
267284eepromconfigscript=$INSTALLATIONFOLDER /${basename} -eepromconfig.py
@@ -280,14 +297,26 @@ then
280297 sudo chmod 755 $eepromconfigscript
281298fi
282299
300+ if is_pifive
301+ then
302+ # UPS Config Script
303+ sudo wget $ARGONDOWNLOADSERVER /scripts/argonone-upsconfig.sh -O $upsconfigscript --quiet
304+ sudo chmod 755 $upsconfigscript
305+ fi
306+
283307# Fan Config Script
284308sudo wget $ARGONDOWNLOADSERVER /scripts/argonone-fanconfig.sh -O $fanconfigscript --quiet
285309sudo chmod 755 $fanconfigscript
286310
287311
288312# Fan Daemon/Service Files
289313sudo wget $ARGONDOWNLOADSERVER /scripts/argononed.py -O $powerbuttonscript --quiet
290- sudo wget $ARGONDOWNLOADSERVER /scripts/argononed.service -O $daemonfanservice --quiet
314+ if [ " $CHECKDEVICE " = " oneoled" ]
315+ then
316+ sudo wget $ARGONDOWNLOADSERVER /scripts/argononeoledd.service -O $daemonfanservice --quiet
317+ else
318+ sudo wget $ARGONDOWNLOADSERVER /scripts/argononed.service -O $daemonfanservice --quiet
319+ fi
291320sudo chmod 644 $daemonfanservice
292321
293322if [ ! " $CHECKDEVICE " = " fanhat" ]
@@ -377,10 +406,6 @@ then
377406 daemonrtcservice=/lib/systemd/system/$daemonname .service
378407 rtcdaemonscript=$INSTALLATIONFOLDER /$daemonname .py
379408
380- oledconfigscript=$INSTALLATIONFOLDER /${basename} -oledconfig.sh
381- oledlibscript=$INSTALLATIONFOLDER /${basename} oled.py
382- oledconfigfile=/etc/argoneonoled.conf
383-
384409 # Generate default RTC config file if non-existent
385410 if [ ! -f $rtcconfigfile ]; then
386411 sudo touch $rtcconfigfile
@@ -390,6 +415,29 @@ then
390415 echo ' # Argon RTC Configuration' >> $rtcconfigfile
391416 echo ' #' >> $rtcconfigfile
392417 fi
418+
419+ # RTC Config Script
420+ sudo wget $ARGONDOWNLOADSERVER /scripts/argoneon-rtcconfig.sh -O $rtcconfigscript --quiet
421+ sudo chmod 755 $rtcconfigscript
422+
423+ # RTC Daemon/Service Files
424+ sudo wget $ARGONDOWNLOADSERVER /scripts/argonrtc.py -O $INSTALLATIONFOLDER /argonrtc.py --quiet
425+ sudo wget $ARGONDOWNLOADSERVER /scripts/argoneond.py -O $rtcdaemonscript --quiet
426+ sudo wget $ARGONDOWNLOADSERVER /scripts/argoneond.service -O $daemonrtcservice --quiet
427+ sudo chmod 644 $daemonrtcservice
428+ fi
429+
430+
431+ if [ " $CHECKDEVICE " = " eon" ] || [ " $CHECKDEVICE " = " oneoled" ]
432+ then
433+ # OLED Setup
434+ basename=" argoneon"
435+ daemonname=$basename " d"
436+
437+ oledconfigscript=$INSTALLATIONFOLDER /${basename} -oledconfig.sh
438+ oledlibscript=$INSTALLATIONFOLDER /${basename} oled.py
439+ oledconfigfile=/etc/argoneonoled.conf
440+
393441 # Generate default OLED config file if non-existent
394442 if [ ! -f $oledconfigfile ]; then
395443 sudo touch $oledconfigfile
@@ -399,25 +447,25 @@ then
399447 echo ' # Argon OLED Configuration' >> $oledconfigfile
400448 echo ' #' >> $oledconfigfile
401449 echo ' switchduration=30' >> $oledconfigfile
402- echo ' screenlist="clock cpu storage raid ram temp ip"' >> $oledconfigfile
450+ if [ " $CHECKDEVICE " = " eon" ]
451+ then
452+ echo ' screenlist="clock cpu storage raid ram temp ip"' >> $oledconfigfile
453+ else
454+ echo ' screenlist="clock cpu storage ram temp ip"' >> $oledconfigfile
455+ fi
403456 fi
404457
405-
406- # RTC Config Script
407- sudo wget $ARGONDOWNLOADSERVER /scripts/argoneon-rtcconfig.sh -O $rtcconfigscript --quiet
408- sudo chmod 755 $rtcconfigscript
409-
410- # RTC Daemon/Service Files
411- sudo wget $ARGONDOWNLOADSERVER /scripts/argoneond.py -O $rtcdaemonscript --quiet
412- sudo wget $ARGONDOWNLOADSERVER /scripts/argoneond.service -O $daemonrtcservice --quiet
413- sudo wget $ARGONDOWNLOADSERVER /scripts/argoneonoled.py -O $oledlibscript --quiet
414- sudo chmod 644 $daemonrtcservice
415-
416458 # OLED Config Script
417- sudo wget $ARGONDOWNLOADSERVER /scripts/argoneon-oledconfig.sh -O $oledconfigscript --quiet
459+ if [ " $CHECKDEVICE " = " eon" ]
460+ then
461+ sudo wget $ARGONDOWNLOADSERVER /scripts/argoneonoled.py -O $oledlibscript --quiet
462+ sudo wget $ARGONDOWNLOADSERVER /scripts/argoneon-oledconfig.sh -O $oledconfigscript --quiet
463+ else
464+ sudo wget $ARGONDOWNLOADSERVER /scripts/argononeoled.py -O $oledlibscript --quiet
465+ sudo wget $ARGONDOWNLOADSERVER /scripts/argonone-oledconfig.sh -O $oledconfigscript --quiet
466+ fi
418467 sudo chmod 755 $oledconfigscript
419468
420-
421469 if [ ! -d $INSTALLATIONFOLDER /oled ]
422470 then
423471 sudo mkdir $INSTALLATIONFOLDER /oled
@@ -484,21 +532,38 @@ echo 'while [ $mainloopflag -eq 1 ]' >> $configscript
484532echo ' do' >> $configscript
485533echo ' echo' >> $configscript
486534echo ' echo "Choose Option:"' >> $configscript
487- echo ' echo " 1. Configure Fan"' >> $configscript
535+ if [ ! " $CHECKDEVICE " = " oneoled" ]
536+ then
537+ echo ' echo " 1. Configure Fan"' >> $configscript
538+ fi
488539
489540blstrdacoption=0
490541
491542if [ " $CHECKDEVICE " = " fanhat" ]
492543then
493544 uninstalloption=" 4"
494545else
495- echo ' echo " 2. Configure IR"' >> $configscript
546+ if [ ! " $CHECKDEVICE " = " oneoled" ]
547+ then
548+ echo ' echo " 2. Configure IR"' >> $configscript
549+ fi
496550 if [ " $CHECKDEVICE " = " eon" ]
497551 then
498552 # ArgonEON Has RTC
499553 echo ' echo " 3. Configure RTC and/or Schedule"' >> $configscript
500554 echo ' echo " 4. Configure OLED"' >> $configscript
501555 uninstalloption=" 7"
556+ elif [ " $CHECKDEVICE " = " oneoled" ]
557+ then
558+ echo ' echo " 1. Configure OLED"' >> $configscript
559+ echo ' echo " 2. Argon Industria UPS"' >> $configscript
560+ uninstalloption=" 5"
561+ elif is_pifive
562+ then
563+ echo ' echo " 3. Argon Industria UPS"' >> $configscript
564+ uninstalloption=" 7"
565+ blstrdacoption=$(( $uninstalloption - 3 ))
566+ echo " echo \" $blstrdacoption . Configure BLSTR DAC (v3/v5 only)\" " >> $configscript
502567 else
503568 uninstalloption=" 6"
504569 blstrdacoption=$(( $uninstalloption - 3 ))
@@ -525,6 +590,7 @@ echo ' mainloopflag=0' >> $configscript
525590echo ' elif [ $newmode -eq 1 ]' >> $configscript
526591echo ' then' >> $configscript
527592
593+ # Option 1
528594if [ " $CHECKDEVICE " = " eon" ]
529595then
530596 echo ' echo "Choose Triggers:"' >> $configscript
@@ -544,44 +610,64 @@ then
544610 echo " $fanconfigscript hdd" >> $configscript
545611 echo ' mainloopflag=0' >> $configscript
546612 echo ' fi' >> $configscript
547-
613+ elif [ " $CHECKDEVICE " = " oneoled" ]
614+ then
615+ echo " $oledconfigscript " >> $configscript
616+ echo ' mainloopflag=0' >> $configscript
548617else
549618 echo " $fanconfigscript " >> $configscript
550619 echo ' mainloopflag=0' >> $configscript
551620fi
552621
622+ # Options 2 onwards
553623if [ ! " $CHECKDEVICE " = " fanhat" ]
554624then
555- echo ' elif [ $newmode -eq 2 ]' >> $configscript
556- echo ' then' >> $configscript
557- echo " $irconfigscript " >> $configscript
558- echo ' mainloopflag=0' >> $configscript
559-
560- if [ " $CHECKDEVICE " = " eon" ]
625+ if [ " $CHECKDEVICE " = " oneoled" ]
561626 then
562- echo ' elif [ $newmode -eq 3 ]' >> $configscript
563- echo ' then' >> $configscript
564- echo " $rtcconfigscript " >> $configscript
565- echo ' mainloopflag=0' >> $configscript
566- echo ' elif [ $newmode -eq 4 ]' >> $configscript
627+ echo ' elif [ $newmode -eq 2 ]' >> $configscript
567628 echo ' then' >> $configscript
568- echo " $oledconfigscript " >> $configscript
569- echo ' mainloopflag=0' >> $configscript
570- fi
629+ echo " $upsconfigscript " >> $configscript
630+ # echo ' mainloopflag=0' >> $configscript
571631
572- if [ $blstrdacoption -gt 0 ]
573- then
574- echo " elif [ \$ newmode -eq $blstrdacoption ]" >> $configscript
632+ else
633+ echo ' elif [ $newmode -eq 2 ]' >> $configscript
575634 echo ' then' >> $configscript
576- echo " $blstrdacconfigscript " >> $configscript
577- echo ' mainloopflag=0' >> $configscript
635+ echo " $irconfigscript " >> $configscript
636+ # echo ' mainloopflag=0' >> $configscript
637+
638+ if [ " $CHECKDEVICE " = " eon" ]
639+ then
640+ echo ' elif [ $newmode -eq 3 ]' >> $configscript
641+ echo ' then' >> $configscript
642+ echo " $rtcconfigscript " >> $configscript
643+ # echo ' mainloopflag=0' >> $configscript
644+ echo ' elif [ $newmode -eq 4 ]' >> $configscript
645+ echo ' then' >> $configscript
646+ echo " $oledconfigscript " >> $configscript
647+ # echo ' mainloopflag=0' >> $configscript
648+ elif is_pifive
649+ then
650+ echo ' elif [ $newmode -eq 3 ]' >> $configscript
651+ echo ' then' >> $configscript
652+ echo " $upsconfigscript " >> $configscript
653+ # echo ' mainloopflag=0' >> $configscript
654+ fi
655+
656+ if [ $blstrdacoption -gt 0 ]
657+ then
658+ echo " elif [ \$ newmode -eq $blstrdacoption ]" >> $configscript
659+ echo ' then' >> $configscript
660+ echo " $blstrdacconfigscript " >> $configscript
661+ # echo ' mainloopflag=0' >> $configscript
662+ fi
578663 fi
579664fi
580665
666+ # Standard options
581667echo " elif [ \$ newmode -eq $unitsoption ]" >> $configscript
582668echo ' then' >> $configscript
583669echo " $unitconfigscript " >> $configscript
584- echo ' mainloopflag=0' >> $configscript
670+ # echo ' mainloopflag=0' >> $configscript
585671
586672echo " elif [ \$ newmode -eq $statusoption ]" >> $configscript
587673echo ' then' >> $configscript
608694fi
609695
610696shortcutfile=" /home/$destfoldername /Desktop/argonone-config.desktop"
611- if [ " $CHECKPLATFORM " = " Raspbian " ] && [ -d " /home/$destfoldername /Desktop" ]
697+ if [ -d " /home/$destfoldername /Desktop" ]
612698then
613699 terminalcmd=" lxterminal --working-directory=/home/$destfoldername / -t"
614700 if [ -f " /home/$destfoldername /.twisteros.twid" ]
648734 fi
649735 sudo ln -s $configscript /usr/bin/$configcmd
650736
651- if [ " $CHECKDEVICE " = " one" ]
737+ if [ " $CHECKDEVICE " = " one" ] || [ " $CHECKDEVICE " = " oneoled " ]
652738 then
653739 sudo ln -s $configscript /usr/bin/argonone-config
654740 sudo ln -s $uninstallscript /usr/bin/argonone-uninstall
0 commit comments