Skip to content

Commit

Permalink
Bump to version 0.2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
pstolarz committed Feb 15, 2021
1 parent 3268f10 commit 34c24ff
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 16 deletions.
27 changes: 16 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -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:

Expand All @@ -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

Expand All @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions library.json
Original file line number Diff line number Diff line change
@@ -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": [
{
Expand All @@ -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": [
Expand Down
6 changes: 3 additions & 3 deletions library.properties
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name=CoopThreads
version=0.2.1
version=0.2.2
author=Piotr Stolarz
maintainer=Piotr Stolarz <[email protected]>
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=*

0 comments on commit 34c24ff

Please sign in to comment.