From ee0faa7ba67a5388c1f1a6f1ebeb4842ae7aa98f Mon Sep 17 00:00:00 2001 From: Artur Wrona Date: Mon, 6 Mar 2023 11:21:47 +0100 Subject: [PATCH 1/2] Move window size to function --- BrainWaveOSC/src/ofApp.cpp | 14 +++++++++++++- BrainWaveOSC/src/ofApp.h | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/BrainWaveOSC/src/ofApp.cpp b/BrainWaveOSC/src/ofApp.cpp index 07a0fdc..f1d65d4 100755 --- a/BrainWaveOSC/src/ofApp.cpp +++ b/BrainWaveOSC/src/ofApp.cpp @@ -91,11 +91,23 @@ void ofApp::setup(){ // change in settings.xml to launch minimised window with no logging if(smallWindow) { ofSetLogLevel(OF_LOG_SILENT); - ofSetWindowShape(250, 75); + setSmallWindow(); settings.hide(); + } else { + setNormalWindow(); } } +void ofApp::setSmallWindow() { + ofSetWindowShape(250, 75); + smallWindow = true; +} + +void ofApp::setNormalWindow() { + ofSetWindowShape(1280, 850); + smallWindow = false; +} + void ofApp::setupGui() { // setup gui diff --git a/BrainWaveOSC/src/ofApp.h b/BrainWaveOSC/src/ofApp.h index 94d15b9..1517703 100755 --- a/BrainWaveOSC/src/ofApp.h +++ b/BrainWaveOSC/src/ofApp.h @@ -60,6 +60,8 @@ class ofApp : public ofBaseApp { void setupGui(); BrainWaveGUI settings; void onGUIChanged(ofxTouchGUIEventArgs& args); + void setSmallWindow(); + void setNormalWindow(); bool smallWindow; From c3d791ca319ed3394ae799bc5728b6c762bfe674 Mon Sep 17 00:00:00 2001 From: Artur Wrona Date: Mon, 6 Mar 2023 11:32:23 +0100 Subject: [PATCH 2/2] Improve device and baudrate choosing --- BrainWaveOSC/src/ofApp.cpp | 27 +++++++++++++++++++++------ BrainWaveOSC/src/ofApp.h | 20 +++++++++++++++++--- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/BrainWaveOSC/src/ofApp.cpp b/BrainWaveOSC/src/ofApp.cpp index f1d65d4..4ddca9b 100755 --- a/BrainWaveOSC/src/ofApp.cpp +++ b/BrainWaveOSC/src/ofApp.cpp @@ -68,19 +68,34 @@ void ofApp::setup(){ allData.eegTheta = 0; allData.elapsed = 0; allData.blinkStrength = 0; - - normaliseMaxToCurrentSet = false; - - // default device settings - deviceName = "/dev/tty.BrainBand-DevB"; // osx address, windows is com6 or something + normaliseMaxToCurrentSet = false; + + setupGui(); + refreshDevices(); + updateDeviceInfo(); + // default device settings // TODO automatize setup + if (devicesList.empty()) { + #if defined(TARGET_OSX) + deviceName = "/dev/tty.BrainBand-DevB"; + #elif defined(TARGET_LINUX) + deviceName = "/dev/rfcomm0"; + #elif defined(TARGET_WIN32) + deviceName = "COM6"; + #endif + } else { + deviceName = devicesList[0]; + } deviceBaudRate = 57600; + + ofLog() << "Initial values: \n" + << "Device name: " << deviceName << "\n" + << "Baudrate: " << deviceBaudRate << "\n"; // osc settings host = "127.0.0.1"; // change via xml port = 7771; // change via xml receivePort=7772; // change via xml - setupGui(); // setup thinkgear hardware using serial streamer or comms driver (osx only tested). // TG_STREAM_PARSER is default diff --git a/BrainWaveOSC/src/ofApp.h b/BrainWaveOSC/src/ofApp.h index 1517703..12879e6 100755 --- a/BrainWaveOSC/src/ofApp.h +++ b/BrainWaveOSC/src/ofApp.h @@ -81,13 +81,17 @@ class ofApp : public ofBaseApp { EegFrequencyGraph* frequencyGraph; ofxTouchGUISlider* timeline; vector eegSet; - + ofxTouchGUIDropDown* deviceChooser; + ofxTouchGUIDropDown* baudrateChooser; + ofxTouchGUIButton* refreshButton; + ofxTouchGUIButton* disconnectButton; + ofxTouchGUIButton* connectButton; + bool normaliseMaxToCurrentSet; float startTime; float timeElapsed; - // file saving ofFile output; bool isRecording; @@ -105,9 +109,20 @@ class ofApp : public ofBaseApp { int receivePort; // mindplay brainband bluetooth device + void updateDeviceInfo(); + void refreshDevices(); + void setupDevice(int id); + void setupBaudrate(int id); + void connectDevice(); + void disconnectDevice(); + bool deviceIsConnected = false; ofxThinkgear tg; ofxThinkgearEventArgs data; string deviceName; + string deviceInfoString; + + vector devicesList; + vector baudrateList; int deviceBaudRate; // custom eeg data struct to capture all the data from thinkgear events @@ -121,5 +136,4 @@ class ofApp : public ofBaseApp { int playhead; vector dataEntries; - };