Skip to content

Commit 8db90eb

Browse files
authored
Merge pull request #1002 from OpenBCI/development
Development 5.0.7
2 parents 5313607 + 2edced4 commit 8db90eb

19 files changed

+255
-139
lines changed

.travis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
branches:
1414
only:
1515
- master
16+
- development
1617

1718
before_install:
1819
- if [ "$TRAVIS_OS_NAME" = osx ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then openssl aes-256-cbc -K $encrypted_2f5d2771e3cb_key -iv $encrypted_2f5d2771e3cb_iv -in release_script/mac_only/Certificates.p12.enc -out release_script/mac_only/Certificates.p12 -d; fi
@@ -68,4 +69,4 @@ after_success:
6869
notifications:
6970
email:
7071
on_success: never
71-
on_failure: always
72+
on_failure: always

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
# v5.0.7
2+
3+
### Improvements
4+
* Show info in footer when a new version of the GUI is available #992
5+
* Further improvements to GUI Update Button logic
6+
* Add GUI-wide settings class to keep certain settings across sessions and app starts #997
7+
* Remove 30 second window option from Focus widget
8+
9+
### Bug Fixes
10+
* Fix GUI not running on some Macs due to high-dpi screen code #987 #990 #1001
11+
* Fix streaming multiple data types over LSL #971
12+
113
# v5.0.6
214

315
### Improvements

Networking-Test-Kit/LSL/lslStreamTest.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
# create a new inlet to read from the stream
1111
inlet = StreamInlet(streams[0])
12-
duration = 2
12+
duration = 5
1313

1414
sleep(1)
1515

@@ -18,17 +18,18 @@ def testLSLSamplingRate():
1818
totalNumSamples = 0
1919
validSamples = 0
2020
numChunks = 0
21+
print( "Testing Sampling Rates..." )
2122

2223
while time.time() <= start + duration:
2324
# get chunks of samples
24-
samples, timestamp = inlet.pull_chunk()
25-
if samples:
25+
chunk, timestamp = inlet.pull_chunk()
26+
if chunk:
2627
numChunks += 1
27-
print( len(samples) )
28-
totalNumSamples += len(samples)
29-
# print(samples);
30-
for sample in samples:
31-
print(sample)
28+
# print( len(chunk) )
29+
totalNumSamples += len(chunk)
30+
# print(chunk);
31+
for sample in chunk:
32+
# print(sample)
3233
validSamples += 1
3334

3435
print( "Number of Chunks and Samples == {} , {}".format(numChunks, totalNumSamples) )

Networking-Test-Kit/LSL/lslStreamTest_3Streams.py

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,43 +10,51 @@
1010
import time
1111

1212
numStreams = 3
13+
duration_seconds = 20
1314
# first resolve an EEG stream on the lab network
1415
print("looking for an EEG stream...")
15-
stream1 = resolve_stream('type', 'EEG')
16-
stream2 = resolve_stream('type', 'AUX')
17-
stream3 = resolve_stream('type', 'FFT')
16+
stream_1 = resolve_stream('type', 'EEG')
17+
stream_2 = resolve_stream('type', 'AUX')
18+
stream_3 = resolve_stream('type', 'FOCUS')
1819

1920
# create a new inlet to read from the stream
20-
inlet = StreamInlet(stream1[0])
21-
inlet2 = StreamInlet(stream2[0])
22-
inlet3 = StreamInlet(stream3[0])
21+
inlet = StreamInlet(stream_1[0])
22+
intlet_2 = StreamInlet(stream_2[0])
23+
intlet_3 = StreamInlet(stream_3[0])
2324

2425
def testLSLSamplingRates():
25-
print( "Testing Sampling Rates..." )
26+
print( "Testing Sampling Rates for {} seconds".format(duration_seconds) )
2627
start = time.time()
27-
numSamples1 = 0
28-
numSamples2 = 0
29-
numSamples3 = 0
30-
while time.time() < start + 5:
28+
num_samples_1 = 0
29+
num_samples_2 = 0
30+
num_samples_3 = 0
31+
while time.time() < start + duration_seconds:
3132
# get a new sample (you can also omit the timestamp part if you're not
3233
# interested in it)
3334
for i in range(numStreams):
3435
if i == 0:
3536
chunk, timestamps = inlet.pull_chunk()
3637
if timestamps:
37-
numSamples1 += 1
38+
for sample in chunk:
39+
if sample:
40+
num_samples_1 += 1
41+
#print(sample)
3842
elif i == 1:
39-
chunk, timestamps2 = inlet2.pull_chunk()
40-
if timestamps2:
41-
numSamples2 += 1
43+
chunk, timestamps_2 = intlet_2.pull_chunk()
44+
if timestamps_2:
45+
for sample in chunk:
46+
num_samples_2 += 1
47+
#print(sample)
4248
elif i == 2:
43-
chunk, timestamps3 = inlet3.pull_chunk()
44-
if timestamps3:
45-
numSamples3 += 1
49+
chunk, timestamps_3 = intlet_3.pull_chunk()
50+
if timestamps_3:
51+
for sample in chunk:
52+
num_samples_3 += 1
53+
#print(sample)
4654
#print("Stream", i + 1, " == ", chunk)
47-
print( "Stream 1 Sampling Rate == ", numSamples1, " | Type : EEG")
48-
print( "Stream 2 Sampling Rate == ", numSamples2, " | Type : AUX")
49-
print( "Stream 3 Sampling Rate == ", numSamples3, " | Type : FFT")
55+
print( "Stream 1 Sampling Rate == ", num_samples_1 / duration_seconds, " | Type : EEG")
56+
print( "Stream 2 Sampling Rate == ", num_samples_2 / duration_seconds, " | Type : AUX")
57+
print( "Stream 3 Sampling Rate == ", num_samples_3 / duration_seconds, " | Type : FOCUS")
5058

5159

5260
testLSLSamplingRates()

Networking-Test-Kit/LSL/lslStreamTest_FFTplot.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@
1111

1212
last_print = time.time()
1313
fps_counter = deque(maxlen=150)
14+
duration = 5
1415

1516
# first resolve an EEG stream on the lab network
1617
print("looking for an EEG stream...")
17-
streams = resolve_stream('type', 'EEG')
18+
streams = resolve_stream('type', 'FFT')
1819
# create a new inlet to read from the stream
1920
inlet = StreamInlet(streams[0])
2021

2122
channel_data = {}
2223

23-
for i in range(5): # how many iterations. Eventually this would be a while True
24+
for i in range(duration): # how many iterations. Eventually this would be a while True
2425

2526
for i in range(16): # each of the 16 channels here
2627
sample, timestamp = inlet.pull_sample()

OpenBCI_GUI/ADS1299SettingsController.pde

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class ADS1299SettingsController {
138138
}
139139
}
140140

