Hopefully I can give everyone some ideas on LabVIEW, the FRC-cRIO, and what training will be available.
LabVIEW is not a language. LabVIEW is a programming environment that is designed to be portable and cross platform. Furthermore LabVIEW can target and compile code for a variety of embedded targets with no code changes. LabVIEW FRC edition is special since it comes with special FRC specific palettes and VIs. It is also set up so it can target an FRC cRIO right out of the box.
Since there has been some concerns about the difficulty of installing LabVIEW and all of its components I will address this here as well. Installing LabVIEW for FRC is extremely easy. Everything is on one DVD and is packaged in single installer. This includes all drivers, and LabVIEW modules, and toolkits required for FRC.
Where can I find examples to get started
Currently, there is no code released for the FRC-cRIO. The FIRST support team at NI is working to develop as many examples as possible. We are also depending on our Beta teams for example writing and feedback.
So how to get started without code?
All of the different functions of the robot are implemented in several APIs. Some examples are Robot Drive, PWM, Gyro, Encoders, etc. They are all very easy to use and follow the same Open » Set/Get » Close programming paradigm with few exceptions. This is exactly how most other API in LabVIEW operate including TCP networking and file I/O. Simply put if you understand dataflow and how to use one API, you know them all. With this in mind the real power of LabVIEW (and any IDE) will be demonstrated by how teams solve engineering problems beyond the solutions that are included in any single shipped API.
http://www.chiefdelphi.com/forums/attachment.php?attachmentid=6805&stc=1&d=1220896708
As for getting started with LabVIEW there are tons of resources on ni.com, but some have been developed specifically for FIRST and can be found here:
Getting Started with NI LabVIEW Training
These tutorials do not cover any of the FRC specific APIs, but will get your up to speed on “how” you program in LabVIEW. We are developing FRC toolkit tutorials that follow this same format and they will be released before the build period. You can expect the first of these to go live by the end of the month.
**
Addressing platform specific questions. **
The cRIO is a much more flexible platform that most other embedded controllers including last years controller. This reason for this is the FPGA gives us the ability to create custom hardware in software rather than have the hardware described on a “hard wired” silicon chip or PCB.
But we don’t have access to the FPGA so why should we care?
Like it, hate it, or don’t understand it, the FPGA not being exposed to teams is a good thing. Learning FPGA from scratch and implementing it in 6 weeks would be beyond the scope of most teams and beyond NIs resources to train and support teams. Our engineers have put in an immense amount of work so teams can focus on higher level problems.
So why use a cRIO if its “flexibility” isn’t useful for team?
The fact that we can change the hardware in software is huge for FIRST. For example it allows us to roll out bug fixes without making any significant changes to the controller hardware. Looking ahead to future seasons, the FPGA will allows FIRST to use more and different sensors, motors, etc than would be possible with totally fixed hardware.
My Questions for you!
As I stated before the NI FRC Support team is writing examples as we speak, but we are looking for ideas for some specific examples teams expect. ** What would some of these examples be?** Don’t be afraid to post suggestions because they will likely get created 