#include <Psx.h>
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
#define dataPin 4
#define cmndPin 3
#define attPin 2
#define clockPin 5
Psx Psx;
byte envio[8];
byte tx_endereco[5] = {0xD0,0xD0,0xD0,0xD0,0xD0};
void setup()
{
Serial.begin(57600);
Psx.setupPins(dataPin, cmndPin, attPin, clockPin, 10);
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.payload = 8;
Mirf.config();
}
void loop()
{
Psx.read();
if(Psx.psxID != 0x00)
{
envio[0] = Psx.psxID; // DIGITAL (82) , ANALOGICO (CE)
envio[1] = Psx.psxStatus;
envio[2] = Psx.psxThumbL; // SETAS, SELECT, DIGITAL L
envio[3] = Psx.psxThumbR; // (x,[],/\,O), START, DIGITAL R, (L1,L2,R1,R2)
envio[4] = Psx.psxJoyRX; // EIXO ANALOGICO "X" DO "R"
envio[5] = Psx.psxJoyRY; // EIXO ANALOGICO "Y" DO "R"
envio[6] = Psx.psxJoyLX; // EIXO ANALOGICO "X" DO "L"
envio[7] = Psx.psxJoyLY; // EIXO ANALOGICO "Y" DO "L"
Serial.print("Data 0 ==> ");
Serial.println(envio[2]);
Serial.print("Data 1 ==> ");
Serial.println(envio[3]);
Mirf.setTADDR(tx_endereco);
Mirf.send(envio);
while(Mirf.isSending());
}
delay(50);
}
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
byte entrada[8];
byte rx_endereco[5] = {0xD0,0xD0,0xD0,0xD0,0xD0};
uint32_t lastCommandTime = 0;
uint8_t data1, data2,data3, data4,data5, data6,data7;
void setup()
{
Serial.begin(57600);
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR(rx_endereco);
Mirf.payload = 8;
Mirf.config();
}
void loop()
{
if(!Mirf.isSending() && Mirf.dataReady())
{
Mirf.getData(entrada);
data1 = ~entrada[1];
data2 = ~entrada[2];
data3 = ~entrada[3];
data4 = ~entrada[4];
data5 = ~entrada[5];
data6 = ~entrada[6];
data7 = ~entrada[7];
/* data 1
* 1 = Seta para esquerda / analogico L para esquerda
* 2 = Seta para baixo / analogico L para baixo
* 4 = seta para direita / analogico L para direita
* 8 = seta para cima / analogico L para cima
*/
/* data 2
* 1 = [] / analogico R para esquerda
* 2 = X / analogico R para baixo
* 4 = O / analogico R para direita
* 8 = /\ / analogico R para cima
* 16 = R1
* 32 = L1
* 64 = R2
* 128 = L2
*/
Serial.print("Data 1 ==> ");
Serial.println(data1);
Serial.print("Data 2 ==> ");
Serial.println(data2);
Serial.print("Data 3 ==> ");
Serial.println(data3);
Serial.print("Data 4 ==> ");
Serial.println(data4);
Serial.print("Data 5 ==> ");
Serial.println(data5);
Serial.print("Data 6 ==> ");
Serial.println(data6);
Serial.print("Data 7 ==> ");
Serial.println(data7);
Mirf.flushRx();
lastCommandTime = millis();
}
if((millis() - lastCommandTime) > 100)
{
Mirf.flushRx();
lastCommandTime = millis();
}
}
Nenhum comentário:
Postar um comentário