Changes 2024-05-25

Modules SPIdev and UARTdev

  • Conceptual and structural clean-up of device set-up.
  • See also Device Modules.

Module Terminals

  • New exported procedure InitUART, using the updated corresponding procedures in module UARTdev.
  • InitUART is just a utility, the UART device can be initialised otherwise via the UARTdev API, to be passed to Open as TextIO.Device.
  • Update Open accordingly, which now consistently takes only parameters as defined in TextIO. That is, any TextIO-compatible device can be used in a terminal, not just UARTs anymore.
  • Update module Main, including the ones in the example program folders.

Module TextIO

  • Add flush functionality to Writer to support buffered output (see example program StringBufOut, below).

Modules Texts and Out

  • Add exported procedure for flushing buffered output (see example program StringBufOut, below).

Module LEDext

  • Add procedure SetLedBits to address a subset of the LEDs connected to the Pico board.
  • Move module to lib/board/rp2040/any, as it is not Pico-specific. Update Astrobe’s library search path accordingly.

Module MCU2

  • Add missing register addresses for DMA.
  • Add a few missing RESETS_* device id bits.

New Example Program StringBufOut

  • The program writes into an output buffer in lieu of directly to a terminal, and then flushes the output buffer “into” the terminal in one go.
  • Preparation for using DMA for serial text output.
  • See StringBufOut

Example Program SPIrtc

  • Change to work with updated module SPIdev, as outlined above.

All Example Programs

  • Remove module Main from the respective directories in case the example program does not require a customised version.