22 lines
680 B
C++
22 lines
680 B
C++
|
|
#include <Arduino.h>
|
||
|
|
#include "IC74HC595.h"
|
||
|
|
#include "error.h"
|
||
|
|
|
||
|
|
IC74HC595 matrixcols = {PIN_74HC595_MATRIX_UPDATE, PIN_74HC595_MATRIX_DATA, PIN_74HC595_MATRIX_CLOCK};
|
||
|
|
IC74HC595 scoreboard = {PIN_74HC595_SCOREBOARD_UPDATE, PIN_74HC595_SCOREBOARD_DATA, PIN_74HC595_SCOREBOARD_CLOCK};
|
||
|
|
|
||
|
|
int init74HC595(IC74HC595 *sr) {
|
||
|
|
pinMode(sr->updatepin, OUTPUT);
|
||
|
|
pinMode(sr->clockpin, OUTPUT);
|
||
|
|
pinMode(sr->datapin, OUTPUT);
|
||
|
|
return ERRNO_SUCCESS;
|
||
|
|
}
|
||
|
|
|
||
|
|
int writeIC74HC595Char(IC74HC595 *sr, uint8_t value, uint8_t order)
|
||
|
|
{
|
||
|
|
digitalWrite(sr->updatepin, LOW);
|
||
|
|
shiftOut(sr->datapin, sr->clockpin, order, value);
|
||
|
|
digitalWrite(sr->updatepin, HIGH);
|
||
|
|
return ERRNO_SUCCESS;
|
||
|
|
}
|