60 lines
1.4 KiB
C++
60 lines
1.4 KiB
C++
/*************************************
|
|
* arduino-library-er1400
|
|
* Author: Michel Bats
|
|
* Website: www.batssoft.nl
|
|
* File name: ER1400.h
|
|
*************************************/
|
|
|
|
#ifndef ER1400_H
|
|
#define ER1400_H
|
|
|
|
#include <Arduino.h>
|
|
|
|
class ER1400
|
|
{
|
|
|
|
private:
|
|
uint8_t clockPin;
|
|
uint8_t c1Pin;
|
|
uint8_t c2Pin;
|
|
uint8_t c3Pin;
|
|
uint8_t outPin;
|
|
uint8_t inPin;
|
|
int data;
|
|
int adr;
|
|
const int delayvalue = 25;
|
|
int adr1;
|
|
int adr2;
|
|
int x;
|
|
int y;
|
|
uint8_t i;
|
|
|
|
public:
|
|
ER1400(uint8_t clockPin, uint8_t c1Pin, uint8_t c2Pin, uint8_t c3Pin, uint8_t outPin, uint8_t inPin);
|
|
void init();
|
|
|
|
// readData (acceptAddress -> read -> shiftDataOut)
|
|
int readData(int adr);
|
|
// writeData (acceptAddress -> erase -> acceptData -> write)
|
|
void writeData(int adr, int data);
|
|
// eraseData (acceptAddress -> erase -> write)
|
|
void eraseData(int adr);
|
|
|
|
// STANDBY (C1: 0, C2: 0, C3: 0)
|
|
void standby();
|
|
// ACCEPT ADDRESS (C1: 0, C2: 1, C3: 1)
|
|
void acceptAddress(int adr);
|
|
// READ (C1: 1, C2: 0, C3: 0)
|
|
void read();
|
|
// SHIFT DATA OUT (C1: 1, C2: 0, C3: 1)
|
|
int shiftDataOut();
|
|
// ERASE (C1: 0, C2: 1, C3: 0)
|
|
void erase();
|
|
// ACCEPT DATA (C1: 1, C2: 1, C3: 1)
|
|
void acceptData(int data);
|
|
// WRITE (C1: 1, C2: 1, C3: 0)
|
|
void write();
|
|
// NOT USED (C1: 0, C2: 0, C3: 1)
|
|
};
|
|
#endif
|