add B button
This commit is contained in:
@@ -16,8 +16,17 @@ struct arrow {
|
|||||||
int state;
|
int state;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct button {
|
||||||
|
int pinNumber;
|
||||||
|
bool prev;
|
||||||
|
bool current;
|
||||||
|
};
|
||||||
|
|
||||||
struct arrow arrowTable[4];
|
struct arrow arrowTable[4];
|
||||||
|
|
||||||
|
#define ButtonTableLength 1
|
||||||
|
struct button buttonTable[ButtonTableLength];
|
||||||
|
|
||||||
void perms() {
|
void perms() {
|
||||||
if(val == 0){
|
if(val == 0){
|
||||||
if (table[index] == 1){
|
if (table[index] == 1){
|
||||||
@@ -47,9 +56,17 @@ void setup()
|
|||||||
table[0] = 1;
|
table[0] = 1;
|
||||||
table[tableSize/2] = 2;
|
table[tableSize/2] = 2;
|
||||||
SwitchControlLibrary();
|
SwitchControlLibrary();
|
||||||
|
|
||||||
MsTimer2::set(1, perms);
|
MsTimer2::set(1, perms);
|
||||||
MsTimer2::start();
|
MsTimer2::start();
|
||||||
|
|
||||||
|
buttonTable[0].pinNumber = 3;
|
||||||
|
for (int i; i<ButtonTableLength; i++) {
|
||||||
|
pinMode(buttonTable[i].pinNumber, INPUT_PULLUP);
|
||||||
|
buttonTable[i].prev = 1;
|
||||||
|
buttonTable[i].current = 1;
|
||||||
|
}
|
||||||
|
|
||||||
pinMode(2, INPUT_PULLUP);
|
pinMode(2, INPUT_PULLUP);
|
||||||
|
|
||||||
arrowTable[0].pinNumber = 10;
|
arrowTable[0].pinNumber = 10;
|
||||||
@@ -73,11 +90,26 @@ void loop()
|
|||||||
SwitchControlLibrary().PressButtonA();
|
SwitchControlLibrary().PressButtonA();
|
||||||
index = 1;
|
index = 1;
|
||||||
}
|
}
|
||||||
else if(val == 1){
|
else if(prevVal == 0 && val == 1){
|
||||||
SwitchControlLibrary().ReleaseButtonA();
|
SwitchControlLibrary().ReleaseButtonA();
|
||||||
}
|
}
|
||||||
prevVal = val;
|
prevVal = val;
|
||||||
|
|
||||||
|
for (int i=0; i<ButtonTableLength; i++){
|
||||||
|
buttonTable[i].current = digitalRead(buttonTable[i].pinNumber);
|
||||||
|
|
||||||
|
if(buttonTable[i].prev == 1 && buttonTable[i].current ==0 ){
|
||||||
|
SwitchControlLibrary().PressButtonB();
|
||||||
|
}
|
||||||
|
else if(buttonTable[i].prev == 0 && buttonTable[i].current ==1 ) {
|
||||||
|
SwitchControlLibrary().ReleaseButtonB();
|
||||||
|
}
|
||||||
|
|
||||||
|
buttonTable[i].prev = buttonTable[i].current;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (int i=0; i<4; i++){
|
for (int i=0; i<4; i++){
|
||||||
arrowTable[i].state = digitalRead(arrowTable[i].pinNumber);
|
arrowTable[i].state = digitalRead(arrowTable[i].pinNumber);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user