From 47cecbcee852918dca3e9effd3ebf812298340f4 Mon Sep 17 00:00:00 2001 From: BhingaradiaNihar Date: Thu, 8 Feb 2018 14:20:06 -0500 Subject: [PATCH] Add files via upload Here is the GUI with new changes(with out X,Y,Z data), I also included adruino file for testing. Issue is it's skipping one line --- Box.cpp | 34 ++++++++ Box.h | 21 +++++ ButtonBox.cpp | 17 ++++ ButtonBox.h | 16 ++++ DataBox.cpp | 54 +++++++++++++ DataBox.h | 22 +++++ Exo-Light.otf | Bin 0 -> 149468 bytes main.cpp | 14 ++++ ofApp.cpp | 213 +++++++++++++++++++++++++++++++++++++++++++++++++ ofApp.h | 34 ++++++++ testingGui.ino | 13 +++ 11 files changed, 438 insertions(+) create mode 100644 Box.cpp create mode 100644 Box.h create mode 100644 ButtonBox.cpp create mode 100644 ButtonBox.h create mode 100644 DataBox.cpp create mode 100644 DataBox.h create mode 100644 Exo-Light.otf create mode 100644 main.cpp create mode 100644 ofApp.cpp create mode 100644 ofApp.h create mode 100644 testingGui.ino diff --git a/Box.cpp b/Box.cpp new file mode 100644 index 0000000..6adcc43 --- /dev/null +++ b/Box.cpp @@ -0,0 +1,34 @@ +#include "Box.h" + +Box::Box() +{ + isOpen = false; +} + +void Box::setName(string _name) +{ + name = _name; +} + +void Box::setOpen(bool _val) +{ + isOpen = _val; +} + +void Box::loadFont(const string &filename, int fontsize) +{ + int offset = fontsize / 2; + label.loadFont(filename, fontsize); +} + + +void Box::drawBox() +{ + ofSetColor(color); + ofDrawRectangle(shape); + ofSetColor(ofColor(255, 255, 0)); + /*Set Label*/ + float xCenter = (shape.width - label.stringWidth(name)) / 2; //offset by leftover spaces + float yOffset = (shape.height / 5) + 3; + label.drawString(name, shape.x + xCenter, shape.y + yOffset); +} \ No newline at end of file diff --git a/Box.h b/Box.h new file mode 100644 index 0000000..33bcf66 --- /dev/null +++ b/Box.h @@ -0,0 +1,21 @@ +#pragma once +#include "ofMain.h" +#include + +class Box +{ +public: + Box(); + void drawBox(); + void setName(string _name); + void setOpen(bool _val); + void loadFont(const string &filename, int fontsize); + +protected: + ofRectangle shape; + ofColor color; + string name; + bool isOpen; + ofTrueTypeFont label; +}; + diff --git a/ButtonBox.cpp b/ButtonBox.cpp new file mode 100644 index 0000000..fb412fd --- /dev/null +++ b/ButtonBox.cpp @@ -0,0 +1,17 @@ +#include "ButtonBox.h" + + + +ButtonBox::ButtonBox() +{ +} + + +ButtonBox::~ButtonBox() +{ +} + +void ButtonBox::clicked(int x, int y) +{ + +} \ No newline at end of file diff --git a/ButtonBox.h b/ButtonBox.h new file mode 100644 index 0000000..677d7ea --- /dev/null +++ b/ButtonBox.h @@ -0,0 +1,16 @@ +#pragma once +#include "Box.h" + +class ButtonBox +{ +public: + ButtonBox(); + ~ButtonBox(); + + void clicked(int x, int y); + +protected: + + +}; + diff --git a/DataBox.cpp b/DataBox.cpp new file mode 100644 index 0000000..d931c38 --- /dev/null +++ b/DataBox.cpp @@ -0,0 +1,54 @@ +#include "DataBox.h" + +const float DNULL = 0.01021; //custom null +DataBox::DataBox() +{ + isOpen = false; +} + +DataBox::~DataBox() +{ +} + +void DataBox::set(float _x, float _y, float _px, float _py, double data) +{ + shape.set(_px, _py, _x, _y); + this->data = data; + color = ofColor(150, 150, 150); +} + +double DataBox::getData() { + return data; + } + +void DataBox::loadFont(const string &filename, int fontsize) +{ + int offset = fontsize / 2; + label.loadFont(filename, fontsize); + dataLabel.loadFont(filename, offset); + +} + +void DataBox::setData(double data) +{ + this->data = data; +} + + +void DataBox::draw() +{ + drawBox(); + float xCenter = (shape.width - label.stringWidth(name)) / 2; //offset by leftover spaces + float yOffset = (shape.height / 5) + 3; + /*Set Data Label + Positions are partially hardcoded + FIX!!! */ + float newHeight = yOffset; + if (data != DNULL) + { + xCenter = (shape.width - dataLabel.stringWidth(to_string(data))) / 2; //offset by leftover spaces + yOffset = newHeight*2 + (newHeight - label.stringHeight(to_string(data))) / 4; + dataLabel.drawString(to_string(data), shape.x + xCenter, shape.y + yOffset); + } + +} \ No newline at end of file diff --git a/DataBox.h b/DataBox.h new file mode 100644 index 0000000..0c3d040 --- /dev/null +++ b/DataBox.h @@ -0,0 +1,22 @@ +#pragma once +#include "Box.h" + + +class DataBox: public Box +{ +public: + DataBox(); + virtual ~DataBox(); + + void draw(); + void set(float _x, float _y, float _px, float _py, double data); + void setData(double data); + double getData(); + void loadFont(const string &filename, int fontsize); + + +private: + double data; + ofTrueTypeFont dataLabel; +}; + diff --git a/Exo-Light.otf b/Exo-Light.otf new file mode 100644 index 0000000000000000000000000000000000000000..0a6faa7c5cf068f8354afaa1e019c49f944398b7 GIT binary patch literal 149468 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 / 3)].setX(val); + } + else if (counter % 3 == 1) { + data[static_cast(counter / 3)].setY(val); + } + else if (counter % 3 == 2) { + data[static_cast(counter / 3)].setZ(val); + } + +}*/ + +void ofApp::update() { + //bool filter = true; // to see the data is correct (will create filter function to check the datas tring) + unsigned char test; + test = serial.readByte(); + if (test == '#') { + int bytesRequired = dataLength; + unsigned char sbyte[dataLength]; + int bytesRemaining = bytesRequired; + while (bytesRemaining > 0) { + // check for data + if (serial.available() > 0) { + + // try to read - note offset into the bytes[] array, this is so + // that we don't overwrite the bytes we already have + int bytesArrayOffset = bytesRequired - bytesRemaining; + int result = serial.readBytes(&sbyte[bytesArrayOffset], + bytesRemaining); + + // check for error code + if (result == OF_SERIAL_ERROR) { + // something bad happened + ofLog(OF_LOG_ERROR, "unrecoverable error reading from serial"); + // bail out + break; + } + else if (result == OF_SERIAL_NO_DATA) { + // nothing was read, try again + } + else { + // we read some data! + bytesRemaining -= result; + } + } + } + if (sbyte[0] == '!') { + string temp = ""; + string sData(reinterpret_cast(sbyte)); + int j = 0; + for (int i = 1; i < dataLength && j qData; + string temp = ""; + + + serial.readBytes(sbyte, dataLength); + string sData(reinterpret_cast(sbyte)); + for (int i = 0; i < dataLength; i++) { + if (sData[i] == ',' || sData[i] == '!') { + while (!qData.empty()) { + temp += qData.front(); + qData.pop(); + } + parsData(data, atof(temp.c_str()), counter); + counter++; + temp = ""; + } + else + qData.push(sData[i]); + } + } + for (int i = 0; i < 5; i++) { + myFile << data[i].getX() << "," << data[i].getY() << "," << data[i].getZ() << ","; + if (i == 4) + myFile << endl; + } + + + + + /*for (int i = 0; sbyte[i] != '!'; i++) { + if (sbyte[i] == ',') { + temp = sbyte[i - 1] + sbyte[i - 2] - '0' - '0'; + } + if (sbyte[i] == ',' || sbyte[i] == '!') { + j++; + if (j % 3 == 0) { + _zByte = temp; + data[(j / 3)].setData(_xByte, _yByte, _zByte); + } + else if (j % 3 == 2) + _yByte = temp; + else + _xByte = temp; + } + } + //int ibyte = sbyte - '0'; + //data[0].setData(ibyte, ibyte, ibyte);*/ + + } +} + +//-------------------------------------------------------------- +void ofApp::draw(){ + for (int i = 0; i < dataCount; i++) + { + data[i].draw(); + } +} + +//-------------------------------------------------------------- +void ofApp::keyPressed(int key){ + +} + +//-------------------------------------------------------------- +void ofApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseMoved(int x, int y ){ + mouseX = x; + mouseY = y; +} + +//-------------------------------------------------------------- +void ofApp::mouseDragged(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::mousePressed(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseReleased(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseEntered(int x, int y){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseExited(int x, int y){ + +} + +//-------------------------------------------------------------- +void ofApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void ofApp::gotMessage(ofMessage msg){ + +} + +//-------------------------------------------------------------- +void ofApp::dragEvent(ofDragInfo dragInfo){ + +} diff --git a/ofApp.h b/ofApp.h new file mode 100644 index 0000000..fd3e921 --- /dev/null +++ b/ofApp.h @@ -0,0 +1,34 @@ +#pragma once + +#include "ofMain.h" +#include +#include +#include +#include +#include "DataBox.h" + +class ofApp : public ofBaseApp{ + + public: + void setup(); + void update(); + void draw(); + + void keyPressed(int key); + void keyReleased(int key); + void mouseMoved(int x, int y ); + void mouseDragged(int x, int y, int button); + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void mouseEntered(int x, int y); + void mouseExited(int x, int y); + void windowResized(int w, int h); + void dragEvent(ofDragInfo dragInfo); + void gotMessage(ofMessage msg); + + int mouseX, mouseY; + + DataBox *data; + DataBox testBox; + ofSerial serial; +}; diff --git a/testingGui.ino b/testingGui.ino new file mode 100644 index 0000000..0b7646a --- /dev/null +++ b/testingGui.ino @@ -0,0 +1,13 @@ +int i=10000; +void setup() { +Serial.begin(9600); + +} + +void loop() { + Serial.print("#"); + String a=String("!"+String(i)+","+String(i)+","+String(i)+","+String(i)+","+String(i)+","); + Serial.println(a); + i++; + delay(50); +}