Skip to content

Commit 0a3af20

Browse files
circup libs and fix mqtt recv issues
Ref: adafruit/Adafruit_CircuitPython_MiniMQTT#54
1 parent 78f8995 commit 0a3af20

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+5595
-0
lines changed

lib/adafruit_adt7410.mpy

100644100755
File mode changed.

lib/adafruit_bitmap_font/__init__.py

100644100755
File mode changed.

lib/adafruit_bitmap_font/bdf.mpy

100644100755
0 Bytes
Binary file not shown.

lib/adafruit_bitmap_font/bitmap_font.mpy

100644100755
0 Bytes
Binary file not shown.

lib/adafruit_bitmap_font/glyph_cache.mpy

100644100755
0 Bytes
Binary file not shown.

lib/adafruit_bitmap_font/pcf.mpy

100644100755
28 Bytes
Binary file not shown.

lib/adafruit_bitmap_font/ttf.mpy

100644100755
File mode changed.

lib/adafruit_bus_device/__init__.py

100644100755
File mode changed.

lib/adafruit_bus_device/i2c_device.mpy

100644100755
2 Bytes
Binary file not shown.

lib/adafruit_bus_device/spi_device.mpy

100644100755
0 Bytes
Binary file not shown.

lib/adafruit_button.mpy

100644100755
File mode changed.

lib/adafruit_display_shapes/circle.mpy

100644100755
File mode changed.

lib/adafruit_display_shapes/line.mpy

100644100755
File mode changed.

lib/adafruit_display_shapes/polygon.mpy

100644100755
File mode changed.

lib/adafruit_display_shapes/rect.mpy

100644100755
File mode changed.

lib/adafruit_display_shapes/roundrect.mpy

100644100755
File mode changed.

lib/adafruit_display_shapes/sparkline.mpy

100644100755
File mode changed.

lib/adafruit_display_shapes/triangle.mpy

100644100755
File mode changed.
-680 Bytes
Binary file not shown.

lib/adafruit_display_text/__init__.py

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
"""
2+
Display Text module helper functions
3+
"""
4+
5+
6+
# The MIT License (MIT)
7+
#
8+
# Copyright (c) 2020 Tim C for Adafruit Industries LLC
9+
#
10+
# Permission is hereby granted, free of charge, to any person obtaining a copy
11+
# of this software and associated documentation files (the "Software"), to deal
12+
# in the Software without restriction, including without limitation the rights
13+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14+
# copies of the Software, and to permit persons to whom the Software is
15+
# furnished to do so, subject to the following conditions:
16+
#
17+
# The above copyright notice and this permission notice shall be included in
18+
# all copies or substantial portions of the Software.
19+
#
20+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
26+
# THE SOFTWARE.
27+
28+
29+
def wrap_text_to_lines(string, max_chars):
30+
"""wrap_text_to_lines function
31+
A helper that will return a list of lines with word-break wrapping
32+
33+
:param str string: The text to be wrapped
34+
:param int max_chars: The maximum number of characters on a line before wrapping
35+
36+
:return list the_lines: A list of lines where each line is separated based on the amount
37+
of max_chars provided
38+
39+
"""
40+
41+
def chunks(lst, n):
42+
"""Yield successive n-sized chunks from lst."""
43+
for i in range(0, len(lst), n):
44+
yield lst[i : i + n]
45+
46+
string = string.replace("\n", "").replace("\r", "") # Strip confusing newlines
47+
words = string.split(" ")
48+
the_lines = []
49+
the_line = ""
50+
for w in words:
51+
if len(w) > max_chars:
52+
if the_line: # add what we had stored
53+
the_lines.append(the_line)
54+
parts = []
55+
for part in chunks(w, max_chars - 1):
56+
parts.append("{}-".format(part))
57+
the_lines.extend(parts[:-1])
58+
the_line = parts[-1][:-1]
59+
continue
60+
61+
if len(the_line + " " + w) <= max_chars:
62+
the_line += " " + w
63+
elif not the_line and len(w) == max_chars:
64+
the_lines.append(w)
65+
else:
66+
the_lines.append(the_line)
67+
the_line = "" + w
68+
if the_line: # Last line remaining
69+
the_lines.append(the_line)
70+
# Remove any blank lines
71+
while not the_lines[0]:
72+
del the_lines[0]
73+
# Remove first space from first line:
74+
if the_lines[0][0] == " ":
75+
the_lines[0] = the_lines[0][1:]
76+
return the_lines
-8.15 KB
Binary file not shown.

0 commit comments

Comments
 (0)