adafruit-circuitpython-week.../2020/2020-04-06.md
2020-04-06 15:58:12 -04:00

27 KiB
Raw Permalink Blame History

CircuitPython Weekly for April 6th, 2020

Video is available here on YouTube.

Join here for the chat all week: http://adafru.it/discord

The CircuitPython Weekly happens normally at 2pm ET/11am PT on Mondays. Check the #circuitpython channel on Discord for notices of change in time and links to past meetings.

CircuitPython development is sponsored by Adafruit. Please support them by purchasing hardware from https://adafruit.com.

Reminders: Podcast available on most services. Let us know if were missing some.

4:30 Community News

Stanford - a free introductory coding course in Python (short deadline) - As an act of community service, a group of Stanford computer science instructors are coming together to offer their teaching services free of charge for people who want to learn introductory coding, subject to availability. This is a one time offering for the COVID-19 pandemic. Course Dates: April 13th until May 22nd. Where: Anywhere with internet. Who: Learners, with no programming experience, and time to dedicate to learning. Student application deadline: April 8th, Anywhere on Earth. Teacher application deadline: April 3rd, Anywhere on Earth. https://engineering.stanford.edu/news/free-coding-education-time-covid-19

5:30 Crowd Supply campaign opens for the CircuitBrains Deluxe by Null Byte Labs LLC running ATSAMD51J19 32-bit ARM Cortex M4, castellated, solderable, comes preloaded with CircuitPython - https://www.crowdsupply.com/null-byte-labs/circuitbrains-deluxe

5:54 Digi-Key posts a project from Shawn Hymel on Twitter - making a temperature logger with the STM32405 Express https://twitter.com/digikey/status/1246025914040881152

6:29 Sophy assembled a NeoPixel dodecahedron made of custom milled PCBs, and 55 NeoPixel LEDs running CircuitPython code - https://twitter.com/sophywong/status/1245825236932554753

6:40 New FridayFun blog post from Les P with free projects from his Pi User section in Linux Format magazine - https://bigl.es/friday-fun-lockdown-projects/

7:20 Connecting a MLX90393 magnetometer to an Adafruit Feather M0 running Circuitpython and more projects on Learn MicroPython - http://www.learnmicropython.com/code/adafruit-feather-m0-and-mlx90393-magnetometer-circuitpython-example.php

7:38 Know of more cool CircuitPython stuff this week? Help us highlight it by making a PR to the newsletter here: https://github.com/adafruit/circuitpython-weekly-newsletter/blob/gh-pages/_drafts/2020-04-07-draft.md

8:08 State of CircuitPython, Libraries and Blinka

8:24 Overall

  • 36 pull requests merged
    • 16 authors - jimbobbennett, tannewt, dherrada, arturo182, makermelissa, jepler, hhk7734, dmolavi, FoamyGuy, dhalbert, xobs, fgallaire, bd34n, kattni, dglaude, michaellass
    • 12 reviewers - tannewt, theacodes, caternuson, jepler, makermelissa, siddacious, FoamyGuy, AndrewTribble, brentru, dhalbert, kattni, ladyada
  • 26 closed issues by 12 people, 7 opened by 7 people

Overall: 5.1.0 stable released last week. The RC had no major issues. Let us know if you find any. We are looking towards a new unstable release coming soon with lower power. In terms of the libraries, we are going through infrastructure issues and getting things up to standards. These things are more housekeeping than they are code changes. Melissa has been doing great stuff with blinka. Theres a new guide on adding a new board. We are making great progress on everything.

10:44 Core

12:27 Libraries

14:49 Blinka

15:39 Hug reports

