Experimental RP2040 support using Earle F. Philhower, III Raspberry Pi Pico Arduino core#51
Open
ziotibia81 wants to merge 2 commits intoudoklein:masterfrom
Open
Experimental RP2040 support using Earle F. Philhower, III Raspberry Pi Pico Arduino core#51ziotibia81 wants to merge 2 commits intoudoklein:masterfrom
ziotibia81 wants to merge 2 commits intoudoklein:masterfrom
Conversation
Experimental RP2040 support using Earle F. Philhower, III Raspberry Pi Pico Arduino core
Experimental RP2040 support using Earle F. Philhower, III Raspberry Pi Pico Arduino core
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tested using a Raspberry Pi Pico module.
This module uses a 12 MHz crystal oscillator as a reference. The clock is generated using a PLL integrated into the RP2040 CPU. The hardware timer has a fixed resolution of 1 µs/tick, so we are using an interrupt every 1000 ticks.
I was able to run SperFilter, adjusting the GPIO declarations (these are not included in this PR). I reached a synchronized state in approximately 550 seconds in a low-noise environment. I repeated this process over several days, and the result remained consistent.
Toggling an output pin each time the ISR occurs allows me to measure a frequency ranging from 497.0 Hz to 500.4 Hz. Over 30 minutes of measurements, the average (AVG) was 500.01 Hz, and the root mean square error (RMSE) was 116 mHz. When the state is 'synced', the RMSE stabilizes around 112 mHz.