21 KiB
CircuitPython Weekly July 22nd, 2019
Video of the meeting is available on YouTube and on diode.zone
Join here for the chat all week: http://adafru.it/discord
The weekly happens normally at 2pm ET/11am PT on Mondays. Check the #circuitpython channel for notices of change in time and links to past episodes.
CircuitPython development is sponsored by Adafruit. Please support them by purchasing hardware from adafruit.com.
Reminders: Podcast available on most services. Let us know if we’re missing some.
3:30 Community News
PyOhio is July 27-28, 2019 in Columbus, Ohio! Kattni Rembor will be the opening keynote speaker! https://www.pyohio.org/2019/
A speedier CircuitPython gets 10 out of 10 in the latest issue of HackSpace Magazine https://hackspace.raspberrypi.org/features/circuitpython-4-1-0-review
295 - In the key of lime - Embedded.fm podcast with @tannewt and @kattni https://embedded.fm/episodes/295
8/8/2019 is CircuitPython day!
Getting started programming microcontrollers with CircuitPython by NYC Resistor - August 3, 2019. https://www.eventbrite.com/e/getting-started-programming-microcontrollers-with-circuitpython-tickets-63905511104
CircuitPython Day with the India Linux Users Group Delhi (ILUGD) at the Delhi Technical University for Women - August 4, 2019 https://twitter.com/ilugdelhi/status/1153305958690328576
Empowering developers by embedding Python https://talkpython.fm/episodes/show/221/empowering-developers-by-embedding-python
How to Add a New Board to CircuitPython https://learn.adafruit.com/how-to-add-a-new-board-to-circuitpython
Scott Hanselman visits Adafruit! https://youtu.be/nsnzgqR8-VI
8:47 State of CircuitPython + Libraries
This data is as of yesterday.
9:15 Overall
- 31 pull requests merged
- 12 authors - dastels, iraytrace, romanakozak, NanoDano, brentru, tannewt, phrogger, dhalbert, ntavish, jerryneedell, docmollo, caternuson
- 6 reviewers - dastels, ladyada, tannewt, brentru, kattni, dhalbert
- 7 closed issues by 4 people, 4 opened by 4 people
11:16 Core
- 15 pull requests merged
- 4 authors - jerryneedell, tannewt, ntavish, dhalbert
- 2 reviewers - tannewt, dhalbert
- 9 open pull requests
- https://github.com/adafruit/circuitpython/pull/2003
- https://github.com/adafruit/circuitpython/pull/2000
- https://github.com/adafruit/circuitpython/pull/1998
- https://github.com/adafruit/circuitpython/pull/1996
- https://github.com/adafruit/circuitpython/pull/1986
- https://github.com/adafruit/circuitpython/pull/1985
- https://github.com/adafruit/circuitpython/pull/1858
- https://github.com/adafruit/circuitpython/pull/1363
- https://github.com/adafruit/circuitpython/pull/1274
- 2 closed issues by 1 person, 1 opened by 1 person
- 182 open issues
- 6 active milestones
- 4.1.0: 1 open issues
- 4.x - Features: 38 open issues
- 4.x.x - Bug fixes: 2 open issues
- 5.x: 4 open issues
- Libraries: 9 open issues
- Long term: 128 open issues
- 0 issues not assigned a milestone
Please try the 4.1.0-rc.1 release if you are able, so we can move it from rc to be the main release.
Download stats by board:
| Board | 4.0.2 | 4.1.0-rc.1 |
|---|---|---|
| arduino_mkr1300 | 7 | 1 |
| arduino_mkrzero | 12 | 0 |
| arduino_zero | 38 | 1 |
| bast_pro_mini_m0 | 0 | 0 |
| capablerobot_usbhub | 0 | 0 |
| catwan_usbstick | 0 | 0 |
| circuitplayground_express | 816 | 5 |
| circuitplayground_express_4h | 5 | 0 |
| circuitplayground_express_crickit | 23 | 0 |
| circuitplayground_express_digikey_pycon2019 | 2 | 0 |
| datum_distance | - | 1 |
| datum_imu | - | 0 |
| datum_light | - | 0 |
| datum_weather | - | 0 |
| electronut_labs_blip | 5 | 0 |
| electronut_labs_papyr | 1 | 0 |
| escornabot_makech | 0 | 0 |
| feather_m0_adalogger | 45 | 1 |
| feather_m0_basic | 52 | 1 |
| feather_m0_express | 136 | 0 |
| feather_m0_express_crickit | 3 | 0 |
| feather_m0_rfm69 | 8 | 0 |
| feather_m0_rfm9x | 52 | 0 |
| feather_m4_express | 161 | 2 |
| feather_nrf52840_express | 40 | 0 |
| feather_radiofruit_zigbee | 0 | 0 |
| gemma_m0 | 101 | 0 |
| gemma_m0_pycon2018 | 3 | 0 |
| grandcentral_m4_express | 40 | 0 |
| hallowing_m0_express | 38 | 0 |
| itsybitsy_m0_express | 58 | 1 |
| itsybitsy_m4_express | 103 | 3 |
| kicksat-sprite | 0 | 0 |
| makerdiary_nrf52840_mdk | 7 | 0 |
| makerdiary_nrf52840_mdk_usb_dongle | 20 | 0 |
| meowmeow | 0 | 0 |
| metro_m0_express | 115 | 0 |
| metro_m4_airlift_lite | 34 | 3 |
| metro_m4_express | 109 | 2 |
| mini_sam_m4 | 0 | 0 |
| particle_argon | 6 | 0 |
| particle_boron | 0 | 0 |
| particle_xenon | 3 | 0 |
| pca10056 | 13 | 0 |
| pca10059 | 28 | 1 |
| pewpew10 | 29 | 0 |
| pewpew13 | 0 | 0 |
| pirkey_m0 | 1 | 0 |
| pybadge | 83 | 2 |
| pybadge_airlift | - | 0 |
| pygamer | 261 | 2 |
| pygamer_advance | - | 0 |
| pyportal | 339 | 10 |
| pyruler | - | 0 |
| robohatmm1 | 1 | 0 |
| sam32 | 5 | 0 |
| sparkfun_lumidrive | 0 | 0 |
| sparkfun_nrf52840_mini | 3 | 0 |
| sparkfun_redboard_turbo | 1 | 0 |
| sparkfun_samd21_dev | 5 | 0 |
| sparkfun_samd21_mini | 6 | 0 |
| trellis_m4_express | 76 | 0 |
| trinket_m0 | 323 | 10 |
| uchip | 1 | 0 |
| ugame10 | 5 | 0 |
| ---------------------------------------------- | -------- | ------------- |
| Total | 3223 | 46 |
| ---------------------------------------------- | -------- | ------------- |
Download stats by language:
| Board | 4.0.2 | 4.1.0-rc.1 |
|---|---|---|
| ID | 2 | 0 |
| de_DE | 57 | 0 |
| en_US | 2995 | 45 |
| en_x_pirate | 26 | 0 |
| es | 35 | 0 |
| fil | 2 | 0 |
| fr | 82 | 0 |
| it_IT | 8 | 0 |
| pl | 6 | 0 |
| pt_BR | 6 | 0 |
| zh_Latn_pinyin | 4 | 1 |
| ----------------- | -------- | ------------- |
| Total | 3223 | 46 |
| ----------------- | -------- | ------------- |
13:17 Libraries
- 16 pull requests merged
- 9 authors - dastels, iraytrace, romanakozak, NanoDano, brentru, phrogger, dhalbert, docmollo, caternuson
- 6 reviewers - dastels, ladyada, tannewt, brentru, kattni, dhalbert
- 33 open pull requests
- https://github.com/adafruit/Adafruit_CircuitPython_SK9822/pull/2
- https://github.com/adafruit/Adafruit_CircuitPython_WS2801/pull/4
- https://github.com/adafruit/Adafruit_CircuitPython_GFX/pull/6
- https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/8
- https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/pull/20
- https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO/pull/1
- https://github.com/adafruit/Adafruit_CircuitPython_TLC59711/pull/5
- https://github.com/adafruit/Adafruit_CircuitPython_NRF24L01/pull/2
- https://github.com/adafruit/Adafruit_CircuitPython_NRF24L01/pull/1
- https://github.com/adafruit/Adafruit_CircuitPython_MAX31865/pull/9
- https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint/pull/11
- https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/14
- https://github.com/adafruit/Adafruit_CircuitPython_MIDI/pull/13
- https://github.com/adafruit/Adafruit_CircuitPython_LSM303/pull/11
- https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/36
- https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/35
- https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font/pull/6
- https://github.com/adafruit/Adafruit_CircuitPython_BNO055/pull/30
- https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/pull/26
- https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/57
- https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/51
- https://github.com/adafruit/Adafruit_CircuitPython_Pypixelbuf/pull/1
- https://github.com/adafruit/Adafruit_CircuitPython_seesaw/pull/36
- https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/59
- https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/57
- https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/42
- https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/39
- https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/34
- https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/20
- https://github.com/adafruit/Adafruit_CircuitPython_Hue/pull/6
- https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/21
- https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/14
- https://github.com/adafruit/Adafruit_CircuitPython_BitmapSaver/pull/1
- 5 closed issues by 4 people, 3 opened by 3 people
- 118 open issues
- https://circuitpython.org/libraries/contributing Library updates in the last seven days: New Libraries
- Adafruit_CircuitPython_MiniMQTT Updated Libraries
- Adafruit_CircuitPython_ESP32SPI
- Adafruit_CircuitPython_PyPortal
- Adafruit_CircuitPython_SimpleIO
- Adafruit_CircuitPython_Hue
- Adafruit_CircuitPython_CursorControl
- Adafruit_CircuitPython_AdafruitIO
- Adafruit_CircuitPython_TinyLoRa
14:50 Hug Reports
17:08 @brentru
- @mscosti for ESP32SPI Server and Access Point work - I have a few good ideas which utilize your hard work!
- @tannewt and @kattni for embedded.fm appearance - my fav. Podcast
- @danh for BLE
- Terry from MCCI for questions I had about the HopeRF module revision numbers.
- Lots of thanks to @adam.io for help with digging into the nitty gritty of the MQTT protocol - helped review MiniMQTT.
18:27 @cater
- group hug
- @danh for support on forum
- good luck to @kattni for pyohio
@charlesburnaford (lurking)
24:20 @CGrover - lurking, loving rc1
18:42 @danh
- @tannewt for reviewing my new BLE PR’s
- @jerryn for testing the new BLE code
- @hierophect for stm32f4 work: PR is imminent
19:50 @deshipu
- @tannewt for monochrome displayio work
- group hug
21:10 @hierophect
- @danh and @tannewt for help with stm32f4 port
- @hatchach for TinyUSB help with STM32
- Group hug
@hukuztuna lurking
@jasonp lurking
21:41 @jerryn
- Congratulations on 5.0 alpha!
- @danh for continued BLE improvements
21:58 @jtrip (lurking - no mic)
- @MakerMelissa for reviewing my first CircuitPython library PR
- @brentr for work on the CursorControl library
22:19 @MakerMelissa
- @tannewt and @kattni for a great embedded.fm podcast
- Group Hug
22:41 @mscosti (text only for meeting)
- @siddacious, @sommersoft, @brentru for all the great feedback and suggestions on my PRs. Learned that the WSGI interface exists, which should work out well.
- @arturo182 for taking the time to test out the server PR before his vacation
@noe lurking
23:18 @sommersoft
- @carlos for implementing the "missing board build" for the core's Travis runs.
- Group hug
23:47 @tammymakesthings (text-only for meeting)
- The whole community because CircuitPython is awesome, but especially right now all the folks working on the displayio library
15:31 @tannewt
- Danh for continued ble progress and pr reviews
- Siddacious, arturo182, sommersoft and mscosti for continued good work on esp webserving
- Deshipu and sommersoft for helping folks in discord
- Nina for talk python with me interview: https://talkpython.fm/episodes/show/221/empowering-developers-by-embedding-python
24:37 Status Updates
28:40 @brentru
- Last week:
- Released/shipped MiniMQTT - a MQTT client implementation for Circuit python devices
- Excited about CircuitPython WiFi IoT projects possibly moving over to this, from the current HTTP implementation.
- It’s fast.
- https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT
- Excited about CircuitPython WiFi IoT projects possibly moving over to this, from the current HTTP implementation.
- New release of the Adafruit IO CircuitPython library - with a MQTT class (minimqtt-powered!). Connect to our HTTP or MQTT APIs!
- Fixed an issue with TinyLoRa for Circuit python and Arduino
- Fixed CursorControl PyGamer issue
- Started a MQTT for Circuit python learn guide
- Released/shipped MiniMQTT - a MQTT client implementation for Circuit python devices
- This week:
- Finish MQTT for CircuitPython Learn Guide - out by Wed.
- Splitting Requests out of ESP32SPI into a separate, non-network-hardware dependent library.
- Some prototypes to assemble
- Start sweeping over the Adafruit IO Basics series of guides for usage with the CircuitPython Adafruit IO Library
31:03 @cater
- Wii Nunchuk library, especially useful for assistive technology . The Nunchuk is an I2C device. https://github.com/adafruit/Adafruit_CircuitPython_Nunchuk. A little flaky; it was reverse-engineered, and could use a bit of tuning
@CGrover (lurking)
- Finished prototype of: https://github.com/CedarGroveStudios/AD9833_FeatherWing
33:14 @danh
- PR’s for BLE Central and Scanner, and BLE API update reviewed and approved by @tannewt
- Starting to work on BLE pairing and bonding
34:20 @deshipu
- PewPew Lite shield for D1 Mini https://hackaday.io/project/21578-pewpew-featherwing/log/165753-d1-mini-shield
- Working on new version of PewPew with a display
- New games for PewPew, including two-person snake game
35:25 @hierophect
- Finished initial PR for stm32f411 and ‘f412 port. UART REPL for now, haven’t finished debugging USB. Includes digitalio, working on I2C.
- Working on making it easier to do a minimal port with few or no features. Conditionalizing more functionality so that a minimal port is really easy to get working, even without digitalio, etc.
@hukuzatuna lurking
@jasonp lurking
38:08 @jepler - nrf pwm audio (not attending live meeting)
- Majority of functionality is in pull request #2000
- Working on pause/resume
- Working on any review items that are noted on the pull request
- Attending pyohio!
38:38 @jerryn
- RPi 4/Buster now working with rfm9x (rpi.gpio updated to fix pull-ups)
- Begin migration to Buster…
- small amount of BLE testing. New release works on 5.0 alpha
- Spent a lot of time looking into power issue with AIrlift featherwing vs ESP32 Huzzah on a PyGamer - more - in the weeds
@jtrip lurking
40:38 @MakerMelissa
- Last Week:
- Updated 8 Arduino Display Guides to reflect drawing Bitmaps with ImageReader library
- Raspberry Pi forum support for some display issues
- Added example for new 320x240 ST7789-based display
- Helped Kattni with some info for her Keynote
- Added Raspberry Pi Compute Module support to Blinka
- Started guide for adding boards to CircuitPython.org Website
- This Week:
- Work on PyBadger fix for PyBadge LC without accelerometer
- Update ST7735 Arduino library display examples to support 320x240 display
- Update ST7735 Arduino library display examples to support PyBadge and PyGamer
- Add missing setup.py to Display_Text library
- Add Compute Module boards to circuitpython.org
- Finish guide for adding boards to CircuitPython.org Website
@mscosti (text only)
@Noe lurking
42:30 @sommersoft
- Last Week:
- adabot PyPI Download stats:
- The daily report has been failing for the past few days. After some really easy troubleshooting, the problem stemmed from pypistats.org itself. Even the website's interface was failing with timeouts and 502 gateway errors. The website seems to be working again (at time of writing). A local run of the script, and Sunday's Travis cron were successful.
- Going forward in the future, there are only a few options:
- Remain reliant on pypistats, and accept any downtimes.
- Find a different service/API.
- Implement our own stats retrieval. Obviously, this is the most complex option. May also incur "funding" requirements with regards to using Google BigQuery. See: https://packaging.python.org/guides/analyzing-pypi-package-downloads/
- RosiePi:
- Finally got the Ansible finished and running. Allows my/any Raspberry Pi to both be initially setup, manage services, and automatically remain up to date with the associated repos (daily, atm). Still needs a fix though.
- Worked with @carlos on having the core's Travis check for missing board builds.
- adabot PyPI Download stats:
- This Week:
- RosiePi
- Rework the installation of gcc-arm-embedded in Ansible. Not sure what I was thinking with "download Linux 64-bit tarball". Raspbian clearly said "no". :face_palm: Wonder how long compiling from source is going to take…
- Verify/get test framework and test board communication working on the RPi.
- RosiePi
46:57 @tammymakesthings
- Last week
- 3-d printing a whole bunch of Flexi dragons for people https://www.thingiverse.com/thing:3505423
- Design of my parking distance sensor project, and connecting a Stemma connector to my Maxbotix ultrasonic sensor so I can use my PyGamer as my test platform
- This week
- Figuring out displayio enough to be able to get my first test of the parking sensor done this week
25:20 @tannewt
- Embedded.fm interview with Kattni and I is live: https://embedded.fm/episodes/295
- Released 4.1.0-rc.1 with bitmap dirty tracking “fix” and branched 5.x
- PR for oled support is close. Just waiting for a final review
- EINK this week along with frame rate control. May cause displayio API change with wait_for_frame and refresh_soon. Will also be in 5
- Also adding .hidden to TileGrid and Group so they can be hidden temporarily.
47:43 In the Weeds
48:19 @jerryn Odd power issue when connecting ESP32 co-processors to PyGamer with Switch off. No need for long discussion - main question is should I post an issue for this? Where? Summary:
- Airlift featherwing - OK
- Airlift breakout - initially OK, speaker noise after turn off
- Feather Huzzah32 - speaker noise before power on — neopixels stay on after use
- ESP32 breakout - Initially OK, neopixels stay on after use All work when switch turned on. Feather Huzzah32 OK if 3.3V used instead of VUSB
55:19 @deshipu A pattern for all libraries that allocate buffers, to make it possible to pass a pre-allocated buffer to them, to avoid memory fragmentation problems on repeated calls (and to make it possible to share one buffer among several things). Repeated allocation and freeing is particularly an issue in the audioio module.