Fix refreshing code
This commit is contained in:
@@ -78,9 +78,10 @@ That's it, the display is ready to use.
|
|||||||
|
|
||||||
## Next step
|
## Next step
|
||||||
The Python code in this repo (`monitor.py`) display system information of the Pi:
|
The Python code in this repo (`monitor.py`) display system information of the Pi:
|
||||||
1. **Button 1** - Display system information of the Pi, such as _Disk space_, _WiFi_, _IP Address_, _CPU Idle %_, _Memory usage_, _Network status_ and _System temperature_, in 2 pages; use the Left/Right Joystick to toggle between these pages.
|
1. **Button 1** - Display system information of the Pi, such as _Disk space_, _WiFi status_, _IP Address_, _CPU Idle %_, _Memory usage_, _Network status_ and _System temperature_, in 2 pages; use the Left/Right Joystick to toggle between these pages.
|
||||||
1. **Button 3** - Display the system action dialog, use the Up/Down/Left/Right Joystick to select the options between _Reboot_, _Shutdown_, _Re-mount Samba_ and _Reload the USB driver_. Press **Button 3** to confirm your choice.
|
1. **Button 3** - Display the system action dialog, use the Up/Down/Left/Right Joystick to select the options between _Reboot_, _Shutdown_, _Re-mount Samba_ and _Reload the USB driver_. Press **Button 3** to confirm your choice.
|
||||||
* The screen will turn off after idling for around 20 seconds.
|
* The screen will turn off after idling for around 20 seconds.
|
||||||
|
* The shell script (`usb_drive.sh`) referenced in the Python code is also included in this repo.
|
||||||
|
|
||||||
### CPU usage
|
### CPU usage
|
||||||
The original version was adopted directly from `demo.py` provided by the manufacturer, which is no good for 'production' use. Because your Pi will be too busy looking for button inputs instead of doing anything else useful.
|
The original version was adopted directly from `demo.py` provided by the manufacturer, which is no good for 'production' use. Because your Pi will be too busy looking for button inputs instead of doing anything else useful.
|
||||||
@@ -90,5 +91,5 @@ The latest version utilize GPIO input detection instead of busy wait, which is m
|
|||||||
### Enable the display at startup
|
### Enable the display at startup
|
||||||
* `sudo vi /etc/rc.local`
|
* `sudo vi /etc/rc.local`
|
||||||
* Add the following line at the end of the file, assuming `monitor.py` is in /home/pi/:
|
* Add the following line at the end of the file, assuming `monitor.py` is in /home/pi/:
|
||||||
* `sudo python /home/pi/monitor.py &`
|
* `python /home/pi/monitor.py &`
|
||||||
* _**IMPORTANT**_ Don't forget the `&` character at the end!
|
* _**IMPORTANT**_ Don't forget the `&` character at the end!
|
||||||
+15
-24
@@ -69,19 +69,15 @@ def take_act(channel):
|
|||||||
if state == BTN3_PIN:
|
if state == BTN3_PIN:
|
||||||
if vert == 1:
|
if vert == 1:
|
||||||
if horz == 1:
|
if horz == 1:
|
||||||
draw_scn(996)
|
show_stt(995)
|
||||||
os.system("sudo shutdown -r now")
|
|
||||||
else:
|
|
||||||
draw_scn(995)
|
|
||||||
os.system("sudo shutdown -h now")
|
os.system("sudo shutdown -h now")
|
||||||
elif vert == 2:
|
|
||||||
if horz == 1:
|
|
||||||
draw_scn(997)
|
|
||||||
os.system("sudo /usr/bin/usb_drive.sh remount")
|
|
||||||
else:
|
else:
|
||||||
draw_scn(998)
|
show_stt(996)
|
||||||
os.system("sudo /usr/bin/usb_drive.sh replug")
|
os.system("sudo shutdown -r now")
|
||||||
start = stamp - SCREEN_SAVER - 15
|
elif vert == 2:
|
||||||
|
show_stt(997)
|
||||||
|
os.system("sudo usb_drive.sh refresh")
|
||||||
|
start = stamp - SCREEN_SAVER - 10
|
||||||
else:
|
else:
|
||||||
show_stt(BTN1_PIN)
|
show_stt(BTN1_PIN)
|
||||||
else:
|
else:
|
||||||
@@ -148,40 +144,35 @@ def draw_scn(channel):
|
|||||||
x6 = x3+9
|
x6 = x3+9
|
||||||
y2 = y1*vert
|
y2 = y1*vert
|
||||||
LINE1 = "| Shutdown..."
|
LINE1 = "| Shutdown..."
|
||||||
LINE2 = "| Refresh..."
|
LINE2 = "| Refresh"
|
||||||
LINE3 = "| Cancel"
|
LINE3 = "| Cancel"
|
||||||
|
|
||||||
if vert == 1:
|
if vert == 1:
|
||||||
if horz == 1:
|
if horz == 1:
|
||||||
LINE1 = "> Reboot"
|
|
||||||
else:
|
|
||||||
LINE1 = "> Shutdown"
|
LINE1 = "> Shutdown"
|
||||||
elif vert == 2:
|
|
||||||
if horz == 1:
|
|
||||||
LINE2 = "> Remount SMB"
|
|
||||||
else:
|
else:
|
||||||
LINE2 = "> Reload USB"
|
LINE1 = "> Reboot"
|
||||||
|
elif vert == 2:
|
||||||
|
LINE2 = "> Refresh"
|
||||||
else:
|
else:
|
||||||
LINE3 = "> Cancel"
|
LINE3 = "> Cancel"
|
||||||
|
|
||||||
if vert == 3:
|
if vert == 1:
|
||||||
draw.polygon([(x1,y2+6),(x2,y2-1),(x2,y2+4),(x3,y2+4),(x3,y2+8),(x2,y2+8),(x2,y2+13)], outline=255, fill=1)
|
|
||||||
else:
|
|
||||||
if horz == 1:
|
if horz == 1:
|
||||||
draw.polygon([(x4,y2+6),(x5,y2-1),(x5,y2+4),(x6,y2+4),(x6,y2+8),(x5,y2+8),(x5,y2+13)], outline=255, fill=0)
|
draw.polygon([(x4,y2+6),(x5,y2-1),(x5,y2+4),(x6,y2+4),(x6,y2+8),(x5,y2+8),(x5,y2+13)], outline=255, fill=0)
|
||||||
draw.polygon([(x1,y2+6),(x2,y2-1),(x2,y2+4),(x3,y2+4),(x3,y2+8),(x2,y2+8),(x2,y2+13)], outline=255, fill=1)
|
draw.polygon([(x1,y2+6),(x2,y2-1),(x2,y2+4),(x3,y2+4),(x3,y2+8),(x2,y2+8),(x2,y2+13)], outline=255, fill=1)
|
||||||
else:
|
else:
|
||||||
draw.polygon([(x1,y2+6),(x2,y2-1),(x2,y2+4),(x3,y2+4),(x3,y2+8),(x2,y2+8),(x2,y2+13)], outline=255, fill=0)
|
draw.polygon([(x1,y2+6),(x2,y2-1),(x2,y2+4),(x3,y2+4),(x3,y2+8),(x2,y2+8),(x2,y2+13)], outline=255, fill=0)
|
||||||
draw.polygon([(x4,y2+6),(x5,y2-1),(x5,y2+4),(x6,y2+4),(x6,y2+8),(x5,y2+8),(x5,y2+13)], outline=255, fill=1)
|
draw.polygon([(x4,y2+6),(x5,y2-1),(x5,y2+4),(x6,y2+4),(x6,y2+8),(x5,y2+8),(x5,y2+13)], outline=255, fill=1)
|
||||||
|
else:
|
||||||
|
draw.polygon([(x1,y2+6),(x2,y2-1),(x2,y2+4),(x3,y2+4),(x3,y2+8),(x2,y2+8),(x2,y2+13)], outline=255, fill=1)
|
||||||
|
|
||||||
elif channel == 995:
|
elif channel == 995:
|
||||||
LINE2 = " Shutting down..."
|
LINE2 = " Shutting down..."
|
||||||
elif channel == 996:
|
elif channel == 996:
|
||||||
LINE2 = " Rebooting..."
|
LINE2 = " Rebooting..."
|
||||||
elif channel == 997:
|
elif channel == 997:
|
||||||
LINE2 = " Resetting SMB..."
|
LINE2 = " Refreshing..."
|
||||||
elif channel == 998:
|
|
||||||
LINE2 = " Resetting USB..."
|
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
FILE=/usb.bin
|
||||||
|
MOUNT=/mnt/usb
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
stop)
|
||||||
|
modprobe -r g_mass_storage
|
||||||
|
;;
|
||||||
|
refresh)
|
||||||
|
sync $MOUNT
|
||||||
|
sleep 1
|
||||||
|
modprobe -r g_mass_storage
|
||||||
|
sleep 1
|
||||||
|
modprobe g_mass_storage file=$FILE stall=0 ro=0 removable=1 nofua=1
|
||||||
|
sleep 1
|
||||||
|
service smbd restart
|
||||||
|
umount $MOUNT
|
||||||
|
sleep 1
|
||||||
|
mount -a
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
sleep 1
|
||||||
|
modprobe g_mass_storage file=$FILE stall=0 ro=0 removable=1 nofua=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Reference in New Issue
Block a user