-
Patch-level release 0.33.1
05/07/2022 at 04:49 • 0 commentsThis patch-level release adds action pools for the new action scheduler, to replace those that were removed for the old action schedule that had been removed.
-
Release 0.33.0
05/05/2022 at 03:32 • 0 commentsThis release replaces the old action scheduler, which while simple and lightweight was not very powerful, with a far more powerful action scheduler that enables actions, which are lightweight asynchronous activities that execute within a single task for a given schedule, to synchronously send messages to one another at a high messaging rate (one action continually sending messages to a receiving action will run at about 13 kHz on the Raspberry Pi Pico and 27 kHz on the STM32F746 DISCO).
-
Patch-level release 0.32.1
05/01/2022 at 01:33 • 0 commentsThis patch-level release fixes some issues with the disassembler and adds line numbers to the block editor
EDIT
and the block listing wordLIST
. -
Release 0.32.0
04/28/2022 at 02:23 • 0 commentsThis release adds block and block editor support to the Raspberry Pi Pico (and other RP2040-based boards with compatible Quad SPI flash). Note that by default only 1 MB of block space is available, so if one is using boards other than the Raspberry Pi Pico source code changes will be needed to take advantage of a greater amount of Quad SPI flash space. Additionally, on the Raspberry Pi Pico duplicate constants in constant pools are now detected and eliminated, for greater code density.
-
Release 0.31.0
04/24/2022 at 22:51 • 0 commentsThis release re-adds the previously removed
defer
,defer!
anddefer@
words and adds simple channels (aka schannels) to enable mixing channels with interrupt service handlers. -
Patch-level release 0.30.2
04/17/2022 at 18:00 • 0 commentsThis patch-level release makes optimizations to the handling of large constants on the RP2040, particularly with allowing them to be inlined properly, and to the multitasker, eliminating many of the user variables which slowed down multitasking unnecessarily by combining them with task headers.
-
Patch-level release 0.30.1
04/14/2022 at 01:55 • 0 commentsThis patch-level release adds optimizations, particularly to the task scheduler's handling of blocked tasks (so that tasks that get blocked are not placed back at the rear of the task of its priority in the schedule).
-
Release 0.30.0
04/08/2022 at 02:44 • 0 commentsThis release significantly optimizes the speed and memory footprint of constants (literals and long calls) in the RP2040 (Raspberry Pi Pico) platform. It also changes task queues, used by semaphores, queue channels, and byte streams, so they favor readying higher-priority tasks. Note that deferred words have been removed, due to difficulties implementing them with the constant changes on the RP2040 platform.
-
Release 0.29.0
04/05/2022 at 01:33 • 0 commentsThis release renames
lock
andunlock
in thelock
module toclaim-lock
andrelease-lock
due to naming issues and makes a number of different fixes related to multitasking synchronization and communication constructs, including rendezvous channels, bidirectional channels, and all constructs using task queues. -
Release 0.28.0
03/12/2022 at 05:51 • 0 commentsThis release removes significant limitations on multiprocessing on the Raspberry Pi Pico which had been caused by heavy sharing of hardware spinlocks across synchronization/communication constructs longer than absolutely necessary, significantly optimizes rendezvous channels and bidirectional channels and replaces their simple task queues with task queues ordered by task priority, and adds a new synchronization construct, simple locks, which are very lightweight locks optimized for use cases where locks are held for very short periods of times.