16:30 @kattni

  • From Kevin at Digi-Key: Everyone in the #help-with-circuitpython channel that helped with his fire-truck-bed-siren project.
  • @sommersoft for help with understanding Adabot (or at least verification that I had the right idea), and for putting together the requested updates to clean up some issues with Adabot checks.
  • @jepler for releasing 5.1.0 stable (and for taking notes!)
  • @AnneB for all the great work on the newsletter since it was handed over entirely
  • @Dylan for all the work going into submitting all of the OSHWA certification applications
  • @Adafruit for the first set of boards being certified as Open Source by OSHWA - 15 CircuitPython compatible boards were certified
  • @JohnPark for running a successful mini Show and Tell
  • @Adafruit for continuing efforts during the COVID-19 outbreak - both in terms of continuing to support Adafruit folks internally, and continuing to provide support and equipment to the New York City area.
  • Group hug to the community - continue to stay strong and positive, and support each other.

@KingerNorth (lurking)

18:55 @MakerMelissa

  • @tannewt for quickly reviewing my circuitpython.org Pull Requests
  • @jepler for your help with SPI using ioctl. I was able to get past some sticking points with your code.
  • @foamyguy for testing, merging and pushing the Featherwing Library.
  • @Adafruit for continuing to be helpful in this crisis and your awesome ability to keep on going and maintain everyone internally.

@Mr. Certainly (lurking)

@sdw_nj (lurking)

19:40 @sommersoft

  • @tannewt, @danh, @jepler, and @xobs for highlighting and participating in the GitHub Actions issue regarding APT repository failures.
  • The whole @adafruit team for both working on combating COVID-19 supply-chain issues, and having the agility to maximize Adafruit community normalcy.

20:35 @tannewt

  • @jerryH for testing BLE MIDI
  • @cater for the cherries and peaches. @nnja for the pears (Animal Crossing)
  • @esden and @tnt for the FPGA help
  • Thanks to Chris Gammell and Erik Moyer for Hardware Happy Hour Discord. We had a first virtual 3H meeting this week. Im happy to share an invite link.
  • @johnpark for the key matrix fun
  • @hierophect for jumping into the deep end of linkers and linker scripts
  • @jepler for the foundational work with protomatter and framebuf display
  • @xobs for the LiteX port

23:08 @v923z (text only)

  • @jepler for 5.1.0
  • @danh for proposing ulab integration into circuitpython in the first place
  • Sommersoft for his help on github actions
  • Group hug for all the encouragement and positive reception

23:54 @AndrewTribble (Lurking)

  • Group Hug

@anecdata (lurking)

@anneb (lurking)

24:00 @cater (lurking)

  • @danh for help with BLE, quick ID of issue and PR fix to help with forum thread. This one was driving me crazy, so helped save my sanity.

24:20 @CGrover

  • Group hug to the team and community. 5.1.0 is working great!
  • @JohnPark for a helpful hint about lighting gel colorcoat solvents. Dont try to sterilize em.

24:51 @charlesburnaford

  • Group hug to the whole community
  • Hug to Phil and Limor for keeping going beyond all this mess in New York City. Its hard to do anything in NYC right now.

25:36 @danh

  • @cater for uncovering scanning regression in BLE library
  • @jepler for 5.1.0 release
  • Adafruit for PPE design and manufacturing

@DaveP (lurking)

26:25 @DavidGlaude (lurking)

  • @foamyguy and @ladyada for IS31FL3731 PR review

@duewester (lurking)

26:44 @foamyguy

  • @jepler for 5.1.0 release
  • @ladyada for magnetometer calibration scripts + @kattni for reminder
  • @jerryn for help getting set up with RFM69 radios
  • @danh for recommendation on J-Link tool and accessories
  • @cater for pointing me toward J-Link setup documentation guide

@geekguy (lurking)

27:50 @hierophect

  • @tannewt for helping me understand the guts of the i.mx linker file so I could replicate it for the H7
  • @danh for helping me spot some silly typos and generally helping me with questions this week
  • Group hug. Stay healthy.

@JacobT (lurking)

@jasonp (lurking)

28:38 @jepler

  • Everyone who helped out with 5.1.0. My release notes listed pull request authors, but there are so many more: reviewers, community members who tried the latest binaries or the release candidate, etc. Thank you all.
  • Especially v923z for ulab. This is a huge effort and thanks to open source we can all benefit from it.
  • To everyone who is making and sharing cloth masks for the public to use.
  • Group hug

