Skip to content

Commit 759a557

Browse files
Merge pull request #45 from hdumcke/better_display
Better display
2 parents 642d6d2 + 4b8b7c3 commit 759a557

File tree

5 files changed

+39
-9
lines changed

5 files changed

+39
-9
lines changed

FuelGauge/battery_monitor

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ do
1313
echo 0 > /sys/class/gpio/gpio21/value
1414
# install scrip will replace BASEDIR
1515
mpg123 BASEDIR/Audio/low_power.mp3
16+
/usr/bin/display_low_battery.py
1617
fi
1718
sleep 8
18-
done
19+
done

FuelGauge/display_low_battery.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/python
2+
from MangDang.mini_pupper.display import Display, BehaviorState
3+
4+
5+
disp = Display()
6+
disp.show_state(BehaviorState.LOWBATTERY)

FuelGauge/install.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ set -x
88
BASEDIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
99

1010
sudo cp battery_monitor /usr/bin/
11+
sudo cp display_low_battery.py /usr/bin/
1112
sudo sed -i "s|BASEDIR|$BASEDIR/..|" /usr/bin/battery_monitor
1213
sudo cp battery_monitor.service /lib/systemd/system/
1314
sudo systemctl enable battery_monitor.service

Python_Module/MangDang/mini_pupper/display.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
import netifaces as ni
22
from PIL import Image, ImageDraw, ImageFont
3-
from threading import Thread
43
from enum import Enum
54
from MangDang.LCD.ST7789 import ST7789
65

76

87
def show_image(image):
98

109
# init st7789 device
11-
disp = ST7789()
12-
disp.begin()
1310

1411
# show picture
1512
disp.display(image)
@@ -31,6 +28,8 @@ class Display:
3128

3229
def __init__(self, image_dir='/var/lib/mini_pupper_bsp'):
3330
self.image_dir = image_dir
31+
self.disp = ST7789()
32+
self.disp.begin()
3433
self.thread = None
3534
self.current_state = None
3635

@@ -43,13 +42,13 @@ def show_state(self, state):
4342
return
4443
self.current_state = state.name
4544
image_path = "%s/%s" % (self.image_dir, self.state_to_image(state))
46-
self.show_image(image_path)
45+
image = Image.open(image_path)
46+
self.disp.display(image)
4747

4848
def show_image(self, image_path):
4949
image = Image.open(image_path)
5050
image.resize((320, 240))
51-
self.thread = Thread(target=show_image, args=(image,))
52-
self.thread.start()
51+
self.disp.display(image)
5352

5453
def show_ip(self):
5554
image_path = "%s/%s" % (self.image_dir, self.state_to_image(BehaviorState.IP))
@@ -65,5 +64,13 @@ def show_ip(self):
6564
draw = ImageDraw.Draw(image)
6665
text = "IP: %s" % str(ip)
6766
draw.text((20, 95), text, font=font, fill="#000000", spacing=0, align='left')
68-
self.thread = Thread(target=show_image, args=(image,))
69-
self.thread.start()
67+
self.disp.display(image)
68+
69+
70+
if __name__ == "__main__":
71+
disp = Display()
72+
disp.show_ip()
73+
disp.show_image('/var/lib/mini_pupper_bsp/test.png')
74+
disp.show_state(BehaviorState.REST)
75+
disp.show_state(BehaviorState.TROT)
76+
disp.show_state(BehaviorState.LOWBATTERY)

demos/python_api_display.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/usr/bin/python
2+
from MangDang.mini_pupper.display import Display, BehaviorState
3+
import time
4+
5+
disp = Display()
6+
7+
disp.show_image('/var/lib/mini_pupper_bsp/test.png')
8+
time.sleep(5)
9+
disp.show_state(BehaviorState.REST)
10+
time.sleep(5)
11+
disp.show_state(BehaviorState.TROT)
12+
time.sleep(5)
13+
disp.show_state(BehaviorState.LOWBATTERY)
14+
time.sleep(5)
15+
disp.show_ip()

0 commit comments

Comments
 (0)