Skip to content

Instantly share code, notes, and snippets.

@jepler
Created July 14, 2024 21:54
Show Gist options
  • Save jepler/95973f261ef8181e1d4a3b494cd72d7b to your computer and use it in GitHub Desktop.
Save jepler/95973f261ef8181e1d4a3b494cd72d7b to your computer and use it in GitHub Desktop.
-: ---------- > 1: ed1b9a4902 fixed frozen modules
-: ---------- > 2: bfa536f300 use board-LED as status-LED (sic!)
-: ---------- > 3: 957d011949 use board-LED as status-LED (sic!)
-: ---------- > 4: 3c10409708 support enable-pin as DigitalInOut (Badger2040W compatibility)
-: ---------- > 5: 123aad7607 optimize parameters
-: ---------- > 6: 2d30d6d2e2 add support for keycodes to make inky-buttons usable
-: ---------- > 7: 767be33b0a use GPIO6 as status led and and add PICO_LED for onboard-led
-: ---------- > 8: 0af689d542 added defines for VOLTAGE_MONITOR/A3
-: ---------- > 9: d905ac0916 add board.LED
-: ---------- > 10: 9f9dcd013c Add Cardputer keyboard support
-: ---------- > 11: c5c78d3235 Moved DemuxKeyMatrix from board specific to a shared module
-: ---------- > 12: d7f491260d Removed DemuxKeyMatrix by default for atmel-samd board. Some do not have enough space
-: ---------- > 13: d05b509609 Fixed an error in the previous commit
-: ---------- > 14: d7bc2c26d7 Disabled DemuxKeyMatrix in all atmel-samd boards. Some boards do not have enuogh flash space
-: ---------- > 15: 88b4e38625 Moved DemuxKeyMatrix in the keypaddemux module
-: ---------- > 16: 8f1a4fdbc0 Fix documentation
-: ---------- > 17: 8883416349 Update shared-bindings/keypaddemux/DemuxKeyMatrix.c
-: ---------- > 18: bb683fa4cf Renamed module 'keypaddemux' in 'keypad_demux' and fix documentation
-: ---------- > 19: b314430c6e add RFGuru PICO board
-: ---------- > 20: d8a4c5088d Fix documentation
-: ---------- > 21: dc69c29dac rename ports/nrf to ports/nordic
-: ---------- > 22: 49099ceeab Expand deque implementation to include iteration and subscripting
-: ---------- > 23: 0a3bf135cd Enable new deque functionality in MicroPython configuration settings
-: ---------- > 24: 9b1c8ec61b Tests for expanded deque functionality
-: ---------- > 25: 4a1f715730 Update translation files
-: ---------- > 26: c4df571589 Enable new deque functionality in CP configuration settings
-: ---------- > 27: 59ec9554a1 remove old devcontainer-files
-: ---------- > 28: 48ba72cbb5 add devcontainter-configurations per port for CP 9.x.x
-: ---------- > 29: fe5da84289 added screenshot
-: ---------- > 30: be79afba41 removed some trailing whitespace
-: ---------- > 31: 4a65d57786 replaced trailing spaces (line-break) with explicit backslash
-: ---------- > 32: a7ad7c81e5 another trailing whitespace. Note that trailing whitespace is valid markdown for a line-break
-: ---------- > 33: 7e7918ea80 socketpool: alphabetize dict names
-: ---------- > 34: 0c1db5e0cc socketpool: add `type` property to Socket objects
-: ---------- > 35: 5973c4a86c socketpool: factor out constants
-: ---------- > 36: c793a021b8 ssl: work on anything implementing the socket protocol
-: ---------- > 37: 40cc50094c wiznet w5500: improve pin naming & enable ssl
-: ---------- > 38: b330989704 sslsocket: Simplify handling the timeout value
-: ---------- > 39: f960c5b7c1 SSLSocket: propagate any exception from socket.settimeout directly
-: ---------- > 40: 8c5d9d28d8 ssl: make bind & listen into void functions (they throw exceptions)
-: ---------- > 41: 14a19726f0 Fix return value of accept()
-: ---------- > 42: 25ad46d911 Update to IDF 5.2.1
-: ---------- > 43: 4010f90666 Update deque documentation to reflect new functionality
-: ---------- > 44: bed6483823 Set SPI clock line idle polarity for CPOL=1
-: ---------- > 45: 07c676c5b3 Fix enable phy check
-: ---------- > 46: 43c48949e6 Free up RAM on the S2
-: ---------- > 47: 7951619109 Slow down octal SPI PSRAM because it is unstable (and doesn't compile)
-: ---------- > 48: 1343ad6be4 Completely disable assertions on opt builds to save flash space
-: ---------- > 49: 3e184e994c Add state integration based debouncing to the `keypad` module
-: ---------- > 50: 55782756ab Fix a couple other boards
-: ---------- > 51: 4576ae53a8 add board files
-: ---------- > 52: 4331d84f70 Translated using Weblate (Portuguese (Brazil))
-: ---------- > 53: 1d7cbcc507 update with unique PID allocated from Espressif
-: ---------- > 54: ee3e0a23ba fix formtting issues
-: ---------- > 55: e79e04cb29 add board.BUTTON pin assignment (thanks @RetiredWizard )
-: ---------- > 56: aa44ebe708 Fix typo with LCD_DC pin assignment (thanks @RetiredWizard!)
-: ---------- > 57: 7e992c85a4 rename SD SPI bus
-: ---------- > 58: 3b057a6f61 Add pin 38 for SDIO
-: ---------- > 59: 838a5b4d71 typo 🤦‍♂️
-: ---------- > 60: e5f0579d6c SSLSocket: implement setsockopt (untested)
-: ---------- > 61: 63a33b406e Update esp32-camera
-: ---------- > 62: 751fbf0d31 Update mpconfigboard.mk
-: ---------- > 63: 358e47f655 prevent undefined function if CIRCUITPY_USB_HOST=0
-: ---------- > 64: 0cfdbb1d04 fixed indentation - the strange pre-commit way
-: ---------- > 65: 969dfc005d Add M5Stack CoreS3 to CircuitPython
-: ---------- > 66: 32964f817d initial commit
-: ---------- > 67: 1dc376b888 Small fixes
-: ---------- > 68: 21fba25a06 cleanup naming
-: ---------- > 69: 529abf5b06 rp2 I2SOut: support both order for BCLK and LRCLK pins
-: ---------- > 70: 465698e561 Update ports/raspberrypi/boards/rfguru_rp2040/pins.c
-: ---------- > 71: 9d96cd153d @dhalbert hinted this to prevent start issues
-: ---------- > 72: 9d38a6ec9b remove trailing whitespaces
-: ---------- > 73: 8390481d58 don't compile and link PicoDVI if CIRCUITPY_PICODVI=0
-: ---------- > 74: c6993aaabd disable PICODVI and USB_HOST
-: ---------- > 75: ec0ccd2919 pico_dvi: support 640x240 (tested @1bpp) and 800x240 (not tested)
-: ---------- > 76: 1e2eb1055c simplify the conditional tests for resolution modes
-: ---------- > 77: f4b882d62c initial commit
-: ---------- > 78: 3310b93b71 disable PICODVI and USB_HOST
-: ---------- > 79: ce64daa86e settings.toml: explicitly check that strings must be quoted
-: ---------- > 80: 4a08387c42 Fix syntax error
-: ---------- > 81: 659c38562b shared-module/fourwire/FourWire.c: make the chip_select pin optional
-: ---------- > 82: 65b167d392 initial commit
-: ---------- > 83: c71cf85641 espressif/common-hal/wifi/Radio.{c,h} handle new ESOP-IDF 5.2.1 auth failure codes
-: ---------- > 84: 393084ec9a organized the pins list
-: ---------- > 85: 415553c87b update i2c on sensebox mcu-s2
-: ---------- > 86: 7b9e9d56fd add exception tag to build flags
-: ---------- > 87: 70c0957583 fix #9129
-: ---------- > 88: f1ced6073d move CIRCUITPY_I2C_ALLOW_STRAPPING_PINS to correct file
-: ---------- > 89: 332375d0e3 CONFIG_FREERTOS_HZ = 1000
-: ---------- > 90: d1cd3f855f Use MP_ARRAY_SIZE in some appropriate spots
-: ---------- > 91: 7d2e46aa19 Update adafruit_floppy
-: ---------- > 92: 1be36bd7cb Add floppyio to unix port, test mfm decoding
-: ---------- > 93: 9efb034cba Add pio-based flux capturing for rp2040
-: ---------- > 94: b17e5b2339 update adafruit_floppy submodule again
-: ---------- > 95: 95b92abecd need an empty stub file in each port that uses floppyio now
-: ---------- > 96: 5a7ac6fb63 document Espressif AnalogIn limitations
-: ---------- > 97: 9f91eb42aa changed refresh_time as requested
-: ---------- > 98: 64b822cb66 Apply suggestions from code review
-: ---------- > 99: bb9968215c Runtime.serial_bytes_available: return count isntead of bool
-: ---------- > 100: c26060136d Update translation files
-: ---------- > 101: 4b44e324a5 address review; fix STM; add limitation for STM
-: ---------- > 102: 090f330ad5 Added support for Cardputer keyboard input.
-: ---------- > 103: fff18c5569 Removed unused debugging lines.
-: ---------- > 104: 4d8310e374 Fixed precommit spacing problems.
-: ---------- > 105: b938c84839 sunton esp32-8048s070 support
-: ---------- > 106: 8f55dfeb3d shared-module/fourwire/FourWire.c: make the chip_select pin optional
-: ---------- > 107: e847999a42 Runtime.serial_bytes_available: return count isntead of bool
-: ---------- > 108: 064ac2d932 address review; fix STM; add limitation for STM
-: ---------- > 109: e956f2994b Updated to use ringbuf and an event callback.
-: ---------- > 110: 814ebc6246 Make USB MIDI interface names customizable
-: ---------- > 111: e97ac185d2 factor out name-setting in usb_midi_set_names()
-: ---------- > 112: 9d8eebc65b shrink pygamer and pybadge
-: ---------- > 113: 3d183bbc5f Fixed board_serial_bytes_available prototype error.
-: ---------- > 114: 8b8927b24a Readded misssing prototypes.
-: ---------- > 115: 24069d963c Translated using Weblate (Portuguese (Brazil))
-: ---------- > 116: e455824f8e Added support for the Watchy board by SQFMI.
-: ---------- > 117: 46fa5491bc Fixed creation and creation IDs.
-: ---------- > 118: 05252146ec Turn on bitmapfilter with the same criteria as bitmaptools
-: ---------- > 119: f6d79bcb49 individual boards and samd21: turn off bitmapfilter when bitmaptools is off
-: ---------- > 120: 2ccc6a97bf turn off bitmapfilter on samd51; test fitting on all Espressif
-: ---------- > 121: 8632701e2f Added keypress codes for OPT modifier.
-: ---------- > 122: d15e6e82b9 Turn bitmapfilter on non-camera ESP32-S2
-: ---------- > 123: bd6b80131f Add display init to Hacktablet firmware
-: ---------- > 124: 8d85aebc3b Removed unnecessary USB information.
-: ---------- > 125: bcae6ae5cf Move the nRF saved word
-: ---------- > 126: a48be88474 further pruning of bitmapfilter builds
-: ---------- > 127: a079ca4498 Update ports/espressif/boards/sqfmi_watchy/mpconfigboard.mk
-: ---------- > 128: 2ef1f2a753 Git
-: ---------- > 129: ffe33aac89 Removed blank line at file end.
-: ---------- > 130: 6f2720cdb1 Removed frozen submodules.
-: ---------- > 131: aca3191a58 Add Max3421E support for usb host
-: ---------- > 132: 84e15d715a switch atmel-samd AudioOut to use finalizer
-: ---------- > 133: 7cb82b3086 Fix fbs3 reset
-: ---------- > 134: 511c0e6832 Switch to serial_write for just this one print
-: ---------- > 135: 0c61d51a39 fix typo in SafeModeReason.WATCHDOG doc
-: ---------- > 136: dff8db2b82 update frozen libraries
-: ---------- > 137: 2f53c6edbb ssl: Swallow errors during socket.close()
-: ---------- > 138: 93490c301f Don't close an SSL socket twice
-: ---------- > 139: 0b2175572c initial commit
-: ---------- > 140: 00a18fe2c9 Adafruit Pixel Trinkey M0
-: ---------- > 141: 0bea0174aa Add some comments for the line clear
-: ---------- > 142: dcb08dc6fd Switch to another func for the output text
-: ---------- > 143: e1054ef624 Phrase it a bit better
-: ---------- > 144: 3e8cf0df01 Revert "Switch to another func for the output text"
-: ---------- > 145: 8b121d0e36 Translated using Weblate (English (United Kingdom))
-: ---------- > 146: 2e499893ee Pixel Trinkey: D4, not D6
-: ---------- > 147: b27bba9eb9 espressif/common-hal/busio/UART.c: clear input buf on creation to avoid stray byte
-: ---------- > 148: 0b4facf50f Update pin names to match info printed on board
-: ---------- > 149: 879f24175e Disable some things for the ssl enhancements to fit
-: ---------- > 150: 1c3112b540 Adafruit TRRS Trinkey M0
-: ---------- > 151: 839fea043c adjust TRRS. Remove busio.UART.Parity if UART disabled
-: ---------- > 152: 5b8d63d8e6 TRRS trinkey: ShiftRegisterKeys off, NeoPixel frozen
-: ---------- > 153: 2af7ef8340 TRRS Trinkey: freezing NeoPixel is too large for ru
-: ---------- > 154: a4e60ec698 LFO: document some things that trip up users
-: ---------- > 155: bf10008c94 Update shared-bindings/synthio/LFO.c
-: ---------- > 156: 9979e1ac1d Update LFO implementation detail notes based on Dan's feedback
-: ---------- > 157: e54ea0c1a1 initial commit
-: ---------- > 158: 442def3e68 Add minimal Renode port
-: ---------- > 159: 8fcb1bfa0d Update LFO.c
-: ---------- > 160: 983771b1b0 Skip id check for renode builds
-: ---------- > 161: 3321442a37 Add renode as supported port
-: ---------- > 162: b63d422768 Fix more boards and docs
-: ---------- > 163: 79888acd15 Fix lint, ESP BLE and renode fetch deps
-: ---------- > 164: 3f419df3b6 Add extension info and always build with symbols
-: ---------- > 165: d04049df0e add bitmap_fonts to frozen
-: ---------- > 166: e9f060c650 Move stray board
-: ---------- > 167: 1e277f69f7 Add WeMos LOLIN32 Lite
-: ---------- > 168: fcd5938f7e Use IO0 for safemode
-: ---------- > 169: b1a8ef59f0 Update board name
-: ---------- > 170: fde6263d9e Switch to -Os for all 4MB builds
-: ---------- > 171: 0e2152985c espressif: add user-specified connect() timeout
-: ---------- > 172: 0cbd8b2e0c Add CIRCUITPY_USB_DEVICE config
-: ---------- > 173: 8f5c6920a9 Fix CI USB PID check
-: ---------- > 174: 0da83a9d37 Fix silabs
-: ---------- > 175: 40f6d531b3 Add missing file
-: ---------- > 176: e839be5e4e Apply suggestions from code review
-: ---------- > 177: 1eb70ae285 Fix build
-: ---------- > 178: d4a46ba153 Always define CFG_TUD_ENABLED
-: ---------- > 179: 5fa40ccc22 Fix cyw43 and build with usb_cdc
-: ---------- > 180: 3db7483762 Fix typo in AtomS3U pins
-: ---------- > 181: 6cbdb64d03 Fix builds without custom USB ID
-: ---------- > 182: 6d802fe616 Fix ESP builds
-: ---------- > 183: a86a9b73cb Fix ESP32-S3 builds with bleio
-: ---------- > 184: b8f3d231de espressif: fix build error when WIFI && !SSL
-: ---------- > 185: 91646290e5 espressif: Fix queueing background tasks from other core
-: ---------- > 186: 08a440d19b espressif: Don't hold interrupts disabled a long time
-: ---------- > 187: 50a971ea80 espressif: enable MP3Decoder on esp32s3
-: ---------- > 188: 6237a14abc espressif: i2sout: Comment on these constants better
-: ---------- > 189: 6136c33a87 espressif: Use Philips data format for i2s
-: ---------- > 190: a8170f9930 MP3Decoder: ensure object uses finalizer
-: ---------- > 191: 7af2a13245 MP3Decoder: Allow port to override the allocator
-: ---------- > 192: aee66b2462 espressif: use custom allocator for MP3Decoder data
-: ---------- > 193: 334287b578 MP3Decoder: update mp3 submodule
-: ---------- > 194: 34a46de3eb MP3Decoder: Request defined behavior for signed integer shifts
-: ---------- > 195: c7807cf95b MP3Decoder: Need to zero out storage
-: ---------- > 196: d68efb803d try enabling mp3 on any espressif chip with at least 4MB flash
-: ---------- > 197: 4f020a2fd1 disable on 4MB C6, for now
-: ---------- > 198: 8cbd9d996c Update ports/espressif/mpconfigport.mk
-: ---------- > 199: 933efe082e add `--list` to stubs setboard
-: ---------- > 200: 7140008a18 grouped and sorted
-: ---------- > 201: cdd6fea907 add filtering option
-: ---------- > 202: 8c92cd80d0 fix typo
-: ---------- > 203: 77a4e429fd Always chdir back to root when reloading
-: ---------- > 204: 5347fd268f Translated using Weblate (Chinese (Pinyin))
-: ---------- > 205: 49e0f5ab47 search by port, dont print dev info
-: ---------- > 206: 7234375e80 add subticks to RP2040 port_get_raw_ticks
-: ---------- > 207: 1a16e6aabd fix whitespace
-: ---------- > 208: a9d800b308 docs/i2ctarget: added examples and additional explanation to the `I2CTarget()` class
-: ---------- > 209: 862fff3b59 Add support for Ai Thinker ESP32-CAM boards
-: ---------- > 210: 9f5bce05bf Add support for Ai Thinker ESP32-CAM boards
-: ---------- > 211: 3b354696d8 Add support for Ai Thinker ESP32-CAM boards
-: ---------- > 212: 64f4928eec Add support for Ai Thinker ESP32-CAM boards
-: ---------- > 213: 2d94c01e1e Add support for ESP32-WROVER-DEV boards with Camera
-: ---------- > 214: a00365ecbd Add support for ESP32-WROVER-DEV boards with Camera (add IOnn aliases)
-: ---------- > 215: 2396f8ba5e Add support for Ai Thinker ESP32-CAM boards (add IOnn aliases)
-: ---------- > 216: 24f2e4f994 Add support for Ai Thinker ESP32-CAM boards (default flashlight to off)
-: ---------- > 217: 2584fc88f0 ports: rpi pico - i2ctarget update transaction restart register mask issue #: https://github.com/adafruit/circuitpython/issues/9232
-: ---------- > 218: 5cace546fe docs/i2ctarget : removed extraneous dependency
-: ---------- > 219: 2a8b335a0f Feather nRF52840 Rev E has NEOPIXEL_POWER pin
-: ---------- > 220: 9e878f7b3d synthio: Calculate LFO.value at construction
-: ---------- > 221: 1865db24f8 Fix typo in start_advertising() param docs
-: ---------- > 222: 9cfcf9a683 [#8272] ports/challenger_rp2040_lte: fixes incorrect pin assignment for MISO
-: ---------- > 223: 9a12fbc4f8 Add Freenove name and ID to their board
-: ---------- > 224: c95477b6a7 update frozen libraries for 9.1.0-beta.2
-: ---------- > 225: 8acfc0c70c set the connected status of a socket after UDP & raw connect
-: ---------- > 226: 21a9326203 update tinyusb to 15 May 2024 version
-: ---------- > 227: dd09492c45 Enable camera and SD power supply
-: ---------- > 228: 1681a3d8cb Added camera configuration in sdkconfig
-: ---------- > 229: bb47f35281 added explorer badge RP2040 board
-: ---------- > 230: bed97ed4c0 Update pins.c comment to indicate “VID” returns an int
-: ---------- > 231: 689c6fac20 Add ESP BLE GATT server support
-: ---------- > 232: daa11cb1c2 updates before header conversion
-: ---------- > 233: 747b7619ea update headers of most CircuitPython-only files
-: ---------- > 234: bb959ba094 save header change tool for posterity
-: ---------- > 235: ad5990ee74 fix typo
-: ---------- > 236: 6a93dd4b65 fix .ld file
-: ---------- > 237: e99d41e584 add missing pin for ESP32-S3-DevKitM-1
-: ---------- > 238: b994c24768 update bradanlanestudio_explorer_rp2040 headers
-: ---------- > 239: dbef48d5e2 add #pragma once to all CircuitPython header files without any include guards
-: ---------- > 240: 950b5d09d2 guard2once -s ...
-: ---------- > 241: 296ad5096a qstrdefport.h: remove #pragma once
-: ---------- > 242: 3f4d9310ff CircuitPython files: replace STATIC with static
-: ---------- > 243: 16e9fe6ce6 fix a few regexps that are better as raw strings
-: ---------- > 244: 39c203aabb update frozen modules for 9.1.0-beta.3
-: ---------- > 245: c9b5002897 shared-bindings/analogio/AnalogIn.c: fix Espressif limitations doc
-: ---------- > 246: 5850f01cbe Some cardputer definition improvements
1: 354da873c6 ! 247: 759a262b39 synthio: remove compatibility alias
@@ Commit message
surely OK to remove now.
## shared-bindings/synthio/Synthesizer.c ##
-@@ shared-bindings/synthio/Synthesizer.c: STATIC MP_DEFINE_CONST_FUN_OBJ_2(synthio_synthesizer_release_obj, synthio_synthe
+@@ shared-bindings/synthio/Synthesizer.c: static MP_DEFINE_CONST_FUN_OBJ_2(synthio_synthesizer_release_obj, synthio_synthe
//| :param NoteOrNoteSequence release: Any sequence of notes.
//| :param NoteOrNoteSequence press: Any sequence of notes.
//| :param LFOOrLFOSequence retrigger: Any sequence of LFOs.
@@ shared-bindings/synthio/Synthesizer.c: STATIC MP_DEFINE_CONST_FUN_OBJ_2(synthio_
-//| for this function. This compatibility name will be removed in 9.0."""
+//| :param ActionSequenceOrSequences start: Any sequence of ActionSequences
+//| :param ActionSequenceOrSequences stop: Any sequence of ActionSequences"""
- STATIC mp_obj_t synthio_synthesizer_change(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
+ static mp_obj_t synthio_synthesizer_change(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
enum { ARG_release, ARG_press, ARG_retrigger };
static const mp_arg_t allowed_args[] = {
-@@ shared-bindings/synthio/Synthesizer.c: STATIC const mp_rom_map_elem_t synthio_synthesizer_locals_dict_table[] = {
+@@ shared-bindings/synthio/Synthesizer.c: static const mp_rom_map_elem_t synthio_synthesizer_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_release), MP_ROM_PTR(&synthio_synthesizer_release_obj) },
{ MP_ROM_QSTR(MP_QSTR_release_all), MP_ROM_PTR(&synthio_synthesizer_release_all_obj) },
{ MP_ROM_QSTR(MP_QSTR_change), MP_ROM_PTR(&synthio_synthesizer_change_obj) },
2: a1773212cb ! 248: 9a6ee5938a synthio: Add, test synthesizer sequences.
@@ shared-bindings/synthio/Synthesizer.c
+//|
+//| If a sequence element is not of the appropriate type, the effect is undefined
+//| (currently in most cases an error message is printed and the sequence stops,
-+//| though this error cannot be caught)
++//| though this error cannot be caught). In particular, the behavior where an
++//| instruction sequence is a nested list is undefined behavior.
+//|
+//| .. note ::
+//|
+//| A maximum number of action sequences may be active at one time on a synthesizer.
+//| Currently this is the same as ``max_polyphony``.
+//| """
++//| ActionSequenceOrSequences: Union[ActionSequence, Sequence[ActionSequence]]
++//| """`Synthesizer.change` can accept a single ActionSequence or a list of them."""
//| LFOOrLFOSequence = Union["LFO", Sequence["LFO"]]
//| """An LFO or a sequence of LFOs"""
//|
-@@ shared-bindings/synthio/Synthesizer.c: STATIC MP_DEFINE_CONST_FUN_OBJ_2(synthio_synthesizer_release_obj, synthio_synthe
+@@ shared-bindings/synthio/Synthesizer.c: static MP_DEFINE_CONST_FUN_OBJ_2(synthio_synthesizer_release_obj, synthio_synthe
//| self,
//| release: NoteOrNoteSequence = (),
//| press: NoteOrNoteSequence = (),
@@ shared-bindings/synthio/Synthesizer.c: STATIC MP_DEFINE_CONST_FUN_OBJ_2(synthio_
//|
//| The changes all happen atomically with respect to output generation.
//|
-@@ shared-bindings/synthio/Synthesizer.c: STATIC MP_DEFINE_CONST_FUN_OBJ_2(synthio_synthesizer_release_obj, synthio_synthe
+@@ shared-bindings/synthio/Synthesizer.c: static MP_DEFINE_CONST_FUN_OBJ_2(synthio_synthesizer_release_obj, synthio_synthe
//| :param ActionSequenceOrSequences start: Any sequence of ActionSequences
//| :param ActionSequenceOrSequences stop: Any sequence of ActionSequences"""
- STATIC mp_obj_t synthio_synthesizer_change(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
+ static mp_obj_t synthio_synthesizer_change(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
- enum { ARG_release, ARG_press, ARG_retrigger };
- static const mp_arg_t allowed_args[] = {
- { MP_QSTR_release, MP_ARG_OBJ, {.u_obj = mp_const_empty_tuple } },
@@ shared-bindings/synthio/Synthesizer.c: STATIC MP_DEFINE_CONST_FUN_OBJ_2(synthio_
+ common_hal_synthio_synthesizer_change_impl(self, n_args - 1, pos_args + 1, kw_args);
return mp_const_none;
}
- STATIC MP_DEFINE_CONST_FUN_OBJ_KW(synthio_synthesizer_change_obj, 1, synthio_synthesizer_change);
+ static MP_DEFINE_CONST_FUN_OBJ_KW(synthio_synthesizer_change_obj, 1, synthio_synthesizer_change);
## shared-bindings/synthio/Synthesizer.h ##
@@ shared-bindings/synthio/Synthesizer.h: void common_hal_synthio_synthesizer_release_all(synthio_synthesizer_obj_t *self)
@@ shared-bindings/synthio/Synthesizer.h: void common_hal_synthio_synthesizer_relea
## shared-module/synthio/Synthesizer.c ##
@@
- * THE SOFTWARE.
- */
+ //
+ // SPDX-License-Identifier: MIT
+#include <math.h>
+
@@ shared-module/synthio/Synthesizer.c: envelope_state_e common_hal_synthio_synthes
+
+
+void sequence_start(synthio_synthesizer_obj_t *self, mp_obj_t arg) {
++ sequence_stop(self, arg);
+ for (int chan = 0; chan < CIRCUITPY_SYNTHIO_MAX_CHANNELS; chan++) {
+ if (self->sequence_state[chan].obj == MP_OBJ_NULL) {
+ self->sequence_state[chan].obj = arg;
3: 8f8e0d6541 < -: ---------- Improve docs a bit
4: ebd8956d01 = 249: 6968de025b Fix test results
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment