11-27-2023 08:09 AM
Has anyone had success with getting LabView Community Edition to work with an Arduino GIGA R1 WiFi board? I'm really struggling to get it to work.
12-22-2023 03:51 AM
Me too.
I think, it is not compatible between Arduino Giga and LINX markhub...
How can I make Arduino Giga and LINX markhub compatible?
12-30-2023 07:26 AM
I suspect we will just have to wait for National Instruments to update whatever they need to update in the Community edition of LabView.....
12-31-2023 08:36 AM - edited 12-31-2023 08:53 AM
The Hobbyist Toolkit consists of a number of elements that all need to work together. And it supports two somewhat different types of targets:
1) The ARM Cortex A based Raspberry Pi boards and Beaglebone Black boards
2) The Wiring library compatible boards (typically Arduino boards)
3) anything else
And because things can get complicated fast, there are several ways to interface to these boards.
For all of these boards you can simply develop an application in the preferred IDE of your target that communicates over Ethernet or Serial Port with any remote application. The protocol to use on this data link is entirely up to you. Then you can develop a LabVIEW, C(++), Python, Java, Rust or whatever application to communicate with your application on the target hardware and you have of course to match the protocol you used on your application. If you use LabVIEW, you either use the built in TCP/IP nodes (if your app uses Ethernet/Wifi) or NI-VISA (if it uses the serial port or TCP/IP) to communicate with your target application.
Second, for select boards in the group 1) and 2) there is a special library that can be installed on the target that the Hobbyist Toolkit can provide. This works by communicating through a simple proprietary protocol that the Hobbyist Toolkit VIs employ to talk with that target library that got installed on the supported target. Problem here is that for pretty much every target the according library needs to be at least recompiled and often also specific functions need to be adapted to work for that target. While the Hobbyist Toolkit comes with quite a few different supported Wiring library boards (some of them are not really available for purchase anymore) most of those boards are what was available when the Linx project was initially started around 2012-2015. Newer boards than that are sometimes supported since they are fully compatible with boards from that time, but others aren't and would require significant modifications to the Hobbyist Toolkit support library (which is written in C++ and compiled into a shared library) to work. Since NI has significantly changed their business model in the last 10 years, it is very unlikely that NI itself will make that change ever. They don't do low cost DAQ interfaces anymore and that excludes of course any even lower cost hardware that they don't manufacture at all themselves. Maybe they will pass maintenance of the Hobbyist Toolkit at least in parts back to Digilent, but the original developer who did most of the initial Hobbyist Toolkit while working for Digilent has long moved on to other tasks. It would likely have to come from the Community, but I think chances for that are very meager.
Last but not least you have the boards in the group 1). These can also be used as a direct target in a LabVIEW project to which you can deploy actual LabVIEW VIs. For people familiar with LabVIEW Real-Time it is a fairly easy step to do, for others it is a bit more complicated. Also the Hobbyist Toolkit was developed with Raspberry Pi B and 2 models in mind. It works for Raspberry Pi 3 and 4 models but doesn't recognize them and some of the features of newer boards are not supported. Again it is not very likely that NI will actually invest the effort to make these boards a fully supported target as there is no revenue to be gotten from that. And according efforts from the Community have been nearly non-existent in the last 10 years, so the hopes for that are also dim.
In short, if you can develop your application in the IDE of choice for your board, you can communicate to it from a LabVIEW program in whatever way you implemented in your application, but a fully integrated development experience from within LabVIEW is for most hardware an idle dream.
The main problem with better support for these boards is basically an unsustainable business model. Supporting all these boards by one party is completely impossible, since nobody is going to buy all these boards and maintain the according libraries to new versions for these boards. On the other hand people who want to have support for one specific board, seldom have the expertise to modify the necessary parts to support their board and if they have, they work in a commercial environment and are VERY unlikely to make those modifications available to the broad public, due to all kind of difficulties including legal questions about who owns the rights to these changes. Adding support for a new board type is a non trivial amount of work and doing that for nothing else than angry support requests about non functional features, is anything but a motivation boost.