141-
boolean showCustomCommandUI = settings.expertModeToggle;
141+
boolean showCustomCommandUI = guiSettings.getExpertModeBoolean();
142142

143143
//Draw background behind command buttons
144144
pushStyle();

OpenBCI_GUI/ControlPanel.pde

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2778,7 +2778,6 @@ class InitBox {
27782778
}
27792779
} else {
27802780
//if system is already active ... stop session and flip button state back
2781-
outputInfo("Learn how to use this application and more at openbci.github.io/Documentation/");
27822781
setInitSessionButtonText("START SESSION");
27832782
topNav.setLockTopLeftSubNavCp5Objects(false); //Unlock top left subnav buttons
27842783
//creates new data file name so that you don't accidentally overwrite the old one

OpenBCI_GUI/CustomCp5Classes.pde

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ class ButtonHelpText{
9090
}
9191

9292
public void draw(){
93-
if (!isVisible || settings.expertModeToggle) {
93+
//When using expert mode, disable help text over UI objects
94+
if (!isVisible || guiSettings.getExpertModeBoolean()) {
9495
return;
9596
}
9697

OpenBCI_GUI/Debugging.pde

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class HelpWidget {
5454
int padding;
5555

5656
//current text shown in help widget, based on most recent command
57-
String currentOutput = "Learn how to use this application and more at openbci.github.io/Documentation/";
57+
String currentOutput = "Learn how to use this application and more at docs.openbci.com";
5858
OutputLevel curOutputLevel = OutputLevel.INFO;
5959

6060
HelpWidget(float _xPos, float _yPos, float _width, float _height) {

OpenBCI_GUI/FocusEnums.pde

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ public enum FocusXLim implements FocusEnum
1414
{
1515
FIVE (0, 5, "5 sec"),
1616
TEN (1, 10, "10 sec"),
17-
TWENTY (2, 20, "20 sec"),
18-
THIRTY (3, 30, "30 sec");
17+
TWENTY (2, 20, "20 sec");
1918

2019
private int index;
2120
private int value;

0 commit comments

Comments
 (0)