0.1.8 PinOutGroup

This commit is contained in:
Rob Tillaart 2023-11-15 11:51:39 +01:00
parent d80140f4ec
commit 320117c9c6
6 changed files with 40 additions and 15 deletions

View File

@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/). and this project adheres to [Semantic Versioning](http://semver.org/).
## [ 0.1.8] - 2023-11-15
- update readme.md
## [ 0.1.7] - 2022-11-22 ## [ 0.1.7] - 2022-11-22
- add changelog.md - add changelog.md
- add RP2040 to build-CI - add RP2040 to build-CI
@ -13,7 +17,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- update unit test - update unit test
- obsolete getIdx() - obsolete getIdx()
## [0.1.6] - 2021-12-23 ## [0.1.6] - 2021-12-23
- update library.json - update library.json
- update license - update license

View File

@ -1,7 +1,7 @@
// //
// FILE: PinOutGroup.cpp // FILE: PinOutGroup.cpp
// AUTHOR: Rob Tillaart // AUTHOR: Rob Tillaart
// VERSION: 0.1.7 // VERSION: 0.1.8
// DATE: 2017-04-26 // DATE: 2017-04-26
// PURPOSE: PinOutGroup library for Arduino // PURPOSE: PinOutGroup library for Arduino
// goal is to easily change a group of pins that logically // goal is to easily change a group of pins that logically
@ -11,7 +11,6 @@
// http://forum.arduino.cc/index.php?topic=469599.0 // http://forum.arduino.cc/index.php?topic=469599.0
#include "PinOutGroup.h" #include "PinOutGroup.h"

View File

@ -1,7 +1,7 @@
#pragma once #pragma once
// FILE: PinOutGroup.h // FILE: PinOutGroup.h
// AUTHOR: Rob Tillaart // AUTHOR: Rob Tillaart
// VERSION: 0.1.7 // VERSION: 0.1.8
// DATE: 2017-04-26 // DATE: 2017-04-26
// PURPOSE: PinOutGroup library for Arduino // PURPOSE: PinOutGroup library for Arduino
// URL: https://github.com/RobTillaart/PinOutGroup // URL: https://github.com/RobTillaart/PinOutGroup
@ -10,7 +10,7 @@
#include "Arduino.h" #include "Arduino.h"
#define PINOUTGROUP_LIB_VERSION (F("0.1.7")) #define PINOUTGROUP_LIB_VERSION (F("0.1.8"))
// smaller MAXSIZE will reduce memory footprint with ditto bytes. // smaller MAXSIZE will reduce memory footprint with ditto bytes.

View File

@ -2,8 +2,11 @@
[![Arduino CI](https://github.com/RobTillaart/PinOutGroup/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci) [![Arduino CI](https://github.com/RobTillaart/PinOutGroup/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci)
[![Arduino-lint](https://github.com/RobTillaart/PinOutGroup/actions/workflows/arduino-lint.yml/badge.svg)](https://github.com/RobTillaart/PinOutGroup/actions/workflows/arduino-lint.yml) [![Arduino-lint](https://github.com/RobTillaart/PinOutGroup/actions/workflows/arduino-lint.yml/badge.svg)](https://github.com/RobTillaart/PinOutGroup/actions/workflows/arduino-lint.yml)
[![JSON check](https://github.com/RobTillaart/PinOutGroup/actions/workflows/jsoncheck.yml/badge.svg)](https://github.com/RobTillaart/PinOutGroup/actions/workflows/jsoncheck.yml) [![JSON check](https://github.com/RobTillaart/PinOutGroup/actions/workflows/jsoncheck.yml/badge.svg)](https://github.com/RobTillaart/PinOutGroup/actions/workflows/jsoncheck.yml)
[![GitHub issues](https://img.shields.io/github/issues/RobTillaart/PinOutGroup.svg)](https://github.com/RobTillaart/PinOutGroup/issues)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/RobTillaart/PinOutGroup/blob/master/LICENSE) [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/RobTillaart/PinOutGroup/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/release/RobTillaart/PinOutGroup.svg?maxAge=3600)](https://github.com/RobTillaart/PinOutGroup/releases) [![GitHub release](https://img.shields.io/github/release/RobTillaart/PinOutGroup.svg?maxAge=3600)](https://github.com/RobTillaart/PinOutGroup/releases)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/robtillaart/library/PinOutGroup.svg)](https://registry.platformio.org/libraries/robtillaart/PinOutGroup)
# PinOutGroup # PinOutGroup
@ -21,7 +24,12 @@ If a (group of) pin(s) is updated often this saves CPU cycles however this featu
has overhead which works contra productive when you toggle the pins in a group. has overhead which works contra productive when you toggle the pins in a group.
So use with care. So use with care.
Default PINOUTGROUP_MAXSIZE = 16. Default **PINOUTGROUP_MAXSIZE** = 16.
#### Related
- https://github.com/RobTillaart/PinInGroup
## Performance ## Performance
@ -40,12 +48,14 @@ This is platform, group size and pin state dependent.
## Interface ## Interface
```cpp
#include "PinOutGroup.h"
```
### Constructor ### Constructor
- **PinOutGroup()** Constructor. - **PinOutGroup()** Constructor.
### Administration ### Administration
- **void clear()** resets all pins in the group to LOW and sets the size to zero. - **void clear()** resets all pins in the group to LOW and sets the size to zero.
@ -80,14 +90,17 @@ See examples
## Future ## Future
#### must #### Must
- update documentation - update documentation
#### should #### Should
- move code from .h to .cpp - move code from .h to .cpp
- should clear() have a flag to set to LOW/HIGH/NOCHANGE when clearing? - should clear() have a flag to set to LOW/HIGH/NOCHANGE when clearing?
#### could #### Could
- Optimize the low level writing - Optimize the low level writing
For AVR this could be interesting (performance). For AVR this could be interesting (performance).
- extend to 32 bits / pins. class hierarchy. 8, 24 ? - extend to 32 bits / pins. class hierarchy. 8, 24 ?
@ -95,4 +108,14 @@ See examples
- remove function? - remove function?
- check PinInGroup to stay in "sync" API wise. - check PinInGroup to stay in "sync" API wise.
#### Wont
## Support
If you appreciate my libraries, you can support the development and maintenance.
Improve the quality of the libraries by providing issues and Pull Requests, or
donate through PayPal or GitHub sponsors.
Thank you,

View File

@ -15,9 +15,9 @@
"type": "git", "type": "git",
"url": "https://github.com/RobTillaart/PinOutGroup.git" "url": "https://github.com/RobTillaart/PinOutGroup.git"
}, },
"version": "0.1.7", "version": "0.1.8",
"license": "MIT", "license": "MIT",
"frameworks": "arduino", "frameworks": "*",
"platforms": "*", "platforms": "*",
"headers": "PinOutGroup.h" "headers": "PinOutGroup.h"
} }

View File

@ -1,5 +1,5 @@
name=PinOutGroup name=PinOutGroup
version=0.1.7 version=0.1.8
author=Rob Tillaart <rob.tillaart@gmail.com> author=Rob Tillaart <rob.tillaart@gmail.com>
maintainer=Rob Tillaart <rob.tillaart@gmail.com> maintainer=Rob Tillaart <rob.tillaart@gmail.com>
sentence=A class that groups output pins so they can be updated easier and slightly faster on average. sentence=A class that groups output pins so they can be updated easier and slightly faster on average.