From 75729b083bc31d28c47d245aab3b3f57b3605a3f Mon Sep 17 00:00:00 2001 From: "m.menzel" Date: Mon, 13 Apr 2020 12:00:28 +0200 Subject: [PATCH] created src folder, included precompiled binaries --- README.md | 6 + bin/iQue.ino.heltec_wifi_lora_32_V2.bin | Bin 0 -> 276864 bytes src/ControllerBuffer.cpp | 206 ++++++++++++++++++++++++ src/ControllerBuffer.h | 26 +++ src/ControllerData.h | 31 ++++ src/Debug.h | 8 + src/Output.cpp | 135 ++++++++++++++++ src/Output.h | 19 +++ src/PinMappings.h | 33 ++++ src/iQue.ino | 39 +++++ 10 files changed, 503 insertions(+) create mode 100644 bin/iQue.ino.heltec_wifi_lora_32_V2.bin create mode 100644 src/ControllerBuffer.cpp create mode 100644 src/ControllerBuffer.h create mode 100644 src/ControllerData.h create mode 100644 src/Debug.h create mode 100644 src/Output.cpp create mode 100644 src/Output.h create mode 100644 src/PinMappings.h create mode 100644 src/iQue.ino diff --git a/README.md b/README.md index 0d34fe1..15dfa53 100644 --- a/README.md +++ b/README.md @@ -20,3 +20,9 @@ As Timing is very critical (a bit read from the controller takes only 4uS !) I d Yes you will have to edit the Pins used in the file `PinMappings.h` to match the Pins you wired everything up with. The Axis pins have to be connected to the correct Wires coming from the Joystick. For that is adviced to cut the Joystick cable in half and connect the X-Axis pins to the pins labeled 1 & 4 of the Joystick PCB and the Y-Axis pins to the pins labeled 5 & 6. +### Changelog: + +13.04.2020: + - moved source code to `src` folder + - added precompiled binaries for Heltec WiFi LoRa 32 V2 to folder `bin` + diff --git a/bin/iQue.ino.heltec_wifi_lora_32_V2.bin b/bin/iQue.ino.heltec_wifi_lora_32_V2.bin new file mode 100644 index 0000000000000000000000000000000000000000..37df71b187d2fcc598883d6cbcf6b379d96f8c4e GIT binary patch literal 276864 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

