-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labview Interface #21
Comments
liblsl uses a C API. Are you including lsl_c.h? |
To use a few more words that Chadwick: The primary interface for LSL is written in C, and is visible in lsl_c.h. lsl_cpp.h is a wrapper around lsl_c.h. LabView should interface with lsl_c.h fine, and you won't lose any functionality by doing so. |
Thx for the very fast response! It was on spot. I didn't understand that the C API was complete. I managed to wrap some functions of the C Interface with LabVIEW and created an outlet appearing as "(invalid: bad lexical cast: source type value could not be interpreted as target) ()" in Lab Recorder. So far I call that a success. Ill put more time into that interface next week. Have a nice weekend! |
@maltesen, hi. Do you have any updates on your LabVIEW LSL capability? It would also be helpful for those OpenBCI users who want to stream data from our Cyton or Ganglion boards. Let us know if you have a website or repo. Regards, William Croft, OpenBCI |
That issue that maltesen ran into should be fixed in the latest releases. https://github.com/sccn/liblsl/releases |
I just made my code public due to @wjcroft s request.: https://github.com/maltesen/liblsl-LabVIEW |
@maltesen / Malte, you are a gentleman and a scholar! Thanks so much. Have referred our forum thread to your code and this issue. Best regards, William Croft, OpenBCI |
Dear @maltesen, |
Havent worked with the code in ages. Ended up not using it. Its incompleete
as well. I scetched out how to add the bindings in labview to the compiled
library. Ask the developers if lsl if there is a more recent way please.
vg <[email protected]> schrieb am Di., 12. Jan. 2021, 11:40:
Dear @maltesen <https://github.com/maltesen>,
I need to stream data from Emotiv Epoc Flex to LabView. Emotiv support LSL
connection with Matlab (https://github.com/Emotiv/labstreaminglayer) but
no information about LSL sta exchange to LabView.
Can you please help me to do it with your code?I'm using Mac. Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJUNOYIVTDJCP4O5H7HMGETSZQRLLANCNFSM4HKCOK5Q>
.
--
…_____________________________________________________________________
Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; Gerichtsstand: Hamburg | www.uke.de
Vorstandsmitglieder: Prof. Dr. Burkhard Göke (Vorsitzender), Joachim Prölß, Prof. Dr. Blanche Schwappach-Pignataro, Marya Verdel
_____________________________________________________________________
SAVE PAPER - THINK BEFORE PRINTING
|
Dear @maltesen thank you for reply. |
It appears there is a websocket library for labview available.:
https://forums.ni.com/t5/Example-Code/LabVIEW-WebSockets-Library/ta-p/3491490?profile.language=en
I would probably use that instead of LSL. To be honest i was not very
satisfied with how LSL is implemented.
Not sure if you have access to both sides of the code, but i would try to
use something like JSON in the next layer ontop of websocket in order to
cleanly serialize and deserialize the data on the sending and receiving
end. programming this next step yourself is very error prone due to the
typecasting involved. JSON is fast and there is libraries for almost any
language, also for labview..: https://en.wikipedia.org/wiki/JSON
Am Di., 12. Jan. 2021 um 22:47 Uhr schrieb vg1969 <[email protected]
:
Dear @maltesen <https://github.com/maltesen> thank you for reply.
The real time data exchange between Emotiv and LabView can be performed
using LSL or websocket.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJUNOYKM27VQFGNUIZ7A2P3SZS7NLANCNFSM4HKCOK5Q>
.
--
…_____________________________________________________________________
Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; Gerichtsstand: Hamburg | www.uke.de
Vorstandsmitglieder: Prof. Dr. Burkhard Göke (Vorsitzender), Joachim Prölß, Prof. Dr. Blanche Schwappach-Pignataro, Marya Verdel
_____________________________________________________________________
SAVE PAPER - THINK BEFORE PRINTING
|
p.s.: programming this next step yourself (instead of using JSON or
similar) is very error prone due to the typecasting involved
Am Mi., 13. Jan. 2021 um 08:42 Uhr schrieb Malte Sengelmann <
[email protected]>:
It appears there is a websocket library for labview available.:
https://forums.ni.com/t5/Example-Code/LabVIEW-WebSockets-Library/ta-p/3491490?profile.language=en
I would probably use that instead of LSL. To be honest i was not very
satisfied with how LSL is implemented.
Not sure if you have access to both sides of the code, but i would try to
use something like JSON in the next layer ontop of websocket in order to
cleanly serialize and deserialize the data on the sending and receiving
end. programming this next step yourself is very error prone due to the
typecasting involved. JSON is fast and there is libraries for almost any
language, also for labview..: https://en.wikipedia.org/wiki/JSON
Am Di., 12. Jan. 2021 um 22:47 Uhr schrieb vg1969 <
***@***.***>:
> Dear @maltesen <https://github.com/maltesen> thank you for reply.
> The real time data exchange between Emotiv and LabView can be performed
> using LSL or websocket.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#21 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AJUNOYKM27VQFGNUIZ7A2P3SZS7NLANCNFSM4HKCOK5Q>
> .
>
--
…_____________________________________________________________________
Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; Gerichtsstand: Hamburg | www.uke.de
Vorstandsmitglieder: Prof. Dr. Burkhard Göke (Vorsitzender), Joachim Prölß, Prof. Dr. Blanche Schwappach-Pignataro, Marya Verdel
_____________________________________________________________________
SAVE PAPER - THINK BEFORE PRINTING
|
Thank you very much for support. |
You could try to use the mathscript box inside of labview code and have
that use the matlab implementation of lsl if thats already working. Not
sure how efficient that is though
vg1969 <[email protected]> schrieb am Mi., 13. Jan. 2021, 09:07:
Thank you very much for support.
I thought it was simpler. The interface with Matlab using LSL is easy
using the function vis_stream.m (
https://github.com/Emotiv/labstreaminglayer/blob/master/examples/matlab/readme.md)
but I need to use LabView with something likes this code (
https://forums.ni.com/t5/Example-Code/LabVIEW-Emotiv-Toolkit-V2/ta-p/3493301?profile.language=it)
that is used for the oldest version of Emotiv devices.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJUNOYIEWD3RYZHHR5IYWFTSZVIFZANCNFSM4HKCOK5Q>
.
--
…_____________________________________________________________________
Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; Gerichtsstand: Hamburg | www.uke.de
Vorstandsmitglieder: Prof. Dr. Burkhard Göke (Vorsitzender), Joachim Prölß, Prof. Dr. Blanche Schwappach-Pignataro, Marya Verdel
_____________________________________________________________________
SAVE PAPER - THINK BEFORE PRINTING
|
I think is a good solution. I will try |
Hey there.
I require a Labview Interface to liblsl. When triing to create a wrapper for the liblsl64.dll in labview i noticed that labview cant interface methods which use classes (C++) like xml_element, stream_info, stream_outlet, or stream_inlet as parameters or return types. My current idea is to create a C wrapper for the C++ Code (like so: https://stackoverflow.com/questions/32572505/labview-dll-import ) which i would then compile to a dll and wrap again with labview (like so: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019Ls1SAE&l=de-DE ).
From quickly looking over the i.e. matlab interface i noticed, that those, to my understanding, fully rewrite the classes. I am not sure if that is a better approach. It seems that it would be harder to maintain if lsl is updated.
Before starting to try to implement the wrapper-wrapper i wanted to ask for advice, if a labview interface is already available or planned, or if pure C wrapper code (which would be usefull for other language interfaces as well) is already available.
thank you very much for your time!
The text was updated successfully, but these errors were encountered: