Accessories
Arduino for motors and lights library.
PortExpander74HC595.cpp
1 #include "Accessories.h"
2 
3 #ifndef NO_EXPANDER_74HC595
4 
6 {
7  this->psr = NULL;
8 }
9 
10 byte PortExpander74HC595::begin(int inId, int inNumberOfShiftRegisters, int serialDataPin, int clockPin, int latchPin)
11 {
12  this->id = inId;
13 
14  this->numberOfShiftRegisters = inNumberOfShiftRegisters;
15  this->psr = new ShiftRegister74HC595(inNumberOfShiftRegisters, serialDataPin, clockPin, latchPin);
16  if (this->psr != NULL)
17  {
18  PortExpander::Add(this);
19  Serial.println(F("Expander 74HC595 succeed"));
20  return 1;
21  }
22 
23  return 0;
24 }
25 
26 void PortExpander74HC595::beginPin(int inPin, PIN_TYPE inType)
27 {
28 #ifdef ACCESSORIES_DEBUG_MODE
29  if (inType != OUTPUT)
30  Serial.println(F("74HC595 : only output digital pins"));
31 #endif
32 
33  this->psr->set(inPin, LOW);
34 }
35 
36 void PortExpander74HC595::digitalWrite(int inPin, int inValue)
37 {
38  this->psr->set(inPin, inValue);
39 }
40 
41 void PortExpander74HC595::analogWrite(int inPin, int inValue)
42 {
43 #ifdef ACCESSORIES_DEBUG_MODE
44  Serial.println(F("74HC595 : only digital pins"));
45 #endif
46  // this->psr->analogWrite(inPin, inValue);
47 }
48 
49 #endif
void analogWrite(int inPin, int inValue)
void digitalWrite(int inPin, int inValue)
void beginPin(int inPin, PIN_TYPE inType)
virtual byte begin()