x=k6ip&2(W2dJ_PP_@LxiZt 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 BIT_THRESHOLD) *bit = true; +} + +/** Function to populate the controller struct if command 0x01 was sent. + * Buttons are set according to data in buffer, raw axis data is written, + * Axis Data is correctly decoded from raw axis data by taking two's complement + * and checking if value if below 'MAX_INCLINE_AXIS_X' or 'MAX_INCLINE_AXIS_Y'. + * If values surpass the maximum incline they are set to match those values. + */ +void populateControllerStruct(ControllerData *data) +{ + // first byte + getBit(&(data->buttonA) , bitOffsets[0] ,&buffer[0]); + getBit(&(data->buttonB), bitOffsets[1] ,&buffer[0]); + getBit(&(data->buttonZ), bitOffsets[2] ,&buffer[0]); + getBit(&(data->buttonStart), bitOffsets[3] ,&buffer[0]); + getBit(&(data->DPadUp), bitOffsets[4] ,&buffer[0]); + getBit(&(data->DPadDown), bitOffsets[5] ,&buffer[0]); + getBit(&(data->DPadLeft), bitOffsets[6] ,&buffer[0]); + getBit(&(data->DPadRight), bitOffsets[7] ,&buffer[0]); + + // second byte, first two bits are unused + getBit(&(data->buttonL), bitOffsets[10] ,&buffer[0]); + getBit(&(data->buttonR), bitOffsets[11] ,&buffer[0]); + getBit(&(data->CUp), bitOffsets[12] ,&buffer[0]); + getBit(&(data->CDown), bitOffsets[13] ,&buffer[0]); + getBit(&(data->CLeft), bitOffsets[14] ,&buffer[0]); + getBit(&(data->CRight), bitOffsets[15] ,&buffer[0]); + + // third byte + getBit(&(data->xAxisRaw[0]), bitOffsets[16], &buffer[0]); + getBit(&(data->xAxisRaw[1]), bitOffsets[17], &buffer[0]); + getBit(&(data->xAxisRaw[2]), bitOffsets[18], &buffer[0]); + getBit(&(data->xAxisRaw[3]), bitOffsets[19], &buffer[0]); + getBit(&(data->xAxisRaw[4]), bitOffsets[20], &buffer[0]); + getBit(&(data->xAxisRaw[5]), bitOffsets[21], &buffer[0]); + getBit(&(data->xAxisRaw[6]), bitOffsets[22], &buffer[0]); + getBit(&(data->xAxisRaw[7]), bitOffsets[23], &buffer[0]); + + // fourth byte + getBit(&(data->yAxisRaw[0]), bitOffsets[24], &buffer[0]); + getBit(&(data->yAxisRaw[1]), bitOffsets[25], &buffer[0]); + getBit(&(data->yAxisRaw[2]), bitOffsets[26], &buffer[0]); + getBit(&(data->yAxisRaw[3]), bitOffsets[27], &buffer[0]); + getBit(&(data->yAxisRaw[4]), bitOffsets[28], &buffer[0]); + getBit(&(data->yAxisRaw[5]), bitOffsets[29], &buffer[0]); + getBit(&(data->yAxisRaw[6]), bitOffsets[30], &buffer[0]); + getBit(&(data->yAxisRaw[7]), bitOffsets[31], &buffer[0]); + + // sum up bits to get axis bytes + data->xAxis = 0; + data->yAxis = 0; + for(int i = 0;i < 8;i++) + { + data->xAxis += (data->xAxisRaw[i] * (0x80 >> (i))); + data->yAxis += (data->yAxisRaw[i] * (0x80 >> (i))); + + // print y axis values + #ifdef PRINT_Y_AXIS_VALUES + Serial.printf("%i %i %i %i %i %i %i %i\n",data->yAxisRaw[0],data->yAxisRaw[1],data->yAxisRaw[2],data->yAxisRaw[3],data->yAxisRaw[4],data->yAxisRaw[5],data->yAxisRaw[6],data->yAxisRaw[7]); + Serial.printf("yAxis: %i \n",data->yAxis); + #endif + + // print x axis values + #ifdef PRINT_X_AXIS_VALUES + Serial.printf("%i %i %i %i %i %i %i %i\n",data->xAxisRaw[0],data->xAxisRaw[1],data->xAxisRaw[2],data->xAxisRaw[3],data->xAxisRaw[4],data->xAxisRaw[5],data->xAxisRaw[6],data->xAxisRaw[7]); + Serial.printf("xAxis: %i \n",data->xAxis); + #endif + } + + // decode xAxis two's complement + if(data->xAxis & 0x80) + { + data->xAxis = -1 * (0xff - data->xAxis); + } + + // decode yAxis two's complement + if(data->yAxis & 0x80) + { + data->yAxis = -1 * (0xff - data->yAxis); + } + + // keep x axis below maxIncline + if(data->xAxis > MAX_INCLINE_AXIS_X) data->xAxis = MAX_INCLINE_AXIS_X; + if(data->xAxis < -MAX_INCLINE_AXIS_X) data->xAxis = -MAX_INCLINE_AXIS_X; + + // keep y axis below maxIncline + if(data->yAxis > MAX_INCLINE_AXIS_Y) data->yAxis = MAX_INCLINE_AXIS_Y; + if(data->yAxis < -MAX_INCLINE_AXIS_Y) data->yAxis = -MAX_INCLINE_AXIS_Y; + + //Serial.printf("xaxis: %-3i yaxis: %-3i \n",data->xAxis,data->yAxis); +} + +void updateOffsetsAndResolution() +{ + // the current bit counter + int bitCounter = 0; + + // to hold the offset of A Button's falling edge + int bitAfallingOffset = 0; + + // iterate over buffer + for(int i = 0;i < DATA_SIZE + DATA_OFFSET - 1;i++) + { + // if a falling edge is detected + if(buffer[i] == true && buffer[1+i] == false) + { + // store bit's end offset + bitOffsets[bitCounter] = i+1; + + // if it's the A button store offset of the falling edge + if(bitCounter == 0) bitAfallingOffset = i+1; + + // if it's the B button calculate the bit Resolution + if(bitCounter == 1) bitResolution = (i+1) - bitAfallingOffset; + + // increment bit counter + bitCounter++; + } + } + + Serial.printf("Bit resolution is %i \n",bitResolution); + + // calculate bit's beginning offsets by subtracting resolution + for(int i = 0;i < 32;i++) + { + bitOffsets[i] -= bitResolution; + Serial.printf("beginning of bit %i detected @ begin+%i \n",i+1,bitOffsets[i]); + } + + +} \ No newline at end of file diff --git a/src/ControllerBuffer.h b/src/ControllerBuffer.h new file mode 100644 index 0000000..1489cde --- /dev/null +++ b/src/ControllerBuffer.h @@ -0,0 +1,26 @@ +#ifndef CONTROLLER_BUFFER_H +#define CONTROLLER_BUFFER_H + +#include "ControllerData.h" +#include + +#define DATA_SIZE 450 // number of sample points to poll +#define DATA_OFFSET 0 // number of samples to ignore after staring to poll + +#define MAX_INCLINE_AXIS_X 60 +#define MAX_INCLINE_AXIS_Y 60 + +#define BIT_THRESHOLD 6 + +extern void IRAM_ATTR sendCommand(byte command); +extern void populateControllerStruct(ControllerData *data); + +/** Function to read the offsets of the individual bits so that they can be updated for reading. + * Resolution is detected by taking the distance of two falling edges of Button A and B. + * Buttons must not be pressed by the time this command is invoked ! + * sendCommand(0x01) must be invoked before ! + */ +extern void updateOffsetsAndResolution(); + + +#endif \ No newline at end of file diff --git a/src/ControllerData.h b/src/ControllerData.h new file mode 100644 index 0000000..f546ed3 --- /dev/null +++ b/src/ControllerData.h @@ -0,0 +1,31 @@ +#ifndef CONTROLLER_DATA_H +#define CONTROLLER_DATA_H + +struct ControllerData +{ + bool buttonA; + bool buttonB; + bool buttonZ; + bool buttonL; + bool buttonR; + bool buttonStart; + + bool DPadUp; + bool DPadDown; + bool DPadLeft; + bool DPadRight; + + bool CUp; + bool CDown; + bool CLeft; + bool CRight; + + short xAxis; + short yAxis; + + bool xAxisRaw[8]; + bool yAxisRaw[8]; + +}; + +#endif \ No newline at end of file diff --git a/src/Debug.h b/src/Debug.h new file mode 100644 index 0000000..0775613 --- /dev/null +++ b/src/Debug.h @@ -0,0 +1,8 @@ +#ifndef DEBUG_H +#define DEBUG_H + +//#define PLOT_CONSOLE_POLLING +//#define PRINT_X_AXIS_VALUES +//#define PRINT_Y_AXIS_VALUES + +#endif \ No newline at end of file diff --git a/src/Output.cpp b/src/Output.cpp new file mode 100644 index 0000000..9e00bca --- /dev/null +++ b/src/Output.cpp @@ -0,0 +1,135 @@ +#include "Output.h" +#include "PinMappings.h" + +#include + +int encoderXpos = 0; +int encoderYpos = 0; + +void setupIO() +{ + // the controller data line + LINE_WRITE_HIGH; + + pinMode(PIN_BUTTON_A,OUTPUT); + pinMode(PIN_BUTTON_B,OUTPUT); + pinMode(PIN_BUTTON_Z,OUTPUT); + pinMode(PIN_BUTTON_S,OUTPUT); + pinMode(PIN_BUTTON_L,OUTPUT); + pinMode(PIN_BUTTON_R,OUTPUT); + + pinMode(PIN_DPAD_UP, OUTPUT); + pinMode(PIN_DPAD_DOWN, OUTPUT); + pinMode(PIN_DPAD_LEFT, OUTPUT); + pinMode(PIN_DPAD_RIGHT,OUTPUT); + + pinMode(PIN_C_UP, OUTPUT); + pinMode(PIN_C_DOWN, OUTPUT); + pinMode(PIN_C_LEFT, OUTPUT); + pinMode(PIN_C_RIGHT,OUTPUT); + + pinMode(PIN_A_AXIS_X, OUTPUT); + pinMode(PIN_B_AXIS_X, OUTPUT); + + pinMode(PIN_A_AXIS_Y, OUTPUT); + pinMode(PIN_B_AXIS_Y, OUTPUT); +} + +/** Function to simulate the 90° phaseshifted quadrature encoding used by + * the N64-Controller's joystick's linear encoders. As only change in position + * (not absolute position) is reported the change in the value between writes + * is needed for calculation. Must be run from RAM to mitigate timing differences in + * ESP32's SPI-Flash Chip Access Times. + * @param relativeMovement should be processed by calling 'mapJoystickToEncoderPos' + * with the read joystick position. + */ +void IRAM_ATTR moveAxis(int axisPinA,int axisPinB,int requestedEncoderPos,int *realEncoderPos) +{ + // get difference from requested ender position to real encoder position + int difference = requestedEncoderPos - *realEncoderPos; + + // store new real encoder position + *realEncoderPos = requestedEncoderPos; + + // set pins used for outputting + int pinA = axisPinA; + int pinB = axisPinB; + + // invert pins if moving in the other direction + if(difference > 0) + { + pinA = axisPinB; + pinB = axisPinA; + } + + // get absolute movement value + difference = abs(difference); + + // for each change in movement + for(int i = 0;i < difference;i++) + { + // replicate 90° phaseshifted quadrate output + digitalWrite(pinA,LOW); + delayMicroseconds(2); + digitalWrite(pinB,LOW); + delayMicroseconds(6); + digitalWrite(pinA,HIGH); + delayMicroseconds(2); + digitalWrite(pinB,HIGH); + + // debounce as N64 will not detect change correctly otherwise + delayMicroseconds(40); + } +} + +/** Function to map Joystick position to relative Encoder Position. + * According to Nintendo the maximum value for any axis to be assumed should + * be +- 60. The encoder starts acting strange after ~ 30 turns in a given + * direction. Also passing on ControllerData struct so that user specified + * modifiers can be used to specify alternate mapping, eg. for + * easier ESS-Position in Ocarina of Time (see my example) + */ +int mapJoystickToEncoderPos(int joyval,ControllerData *data) +{ + // ESS-Modifier for Ocarina of Time, hold A+B to stay in ESS-Position + if(data->buttonA && data->buttonB) return -2; + + // deadzone handling + if(abs(joyval) < 3) return 0; + + // normally return half ??? + return (int)(joyval * .5f); +} + +void outputToiQue(ControllerData *data) +{ + // ===== Write Button Data ===== + digitalWrite(PIN_BUTTON_A,data->buttonA); + digitalWrite(PIN_BUTTON_B,data->buttonB); + digitalWrite(PIN_BUTTON_L,data->buttonL); + digitalWrite(PIN_BUTTON_R,data->buttonR); + digitalWrite(PIN_BUTTON_Z,data->buttonZ); + digitalWrite(PIN_BUTTON_S,data->buttonStart); + + // ===== Write D-Pad Data ===== + digitalWrite(PIN_DPAD_UP, data->DPadUp); + digitalWrite(PIN_DPAD_DOWN, data->DPadDown); + digitalWrite(PIN_DPAD_LEFT, data->DPadLeft); + digitalWrite(PIN_DPAD_RIGHT,data->DPadRight); + + // ===== Write C-Button Data ===== + digitalWrite(PIN_C_UP, data->CUp); + digitalWrite(PIN_C_DOWN, data->CDown); + digitalWrite(PIN_C_LEFT, data->CLeft); + digitalWrite(PIN_C_RIGHT, data->CRight); + + // ===== Write Joystick Data ===== + + // calculate change in axis between writes + //int xAxisChange = data->xAxis - lastxAxis; + //int yAxisChange = data->yAxis - lastyAxis; + + // move axis accordingly + moveAxis(PIN_A_AXIS_X,PIN_B_AXIS_X,mapJoystickToEncoderPos(data->xAxis,data),&encoderXpos); + moveAxis(PIN_A_AXIS_Y,PIN_B_AXIS_Y,mapJoystickToEncoderPos(data->yAxis,data),&encoderYpos); +} \ No newline at end of file diff --git a/src/Output.h b/src/Output.h new file mode 100644 index 0000000..6e71579 --- /dev/null +++ b/src/Output.h @@ -0,0 +1,19 @@ +#ifndef OUTPUT_H +#define OUTPUT_H + +#include "ControllerData.h" + +/** Function to output Data stored in ControllerData struct to the iQue console. + * Buttons states are directly set usig digitalWrite(), Axis Data is written by + * Simulating the 90° shifted quadrate encoding used by the N64 joysticks. + * As these operate on a relative basis the difference between the current + * and the last joystick positions are calculated and simulated. + */ +extern void outputToiQue(ControllerData *data); + +/** Function to setup the IO used for interfacing with the N64-Controller + * and the iQue-Console + */ +extern void setupIO(); + +#endif \ No newline at end of file diff --git a/src/PinMappings.h b/src/PinMappings.h new file mode 100644 index 0000000..67746ce --- /dev/null +++ b/src/PinMappings.h @@ -0,0 +1,33 @@ +#ifndef PIN_MAPPINGS_H +#define PIN_MAPPINGS_H + +#define DATA_PIN 13 + +#define PIN_BUTTON_A 15 +#define PIN_BUTTON_B 5 +#define PIN_BUTTON_Z 23 +#define PIN_BUTTON_S 1 +#define PIN_BUTTON_L 1 +#define PIN_BUTTON_R 1 + +#define PIN_DPAD_UP 1 +#define PIN_DPAD_DOWN 1 +#define PIN_DPAD_LEFT 1 +#define PIN_DPAD_RIGHT 1 + +#define PIN_C_UP 1 +#define PIN_C_DOWN 1 +#define PIN_C_LEFT 1 +#define PIN_C_RIGHT 1 + +#define PIN_A_AXIS_X 14 +#define PIN_B_AXIS_X 27 + +#define PIN_A_AXIS_Y 2 +#define PIN_B_AXIS_Y 4 + +#define LINE_WRITE_HIGH pinMode(DATA_PIN,INPUT_PULLUP) +#define LINE_WRITE_LOW pinMode(DATA_PIN,OUTPUT) + + +#endif \ No newline at end of file diff --git a/src/iQue.ino b/src/iQue.ino new file mode 100644 index 0000000..e63c010 --- /dev/null +++ b/src/iQue.ino @@ -0,0 +1,39 @@ +#include "Output.h" +#include "ControllerData.h" +#include "ControllerBuffer.h" +#include "Debug.h" + +ControllerData controller; + +void setup() +{ + Serial.begin(115200); + + // setup io pins + setupIO(); + + #ifdef PLOT_CONSOLE_POLLING + delay(5000); + sendCommand(0x01); + while(true); + #endif + + sendCommand(0x01); + updateOffsetsAndResolution(); +} + + +void loop() +{ + // send command 0x01 to n64 controller + sendCommand(0x01); + + // store received data in controller struct + populateControllerStruct(&controller); + + // output received data to ique + outputToiQue(&controller); + + // polling must not occur faster than every 20 ms + delay(14); +} \ No newline at end of file