Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/examples/colour_cycle.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#!/usr/bin/python
#!/usr/bin/env python
import time
from sense_hat import SenseHat

sense = SenseHat()
sense = SenseHat(clear_on_exit=True)

r = 255
g = 0
Expand Down
5 changes: 2 additions & 3 deletions docs/examples/compass.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#!/usr/bin/python
import sys
#!/usr/bin/env python
from sense_hat import SenseHat

# To get good results with the magnetometer you must first calibrate it using
Expand All @@ -9,7 +8,7 @@

led_loop = [4, 5, 6, 7, 15, 23, 31, 39, 47, 55, 63, 62, 61, 60, 59, 58, 57, 56, 48, 40, 32, 24, 16, 8, 0, 1, 2, 3]

sense = SenseHat()
sense = SenseHat(clear_on_exit=True)
sense.set_rotation(0)
sense.clear()

Expand Down
4 changes: 2 additions & 2 deletions docs/examples/rainbow.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#!/usr/bin/python
#!/usr/bin/env python
import time
from sense_hat import SenseHat

sense = SenseHat()
sense = SenseHat(clear_on_exit=True)

pixels = [
[255, 0, 0], [255, 0, 0], [255, 87, 0], [255, 196, 0], [205, 255, 0], [95, 255, 0], [0, 255, 13], [0, 255, 122],
Expand Down
5 changes: 2 additions & 3 deletions docs/examples/rotation.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#!/usr/bin/python
import sys
#!/usr/bin/env python
import time
from sense_hat import SenseHat

Expand All @@ -17,7 +16,7 @@
O, O, O, X, O, O, O, O
]

sense = SenseHat()
sense = SenseHat(clear_on_exit=True)

sense.set_pixels(question_mark)

Expand Down
6 changes: 5 additions & 1 deletion docs/examples/space_invader.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
#!/usr/bin/python
#!/usr/bin/env python
import os
from sense_hat import SenseHat

sense = SenseHat()
sense.clear()
sense.load_image("space_invader.png")

os.system("bash -c \"read -n 1 -s -p 'Press any key to exit...'\"")
sense.clear()
2 changes: 1 addition & 1 deletion docs/examples/text_scroll.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/env python
from sense_hat import SenseHat

sense = SenseHat()
Expand Down
18 changes: 16 additions & 2 deletions sense_hat/sense_hat.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/env python
import logging
import struct
import os
Expand All @@ -12,6 +12,8 @@
import pwd
import array
import fcntl
import atexit
import signal
from PIL import Image # pillow
from copy import deepcopy

Expand All @@ -33,7 +35,8 @@ class SenseHat(object):
def __init__(
self,
imu_settings_file='RTIMULib',
text_assets='sense_hat_text'
text_assets='sense_hat_text',
clear_on_exit=False
):

self._fb_device = self._get_fb_device()
Expand Down Expand Up @@ -92,6 +95,17 @@ def __init__(
self._gyro_enabled = False
self._accel_enabled = False
self._stick = SenseStick()

if clear_on_exit:
atexit.register(self.clear)
for s in (signal.SIGTERM, signal.SIGINT, signal.SIGQUIT, signal.SIGHUP):
old_handler = signal.getsignal(s)
def handler(signum, frame):
self.clear()
if callable(old_handler):
old_handler(signum, frame)
sys.exit(0)
signal.signal(s, handler)

# initialise the TCS34725 colour sensor (if possible)
try:
Expand Down