We'll implement Timer Alarms, SIO / GPIO and the corresponding interrupts, and if time permits, also the SIO spinlocks and divisor.
In this live-coding series we're implementing an emulator for the RP2040 chip, which powers the new Raspberry Pi Pico. Every week we implement a new feature together, diving into the datasheet and thickening our Cortex M0+ implementation.
Previous streams: • Live Coding RP2040 Emulator
Get emails with the links to the future stream:
https://pages.wokwi.com/rp2040
For more details check out the Hackaday project: https://hackaday.io/project/177082-ra...
Project repo: https://github.com/wokwi/rp2040js
Wokwi Arduino simulator: https://wokwi.com
0:00 Hello! 👋
2:10 GDBClient and gdbdiff: past 2 weeks recap
9:23 Reviewing open issues
11:48 Implement Timer Alarms ⏰ #19
24:42 VSCode extensions: vscode-input-sequence and Calculate
25:45 Writing tests for Timer Alarms
31:13 Timer Alarm interrupts and RP2040 setInterrupt()
54:07 Test-case for Timer interrupts + MockClock
1:15:28 Running timer_lowlevel example
1:20:19 Atomic I/O Register Writes for Peripherals
1:27:19 Fixing atomic writes test case
1:32:31 Bug with Write-Clear (WC) for INTR
1:53:07 timer_lowlevel works! + rp2040js 0.4.0 release 🎉
2:06:26 GPIO #20 + SIO refactoring
2:20:29 Creating GPIOPin and GPIOPinState
2:29:38 Episode summary