From 34c24ff9818a2e44cb1054758bf241f34e3aabe6 Mon Sep 17 00:00:00 2001 From: Piotr Stolarz Date: Mon, 15 Feb 2021 18:48:47 +0100 Subject: [PATCH] Bump to version 0.2.2 --- README.md | 27 ++++++++++++++++----------- library.json | 4 ++-- library.properties | 6 +++--- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index faee300..c41fa1b 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # CoopThreads -`CoopThreads` is a lightweight, platform agnostic cooperative threads library -with round-robin scheduler. The library is intended to be used on resource -constrained platforms (e.g. 8-bit AVR) where using fully-fledged RTOS would be -problematic. +`CoopThreads` is a lightweight, platform agnostic, stackful cooperative threads +library with round-robin scheduler. The library is intended to be used on +resource constrained platforms (e.g. 8-bit AVR) where using fully-fledged RTOS +would be problematic. The library has been tested on the following platforms: @@ -13,6 +13,9 @@ The library has been tested on the following platforms: * Tested on ESP32-DevKitC (ESP32-WROOM-32) * Arduino ESP8266. * Tested on WeMos D1 +* Unix/POSIX + * Mostly used for unit testing. See [`extras/test`](extras/test) directory + content as a reference how to use the library on POSIX conforming platforms. ## Features @@ -36,19 +39,21 @@ The library has been tested on the following platforms: ## Usage Refer to [`examples`](examples) directory for examples presenting usage of the -various library features. Thorough API specification is contained as inline -documentation in C headers. +various library features in Arduino environment. Thorough API specification is +contained as inline documentation in [`src/coop_threads.h`](src/coop_threads.h) +header. File [`src/coop_config.h`](src/coop_config.h) contains parameters configuring the library functionality. See the file for more details. ## Thread Stack -Each thread running under control of the library works on its own stack. The -stack size may be set for each thread separately during thread creation. It's -important to note the thread stacks are created on the main stack the library -code is running on, therefore it is **critical to assure proper main stack size -while using the library.** +`CoopThreads` is a stackful threads library, which means each thread running +under control of the library works on its own stack. The stack size may be set +for each thread separately during thread creation. It's important to note the +thread stacks are created on the main stack the library code is running on, +therefore it is **critical to assure proper main stack size while using the +library.** The library controls thread stack creation and removal as explained on the following example. diff --git a/library.json b/library.json index b8b0d19..49fbb77 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "CoopThreads", - "description": "Lightweight, platform agnostic cooperative threads library.", + "description": "Lightweight, platform agnostic, stackful cooperative threads library.", "keywords": "cooperative, threads, scheduler, multitasking, arduino", "authors": [ { @@ -13,7 +13,7 @@ "type": "git", "url": "https://github.com/pstolarz/CoopThreads" }, - "version": "0.2.1", + "version": "0.2.2", "homepage": "https://github.com/pstolarz/CoopThreads", "frameworks": "Arduino", "examples": [ diff --git a/library.properties b/library.properties index 36542eb..512942d 100644 --- a/library.properties +++ b/library.properties @@ -1,9 +1,9 @@ name=CoopThreads -version=0.2.1 +version=0.2.2 author=Piotr Stolarz maintainer=Piotr Stolarz -sentence=Lightweight, platform agnostic cooperative threads library -paragraph=The library is intended to be used on resource constrained platforms where using fully-fledge RTOS would be problematic. Idle related API allows switching the platform to a desired sleep mode and reduce power consumption. Wait/notify support for effective threads synchronization. +sentence=Lightweight, platform agnostic, stackful cooperative threads library +paragraph=The library is intended to be used on resource constrained platforms where using fully-fledged RTOS would be problematic. Idle related API allows switching the platform to a desired sleep mode and reduce power consumption. Wait/notify support for effective threads synchronization. category=Timing url=https://github.com/pstolarz/CoopThreads architectures=*