Skip to content

Commit 4acfbf8

Browse files
committed
ganglion: functions to set test signal and channel
1 parent 443f9f2 commit 4acfbf8

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

open_bci_ganglion.py

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,51 @@ def start_streaming(self, callback, lapse=-1):
271271
def waitForNotifications(self, delay):
272272
""" Allow some time for the board to receive new data. """
273273
self.gang.waitForNotifications(delay)
274-
274+
275+
276+
def test_signal(self, signal):
277+
""" Enable / disable test signal """
278+
if signal == 0:
279+
self.warn("Disabling synthetic square wave")
280+
try:
281+
self.char_write.write(b']')
282+
except Exception as e:
283+
print("Something went wrong while setting signal: " + str(e))
284+
elif signal == 1:
285+
self.warn("Eisabling synthetic square wave")
286+
try:
287+
self.char_write.write(b'[')
288+
except Exception as e:
289+
print("Something went wrong while setting signal: " + str(e))
290+
else:
291+
self.warn("%s is not a known test signal. Valid signal is 0-1" %(signal))
292+
293+
def set_channel(self, channel, toggle_position):
294+
""" Enable / disable channels """
295+
try:
296+
#Commands to set toggle to on position
297+
if toggle_position == 1:
298+
if channel is 1:
299+
self.ser.write(b'!')
300+
if channel is 2:
301+
self.ser.write(b'@')
302+
if channel is 3:
303+
self.ser.write(b'#')
304+
if channel is 4:
305+
self.ser.write(b'$')
306+
#Commands to set toggle to off position
307+
elif toggle_position == 0:
308+
if channel is 1:
309+
self.ser.write(b'1')
310+
if channel is 2:
311+
self.ser.write(b'2')
312+
if channel is 3:
313+
self.ser.write(b'3')
314+
if channel is 4:
315+
self.ser.write(b'4')
316+
except Exception as e:
317+
print("Something went wrong while setting channels: " + str(e))
318+
275319
"""
276320
277321
Clean Up (atexit)

open_bci_v3.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ def disable_filters(self):
474474
self.filtering_data = False;
475475

476476
def test_signal(self, signal):
477+
""" Enable / disable test signal """
477478
if signal == 0:
478479
self.ser.write(b'0')
479480
self.warn("Connecting all pins to ground")
@@ -496,6 +497,7 @@ def test_signal(self, signal):
496497
self.warn("%s is not a known test signal. Valid signals go from 0-5" %(signal))
497498

498499
def set_channel(self, channel, toggle_position):
500+
""" Enable / disable channels """
499501
#Commands to set toggle to on position
500502
if toggle_position == 1:
501503
if channel is 1:

0 commit comments

Comments
 (0)