| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- //! Firmware for the HackAmp.
- #![no_main]
- #![no_std]
-
- use cortex_m::interrupt;
- use panic_semihosting as _;
-
- use audio_buffer::AudioBuffer;
- use pins::Pins;
-
- // Remove "pub" to check whether there is any dead code.
- pub mod audio_buffer;
- pub mod halext;
- pub mod mixer;
- pub mod pins;
-
- #[rtic::app(device = stm32f4xx_hal::stm32, peripherals = true)]
- const APP: () = {
- struct Resources {}
-
- #[init]
- fn init(_ctx: init::Context) {
- let _pins = Pins::configure();
- static I2S_BUFFER: AudioBuffer = AudioBuffer::new();
-
- let i2s_buffer = &I2S_BUFFER;
-
- // Buffer example code.
- interrupt::free(|cs| {
- let write_packet = i2s_buffer.borrow_write(cs).unwrap();
- // TODO
- i2s_buffer.write_finished(write_packet, cs);
- let read_packet = i2s_buffer.borrow_read(cs).unwrap();
- // TODO
- i2s_buffer.read_finished(read_packet, cs);
- });
- }
-
- #[idle(resources = [])]
- fn idle(_ctx: idle::Context) -> ! {
- loop {
- // TODO
- }
- }
- };
|