CCCPaste

PiDraw.cpp

//https://aleksandarhaber.com/incremental-rotary-encoders-with-raspberry-pi-lpd3806-600bm/
/*This project depends on the now depreciated wiring pi project
 * wget https://project-downloads.drogon.net/wiringpi-latest.deb
 * or a working version is also saved the the nanocluster server
 * g++ -Wall -o "%e" "%f" -lwiringPi -lwiringPiDev
 * */
#include 
#include  
#include 
 
using namespace std;
long encoder0;
long encoder1;

int stateA=0;
int stateB=0;
int angle0=0;
int angle1=0;
int OldAngle0=0;
int OldAngle1=0;

//File dataFile;
string dataString = "";

//hardware IO
//may require "gpio mode  in"
/*Encoders*/ 
int wireA=0;  //BCM 17
int wireB=2;  //BCM 27
int wireC=12; //MOSI 
int wireD=13; //MISO
/*Buttons*/
const int buttonAB = 7;  //GPIO7 A-B-encoder pin7 "gpio mode 7 in"
const int buttonCD = 21; //GPIO21 (SCLK) C-D encoder "gpio mode 21 in"


 void A();
 void B();
 void C();
 void D();
 
 void setup();     //sets up hardware may do all setup including fileIO in teh future
 void resetImg();  //sets data in svg poly line to zero 

int main(){
setup();
 
while(1){
angle0=encoder0;
angle1=encoder1;
        if (digitalRead(buttonAB) == LOW) {
            cout << "Deleting image data\n";
           dataString="";
		delay(100);
		}
        if (digitalRead(buttonCD) == LOW) {
            cout << dataString <<"\n";        
        delay(100);
        }
if (angle0==OldAngle0 && angle1==OldAngle1){
     ; //dont do shit if its not changing
}else{
	 dataString += ", ";
	 dataString +=  to_string(angle0);
	 dataString += ", ";
	 dataString += to_string(angle1);
	 
	 OldAngle0=angle0;
	 OldAngle1=angle1;
     cout<<"Angle is:"<