Adafruit Industries

Deep Dive w/Scott: More 7.0.0 Fixes


Listen Later

Join Scott today as he answers questions, talks about fixing for CircuitPython 7.0.0 and dives deep into system on a chip datasheet diagrams.
Scott is sponsored by Adafruit to work on CircuitPython. Support them by purchasing hardware from https://adafruit.com
Chat with Scott and lot of others on the Adafruit Discord at https://adafru.it/discord.
Deep Dive happens every week. Next week is on Friday.
0:00:00 Hellos
0:02:50 Morpheus240 esp32-s2 board. at this point its more of a copy something else process
0:05:45 housekeeping hello everyone
0:09:09 Does circuitpython run on esp8266 or 32? ( also transition into BLE workflow )
0:13:10 BLE work team members
0:14:14 Which BLE devices do you expect to support?
0:15:38 What about on OTA (over the air update) devices?
0:17:02 Can the boards you are programming today access the internet?
0:17:36 reddit / AMA - https://www.reddit.com/r/Python/comments/oyrqp0/welcome_to_a_joint_ama_with_some_of_the/
0:19:00 Would micropython run into GIL like issues? (GIL: Global Interpreter Lock)
0:21:24 go over the MP_STATE_VM stuff and when to use it instead of global variable declaration... the context being your review comment on the atexit PR #5077 - https://github.com/adafruit/circuitpython/pull/5077/files
0:24:20 “what is memory allocation”
BSS: (start at zero )/ data: / heap: malloc / realloc , stack:
0:29:15 Fish / OhMyZsh / OhMyFish?
0:30:20 Circuit Python can not defrag
0:31:30 import / long lived packing more densely / generational garbage collection - https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)
0:32:40 reference counting / determining when memory is not used
0:33:35 MP/CP mark and sweep / garbage collection
0:35:40 Does Python have garbage collection?
0:36:50 also look in MP_STATE
0:38:00 ( future desire - look at rust to get memory protection ) - https://en.wikipedia.org/wiki/Rust_(programming_language)
0:39:30 “Python - learn things as you need them”
0:40:15 Globals don’t get “marked”
0:42:25 gc_collect_start
0:45:07 bug from last week PyOCD ( UF2 bootloader broken if greater than 512K)
0:47:00 NRF boot loader issue issue Adafruit_nRF52_Bootloader 213 ( use 0.6.1 )
0:50:06 binutils update to get bug fixes too ( linker output bogus debug data)
0:52:35 Have you used Wokwi? It's a web based simulator with a really nice gui showing circuits. It's at https://wokwi.com/
0:54:00 Difference between simulators and ‘real’ hardware devices
0:55:45 Simulators may provide opportunities for automated regression testing
0:57:30 Monico editor ?
0:58:00 Rosie test tool in previous editor + cat on shredder distraction
1:00:30 Can you put a fitbit on your cat and be notified when he has a seizure..?
1:01:55 using scale under the litterbox to weigh the cats
1:05:30 corrupts auto-reload, and other things on Circuit Playground Express 3890
SAMD21 tucks per event Pull #5100 - https://github.com/adafruit/circuitpython/issues/3890
1:12:00 review SAM D21 block diagram - http://ww1.microchip.com/downloads/en/DeviceDoc/SAM_D21_DA1_Family_DataSheet_DS40001882F.pdf
1:16:23 Advanced Microcontroller Bus Architecture - https://en.wikipedia.org/wiki/Advanced_Microcontroller_Bus_Architecture
1:17:20 “need to understand the whole system, not just the CPU”
1:19:50 peripherals
1:20:40 ​Can RAM in micro controllers be accessed similar to PEEK and POKE in C64 Basic?
1:21:15 memory mapped peripherals DMA - Direct Memory Access
1:23:58 Events / Interrupts / NVIC Nested Vector Interrupt Controller
1:28:05 Can time trigger an interrupt?
1:28:50 Convert events into interrupts
1:29:35 How long does the interrupt take to fire and load into state/what's the resolution of it?
1:31:50 ​Generators vs Users creating and consuming events or interrupts.
1:33:00 Event Detected - convert an event into an interrupt ( PR #5100 )
1:34:16 PR 5100 code files
1:38:20 decoding interrupt event
1:40:05 NTP to set a RTC and then compared the RTC to NTP 24 hours later and found out the RTC was gaining 7 secs/day
1:41:00 The volatile keyword
1:42:53 RP2040 block diagram - https://datasheets.raspberrypi.org/rp2040/rp2040-datasheet.pdf
1:49:40 SAM D51 block diagram - https://www.microchip.com/content/dam/mchp/documents/MCU32/ProductDocuments/DataSheets/SAM_D5x_E5x_Family_Data_Sheet_DS60001507G.pdf
1:54:25 Can you use DMA between Neopixels and i2c on any CP targets ?
1:55:35 NeoPixels can have their data ‘exploded’ to improve timing
1:56:45 ​Are these Micro Controllers optimized for bus length between CPU and RAM? Or are there other items that have a higher priority for bus speed?
1:57:33 SAM D Memory mapping overview
1:58:48 Cypress (now Infineon) PSoC chips
1:59:24 NXP Simplified Block Diagram - https://www.nxp.com/docs/en/data-sheet/IMXRT1010CEC.pdf
2:00:50 Cortex-M7 Platform diagram ( from reference manual )
2:03:30 STM32H7B0xB block diagram - https://www.st.com/resource/en/datasheet/stm32h7b0ib.pdf
2:10:45 wrap up
2:12:45 Have a great weekend - c u next friday
...more
View all episodesView all episodes
Download on the App Store

Adafruit IndustriesBy Adafruit Industries

  • 4.8
  • 4.8
  • 4.8
  • 4.8
  • 4.8

4.8

13 ratings


More shows like Adafruit Industries

View all
3D Printing Projects by Adafruit Industries

3D Printing Projects

11 Listeners

Raspberry Pi by Adafruit Industries

Raspberry Pi

23 Listeners

Ask an Engineer by Adafruit Industries

Ask an Engineer

2 Listeners

Collin's Lab by Adafruit Industries

Collin's Lab

3 Listeners

New Products by Adafruit Industries

New Products

3 Listeners

Show and Tell by Adafruit Industries

Show and Tell

0 Listeners

3D Hangouts by Adafruit Industries

3D Hangouts

1 Listeners

Circuit Playground by Adafruit Industries

Circuit Playground

0 Listeners