Skip to content

Commit b741bb8

Browse files
committed
updated
1 parent eecb2c1 commit b741bb8

7 files changed

Lines changed: 43 additions & 24 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
/venv
44

55
/MicroPythonDumbDisplay.iml
6+
/MicroPythonDumbDisplay.code-workspace
67

78

89
# non-DD
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"folders": [
3+
{
4+
"path": "."
5+
},
6+
{
7+
"name": "Mpy Remote Workspace",
8+
"uri": "pico:"
9+
}
10+
],
11+
"settings": {
12+
"python.languageServer": "Pylance"
13+
}
14+
}

_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ def test_find_packages():
9696

9797

9898
if __name__ == "__main__":
99-
run_passive_blink_app()
100-
#run_sliding_puzzle_app()
99+
#run_passive_blink_app()
100+
run_sliding_puzzle_app()
101101

102102
#run_debug()
103103
#run_doodle()

dumbdisplay/ddlayer.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,39 +68,39 @@ def opacity(self, opacity: int):
6868
def alpha(self, alpha: int):
6969
'''set layer alpha -- 0 to 255'''
7070
self.dd._sendCommand(self.layer_id, "alpha", str(alpha))
71-
def border(self, size, color, shape: str = "flat", extra_size = 0):
71+
def border(self, size: float, color: str, shape: str = "flat", extra_size: float = 0):
7272
'''
73-
:param size: unit is pixel
73+
:param size: unit depends on the layer type:
7474
- LcdLayer; each character is composed of pixels
7575
- 7SegmentRowLayer; each 7-segment is composed of fixed 220 x 320 pixels
7676
- LedGridLayer; a LED is considered as a pixel
7777
:param shape: can be "flat", "round", "raised" or "sunken"
7878
:param extra_size just added to size; however if shape is "round", it affects the "roundness"
7979
'''
80-
if type(extra_size) == int and extra_size == 0:
81-
self.dd._sendCommand(self.layer_id, "border", str(size), _DD_COLOR_ARG(color), shape)
80+
if _DD_FLOAT_IS_ZERO(extra_size): # was type(extra_size) == int and extra_size == 0
81+
self.dd._sendCommand(self.layer_id, "border", _DD_FLOAT_ARG(size), _DD_COLOR_ARG(color), shape)
8282
else:
83-
self.dd._sendCommand(self.layer_id, "border", str(size), _DD_COLOR_ARG(color), shape, str(extra_size))
83+
self.dd._sendCommand(self.layer_id, "border", _DD_FLOAT_ARG(size), _DD_COLOR_ARG(color), shape, str(extra_size))
8484
def noBorder(self):
8585
self.dd._sendCommand(self.layer_id, "border")
86-
def padding(self, left, top = None, right = None, bottom = None):
86+
def padding(self, left: float, top: float = None, right: float = None, bottom: float = None):
8787
'''see border() for size unit'''
8888
if top is None and right is None and bottom is None:
89-
self.dd._sendCommand(self.layer_id, "padding", str(left))
89+
self.dd._sendCommand(self.layer_id, "padding", _DD_FLOAT_ARG(left))
9090
else:
9191
if top is None:
9292
top = left
9393
if right is None:
9494
right = left
9595
if bottom is None:
9696
bottom = top
97-
self.dd._sendCommand(self.layer_id, "padding", str(left), str(top), str(right), str(bottom))
97+
self.dd._sendCommand(self.layer_id, "padding", _DD_FLOAT_ARG(left), _DD_FLOAT_ARG(top), _DD_FLOAT_ARG(right), _DD_FLOAT_ARG(bottom))
9898
def noPadding(self):
9999
self.dd._sendCommand(self.layer_id, "padding")
100-
def margin(self, left, top = None, right = None, bottom = None):
100+
def margin(self, left: float, top: float = None, right: float = None, bottom: float = None):
101101
'''see border() for size unit'''
102102
if top is None and right is None and bottom is None:
103-
self.dd._sendCommand(self.layer_id, "margin", str(left))
103+
self.dd._sendCommand(self.layer_id, "margin", _DD_FLOAT_ARG(left))
104104
else:
105105
if top is None:
106106
top = left
@@ -131,9 +131,8 @@ def flashArea(self, x, y):
131131
self.dd._sendCommand(self.layer_id, "flasharea", str(x), str(y))
132132
# def writeComment(self, comment):
133133
# self.dd.writeComment(comment)
134-
def enableFeedback(self, auto_feedback_method = "", feedback_handler = None, allowed_feedback_types = ""):
134+
def enableFeedback(self, auto_feedback_method: str = "", feedback_handler = None, allowed_feedback_types: str = ""):
135135
'''
136-
rely on getFeedback() being called */
137136
:param auto_feedback_method:
138137
. "" -- no auto feedback
139138
. "f" -- flash the default way (layer + border)
@@ -146,6 +145,9 @@ def enableFeedback(self, auto_feedback_method = "", feedback_handler = None, all
146145
. type -- "click"
147146
. x, y -- the "area" on the layer where was clicked
148147
'''
148+
# if simple_feedback_handler is not None:
149+
# # simple_feedback_handler deprecated
150+
# feedback_handler = lambda layer, type, x, y, text: simple_feedback_handler(layer, type, x, y)
149151
self._feedback_handler = feedback_handler
150152
self._feedbacks = []
151153
self.dd._sendCommand(self.layer_id, "feedback", _DD_BOOL_ARG(True), auto_feedback_method, allowed_feedback_types)
@@ -187,6 +189,8 @@ def reorderLayer(self, how: str):
187189
def _handleFeedback(self, type, x, y):
188190
#print("RAW FB: " + self.layer_id + '.' + type + ':' + str(x) + ',' + str(y))
189191
if self._feedback_handler is not None:
192+
# if False: # TODO: text parameters
193+
# print(self._feedback_handler.__code__.co_argcount)
190194
self._feedback_handler(self, type, x, y)
191195
else:
192196
self._feedbacks.append((type, x, y))

