From 4fe2de25deabcef7023a7c8dcb3c907b09d89ece Mon Sep 17 00:00:00 2001 From: wolfv6 Date: Wed, 13 Jul 2016 17:40:24 -0600 Subject: [PATCH] add StrobePort_PCA9655E to LED_PCA9655E --- src/LED_PCA9655E.cpp | 10 ++-------- src/LED_PCA9655E.h | 11 ++++++----- src/StrobePort_PCA9655E.cpp | 1 + 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/LED_PCA9655E.cpp b/src/LED_PCA9655E.cpp index d0a15d0..2838783 100644 --- a/src/LED_PCA9655E.cpp +++ b/src/LED_PCA9655E.cpp @@ -2,16 +2,10 @@ void LED_PCA9655E::on() { - Wire.beginTransmission(port.ADDR); - Wire.write(outputByteCommand); - Wire.write(port.outputVal |= pin); //set pin high - Wire.endTransmission(); + refPort.write(pin, HIGH); } void LED_PCA9655E::off() { - Wire.beginTransmission(port.ADDR); - Wire.write(outputByteCommand); - Wire.write(port.outputVal &= ~pin); //set pin low - Wire.endTransmission(); + refPort.write(pin, LOW); } diff --git a/src/LED_PCA9655E.h b/src/LED_PCA9655E.h index 815a274..4034260 100644 --- a/src/LED_PCA9655E.h +++ b/src/LED_PCA9655E.h @@ -4,7 +4,7 @@ #include #include #include -#include "IOEPort.h" +#include /* A LED_PCA9655E object is an PCA9655E pin that is connected to an LED indicator light. Input/Ouput Direction configuration are set to ouput in StrobePort_PCA9655E.begin() and ReadPort_PCA9655E.begin(). @@ -12,13 +12,14 @@ Input/Ouput Direction configuration are set to ouput in StrobePort_PCA9655E.begi class LED_PCA9655E: public LED { private: - IOEPort& port; - const uint8_t outputByteCommand; //General Purpose Input/Ouput register address + //IOEPort& port; + //const uint8_t outputByteCommand; //General Purpose Input/Ouput register address + StrobePort_PCA9655E& refPort; const uint8_t pin; //bitwise pin to LED public: - LED_PCA9655E(IOEPort& port, const uint8_t pin) - : port(port), outputByteCommand(port.num + 2), pin(pin) {} + LED_PCA9655E(StrobePort_PCA9655E& refPort, const uint8_t pin) + : refPort(refPort), pin(pin) {} virtual void on(); virtual void off(); diff --git a/src/StrobePort_PCA9655E.cpp b/src/StrobePort_PCA9655E.cpp index 40b800a..072521f 100644 --- a/src/StrobePort_PCA9655E.cpp +++ b/src/StrobePort_PCA9655E.cpp @@ -18,6 +18,7 @@ void StrobePort_PCA9655E::begin() pin is bitwise, where pin being strobed is 1. value is HIGH or LOW. Does not reset the other pins because LEDs could be using some of the pins. +Syntax is similar to Arduino DigitalWrite(). */ void StrobePort_PCA9655E::write(const uint8_t pin, const bool value) {