29:37 @jerryn

  • Group hug

29:50 Status Updates

30:50 @kattni

  • Last week
    • Continued through Library Infrastructure Issues
    • Resolved so many Read the Docs issues
      • All libraries are now listed as a subproject on CircuitPython
      • All libraries in the bundle now have active docs and updated links
    • Worked with sommersoft to get some updates to the cp.org/contributing page due to issues with a couple of adabot checks
    • Filed a number of issues on adabot found as I dug through the library infrastructure issues
    • Continued to coordinate and assist with the OSHWA certification process for Adafruit hardware
    • Merged some PRs
  • This week
    • Test Collins CLUE code
    • Library Monday! (and week.)
    • Update PCB files for 1.3” OLED display
    • Newsletter video
    • Updating newsletter with OSHWA certification updates
    • Adabot crash course
  • Outside of CircuitPython
    • Played some Diablo 3 this weekend with someone who has never played before. That increases the fun.
    • Watched some Good Omens. Highly recommend. (Amazon Prime Video)

@KingerNorth (lurking)

35:22 @MakerMelissa

  • Last Week
    • Went through all the boards on circuitpython.org and looked up their Add Dates and added those to all boards.
    • Added a sort by Date Added feature to circuitpython.org.
    • Added an RSS feed to circuitpython.org
    • Finished up some finishing touches to my Blinka guide and got that published.
    • Finished up the reskin to the Web Bluetooth dashboard and that is now live.
    • Updated the associated Learn Guide images and information that were updated.
    • Wrote a Pure Python SPI module for the Adafruit Python PureIO library and that is now live in Blinka.
  • This Week
    • Write blog post about the Dashboard Reskin
    • Add a section to Raspberry Pi guides about removing Kernel drivers for PiTFT
    • Figure out my next projects.

36:53 @Mr. Certainly (lurking)

  • aside from working, I've just picked up a first-gen Surface Book. Been a mac user for ages, and I needed a bare-metal Windows machine for some accessories I want to use for streaming.

@sdw_nj (lurking)

37:17 @sommersoft

  • Last Week:
    • Adabot:
      • Removed remaining code related to TravisCI for CircuitPython functions.
      • Changed the repository label validator to automatically add any of the missing standard labels ('bug', 'documentation', etc).
      • Fixed the CircuitPythonLibrarians permissions validator.
      • Started working on the "needs release" validator to exclude CI-related changes. Currently working by filtering out dotfiles (.github/, .pylintrc) only. Can extend beyond that.
    • RosiePi:
      • Getting closer to running tests again. The new architecture has test-trigger (via web server) and test-running (via queue scheduler) separated across user environments for security. This led to some silent-failures and lost tracebacks, which are hard to debug. Getting them now, so progress sped up over the weekend.
      • Started thinking about changing my hand-rolled test syntax to something utilizing unittest or pytest. Thanks Brian Okken/Test & Code podcast. :D
  • This Week:
    • adabot:
      • Finish up "needs release" changes
      • Work on a patch to add black --check to each library's Actions build.yml.
    • RosiePi: keep pushing through test-running failures, now that I'm catching most of the failures.
    • Work with Kattni increasing the knowledge of Adabot

40:24 @tannewt

  • Released BLE MIDI library. Still need to bundle it.
  • Spent time debugging it with JerryH. Worked ok after iPad forget. Will see if there is more work to make it reliable.
  • @JohnParks project this week uses it so some time will be spent helping him.
  • Helped @Hierophect with linking stuff.
  • Circled back to lower_power again. Testing PulseIn across all platforms that have it. Fixed a couple reliability bugs on Friday and hope itll make everything else quicker.
  • Hope to get through testing faster than last week and then switch to ESP32-S2. Need a break from a multi-port change.
  • Limor has also tasked me with reverse engineering a USB protocol for a fever scanner that only has a proprietary Windows app. Looking forward to using ViewSB for it.
  • Outside of CircuitPython:
    • Animal Crossing
    • Age of Empires 2
    • PCB layout and PSS-30 hacking
    • Runs!
    • Making pizza tonight.

