Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

main.rs 1.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //! Firmware for the HackAmp.
  2. #![no_main]
  3. #![no_std]
  4. use cortex_m::interrupt;
  5. use panic_semihosting as _;
  6. use audio_buffer::AudioBuffer;
  7. use pins::Pins;
  8. // Remove "pub" to check whether there is any dead code.
  9. pub mod audio_buffer;
  10. pub mod halext;
  11. pub mod mixer;
  12. pub mod pins;
  13. #[rtic::app(device = stm32f4xx_hal::stm32, peripherals = true)]
  14. const APP: () = {
  15. struct Resources {}
  16. #[init]
  17. fn init(_ctx: init::Context) {
  18. let _pins = Pins::configure();
  19. static I2S_BUFFER: AudioBuffer = AudioBuffer::new();
  20. let i2s_buffer = &I2S_BUFFER;
  21. // Buffer example code.
  22. interrupt::free(|cs| {
  23. let write_packet = i2s_buffer.borrow_write(cs).unwrap();
  24. // TODO
  25. i2s_buffer.write_finished(write_packet, cs);
  26. let read_packet = i2s_buffer.borrow_read(cs).unwrap();
  27. // TODO
  28. i2s_buffer.read_finished(read_packet, cs);
  29. });
  30. }
  31. #[idle(resources = [])]
  32. fn idle(_ctx: idle::Context) -> ! {
  33. loop {
  34. // TODO
  35. }
  36. }
  37. };