https://github.com/gabygold67/shiftreggpioxpander_esp32
Arduino library that simplifies the usage of single or daisy-chained 74HC595 shift registers as a GPIO Expander object
https://github.com/gabygold67/shiftreggpioxpander_esp32
74hc595 digital-outputs gpio-extender outputs shift-register
Last synced: 13 days ago
JSON representation
Arduino library that simplifies the usage of single or daisy-chained 74HC595 shift registers as a GPIO Expander object
- Host: GitHub
- URL: https://github.com/gabygold67/shiftreggpioxpander_esp32
- Owner: GabyGold67
- License: gpl-3.0
- Created: 2025-02-12T07:19:27.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-01T09:05:46.000Z (about 1 year ago)
- Last Synced: 2025-04-01T09:34:36.734Z (about 1 year ago)
- Topics: 74hc595, digital-outputs, gpio-extender, outputs, shift-register
- Language: C++
- Homepage:
- Size: 376 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GPIO Digital Outputs Expander Library (ShiftRegGPIOXpander_ESP32)
## [Complete library documentation](https://gabygold67.github.io/ShiftRegGPIOXpander_ESP32/)
## The main concepts driving this development are:
- Output pins addition to a project without making substantial changes to the standard programming practices referring to output pin values writes and reads.
- Methods and resources are provided to minimize full outputs updating, usually associated with the nature of the GPIO expanders based on SIPO shift registers without preset size limits (changes buffering).
- Pin state reading consistency, even for buffered changes.
- Easy addition of Shift Registers modules by just changing a instantiation parameter.
**Note:**
I will agree with anybody who catalogs this as a **YAUSRL** (Yet Another Unneeded Shift Register Library). The thing is I tried to find an adequate library for my project but I failed to find something I felt comfortable working with. As a matter of fact I forked a repository, and after starting to modify it I ended up scrapping the old base concept and started a new structure, using the old code scraps where it was consistent with the new concept, rewriting the rest. As a matter of fact this repository will still be a fork of the original library for it was a source: of **code** when it fitted my vision, of **inspiration** when I considered it was outside my vision of the solution concept. The original library repository is at [ShiftRegister74HC595](https://github.com/Simsso/ShiftRegister74HC595).