Comments (7)
The hardware is described in detail in the datasheet that is linked in the issue description.
We aren't using the SDK, you would be accessing the hardware through the PAC crate https://github.com/rp-rs/rp2040-pac.
This is already included as a dependency of the HAL, so you can clone this repo, add a new file to rp2040-hal/src/, and start writing the function.
from rp-hal.
The PR linked to this issue was related to splitting out the SIO peripheral into chunks.
Until then, it was used exclusively by the GPIO module.
The most common model for Embedded Rust HALs is that a single module will own a portion of the memory-mapped register space, as that eliminates issues around concurrent access to the registers.
The SIO is used for GPIO, divide/modulo, spinlocks, message passing. Those things don't really all belong under the GPIO module, hence the PR to allow other modules to own their own space.
from rp-hal.
I'd like to contribute to this issue but I'm new to embedded rust. Would this be a good first issue nonetheless?
from rp-hal.
I think it is a good first issue if you're interested in getting into Embedded Rust HALs.
If you're just starting out you might find it a bit intimidating, but please feel free to ask for help or advice if you need it.
from rp-hal.
If I understand correctly it is a hardware accelerated division (or modulo), right?
I’ll then have to get the SDK and try to implement it.
How is the PR linked to this specific issue? Is it the SIO spin lock implementation?
from rp-hal.
Initial support was merged in PR #40
It could use more testing, and will need some work to make it safe across interrupts and multiple cores - if anyone is interested in working on these tasks please open a new issue / draft PR.
from rp-hal.
Yeah sorry, I had a look but now I’m rather busy…
from rp-hal.
Related Issues (20)
- Infinite loop in i2c example HOT 13
- Linker error involving _defmt_... symbols HOT 7
- Add function to retrieve unique board ID HOT 3
- DMA abort
- ClockManager "partial move" with RealTimeClock HOT 12
- API ergonomics for ADC free running mode when not using FIFO HOT 2
- UART example does not appear to work on Pico W HOT 2
- PWM get_max_duty() off by one HOT 4
- ADC should report conversion errors
- AdcFifo not configurable with DynPin HOT 4
- PRI PICO with SH1106 128x64 pixel Display - i2c issue HOT 18
- slow startup of XOSC HOT 1
- GPIO pins should have inherent infallible methods HOT 1
- Clock errors cannot be printed with deft
- I2C on GPIO24/25 not working HOT 13
- Update terminology for I2C (and possibly other peripherals)
- Input Enable now turned off on ADC capable GPIOs (Errata RP2040-E6) HOT 2
- Missing impls for Pin<_, DynFunction, _> HOT 12
- Should there be a default impl for hal::serial::blocking::Write? HOT 3
- Support use of slice for Program code HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rp-hal.