mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
0.1.5 shiftOutSlow
This commit is contained in:
parent
b4c59098b0
commit
82e8f2e3c5
@ -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
|
||||
|
@ -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,
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user