uMuxOutputLib
https://github.com/Naguissa/uMuxOutputLib
Loading...
Searching...
No Matches
uMuxOutputLib.h
1
19#ifndef _uMuxOutputLib_
23 #define _uMuxOutputLib_
24
25 #include "Arduino.h"
26 #include "uTimerLib.h"
27
29 public:
30 // Constructors
31 uMuxOutputLib(uint8_t, uint8_t, int *, int *, unsigned int = 70);
32
33 // Set and get
34 void setPinAbsolute(uint16_t, bool);
35 void setPinMuxPin(uint8_t, uint8_t, bool);
36 bool getPinAbsolute(uint16_t);
37 bool getPinMuxPin(uint8_t, uint8_t);
38
39 // To run main interrupt of this library; call it when you want to it start working.
40 void attachInterrupt();
41
42 // Used to set enabled/disabled values on MUXES
43 bool activeMuxValue = false; // Se to TRUE to invert logic.
44
45 // Aux methods
46 static void interrupt(void);
47 static uMuxOutputLib *_instance;
48
49 private:
50 void _interrupt(void);
51
52 uint8_t _npins, _nmuxes;
53 uint8_t *_values = NULL;
54
55 int *_muxes = NULL;
56 int *_pins = NULL;
57
58 int _freq;
59
60 uint8_t _currentMux = 0;
61 uint8_t _lastMux = 0;
62 };
63#endif
64
Really tiny library to control multiplexed outputs.
Definition uMuxOutputLib.h:28
static void interrupt(void)
Main public interrupt loop.
Definition uMuxOutputLib.cpp:148
bool getPinAbsolute(uint16_t)
Gets stored status in linear method.
Definition uMuxOutputLib.cpp:110
void setPinAbsolute(uint16_t, bool)
Sets a pin in linear method.
Definition uMuxOutputLib.cpp:79
bool getPinMuxPin(uint8_t, uint8_t)
Gets stored status by its pin and mux number.
Definition uMuxOutputLib.cpp:124
void setPinMuxPin(uint8_t, uint8_t, bool)
Sets a pin by its pin and mux number.
Definition uMuxOutputLib.cpp:98
void attachInterrupt()
Attach Timer interrupt.
Definition uMuxOutputLib.cpp:133