Change Note 2024-04-25
Alarms timing, new example programs.
New Library Module Alarms
- Use the timer's alarms for triggering interrupt handlers.
- [Alarms.mod]({{< relref "/docs/lib/rp-any/Alarms/" >}})
New Example Program AlarmEval
- Introduce the test module Alarms, based on the same device concept as used for other peripherals, such as UARTs.
- Evaluate and test the module for various timing scenarios, including different methods of recovery from attempting to arm alarms with time values in the past.
- Evaluate pre-caching of code residing in flash memory, in lieu of loading it into SRAM.
- Draw conclusions and design decisions for the library module Alarms, which is a simplified version of the module evaluated here, based on the test results.
- [AlarmEval]({{<relref "/docs/examples/v1/alarmeval">}})
New Example Program AlarmTest
- Test the library module Alarms
- [AlarmTest]({{<relref "/docs/examples/v2/alarmtest">}})
New Example Program BlinkPlusAlarm
- A quick very basic proof of concept to show that a thread can be scheduled by an interrupt, a feature of kernel v2 not available with kernel v1.
- [BlinkPlusAlarm]({{<relref "/docs/examples/v1/blinkplusalarm">}})
Modules Exceptions and RuntimeErrors
- With the expanded functionality of
SYSTEM.VAL, simplify setting the thumb bit when installing exception handlers. - [Exceptions.mod]({{< relref "/docs/lib/rp-any/Exceptions/" >}}), [RuntimeErrors.mod]({{< relref "/docs/lib/rp-any/RuntimeErrors/" >}})
Last updated: 25 April 2024