43:46 @v923z

  • Last week: found and fixed a couple of bugs in ulab, added a couple of new functions and features, updated documentation
  • Coming week: no plans yet, as far as programming is concerned, otherwise, PCB design

44:36 @AndrewTribble (Lurking)

  • This week:
    • Begin working on a neopixel based, CircuitPython run, system of RGB Hexagon lights as a bit of RGB Wall Art. Going to try to make a full hexagon be addressible as a single pixel within the Neopixel library by making a custom board using a WS2811 on a custom PCB to get some PCB experience as well.
  • Outside of CircuitPython:
    • Been playing some GTA 5 LSPDFR+, a plugin that takes the core concept of GTA 5 and flips it on its head, so the player is playing as Law Enforcement and is responsible for writing tickets, making arrests, and overall crime prevention.

@anecdata (lurking)

@anneb (lurking)

@cater (lurking)

45:33 @CGrover

  • Wrapped up all the chronos projects after redoing the power wiring; just wasnt happy with the bulky wires. Since all of the data and low-power wiring was wire-wrapped, only two solder joints and two splices were needed. Quick and easy and brought back memories of some large-scale wire-wrap projects from quite a few years ago.
  • Added dew point and heat index helpers to the Cedargrove_Unit_Converters library. Working on wind chill and apparent temperature (AT) converters next. Looking forward to trying out the AT method when going for walks -- its an Australian approach for combining heat index and wind chill.
  • Still have two lonely PCBs to assemble and test over the next week. Hope to get those done so that I can get back to designing more. Really want to try my hand at flex circuits.
  • Outside activities: Working on another solo album, developing some cinematic themes that have been floating around in my head for a few years. Feeding/watching the birds in the backyard. Getting back into scratch cooking; success rate is better than 50%.

48:04 @charlesburnaford

  • I havent been doing a whole lot but Im still pecking away at getting a reliable keyboard interface in CircuitPython. Trying to do an 88-key keyboard from a company called Syntaur and trying to discover a reliable way to wire it. After-touch and velocity sensitivity are tricky.
  • Outside of CIrcuitPython, playing around with a Grand Central and a remote camera at the gate for brother in laws horse farm for safety reasons.

49:33 @danh

  • Finishing up UF2 bootloader SAMD51 spurious writes fix. Had to fix a number of remaining minor issues. Getting a Linux crash (!) on storage.erase_filesystem(): need to check if this is related to the bootloader or is a coincidence. Will make a release very shortly.
  • Fixed an issue with default args for BLERadio.start_scan().
  • Contributed to and reviewed SAMD51 support for Arduino library https://github.com/cmaglie/FlashStorage.
  • This work, tasks include:
    • Finish bootloader.
    • Add bootloader download links to circuitpython.org for each board.
    • Continue working on Adafruit sensors services library and server program.

@DaveP (lurking)

52:14 @DavidGlaude (lurking)

  • LED SHIM (from Pimoroni) support in IS31FL3731 library

@duewester (lurking)

52:28 @foamyguy

  • Last week

    • 16x8 Matrix Featherwing testing and merge PR for brightness fix
    • Attempted fix for allowing Circuit Playground library to play music without blocking.
    • Update compass example with hard-iron calibrations. Thank you @ladyada
    • Testing and merging DHT library PR for better error handling
    • Merge PR for updated readme in IS31FL3731 library listing recently added support for Scroll pHAT HD.
    • First time building Circuit Python core
    • First time flashing a device with BOSSA
  • Next week

    • Continue with game guide
    • Take another pass through open PRs and Issues to look for some more I can help with
    • PyPortal learn guide / example update?
    • Hopefully construct a Mini KBD
  • Outside Circuit Python:

    • Teaching Programming fundamentals online a few nights per week for continuing education at local community college.
    • Automating document creation with python and In Design IDML files

