merge magfest branch into master
This commit is contained in:
commit
dd938d8da2
33
NS.py
33
NS.py
|
@ -44,6 +44,7 @@ class NS(Game, Animation):
|
|||
STEP = .4
|
||||
IDLE_TIMEOUT = 60000 * 5
|
||||
CHANNEL_COUNT = 8
|
||||
NO_RESET_TIMEOUT = 3000
|
||||
|
||||
def __init__(self):
|
||||
Game.__init__(self)
|
||||
|
@ -109,36 +110,37 @@ class NS(Game, Animation):
|
|||
name = self.get_configuration("input", "arduino-port")
|
||||
try:
|
||||
transmission = self.serial_reader.readline().strip()
|
||||
print transmission
|
||||
print(transmission)
|
||||
except SerialException:
|
||||
print "Serial not ready... passing..."
|
||||
print("Serial not ready... passing...")
|
||||
transmission = ""
|
||||
if len(transmission) == 4:
|
||||
try:
|
||||
self.serial_data = int(transmission, 2)
|
||||
except ValueError:
|
||||
print "Value error checking four digit serial transmission"
|
||||
print("Value error checking four digit serial transmission")
|
||||
self.handle_garbage(transmission)
|
||||
self.reset_arduino()
|
||||
self.idle_elapsed = 0
|
||||
self.idle_elapsed = 0
|
||||
elif len(transmission) > 0:
|
||||
try:
|
||||
int(transmission, 2)
|
||||
except ValueError:
|
||||
print "Received a non-four digit serial transmission"
|
||||
print("Received a non-four digit serial transmission")
|
||||
self.handle_garbage(transmission)
|
||||
else:
|
||||
self.serial_data = 0
|
||||
|
||||
def handle_garbage(self, transmission):
|
||||
self.serial_data = 0
|
||||
print "Garbage detected: %s" % transmission
|
||||
print("Garbage detected: %s" % transmission)
|
||||
self.serial_reader.reset_input_buffer()
|
||||
|
||||
def reset_arduino(self):
|
||||
self.serial_reader.dtr = False
|
||||
self.serial_reader.reset_input_buffer()
|
||||
self.serial_reader.dtr = True
|
||||
if self.serial_enabled():
|
||||
self.serial_reader.dtr = False
|
||||
self.serial_reader.reset_input_buffer()
|
||||
self.serial_reader.dtr = True
|
||||
|
||||
def end(self, evt):
|
||||
if evt.type == QUIT or self.delegate.compare(evt, "quit"):
|
||||
|
@ -162,6 +164,7 @@ class NS(Game, Animation):
|
|||
self.chemtrails.reset()
|
||||
self.platform.reset()
|
||||
self.dialogue.reset()
|
||||
self.no_reset_elapsed = 0
|
||||
|
||||
def set_most_recent_time(self, score):
|
||||
self.most_recent_time = score
|
||||
|
@ -201,8 +204,16 @@ class NS(Game, Animation):
|
|||
|
||||
def update(self):
|
||||
Animation.update(self)
|
||||
if self.serial_enabled():
|
||||
self.apply_serial()
|
||||
last_frame_duration = self.time_filter.get_last_frame_duration()
|
||||
if self.serial_enabled() or True:
|
||||
# self.apply_serial()
|
||||
if self.title.active or self.introduction.active or self.ending.active or \
|
||||
self.dialogue.active:
|
||||
self.no_reset_elapsed += last_frame_duration
|
||||
if self.no_reset_elapsed >= self.NO_RESET_TIMEOUT:
|
||||
print("auto arduino reset triggered")
|
||||
self.reset_arduino()
|
||||
self.no_reset_elapsed = 0
|
||||
self.title.update()
|
||||
self.introduction.update()
|
||||
self.ending.update()
|
||||
|
|
Loading…
Reference in New Issue