2022-12-20 04:55:37 +00:00
|
|
|
#include <Encoder.h>
|
2022-12-20 01:13:59 +00:00
|
|
|
|
2022-12-20 16:13:25 +00:00
|
|
|
|
2022-12-20 04:55:37 +00:00
|
|
|
const int Lane1Pin = 9; //Output Channel 1
|
|
|
|
const int Lane2Pin = 10; //Output Channel 2
|
|
|
|
const int Lane3Pin = 11; //Output Channel 3
|
|
|
|
const int Enc1P1 = 2; //Encoder 1 Pin 1 to Interrupt
|
|
|
|
const int Enc2P1 = 3; //Encoder 2 Pin 1 to Interrupt
|
|
|
|
const int Enc1P2 = 14; //Encoder 1 Pin 2 to non-Interrupting pin because we only have 2
|
|
|
|
const int Enc2P2 = 15; //Encoder 2 Pin 2 to non-Interrupting pin because we only have 2
|
|
|
|
const int Enc1Btn = 16; //Encoder 1 Button
|
|
|
|
const int Enc2Btn = 17; //Encoder 2 Button
|
|
|
|
const int ClockIn = 20; //Clock In
|
|
|
|
|
|
|
|
Encoder LeftEnc( Enc1P1, Enc1P2);
|
|
|
|
Encoder RightEnc( Enc2P1, Enc2P2);
|
|
|
|
|
|
|
|
int E1 = 0;
|
|
|
|
int E2 = 0;
|
|
|
|
bool E1Btn = false;
|
|
|
|
bool E2Btn = false;
|
|
|
|
bool ClockState = false;
|
|
|
|
int PpQN = 24;
|
|
|
|
float Clock = 120;
|
|
|
|
float ClockTick = 1/((Clock * PpQN)/60);
|
2022-12-20 16:13:25 +00:00
|
|
|
long Lane1Pos, Lane2Pos, Lane3Pos, Lane1Time, Lane2Time, Lane3Time = 0;
|
2022-12-20 04:55:37 +00:00
|
|
|
|
2022-12-20 16:13:25 +00:00
|
|
|
//Lanes are 4 dimentions 0 = Step Time, 1 = Step Voltage, 2 = Curve type (Linear, Expo, Log, Sine, etc) 3 = Curve Parameter.
|
2022-12-20 05:13:32 +00:00
|
|
|
int Lane1[4][16];
|
|
|
|
int Lane2[4][16];
|
|
|
|
int Lane3[4][16];
|
2022-12-20 01:13:59 +00:00
|
|
|
|
|
|
|
void setup() {
|
2022-12-20 04:55:37 +00:00
|
|
|
|
|
|
|
//Open Serial for output prior to installing a screen
|
|
|
|
Serial.begin( 115200 );
|
|
|
|
|
2022-12-20 05:13:32 +00:00
|
|
|
randomSeed(analogRead(A7));
|
2022-12-20 04:55:37 +00:00
|
|
|
|
|
|
|
//Clear the Lanes
|
|
|
|
for(int i = 0; i < 16; i++){
|
2022-12-20 05:13:32 +00:00
|
|
|
Lane1[0][i] = random(0, 96);
|
|
|
|
Lane1[1][i] = random(0, 255);
|
|
|
|
Lane1[2][i] = random(0, 2);
|
|
|
|
Lane1[3][i] = random(0,255);
|
2022-12-20 04:55:37 +00:00
|
|
|
for(int j = 0; j < 4; j++){
|
2022-12-20 05:13:32 +00:00
|
|
|
Lane2[j][i] = Lane3[i][j] = 0;
|
2022-12-20 04:55:37 +00:00
|
|
|
}
|
|
|
|
}
|
2022-12-20 01:13:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void loop() {
|
|
|
|
|
2022-12-20 04:55:37 +00:00
|
|
|
delay(1);
|
2022-12-20 16:13:25 +00:00
|
|
|
|
2022-12-20 01:13:59 +00:00
|
|
|
|
|
|
|
}
|