From 3261b6c97a20029cdc11c8a5842feeee6d25dd28 Mon Sep 17 00:00:00 2001 From: n loewen Date: Thu, 17 Apr 2025 10:21:56 +0100 Subject: [PATCH] Catch git up to current work eek --- .gitignore | 3 +- .gitmodules | 3 + {src => javascript-old}/assembler.js | 0 {src => javascript-old}/cardiograph.js | 0 {src => javascript-old}/conversions.js | 0 {src => javascript-old}/cpu.js | 0 {src => javascript-old}/dbg.js | 0 {src => javascript-old}/io.js | 0 {src => javascript-old}/jsconfig.json | 0 {src => javascript-old}/logging.js | 0 {src => javascript-old}/machine.config.js | 0 {src => javascript-old}/package-lock.json | 0 {src => javascript-old}/package.json | 0 readme.md => javascript-old/readme.md | 0 .../test-programs}/add-sub.asm | 0 .../test-programs}/constants.asm | 0 .../test-programs}/draw-xy.asm | 0 .../test-programs}/fill-display.asm | 0 .../test-programs}/flag-carry--fhp-ftg.asm | 0 .../test-programs}/flag-overflow-2.asm | 0 .../test-programs}/flag-overflow.asm | 0 .../test-programs}/jmp-to-label.asm | 0 .../test-programs}/keypad.asm | 0 .../test-programs}/life.asm | 0 .../test-programs}/move-pixel-with-keypad.asm | 0 .../test-programs}/nop.asm | 0 ...encing-program-counter-during-assembly.asm | 0 .../test-programs}/relocate-display-mem.asm | 0 .../test-programs}/subroutines.asm | 0 .../adafruit_display_text/__init__.py | 0 .../adafruit_display_text/bitmap_label.py | 0 .../meowbit}/adafruit_display_text/label.py | 0 .../adafruit_display_text/outlined_label.py | 0 .../adafruit_display_text/scrolling_label.py | 0 .../adafruit_display_text/text_box.py | 0 .../meowbit/circuitpython-display-test.py | 20 ++ .../meowbit/circuitpython-keypad-test.py | 13 ++ .../meowbit/cpu.py | 0 .../pi-pico/cpu-pi-pico.py | 0 .../pi-pico/old/neopixel-test.py | 12 ++ .../pi-pico/old/neopixel.mpy | Bin 0 -> 1318 bytes .../pi-pico/old/neopixel.py | 181 ++++++++++++++++++ python-microcontrollers/pi-pico/read-hex.py | 20 ++ .../pi-pico/test-multiply.bin | Bin 0 -> 256 bytes .../pi-pico/tests/pi-pico-8x8-matrix.py | 10 + .../pi-pico/tests/pi-pico-blink.py | 14 ++ .../pi-pico/tests/pi-pico-button.py | 17 ++ .../pi-pico/tests/pi-pico-keypad.py | 19 ++ .../pi-pico/tests/pi-pico-keypad2.py | 19 ++ .../tests/pi-pico-seven-segment-display.py | 14 ++ .../idna-3.10.dist-info/LICENSE.md | 31 +++ src/opter | 1 - 52 files changed, 375 insertions(+), 2 deletions(-) rename {src => javascript-old}/assembler.js (100%) rename {src => javascript-old}/cardiograph.js (100%) rename {src => javascript-old}/conversions.js (100%) rename {src => javascript-old}/cpu.js (100%) rename {src => javascript-old}/dbg.js (100%) rename {src => javascript-old}/io.js (100%) rename {src => javascript-old}/jsconfig.json (100%) rename {src => javascript-old}/logging.js (100%) rename {src => javascript-old}/machine.config.js (100%) rename {src => javascript-old}/package-lock.json (100%) rename {src => javascript-old}/package.json (100%) rename readme.md => javascript-old/readme.md (100%) rename {test-programs => javascript-old/test-programs}/add-sub.asm (100%) rename {test-programs => javascript-old/test-programs}/constants.asm (100%) rename {test-programs => javascript-old/test-programs}/draw-xy.asm (100%) rename {test-programs => javascript-old/test-programs}/fill-display.asm (100%) rename {test-programs => javascript-old/test-programs}/flag-carry--fhp-ftg.asm (100%) rename {test-programs => javascript-old/test-programs}/flag-overflow-2.asm (100%) rename {test-programs => javascript-old/test-programs}/flag-overflow.asm (100%) rename {test-programs => javascript-old/test-programs}/jmp-to-label.asm (100%) rename {test-programs => javascript-old/test-programs}/keypad.asm (100%) rename {test-programs => javascript-old/test-programs}/life.asm (100%) rename {test-programs => javascript-old/test-programs}/move-pixel-with-keypad.asm (100%) rename {test-programs => javascript-old/test-programs}/nop.asm (100%) rename {test-programs => javascript-old/test-programs}/referencing-program-counter-during-assembly.asm (100%) rename {test-programs => javascript-old/test-programs}/relocate-display-mem.asm (100%) rename {test-programs => javascript-old/test-programs}/subroutines.asm (100%) rename {src => python-microcontrollers/meowbit}/adafruit_display_text/__init__.py (100%) rename {src => python-microcontrollers/meowbit}/adafruit_display_text/bitmap_label.py (100%) rename {src => python-microcontrollers/meowbit}/adafruit_display_text/label.py (100%) rename {src => python-microcontrollers/meowbit}/adafruit_display_text/outlined_label.py (100%) rename {src => python-microcontrollers/meowbit}/adafruit_display_text/scrolling_label.py (100%) rename {src => python-microcontrollers/meowbit}/adafruit_display_text/text_box.py (100%) create mode 100644 python-microcontrollers/meowbit/circuitpython-display-test.py create mode 100644 python-microcontrollers/meowbit/circuitpython-keypad-test.py rename {src => python-microcontrollers}/meowbit/cpu.py (100%) rename {src => python-microcontrollers}/pi-pico/cpu-pi-pico.py (100%) create mode 100644 python-microcontrollers/pi-pico/old/neopixel-test.py create mode 100644 python-microcontrollers/pi-pico/old/neopixel.mpy create mode 100644 python-microcontrollers/pi-pico/old/neopixel.py create mode 100644 python-microcontrollers/pi-pico/read-hex.py create mode 100644 python-microcontrollers/pi-pico/test-multiply.bin create mode 100644 python-microcontrollers/pi-pico/tests/pi-pico-8x8-matrix.py create mode 100644 python-microcontrollers/pi-pico/tests/pi-pico-blink.py create mode 100644 python-microcontrollers/pi-pico/tests/pi-pico-button.py create mode 100644 python-microcontrollers/pi-pico/tests/pi-pico-keypad.py create mode 100644 python-microcontrollers/pi-pico/tests/pi-pico-keypad2.py create mode 100644 python-microcontrollers/pi-pico/tests/pi-pico-seven-segment-display.py create mode 100644 python-microcontrollers/pi-pico/venv/lib/python3.11/site-packages/idna-3.10.dist-info/LICENSE.md delete mode 160000 src/opter diff --git a/.gitignore b/.gitignore index b1203f1..726bbf9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ .vscode *.tmp.* node_modules -cardiograph.code-workspace \ No newline at end of file +cardiograph.code-workspace +*venv* diff --git a/.gitmodules b/.gitmodules index 9395a8d..5461013 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "src/argparser"] path = src/opter url = https://git.nloewen.com/n/argv-parser.git +[submodule "src/python/opter-py"] + path = src/python/opter-py + url = https://git.nloewen.com/n/opter-py.git diff --git a/src/assembler.js b/javascript-old/assembler.js similarity index 100% rename from src/assembler.js rename to javascript-old/assembler.js diff --git a/src/cardiograph.js b/javascript-old/cardiograph.js similarity index 100% rename from src/cardiograph.js rename to javascript-old/cardiograph.js diff --git a/src/conversions.js b/javascript-old/conversions.js similarity index 100% rename from src/conversions.js rename to javascript-old/conversions.js diff --git a/src/cpu.js b/javascript-old/cpu.js similarity index 100% rename from src/cpu.js rename to javascript-old/cpu.js diff --git a/src/dbg.js b/javascript-old/dbg.js similarity index 100% rename from src/dbg.js rename to javascript-old/dbg.js diff --git a/src/io.js b/javascript-old/io.js similarity index 100% rename from src/io.js rename to javascript-old/io.js diff --git a/src/jsconfig.json b/javascript-old/jsconfig.json similarity index 100% rename from src/jsconfig.json rename to javascript-old/jsconfig.json diff --git a/src/logging.js b/javascript-old/logging.js similarity index 100% rename from src/logging.js rename to javascript-old/logging.js diff --git a/src/machine.config.js b/javascript-old/machine.config.js similarity index 100% rename from src/machine.config.js rename to javascript-old/machine.config.js diff --git a/src/package-lock.json b/javascript-old/package-lock.json similarity index 100% rename from src/package-lock.json rename to javascript-old/package-lock.json diff --git a/src/package.json b/javascript-old/package.json similarity index 100% rename from src/package.json rename to javascript-old/package.json diff --git a/readme.md b/javascript-old/readme.md similarity index 100% rename from readme.md rename to javascript-old/readme.md diff --git a/test-programs/add-sub.asm b/javascript-old/test-programs/add-sub.asm similarity index 100% rename from test-programs/add-sub.asm rename to javascript-old/test-programs/add-sub.asm diff --git a/test-programs/constants.asm b/javascript-old/test-programs/constants.asm similarity index 100% rename from test-programs/constants.asm rename to javascript-old/test-programs/constants.asm diff --git a/test-programs/draw-xy.asm b/javascript-old/test-programs/draw-xy.asm similarity index 100% rename from test-programs/draw-xy.asm rename to javascript-old/test-programs/draw-xy.asm diff --git a/test-programs/fill-display.asm b/javascript-old/test-programs/fill-display.asm similarity index 100% rename from test-programs/fill-display.asm rename to javascript-old/test-programs/fill-display.asm diff --git a/test-programs/flag-carry--fhp-ftg.asm b/javascript-old/test-programs/flag-carry--fhp-ftg.asm similarity index 100% rename from test-programs/flag-carry--fhp-ftg.asm rename to javascript-old/test-programs/flag-carry--fhp-ftg.asm diff --git a/test-programs/flag-overflow-2.asm b/javascript-old/test-programs/flag-overflow-2.asm similarity index 100% rename from test-programs/flag-overflow-2.asm rename to javascript-old/test-programs/flag-overflow-2.asm diff --git a/test-programs/flag-overflow.asm b/javascript-old/test-programs/flag-overflow.asm similarity index 100% rename from test-programs/flag-overflow.asm rename to javascript-old/test-programs/flag-overflow.asm diff --git a/test-programs/jmp-to-label.asm b/javascript-old/test-programs/jmp-to-label.asm similarity index 100% rename from test-programs/jmp-to-label.asm rename to javascript-old/test-programs/jmp-to-label.asm diff --git a/test-programs/keypad.asm b/javascript-old/test-programs/keypad.asm similarity index 100% rename from test-programs/keypad.asm rename to javascript-old/test-programs/keypad.asm diff --git a/test-programs/life.asm b/javascript-old/test-programs/life.asm similarity index 100% rename from test-programs/life.asm rename to javascript-old/test-programs/life.asm diff --git a/test-programs/move-pixel-with-keypad.asm b/javascript-old/test-programs/move-pixel-with-keypad.asm similarity index 100% rename from test-programs/move-pixel-with-keypad.asm rename to javascript-old/test-programs/move-pixel-with-keypad.asm diff --git a/test-programs/nop.asm b/javascript-old/test-programs/nop.asm similarity index 100% rename from test-programs/nop.asm rename to javascript-old/test-programs/nop.asm diff --git a/test-programs/referencing-program-counter-during-assembly.asm b/javascript-old/test-programs/referencing-program-counter-during-assembly.asm similarity index 100% rename from test-programs/referencing-program-counter-during-assembly.asm rename to javascript-old/test-programs/referencing-program-counter-during-assembly.asm diff --git a/test-programs/relocate-display-mem.asm b/javascript-old/test-programs/relocate-display-mem.asm similarity index 100% rename from test-programs/relocate-display-mem.asm rename to javascript-old/test-programs/relocate-display-mem.asm diff --git a/test-programs/subroutines.asm b/javascript-old/test-programs/subroutines.asm similarity index 100% rename from test-programs/subroutines.asm rename to javascript-old/test-programs/subroutines.asm diff --git a/src/adafruit_display_text/__init__.py b/python-microcontrollers/meowbit/adafruit_display_text/__init__.py similarity index 100% rename from src/adafruit_display_text/__init__.py rename to python-microcontrollers/meowbit/adafruit_display_text/__init__.py diff --git a/src/adafruit_display_text/bitmap_label.py b/python-microcontrollers/meowbit/adafruit_display_text/bitmap_label.py similarity index 100% rename from src/adafruit_display_text/bitmap_label.py rename to python-microcontrollers/meowbit/adafruit_display_text/bitmap_label.py diff --git a/src/adafruit_display_text/label.py b/python-microcontrollers/meowbit/adafruit_display_text/label.py similarity index 100% rename from src/adafruit_display_text/label.py rename to python-microcontrollers/meowbit/adafruit_display_text/label.py diff --git a/src/adafruit_display_text/outlined_label.py b/python-microcontrollers/meowbit/adafruit_display_text/outlined_label.py similarity index 100% rename from src/adafruit_display_text/outlined_label.py rename to python-microcontrollers/meowbit/adafruit_display_text/outlined_label.py diff --git a/src/adafruit_display_text/scrolling_label.py b/python-microcontrollers/meowbit/adafruit_display_text/scrolling_label.py similarity index 100% rename from src/adafruit_display_text/scrolling_label.py rename to python-microcontrollers/meowbit/adafruit_display_text/scrolling_label.py diff --git a/src/adafruit_display_text/text_box.py b/python-microcontrollers/meowbit/adafruit_display_text/text_box.py similarity index 100% rename from src/adafruit_display_text/text_box.py rename to python-microcontrollers/meowbit/adafruit_display_text/text_box.py diff --git a/python-microcontrollers/meowbit/circuitpython-display-test.py b/python-microcontrollers/meowbit/circuitpython-display-test.py new file mode 100644 index 0000000..9e07605 --- /dev/null +++ b/python-microcontrollers/meowbit/circuitpython-display-test.py @@ -0,0 +1,20 @@ +import board +import displayio +import vectorio +import terminalio +from adafruit_display_text import label + +group = displayio.Group() +board.DISPLAY.root_group = group + +text = "Hello world" +text_area = label.Label(terminalio.FONT, text=text) +text_area.x = 10 +text_area.y = 10 +group.append(text_area) + +palette = displayio.Palette(1) +palette[0] = 0xff00ff + +circle = vectorio.Circle(pixel_shader=palette, radius=5, x=5, y=5) +group.append(circle) \ No newline at end of file diff --git a/python-microcontrollers/meowbit/circuitpython-keypad-test.py b/python-microcontrollers/meowbit/circuitpython-keypad-test.py new file mode 100644 index 0000000..54093cd --- /dev/null +++ b/python-microcontrollers/meowbit/circuitpython-keypad-test.py @@ -0,0 +1,13 @@ +#meowbit + +import keypad +import board + +km = keypad.KeyMatrix( + row_pins = (board.P0, board.P1, board.P2, board.P3), + column_pins = (board.P4, board.P6, board.P8, board.P9) ) + +while True: + event = km.events.get() + if event: + print(event.key_number, event.released) \ No newline at end of file diff --git a/src/meowbit/cpu.py b/python-microcontrollers/meowbit/cpu.py similarity index 100% rename from src/meowbit/cpu.py rename to python-microcontrollers/meowbit/cpu.py diff --git a/src/pi-pico/cpu-pi-pico.py b/python-microcontrollers/pi-pico/cpu-pi-pico.py similarity index 100% rename from src/pi-pico/cpu-pi-pico.py rename to python-microcontrollers/pi-pico/cpu-pi-pico.py diff --git a/python-microcontrollers/pi-pico/old/neopixel-test.py b/python-microcontrollers/pi-pico/old/neopixel-test.py new file mode 100644 index 0000000..42df1b1 --- /dev/null +++ b/python-microcontrollers/pi-pico/old/neopixel-test.py @@ -0,0 +1,12 @@ +import time +import board +import neopixel + +pixels = neopixel.NeoPixel(board.A3, 5*5, brightness=0.5, auto_write=True) + +for i in range(50): + pixels.fill((50, 0, 0)) # red + time.sleep(0.5) + pixels.fill((0,0,50)) # blue + time.sleep(0.5) + print(i) \ No newline at end of file diff --git a/python-microcontrollers/pi-pico/old/neopixel.mpy b/python-microcontrollers/pi-pico/old/neopixel.mpy new file mode 100644 index 0000000000000000000000000000000000000000..5291001df6ec83c6c25a7eef210e011fe83578ed GIT binary patch literal 1318 zcmY*WU2_^$7=D+}Eyd(;*qqXWDGdo}2!UivXl<}fVQD_BNr=SAXlDbrZ=CVQnO^kDfm)66uHIC=^0woQ{)heo4BP0f+&s88 zm$Kkm+ROq=t!-ebxeaJdRyX<}0S&G!UFfQ48gLa|*{hii*)V`BH%;{vAQ|8iRlQ1Q zN9^r_SJc!4YKN44tuF7&4YS;b3qucN-RK)=Ex*38@mo=4I$(ebi>8d8{ zW(&@D{Ow$4p`BDa^C9_Ak_S?VeX3#fKmS3w-jo5;Jtu-dd)rH;+oiO0lFr*T)6|Tc z$s`rM)~qDx{^Xg=$vbCy=M-I{x^J}1n%WT0WJ%B-VC{2>S?7f_9>tCI?fj;=vi5#{ zvzQmaIrRSwJiZrCF_znMN2Aeuce8waT^g^3$4|Z;s}Qsi8$IpBPEQAMSjZV;g3geW zI7>9*BCh4Ah1`gZ*@EXnZsHEHge_UfL#xh*JjBzl@)GZ=XWN(hTga7GnfvGsG9Lkw zMnhx>4U=Jn2tq#MEAoJ_&*k^0>;xAi=F^YDQ}|KBTG-n$tkF-{D*Ye1t2^MkPHrGf z-g++%4-r?1FleN*iAbe@E>yZ#fFS{%A(Om~#CSWI<{c#NyU9CK44LI!WR7C z`0XQnD`gWlcsNQizoLuWrJvHw%j{yI7YJgTKjeSY+WP!Y;SUSn#&$GXNZFsg5`GzY z5gYY>J1+e7`*CiypN`lE0in7azz**6ahjn+dj236Mpu4Lcc4Ux!;7cH;X4!18wq@m zMt(qJM~M8G{){R0+n)8?BG};{_fPcvkwBEP*Pgw@UR$spOhZ?E=iCd7dRs{@J1=z( zFXG9J^<{W6dUc}9UA59osmo2Jq15$9xXHmC6qdUbL*FS#i|5!_#`?M|wb4_@&~zr7 z6RdB$r^&W3#l|z%6EuSo+$A2mDJIRlM#NWbCj$VU7kH_cVkm-?RP%XeGuG1` joTt^&q0cjyvA)|m!BC)E#youHuJs%{DWG1;Mj`wIKXYx( literal 0 HcmV?d00001 diff --git a/python-microcontrollers/pi-pico/old/neopixel.py b/python-microcontrollers/pi-pico/old/neopixel.py new file mode 100644 index 0000000..715d408 --- /dev/null +++ b/python-microcontrollers/pi-pico/old/neopixel.py @@ -0,0 +1,181 @@ +# SPDX-FileCopyrightText: 2016 Damien P. George +# SPDX-FileCopyrightText: 2017 Scott Shawcroft for Adafruit Industries +# SPDX-FileCopyrightText: 2019 Carter Nelson +# SPDX-FileCopyrightText: 2019 Roy Hooper +# +# SPDX-License-Identifier: MIT + +""" +`neopixel` - NeoPixel strip driver +==================================================== + +* Author(s): Damien P. George, Scott Shawcroft, Carter Nelson, Rose Hooper +""" + +import sys +import board +import digitalio +from neopixel_write import neopixel_write + +import adafruit_pixelbuf + +try: + # Used only for typing + from typing import Optional, Type + from types import TracebackType + import microcontroller +except ImportError: + pass + + +__version__ = "6.3.15" +__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel.git" + + +# Pixel color order constants +RGB = "RGB" +"""Red Green Blue""" +GRB = "GRB" +"""Green Red Blue""" +RGBW = "RGBW" +"""Red Green Blue White""" +GRBW = "GRBW" +"""Green Red Blue White""" + + +class NeoPixel(adafruit_pixelbuf.PixelBuf): + """ + A sequence of neopixels. + + :param ~microcontroller.Pin pin: The pin to output neopixel data on. + :param int n: The number of neopixels in the chain + :param int bpp: Bytes per pixel. 3 for RGB and 4 for RGBW pixels. + :param float brightness: Brightness of the pixels between 0.0 and 1.0 where 1.0 is full + brightness + :param bool auto_write: True if the neopixels should immediately change when set. If False, + `show` must be called explicitly. + :param str pixel_order: Set the pixel color channel order. The default is GRB if bpp is set + to 3, otherwise GRBW is used as the default. + + Example for Circuit Playground Express: + + .. code-block:: python + + import neopixel + from board import * + + RED = 0x100000 # (0x10, 0, 0) also works + + pixels = neopixel.NeoPixel(NEOPIXEL, 10) + for i in range(len(pixels)): + pixels[i] = RED + + Example for Circuit Playground Express setting every other pixel red using a slice: + + .. code-block:: python + + import neopixel + from board import * + import time + + RED = 0x100000 # (0x10, 0, 0) also works + + # Using ``with`` ensures pixels are cleared after we're done. + with neopixel.NeoPixel(NEOPIXEL, 10) as pixels: + pixels[::2] = [RED] * (len(pixels) // 2) + time.sleep(2) + + .. py:method:: NeoPixel.show() + + Shows the new colors on the pixels themselves if they haven't already + been autowritten. + + The colors may or may not be showing after this function returns because + it may be done asynchronously. + + .. py:method:: NeoPixel.fill(color) + + Colors all pixels the given ***color***. + + .. py:attribute:: brightness + + Overall brightness of the pixel (0 to 1.0) + + """ + + def __init__( + self, + pin: microcontroller.Pin, + n: int, + *, + bpp: int = 3, + brightness: float = 1.0, + auto_write: bool = True, + pixel_order: str = None + ): + if not pixel_order: + pixel_order = GRB if bpp == 3 else GRBW + elif isinstance(pixel_order, tuple): + order_list = [RGBW[order] for order in pixel_order] + pixel_order = "".join(order_list) + + self._power = None + if ( + sys.implementation.version[0] >= 7 + and getattr(board, "NEOPIXEL", None) == pin + ): + power = getattr(board, "NEOPIXEL_POWER_INVERTED", None) + polarity = power is None + if not power: + power = getattr(board, "NEOPIXEL_POWER", None) + if power: + try: + self._power = digitalio.DigitalInOut(power) + self._power.switch_to_output(value=polarity) + except ValueError: + pass + + super().__init__( + n, brightness=brightness, byteorder=pixel_order, auto_write=auto_write + ) + + self.pin = digitalio.DigitalInOut(pin) + self.pin.direction = digitalio.Direction.OUTPUT + + def deinit(self) -> None: + """Blank out the NeoPixels and release the pin.""" + self.fill(0) + self.show() + self.pin.deinit() + if self._power: + self._power.deinit() + + def __enter__(self): + return self + + def __exit__( + self, + exception_type: Optional[Type[BaseException]], + exception_value: Optional[BaseException], + traceback: Optional[TracebackType], + ): + self.deinit() + + def __repr__(self): + return "[" + ", ".join([str(x) for x in self]) + "]" + + @property + def n(self) -> int: + """ + The number of neopixels in the chain (read-only) + """ + return len(self) + + def write(self) -> None: + """.. deprecated: 1.0.0 + + Use ``show`` instead. It matches Micro:Bit and Arduino APIs.""" + self.show() + + def _transmit(self, buffer: bytearray) -> None: + neopixel_write(self.pin, buffer) diff --git a/python-microcontrollers/pi-pico/read-hex.py b/python-microcontrollers/pi-pico/read-hex.py new file mode 100644 index 0000000..6421f64 --- /dev/null +++ b/python-microcontrollers/pi-pico/read-hex.py @@ -0,0 +1,20 @@ +# Open the binary file in read-binary mode +with open('test-multiply.bin', 'rb') as file: + # Read the entire file contents + binary_data = file.read() + +# Convert the binary data to a string of hex bytes +hex_string = binary_data.hex() + +# Print the hex string +print(hex_string) + + +# Open the binary file in read-binary mode +with open('test-multiply.bin', 'rb') as file: + # Read the entire file contents into a bytearray + byte_data = bytearray(file.read()) + +# Print the bytearray +print(byte_data) + diff --git a/python-microcontrollers/pi-pico/test-multiply.bin b/python-microcontrollers/pi-pico/test-multiply.bin new file mode 100644 index 0000000000000000000000000000000000000000..1c4d85fe6e3aa7357370f2d77646e01f493fca4d GIT binary patch literal 256 zcmZQzpcF7MF@IuWX8z2S!2E&j0=j8ToXj7EKB9}#j?eU&m67=~Cj;AEwhuxdMLsfr L#B>wFb~YyfL9Y%E literal 0 HcmV?d00001 diff --git a/python-microcontrollers/pi-pico/tests/pi-pico-8x8-matrix.py b/python-microcontrollers/pi-pico/tests/pi-pico-8x8-matrix.py new file mode 100644 index 0000000..5826964 --- /dev/null +++ b/python-microcontrollers/pi-pico/tests/pi-pico-8x8-matrix.py @@ -0,0 +1,10 @@ +import board +import busio +from adafruit_ht16k33 import matrix +i2c = busio.I2C(board.GP17, board.GP16) # scl, sda + +matrix = matrix.Matrix8x8(i2c) +matrix.fill(0) # Clear the matrix. +matrix[0, 0] = 1 +matrix.brightness = 1 +matrix.blink_rate = 2 \ No newline at end of file diff --git a/python-microcontrollers/pi-pico/tests/pi-pico-blink.py b/python-microcontrollers/pi-pico/tests/pi-pico-blink.py new file mode 100644 index 0000000..fbc4cab --- /dev/null +++ b/python-microcontrollers/pi-pico/tests/pi-pico-blink.py @@ -0,0 +1,14 @@ +"""Example for pi pico. Blinking LED""" + +import board +import digitalio +import time + +led = digitalio.DigitalInOut(board.LED) +led.direction = digitalio.Direction.OUTPUT + +led.value = True + +for i in range(50): + led.value = not led.value + time.sleep(0.5) \ No newline at end of file diff --git a/python-microcontrollers/pi-pico/tests/pi-pico-button.py b/python-microcontrollers/pi-pico/tests/pi-pico-button.py new file mode 100644 index 0000000..e83c555 --- /dev/null +++ b/python-microcontrollers/pi-pico/tests/pi-pico-button.py @@ -0,0 +1,17 @@ +"""Example for pi pico. Button-controlled LED. + +Wiring: switch to ground pin on pico, and to pin 18. +""" + +import board +import digitalio + +led = digitalio.DigitalInOut(board.LED) +led.direction = digitalio.Direction.OUTPUT + +switch = digitalio.DigitalInOut(board.GP18) +switch.direction = digitalio.Direction.INPUT +switch.pull = digitalio.Pull.UP + +while True: + led.value = not switch.value diff --git a/python-microcontrollers/pi-pico/tests/pi-pico-keypad.py b/python-microcontrollers/pi-pico/tests/pi-pico-keypad.py new file mode 100644 index 0000000..87be7a2 --- /dev/null +++ b/python-microcontrollers/pi-pico/tests/pi-pico-keypad.py @@ -0,0 +1,19 @@ +# pi pico + +import keypad +import board + +keymatrix = keypad.KeyMatrix( + row_pins = (board.GP5, board.GP6, board.GP7, board.GP8), + column_pins = (board.GP9, board.GP10, board.GP11, board.GP12, board.GP13) ) + +keymap = { + 15:"0", 16:"1", 17:"2", 18:"3", 19:"runhalt", + 10:"4", 11:"5", 12:"6", 13:"7", 14:"step", + 5:"8", 6:"9", 7:"A", 8:"B", 9:"addrdata", + 0:"C", 1:"D", 2:"E", 3:"F", 4:"NA" } + +while True: + event = keymatrix.events.get() + if event: + print(event.key_number, event.released, keymap[event.key_number]) diff --git a/python-microcontrollers/pi-pico/tests/pi-pico-keypad2.py b/python-microcontrollers/pi-pico/tests/pi-pico-keypad2.py new file mode 100644 index 0000000..92d263b --- /dev/null +++ b/python-microcontrollers/pi-pico/tests/pi-pico-keypad2.py @@ -0,0 +1,19 @@ +import board +import keypad + +keymatrix = keypad.KeyMatrix( + row_pins = (board.GP5, board.GP6, board.GP7, board.GP8), + column_pins = (board.GP9, board.GP10, board.GP11, board.GP12, board.GP13) ) + +keymap = { + 15:"0", 16:"1", 17:"2", 18:"3", 19:"runhalt", + 10:"4", 11:"5", 12:"6", 13:"7", 14:"step", + 5:"8", 6:"9", 7:"A", 8:"B", 9:"addr", + 0:"C", 1:"D", 2:"E", 3:"F", 4:"data" } + +while True: + keypad_event = keymatrix.events.get() + keyPressed = True if (keypad_event and keypad_event.released ) else False + key = keymap[keypad_event.key_number] if keyPressed else False + if key: + print(key) diff --git a/python-microcontrollers/pi-pico/tests/pi-pico-seven-segment-display.py b/python-microcontrollers/pi-pico/tests/pi-pico-seven-segment-display.py new file mode 100644 index 0000000..480353f --- /dev/null +++ b/python-microcontrollers/pi-pico/tests/pi-pico-seven-segment-display.py @@ -0,0 +1,14 @@ +"""Example for pi pico. Blinking LED""" + +import board +import digitalio +import time +from tm1637_display import TM1637Display + +display_1 = TM1637Display(board.GP0, board.GP1, length=4) +display_1.print("1234") + +display_2 = TM1637Display(board.GP2, board.GP3, length=4) +display_2.print("ABCD") + +print("end") \ No newline at end of file diff --git a/python-microcontrollers/pi-pico/venv/lib/python3.11/site-packages/idna-3.10.dist-info/LICENSE.md b/python-microcontrollers/pi-pico/venv/lib/python3.11/site-packages/idna-3.10.dist-info/LICENSE.md new file mode 100644 index 0000000..19b6b45 --- /dev/null +++ b/python-microcontrollers/pi-pico/venv/lib/python3.11/site-packages/idna-3.10.dist-info/LICENSE.md @@ -0,0 +1,31 @@ +BSD 3-Clause License + +Copyright (c) 2013-2024, Kim Davies and contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/src/opter b/src/opter deleted file mode 160000 index 1d98a07..0000000 --- a/src/opter +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1d98a0707c3e61e362d2d3d5413b475437b5de0e