UDP markers / docs?

Hi!

I am trying to set markers and I already figured out that OpenBCI_GUI listens to port 5100 for markers sent via UDP.

1. How to send markers / in which format?
2. Is there documentation somewhere?

I really wonder whether I just couldn't find the documentation. I took me quite a while to figure out that there is an UDP listener. So I started digging into the source code and found the handler in https://github.com/OpenBCI/OpenBCI_GUI/blob/16129254c346c5f21d930f4d29657a70c7c9d686/OpenBCI_GUI/OpenBCI_GUI.pde at line 397 but it's not straight forward to reverse engineer to get understand how to use it. 

However, I really wonder whether there is a documentation somewhere! Thanks!

Comments

  • wjcroftwjcroft Mount Shasta, CA
    Retani, hi.

    Is there some reason you require your markers to be received by the GUI in UDP? There are other ways to ways to get time stamps / sync via the AUX data.


    AJ @pushtheworld would know about the UDP.

    Which board, Cyton or Ganglion? Are you using a Wifi Shield?

    Regards, WIlliam

  • retaniretani Berlin
    edited June 2018
    Hi William,

    I am very new to these neuro-devices (not new to programming and psychology though). I am currently running experiments with a javascript tool which reads a script that tells you what to do (says "close your eyes now"), while recording through OpenBCI_GUI. So I thought it would be great if it could also leave markers in the data file too, so I can safely align them later on.

    However, as I couldn't find out how, I now consider acquiring the data through OSC and storing them independently in a database, so I can easily access and filter. I would then like to feed them to machine learning tools such as "Wekinator".

    I am using the bluetooth dongle with Cyton, latest OpenBCI_GUI on Mac.

    Thanks for the google search suggestion, the information about timestamps are interesting. Unfortunately, I couldn't find them in the OSC signal. Is it worth having a look at SLS?

    It's a bit difficult to find out what the standards and best practices are. I wonder, for example, how it's possible to run experiments that require high temporal precision such as ERP experiments (although that's just not my objective at the moment). Would I have to connect a cable to Cyton to send the markers in just the right moment?

    OpenBCI is a great project, but, as often with enthusiastic open source projects, it can be challenging to find accurate and up-to-date information. Especially when you are not exactly from the field, of course!

    I am greatful for more hints and links, thanks for your help!

    P.S. (@pushtheworld) It seems that the correct UDP message would be "MARK1" for example - "MARK" followed by an integer. However, OpenBCI_GUI does not seem to listen. It does't bind to port 5100. I think that the above mentioned UDP server code is not executed at all.
  • Hi this feature was added by a community member and we need to get better docs on it!

    I know hte markers are supposed to be a single ascii character, which is then sent to the board.

    I opened an issue on this to add docs! https://github.com/OpenBCI/OpenBCI_GUI/issues/341

    Thanks, let's figure this out!

Sign In or Register to comment.