Skip to content
This repository was archived by the owner on Dec 23, 2021. It is now read-only.

Fixed debugger bug for white leds and red led #330

Merged
merged 2 commits into from
Apr 15, 2020
Merged
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
147 changes: 105 additions & 42 deletions src/clue/adafruit_clue.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,7 @@
https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel
"""

from common.telemetry_events import TelemetryEvent
from common.telemetry import telemetry_py
from common import utils
import common
from base_circuitpython import base_cp_constants as CONSTANTS
import neopixel
import time
Expand Down Expand Up @@ -247,7 +245,9 @@ def button_a(self):
if clue.button_a:
print("Button A pressed")
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_BUTTON_A)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_BUTTON_A
)
return self.__state[CONSTANTS.CLUE_STATE.BUTTON_A]

@property
Expand All @@ -261,7 +261,9 @@ def button_b(self):
if clue.button_b:
print("Button B pressed")
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_BUTTON_B)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_BUTTON_B
)
return self.__state[CONSTANTS.CLUE_STATE.BUTTON_B]

@property
Expand All @@ -273,7 +275,9 @@ def were_pressed(self):
while True:
print(clue.were_pressed)
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_WERE_PRESSED)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_WERE_PRESSED
)
ret = self.__state[CONSTANTS.CLUE_STATE.PRESSED_BUTTONS].copy()
self.__state[CONSTANTS.CLUE_STATE.PRESSED_BUTTONS].clear()
return ret
Expand All @@ -288,7 +292,9 @@ def acceleration(self):
while True:
print("Accel: {:.2f} {:.2f} {:.2f}".format(*clue.acceleration))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_ACCELERATION)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_ACCELERATION
)
return (
self.__state[CONSTANTS.CLUE_STATE.MOTION_X],
self.__state[CONSTANTS.CLUE_STATE.MOTION_Y],
Expand All @@ -307,7 +313,9 @@ def shake(self, shake_threshold=30, avg_count=10, total_delay=0.1):
:param total_delay: The total time in seconds it takes to obtain avg_count
readings from acceleration. (Default 0.1)
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_SHAKE)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_SHAKE
)
is_shaken = self.__state[CONSTANTS.CLUE_STATE.GESTURE] == CONSTANTS.SHAKE
return is_shaken

Expand All @@ -322,7 +330,9 @@ def color(self):
while True:
print("Color: R: {} G: {} B: {} C: {}".format(*clue.color))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_COLOR)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_COLOR
)
return (
self.__state[CONSTANTS.CLUE_STATE.LIGHT_R],
self.__state[CONSTANTS.CLUE_STATE.LIGHT_G],
Expand All @@ -339,7 +349,9 @@ def temperature(self):
from adafruit_clue import clue
print("Temperature: {:.1f}C".format(clue.temperature))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_TEMPERATURE)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_TEMPERATURE
)
return self.__state[CONSTANTS.CLUE_STATE.TEMPERATURE]

@property
Expand All @@ -352,7 +364,9 @@ def magnetic(self):
while True:
print("Magnetic: {:.3f} {:.3f} {:.3f}".format(*clue.magnetic))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_MAGNETIC)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_MAGNETIC
)
return (
self.__state[CONSTANTS.CLUE_STATE.MAGNET_X],
self.__state[CONSTANTS.CLUE_STATE.MAGNET_Y],
Expand All @@ -370,7 +384,9 @@ def proximity(self):
while True:
print("Proximity: {}".format(clue.proximity))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_PROXIMITY)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_PROXIMITY
)
return self.__state[CONSTANTS.CLUE_STATE.PROXIMITY]

@property
Expand All @@ -379,7 +395,9 @@ def gyro(self):
This example prints the values. Try moving the board to see how the printed values change.
print("Gyro: {:.2f} {:.2f} {:.2f}".format(*clue.gyro))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_GYRO)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_GYRO
)
return (
self.__state[CONSTANTS.CLUE_STATE.GYRO_X],
self.__state[CONSTANTS.CLUE_STATE.GYRO_Y],
Expand All @@ -398,7 +416,9 @@ def gesture(self):
while True:
print("Gesture: {}".format(clue.gesture))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_GESTURE)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_GESTURE
)
gesture_mapping = {"": 0, "up": 1, "down": 2, "left": 3, "right": 4}
return gesture_mapping.get(self.__state[CONSTANTS.CLUE_STATE.GESTURE], 0)

Expand All @@ -412,7 +432,9 @@ def humidity(self):
while True:
print("Humidity: {:.1f}%".format(clue.humidity))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_HUMIDITY)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_HUMIDITY
)
return self.__state[CONSTANTS.CLUE_STATE.HUMIDITY]

@property
Expand All @@ -424,7 +446,9 @@ def pressure(self):
from adafruit_clue import clue
print("Pressure: {:.3f}hPa".format(clue.pressure))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_PRESSURE)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_PRESSURE
)
return self.__state[CONSTANTS.CLUE_STATE.PRESSURE]

@property
Expand All @@ -450,7 +474,9 @@ def altitude(self):
POWER_CONSTANT,
)
)
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_ALTITUDE)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_ALTITUDE
)
return altitude

@property
Expand All @@ -464,12 +490,16 @@ def sea_level_pressure(self):
clue.sea_level_pressure = 1015
print("Pressure: {:.3f}hPa".format(clue.pressure))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_SEA_LEVEL_PRESSURE)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_SEA_LEVEL_PRESSURE
)
return self.__state[CONSTANTS.CLUE_STATE.SEA_LEVEL_PRESSURE]

@sea_level_pressure.setter
def sea_level_pressure(self, value):
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_SEA_LEVEL_PRESSURE)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_SEA_LEVEL_PRESSURE
)
self.__state[CONSTANTS.CLUE_STATE.SEA_LEVEL_PRESSURE] = value

@property
Expand All @@ -482,7 +512,9 @@ def pixel(self):
while True:
clue.pixel.fill((255, 0, 255))
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_PIXEL)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_PIXEL
)
return self.__state[CONSTANTS.CLUE_STATE.PIXEL]

@property
Expand All @@ -500,8 +532,10 @@ def touch_0(self):
if clue.touch_0:
print("Touched pad 0")
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_TOUCH)
utils.print_for_unimplemented_functions("touch_0")
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_TOUCH
)
common.utils.print_for_unimplemented_functions("touch_0")

@property
def touch_1(self):
Expand All @@ -518,8 +552,10 @@ def touch_1(self):
if clue.touch_1:
print("Touched pad 1")
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_TOUCH)
utils.print_for_unimplemented_functions("touch_1")
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_TOUCH
)
common.utils.print_for_unimplemented_functions("touch_1")

@property
def touch_2(self):
Expand All @@ -536,8 +572,10 @@ def touch_2(self):
if clue.touch_2:
print("Touched pad 2")
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_TOUCH)
utils.print_for_unimplemented_functions("touch_2")
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_TOUCH
)
common.utils.print_for_unimplemented_functions("touch_2")

@property
def white_leds(self):
Expand All @@ -550,12 +588,16 @@ def white_leds(self):
from adafruit_clue import clue
clue.white_leds = True
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_WHITE_LEDS)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_WHITE_LEDS
)
return self.__state[CONSTANTS.CLUE_STATE.WHITE_LEDS]

@white_leds.setter
def white_leds(self, value):
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_WHITE_LEDS)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_WHITE_LEDS
)
self.__set_leds(CONSTANTS.CLUE_STATE.WHITE_LEDS, value)

@property
Expand All @@ -569,12 +611,16 @@ def red_led(self):
from adafruit_clue import clue
clue.red_led = True
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_RED_LED)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_RED_LED
)
return self.__state[CONSTANTS.CLUE_STATE.RED_LED]

@red_led.setter
def red_led(self, value):
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_RED_LED)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_RED_LED
)
self.__set_leds(CONSTANTS.CLUE_STATE.RED_LED, value)

def play_tone(self, frequency, duration):
Expand All @@ -591,8 +637,10 @@ def play_tone(self, frequency, duration):
from adafruit_clue import clue
clue.play_tone(880, 1)
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_SOUND)
utils.print_for_unimplemented_functions(Clue.play_tone.__name__)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_SOUND
)
common.utils.print_for_unimplemented_functions(Clue.play_tone.__name__)

def start_tone(self, frequency):
""" Not Implemented!
Expand All @@ -614,8 +662,10 @@ def start_tone(self, frequency):
else:
clue.stop_tone()
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_SOUND)
utils.print_for_unimplemented_functions(Clue.start_tone.__name__)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_SOUND
)
common.utils.print_for_unimplemented_functions(Clue.start_tone.__name__)