experiments/OLD/testing/_debug.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ def once(dd, loop = True):
3939
lcd = two(dd)
4040
led2 = one(dd)
4141
auto_pin = AutoPin('V', AutoPin('H', led1, lcd), led2)
42-
led1.enableFeedback("fa", feedback_handler=lambda layer, type, x, y: layer.toggle(x, y))
43-
lcd.enableFeedback("fa", feedback_handler=_feedbackHandler)
44-
led2.enableFeedback("fa", feedback_handler=_feedbackHandler)
42+
led1.enableFeedback("fa", lambda layer, type, x, y: layer.toggle(x, y))
43+
lcd.enableFeedback("fa", _feedbackHandler)
44+
led2.enableFeedback("fa", _feedbackHandler)
4545
lcd.backgroundColor('lightgreen')
4646
auto_pin.pin(dd)
4747
led1.turnOff()

experiments/testing/_debug.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ def once(dd, loop = True):
3939
lcd = two(dd)
4040
led2 = one(dd)
4141
auto_pin = AutoPin('V', AutoPin('H', led1, lcd), led2)
42-
led1.enableFeedback("fa", feedback_handler=lambda layer, type, x, y: layer.toggle(x, y))
43-
lcd.enableFeedback("fa", feedback_handler=_feedbackHandler)
44-
led2.enableFeedback("fa", feedback_handler=_feedbackHandler)
42+
led1.enableFeedback("fa", lambda layer, type, x, y: layer.toggle(x, y))
43+
lcd.enableFeedback("fa", _feedbackHandler)
44+
led2.enableFeedback("fa", _feedbackHandler)
4545
lcd.backgroundColor('lightgreen')
4646
auto_pin.pin(dd)
4747
led1.turnOff()

samples/doodle/main.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ def feedback_handler(layer, type, x, y):
5959
l.border(3, "black")
6060

6161
# enable feedback for the 3 tabs
62-
l_r.enableFeedback("f", feedback_handler=feedback_handler)
63-
l_g.enableFeedback("f", feedback_handler=feedback_handler)
64-
l_b.enableFeedback("f", feedback_handler=feedback_handler)
62+
l_r.enableFeedback("f", feedback_handler)
63+
l_g.enableFeedback("f", feedback_handler)
64+
l_b.enableFeedback("f", feedback_handler)
6565

6666
#enable feedback for the core graphical layer, note that it is set to "auto repeat" every 50 milli-seconds
67-
l.enableFeedback("fs:rpt50", feedback_handler=feedback_handler)
67+
l.enableFeedback("fs:rpt50", feedback_handler)
6868

6969
# "auto pin" the different layers
7070
AutoPin('V', AutoPin('H', l_r, l_g, l_b), l).pin(dd)

0 commit comments

Comments
 (0)