Expand description

Single Cycle Input and Output (SIO)

To be able to partition parts of the SIO block to other modules:

use rp2040_hal::{gpio::Pins, pac, sio::Sio};

let mut peripherals = pac::Peripherals::take().unwrap();
let sio = Sio::new(peripherals.SIO);

And then for example

let pins = Pins::new(peripherals.IO_BANK0, peripherals.PADS_BANK0, sio.gpio_bank0, &mut peripherals.RESETS);

Structs

Result of divide/modulo operation

Marker struct for ownership of divide/modulo module

Struct containing ownership markers for managing ownership of the SIO registers.

Marker struct for ownership of SIO FIFO

Marker struct for ownership of SIO gpio bank0

Marker struct for ownership of SIO gpio qspi

Hardware based spinlock.

Traits

This type is just used to limit us to Spinlocks 0..=31

Functions

Returns the current state of the spinlocks. Each index corresponds to the associated spinlock, e.g. if index 5 is set to true, it means that Spinlock5 is currently locked.

Type Definitions

Spinlock number 0

Spinlock number 1

Spinlock number 2

Spinlock number 3

Spinlock number 4

Spinlock number 5

Spinlock number 6

Spinlock number 7

Spinlock number 8

Spinlock number 9

Spinlock number 10

Spinlock number 11

Spinlock number 12

Spinlock number 13

Spinlock number 14

Spinlock number 15

Spinlock number 16

Spinlock number 17

Spinlock number 18

Spinlock number 19

Spinlock number 20

Spinlock number 21

Spinlock number 22

Spinlock number 23

Spinlock number 24

Spinlock number 25

Spinlock number 26

Spinlock number 27

Spinlock number 28

Spinlock number 29

Spinlock number 30