Change Note 2024-01-29
Text input, kernel, register address values, new example program.
Input from Serial Terminal
- Read strings and integers from a serial terminal.
- See [Text Output and Input]({{<relref "/concepts/architecture/text-io">}})
- See modules
- [In]({{<relref "/docs/lib/rp-any/In">}}) (new),
- [Texts]({{<relref "/docs/lib/any/Texts">}}) (extended: input procedures),
- [TextIO]({{<relref "/docs/lib/any/TextIO">}}) (extended: error codes,
resparameter for reading), - [UARTstr]({{<relref "/docs/lib/rp-any/UARTstr">}}) (extended: input procedures),
- [UARTkstr]({{<relref "/docs/lib/kernel-v1/uartkstr-v1">}}) (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
TxAvailableandRxAvailable.
Module Kernel
- Allocate
CoreContextfor a core inKernel.Install, not in module initialisation. - Added functionality to change a thread's period and priority from "inside" a thread (in-thread API).
- Renamed
Kernel.AwaitDeviceSettoKernel.AwaitDeviceFlags, extending its functionality to check for device flags set or cleared, using two masks (see [UARTkstr.mod]({{<relref "/docs/lib/kernel-v1/uartkstr-v1">}}) for a use case). - Extended the scheduler for
Kernel.AwaitDeviceFlags. - Added
Kernel.StartTimeout(see [UARTkstr.mod]({{<relref "/docs/lib/kernel-v1/uartkstr-v1">}}) 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
- [ReadTerminal]({{< relref "/docs/examples/v1/readterminal" >}})
Last updated: 29 January 2024