0.1.5 shiftOutSlow

This commit is contained in:
Rob Tillaart 2023-11-22 10:22:11 +01:00
parent b4c59098b0
commit 82e8f2e3c5
6 changed files with 45 additions and 18 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/).
## [0.1.5] - 2023-11-22
- update readme.md
## [0.1.4] - 2023-02-21
- add default **LSBFIRST** for **setBitOrder()**
- add default **0** for **setDelay()**
@ -15,7 +19,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- update license 2023
- minor edits
## [0.1.3] - 2022-11-24
- Add RP2040 support to build-CI.
- Add CHANGELOG.md

View File

@ -2,21 +2,17 @@
[![Arduino CI](https://github.com/RobTillaart/ShiftOutSlow/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci)
[![Arduino-lint](https://github.com/RobTillaart/ShiftOutSlow/actions/workflows/arduino-lint.yml/badge.svg)](https://github.com/RobTillaart/ShiftOutSlow/actions/workflows/arduino-lint.yml)
[![JSON check](https://github.com/RobTillaart/ShiftOutSlow/actions/workflows/jsoncheck.yml/badge.svg)](https://github.com/RobTillaart/ShiftOutSlow/actions/workflows/jsoncheck.yml)
[![GitHub issues](https://img.shields.io/github/issues/RobTillaart/ShiftOutSlow.svg)](https://github.com/RobTillaart/ShiftOutSlow/issues)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/RobTillaart/ShiftOutSlow/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/release/RobTillaart/ShiftOutSlow.svg?maxAge=3600)](https://github.com/RobTillaart/ShiftOutSlow/releases)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/robtillaart/library/ShiftOutSlow.svg)](https://registry.platformio.org/libraries/robtillaart/ShiftOutSlow)
# ShiftOutSlow
Arduino library for shiftOut with build-in delay - e.g. for 74HC595
Related libraries
- https://github.com/RobTillaart/FastShiftIn
- https://github.com/RobTillaart/FastShiftOut
- https://github.com/RobTillaart/FastShiftInOut
- https://github.com/RobTillaart/ShiftInSlow
- https://github.com/RobTillaart/ShiftOutSlow
## Description
@ -29,6 +25,15 @@ The data pin and clock pin are set in the constructor, the delay can be set per
ShiftOutSlow implements the print interface.
#### Related
- https://github.com/RobTillaart/FastShiftIn
- https://github.com/RobTillaart/FastShiftOut
- https://github.com/RobTillaart/FastShiftInOut
- https://github.com/RobTillaart/ShiftInSlow
- https://github.com/RobTillaart/ShiftOutSlow
## Performance
The performance of **write()** with a delay of 0 microseconds is slower than the default Arduino
@ -37,6 +42,9 @@ The performance of **write()** with a delay of 0 microseconds is slower than the
The delay requested is divided by two to minimize disruption of the duty cycle of the clock pulse,
resulting in "better" pulses.
Performance measurements are meaningless, as the purpose of this library is to
slow the pulse train to a working level.
## Interface
@ -86,16 +94,32 @@ See examples.
#### Should
- Add a select pin to be more SPI alike?
- would allow SPI debugging?
- increase max delay uint32_t ?
- would allow pulses in "second" domain.
#### Could
- add examples
- adaptive speed example?
#### Could
- Add a select pin to be more SPI alike?
- increase max delay uint32_t ?
#### Wont
- delay/2 is not exact half when delay is odd.
- no big issue.
- del_before and del_after could prepare for duty cycle.
- set delay in terms of frequency - delay is 'wave length'
- set delay in terms of max total time the read may cost.
- get set dutyCycle(0 .. 99%)
- optimize the place to yield() ?
## 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

@ -1,7 +1,7 @@
//
// FILE: ShiftOutSlow.cpp
// AUTHOR: Rob Tillaart
// VERSION: 0.1.4
// VERSION: 0.1.5
// PURPOSE: Arduino library for shiftOut with build-in delay
// DATE: 2021-05-11
// URL: https://github.com/RobTillaart/ShiftOutSlow

View File

@ -2,7 +2,7 @@
//
// FILE: ShiftOutSlow.h
// AUTHOR: Rob Tillaart
// VERSION: 0.1.4
// VERSION: 0.1.5
// PURPOSE: Arduino library for shiftOut with build-in delay
// DATE: 2021-05-11
// URL: https://github.com/RobTillaart/ShiftOutSlow
@ -11,7 +11,7 @@
#include "Arduino.h"
#define SHIFTOUTSLOW_LIB_VERSION (F("0.1.4"))
#define SHIFTOUTSLOW_LIB_VERSION (F("0.1.5"))
class ShiftOutSlow : public Print

View File

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

View File

@ -1,5 +1,5 @@
name=ShiftOutSlow
version=0.1.4
version=0.1.5
author=Rob Tillaart <rob.tillaart@gmail.com>
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
sentence=Arduino library for shiftOut with build-in delay - e.g. for 74HC165