Changes 2024-01-29

Input from Serial Terminal

  • Read strings and integers from a serial terminal.
  • See Text Output and Input
  • See modules
    • In (new),
    • Texts (extended: input procedures),
    • TextIO (extended: error codes, res parameter for reading),
    • UARTstr (extended: input procedures),
    • UARTkstr (extended: input procedures)

Modules UARTd, UARTstr, UARTkstr

  • Added input procedures.
  • Added functionality to enquire the device status/flags, for example for checking on the FIFO buffer state, in lieu of the traditional TxAvailable and RxAvailable.

Module Kernel

  • Allocate CoreContext for a core in Kernel.Install, not in module initialisation.
  • Added functionality to change a thread’s period and priority from “inside” a thread (in-thread API).
  • Renamed Kernel.AwaitDeviceSet to Kernel.AwaitDeviceFlags, extending its functionality to check for device flags set or cleared, using two masks (see UARTkstr.mod for a use case).
  • Extended the scheduler for Kernel.AwaitDeviceFlags.
  • Added Kernel.StartTimeout (see UARTkstr.mod for a use case).
  • Fixed a defect where a thread could be scheduled by time trigger while waiting for device flags.

Module MCU2

  • Introduced register addresses M0PLUS_* as per the datasheet. It’s easier to discern the addresses that are core-specific, ie. not shared.
  • Kept current definitions as aliases.

New Example