GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Naguissa/uMuxOutputLib: Arduino, ESP8266 and STM32 multiplexed outputs library

BranchesTags
Open more actions menu

Latest commit

 

History

17 Commits
17 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
examples/uMuxOutputLib_example
examples/uMuxOutputLib_example
 
 
src
src
 
 
.travis.yml
.travis.yml
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
contributors.txt
contributors.txt
 
 
library.properties
library.properties
 
 

Repository files navigation

Arduino, ESP8266 and STM32 multiplexed outputs library - uMuxOutputLib

Master status: Build Status

What is this repository for?

Really tiny library to control multiplexed outputs.

It cycles among multiplexed outputs using a timer to control all pins.

Important: Dependencies

This library requires uTimerLib libary; it's available on IDE Library Manager and also here:

https://github.com/Naguissa/uTimerLib https://github.com/Naguissa/uTimerLib/releases

How do I get set up?

You can get it from Arduino libraries directly, searching by uMuxOutputLib.

For manual installation:

  • Get the ZIP from releases link: https://github.com/Naguissa/uMuxOutputLib/releases
  • Rename to uMuxOutputLib.zip
  • Install library on Arduino

Documentation and extras

You can find all documentation and extras in this repository: https://github.com/Naguissa/uMuxOutputLib_doc_and_extras

You can read documentation online here: https://naguissa.github.io/uMuxOutputLib_doc_and_extras/

Usage

Constructor:

uMuxOutputLib::uMuxOutputLib(uint8_t npins, uint8_t nmuxes, int *pins, int *muxes, unsigned int freq);

Parameters:

  • npins: number of real pins, excluding muxes
  • nmuxes: number of muxes pins
  • pins: Array of all real pins, excluding muxes.
  • muxes: Array of pins used to multiplex real pins.
  • freq: Optional. Desired refresh frequency. Default is 70 (Hz). This frequency will be multiplied by number of muxes.

Set a value:

void uMuxOutputLib::setPinAbsolute(uint position, bool value);

Parameters:

  • position: Position of the bit on linear fashion
  • value: Value to be set

void uMuxOutputLib::setPinMuxPin(uint8_t pin, uint8_t mux, bool value);

Parameters:

  • pin: Pin position on passed pins array (starting at 0)
  • mux: Mux position on passed muxes array (starting at 0)
  • value: Value to be set

Start library

void uMuxOutputLib::attachInterrupt();

Attaches internal timer interrupts to run multiplexed pins.

Extra: Mux logic level

bool uSevenSegmentLib::activeMuxValue = false;

This variable is used to indicate the level of an active mux. All muxes will be set to inverse of this value when they are not active.

Typical usage:

  • You instantiate an object (usually a global scope object): uMuxOutputLib muxed(nPins, nMuxes, pinsArray, muxesArray);
  • Then set any initial value on it on setup(): muxed.set(position, bool_value); or muxed.set(pin, mux, bool_value);
  • And attach interrupts to start working (still on setup()): muxed.attachInterrupt();
  • Then, wherever you want, you can change displayed values at your will using same methods as 2nd step.

Examples

Included on example folder, available on Arduino IDE.

  • 6 leds cycling, connected using 3 real pins and 2 muxed pins

Who do I talk to?

  • Naguissa
  • https://www.foroelectro.net/librerias-arduino-ide-f29/umuxoutputlib-libreria-arduino-para-controlar-mult-t293.html
  • https://www.naguissa.com

Contribute

Any code contribution, report or comment are always welcome. Don't hesitate to use GitHub for that.

  • You can sponsor this project using GitHub's Sponsor button: https://github.com/Naguissa/uMuxOutputLib
  • You can make a donation via PayPal: https://paypal.me/foroelectro

Thanks for your support.

Contributors hall of fame: https://www.foroelectro.net/hall-of-fame-f32/contributors-contribuyentes-t271.html

About

Arduino, ESP8266 and STM32 multiplexed outputs library

Topics

arduinoarduino-librarymultiplexedmultiplexed-outputsnaguissa

Resources

Readme
LGPL-3.0 license
Activity

Stars

2 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Sponsor this project

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.