def stop_tone(self):
""" Not Implemented!
Expand All @@ -635,8 +685,10 @@ def stop_tone(self):
else:
clue.stop_tone()
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_SOUND)
utils.print_for_unimplemented_functions(Clue.stop_tone.__name__)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_SOUND
)
common.utils.print_for_unimplemented_functions(Clue.stop_tone.__name__)

@property
def sound_level(self):
Expand All @@ -651,8 +703,10 @@ def sound_level(self):
while True:
print(clue.sound_level)
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_SOUND)
utils.print_for_unimplemented_functions("sound_level")
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_SOUND
)
common.utils.print_for_unimplemented_functions("sound_level")

def loud_sound(self, sound_threshold=200):
"""Not Implemented!
Expand Down Expand Up @@ -684,8 +738,10 @@ def loud_sound(self, sound_threshold=200):
else:
clue.pixel.fill(0)
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_SOUND)
utils.print_for_unimplemented_functions(Clue.loud_sound.__name__)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_SOUND
)
common.utils.print_for_unimplemented_functions(Clue.loud_sound.__name__)

@staticmethod
def simple_text_display(
Expand Down Expand Up @@ -745,7 +801,9 @@ def simple_text_display(
clue_data[2].text = "Magnetic: {:.3f} {:.3f} {:.3f}".format(*clue.magnetic)
clue_data.show()
"""
telemetry_py.send_telemetry(TelemetryEvent.CLUE_API_TEXT_DISPLAY)
common.telemetry.telemetry_py.send_telemetry(
common.telemetry_events.TelemetryEvent.CLUE_API_TEXT_DISPLAY
)
return _ClueSimpleTextDisplay(
title=title,
title_color=title_color,
Expand Down Expand Up @@ -775,7 +833,12 @@ def __set_leds(self, led, value):
value = bool(value)
self.__state[led] = value
sendable_json = {led: value}
utils.send_to_simulator(sendable_json, CONSTANTS.CLUE)
if common.utils.debug_mode:
common.debugger_communication_client.debug_send_to_simulator(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

sendable_json, CONSTANTS.CLUE
)
else:
common.utils.send_to_simulator(sendable_json, CONSTANTS.CLUE)


clue = Clue() # pylint: disable=invalid-name
Expand Down