@geekguy (lurking)

56:55 @hierophect

  • Last week
    • Added support for the F767 Nucleo board, and the F7 series generally
    • Added MPU (memory protection unit) and TCM (tightly coupled memory) support to the H7
    • Generally restructured how the STM32 port deals with linker files and startup to improve clarity and reduce waste
    • Dealt with a lot of hardfaults
    • Personal
      • Got myself a 3D printer, woo!
      • Practiced my first Screenless Sunday - it was really nice!
  • This week
    • Work on module compatibility - making modules switch cleanly between the H7, F7 and F4. Mostly going to be a lot of reading and preprocessor stuff.
    • Improve the documentation of the port, generally
    • Work on some of the global macro systems we use to reduce size
    • Do a lot of clean-up work for the PR so its ready to submit.

@JacobT (lurking)

@jasonp (lurking)

1:00:42 @jepler

  • Last week (& so far today):
    • Released 5.1.0, thanks to all who contributed
    • RGB matrix code “protomatter” working on samd and nrf
    • In play time, took my first steps in blinka and PureIO SPI, which @makermelissa is working on
  • This week:
    • Reviewing @tannewts low power patches (looking forward to seeing this land)
    • Responding to protomatter review comments if more come in
    • Writing more code to use protomatter display. Maybe some kind of stock ticker-style app, but it shows whimsical things and made up numbers?
  • Continuing:
    • Walking outside is permitted here, so going on hour long walks daily. Will wear a mask today. Normalize mask wearing.
    • Cooking and baking

1:03:18 @jerryn

  • Slowly migrating boards to 5.1.0 - no issues so far
  • Next week -- no idea -- need to finish rfm9x PR
  • Most of the time spent on a project or former day job.
    • Fun project -- getting cForth running on MicroSemi SmartFusion (cortex-m3)
      • Up and running -- trying to remember Forth!
      • The FPGA design engineer uses Forth to test/debug the interface operations.
  • Saw some baby foxes today- very cute -- picture in #pet-photos

1:05:34 In The Weeds

1:06:04 @foamyguy Excellent guide for making user interfaces for PyPortal with displayio located here: https://learn.adafruit.com/making-a-pyportal-user-interface-displayio/the-full-code Guide makes use of the adt7410 temp sensor on the standard PyPortal but this causes it to crash on PyPortal Titano and Pynt which do not have the temp sensor. Proposal: small update to make the temp sensor usage optional with try/except so that the code will run on all versions of PyPortal devices. Possibly this one too: https://learn.adafruit.com/pyportal-mqtt-sensor-node-control-pad-home-assistant

1:12:20 @kattni - How do we want to handle libraries not intended for PyPI? Many have setup.py.disabled but its not consistent. Any objection to this as the standard?

  • @sommersoft: just to note -
    • The Actions release.yml looks for /setup.py. If its not found, then associated PyPi actions are skipped.
    • Adabot on the other hand, flags the repo if it is missing setup.py. This makes it confusing as to which libraries actually should be on PyPi. Easily adjusted, but having this “what is the standard” answered will drive those adjustments.
  • Also include reason in setup.py.disabled
  • Include for Blinka req check

1:15:06 @kattni - Find out what the best way to get newsletter info from community members to Anne.

  • Put in a PR to the newsletter repo
  • Twitter - tag #circuitpython on a tweet
  • Or email anneb@adafruit.com - include something about newsletter in subject

1:17:19 @hierophect - I had someone reach out to me about how we could facilitate casual circuitpython hanging out like the hardware meetup. Maybe @tannewt might have ideas based on the hardware meetup?

  • Bit of a work in progress with the hardware meetup, ended up being mostly news and discussion in a single channel
  • The OSHA summit was a good example of splitting people into different discussion areas.
  • Might want to facilitate organic groups by having people vote for the topics theyd like to chat about.
  • Start by checking out the hardware meetup.

1:24:11 Wrap-Up