hlap from phantoxe

This commit is contained in:
Pedro de Oliveira 2014-09-15 00:22:32 +01:00
parent 4196f9ba40
commit dc5d550bf0
1 changed files with 18 additions and 14 deletions

View File

@ -17,16 +17,15 @@ static int datin = 11; // set the data in pin
JoyState_t joySt; JoyState_t joySt;
void setup() { void setup() {
Serial.begin(9600); //Serial.begin(9600);
// while the serial stream is not open, do nothing: //while (!Serial) ;
while (!Serial) ;
pinMode(latch,OUTPUT); pinMode(latch, OUTPUT);
pinMode(clock,OUTPUT); pinMode(clock, OUTPUT);
pinMode(datin,INPUT); pinMode(datin, INPUT);
digitalWrite(latch,HIGH); digitalWrite(latch, LOW);
digitalWrite(clock,HIGH); digitalWrite(clock, HIGH);
joySt.zAxis = 127; joySt.zAxis = 127;
} }
@ -35,19 +34,24 @@ word controllerRead()
{ {
word data = 0; word data = 0;
digitalWrite(latch,HIGH); digitalWrite(latch, HIGH);
delayMicroseconds(2); delayMicroseconds(2);
digitalWrite(latch,LOW); digitalWrite(latch, LOW);
delayMicroseconds(1);
digitalWrite(clock, LOW);
delayMicroseconds(1); delayMicroseconds(1);
for (int i = 0; i < 16; i++) for (int i = 0; i < 16; i++)
{ {
data >>= 1; data >>= 1;
data |= (digitalRead(datin) ? 0x8000 : 0); data |= (digitalRead(datin) ? 0x8000 : 0);
digitalWrite(clock,HIGH); digitalWrite(clock, HIGH);
//delayMicroseconds(1); delayMicroseconds(2);
digitalWrite(clock,LOW); digitalWrite(clock, LOW);
delayMicroseconds(1);
} }
digitalWrite(clock, HIGH);
return data; return data;
} }
@ -74,7 +78,7 @@ void loop() {
*/ */
word controller_data = controllerRead(); // Read 16 bit of data word controller_data = controllerRead(); // Read 16 bit of data
Serial.println(controller_data, BIN); //Serial.println(controller_data, BIN);
joySt.buttons = 0; // Reset buttons joySt.buttons = 0; // Reset buttons