Currently, the LabVIEW examples are simplified VIs with their own looping structure which handles timing and everything internally.
Based on what I’ve seen helping other teams, this makes easy to see the concept of the example, it makes it hard for some teams to integrate the concepts into the robot framework. Someone might put a while loop into telop, or copy the DS VIs, duplicating what already exists in the robot framework, etc.
Is there a way to improve this? I have a few ideas in the poll, but I think this is a great chance for brainstorming.
I did some very simplified examples in the 2009 style and upgraded them to the 2010 style this year. http://team358.org/files/programming/ControlSystem2009-/LabVIEW
You have to scroll down a bit to see the examples I worked with.
They seemed to help programmers I was working with, so I’ll probably use these or 2011 variations again next season.
The examples in LabVIEW are nice because of the hardware wiring diagrams NI incorporated this past season, but I found they seemed to cause a lot of confusion among the more inexperienced programmers they are supposed to help. Programmers who’d gotten accustomed to the latest framework could use the built-in NI examples to understand how to incorporate some of the more complex, non-intuitive vi’s.
Beginners seem to have trouble when an example gets too involved with more support elements and broader variations to complicate matters.
I think beginners need more drop in place code examples.
Intermediates & advanced programmers would probably benefit from a different style of more complex functions, but I’d still think keeping the examples as compact as possible benefits all groups.
I meant to revisit this sooner, but distractions, distractions,…
One important favorable point of the stand-alone examples that currently come with FRC LabVIEW is that they are handy for stand-alone troubleshooting. Beginners can try them, as-is, to see if their hardware is hooked up and operating correctly. And of course it’s always easier to start from a working example when beginners experiment.
Some of the more advanced concepts (e.g., DMA) probably shouldn’t be easily accessible in the default Framework, so beginners will be subtly discouraged from attempting to use them, but intermediates still have advanced examples to work with.
Examples using the latest 2011 Framework will still need to be stand-alone to retain this usefulness. Beginners are going to cut-and-paste without a complete knowledge of what it all means.
I’d think a comprehensive FAQ would more closely resemble a manual. Too thick and beginners won’t know where to look or what to look for.
What kinds of Question range and detail did you have in mind?
What target audience, e.g., mentor/student, beginner/intermediate/experienced, non-LabVIEW programming background, other categories?
Might be worthwhile to brainstorm the outlines of an FAQ.
By “comprehensive” I meant that it would include vetted answers to all (or at least most) of the repetitive questions that beginners were asking here in CD (and elsewhere).
I think gathering all these oft-asked questions into one place, with short authoritative answers (or links to where to find an answer quickly) would be a huge help.
A beginner to LabVIEW could start their learning journey by at least reading all the questions, so that when they encountered a problem they would know there was an answer.
Back in the day, before WWW, many usenet newsgroups had a FAQ. It allowed a motivated new learner to get kick-started. I realize not everyone learns the same way, but it seems there would be a large target audience for this.
If I had enough LabVIEW expertise I’d be tempted to try to get something started. I don’t
*
We’d need some long term way to maintain an FAQ and keep it up-to-date.
We have problems now with the Framework changes each season causing us to revise how we instruct rookies.
It should be removed, as being terribly out-of-date, but there is a very simplistic LabVIEW FAQ on CD left over from years ago when NI first introduced FRC students to LabVIEW. The language wasn’t used to program the robot at the time.
Sticky threads could be used with the basic FAQ that everyone could then add to as new questions arose. One of the problems we have to deal with to maintain an FAQ is how much the answers change each season. Long ago I had a Programming-Getting Started sticky thread that lots of people contributed to. The problem with a thread was it became both unwieldy and more and more dated as the seasons passed.
A third possibility is to use FIRSTwiki where everything could be edited as they change year-to-year. I don’t think there is an involved governing body in charge of FIRSTwiki anymore.
Perhaps you could help by supplying some of the questions then.
Oh I understand. It would be a bit of work to put together initially, plus some continued TLC to keep it authoritative and orderly. In the hands of the right person perhaps it could be a labor of love?
We have problems now with the Framework changes each season causing us to revise how we instruct rookies.
Yes. But I was thinking though that many of the lessons learned from 2010 would carry over into 2011.
Sticky threads could be used with the basic FAQ that everyone could then add to as new questions arose.
A third possibility is to use FIRSTwiki where everything could be edited as they change year-to-year. I don’t think there is an involved governing body in charge of FIRSTwiki anymore.
I like the “traditional” FAQ downloadable format with a complete list of questions up-front followed by answers. But beggars can’t be choosers.
Perhaps you could help by supplying some of the questions then.
I’m trying to get FIRSTWiki back into business as far as new information goes, though upgrades and stuff is impeding the amount of good work that I can put into it. I’m in the process of talking to Brandon about getting some dependencies updated so I can get MediaWiki updated. Astronouth7303 or Max have been the only “admins” who’ve responded to me.
I think FIRSTWiki would be a good place for such a FAQ, though I’m not sure what alternatives there are that would be with the possibility of being as organized.
This is a good idea as there really isn’t to much textual info on LabVIEW in FRC. Yeah there’s some, but not aimed at the same place.
I’d be willing to contribute readability/questions/answers.
We found the examples with the picture of how to wire up a control invaluable last year, specifically the gyro example. Having the connection between code and control was very useful. We found it simple to go from these examples to the framework.
Another thing that cost us time when we started using Labview were concepts like; how to create a use a global variable, passing parameters to a new VI. Finding info about basic things like this is tough if you don’t know what to search for in the help files.
An FAQ could just provide suggested search topics to answer some of these. The answers can get long and complex very quickly.
With some thought towards creating individual pdf tutorials, as an exercise I took snapshots of the discrete steps for creating a subVI, dressing up the new vi icon, and added a new input to it. That took 25 photos and then the text gets added.
The process is probably better suited to a video short. I tried making one of the same process and it’s done in a couple of minutes.
I for one prefer textual documentation with pictures that is detailed than a video. For one, it’s easier to manipulate a document and switch back and forth between LabVIEW on one screen than pause a video which may move at who knows what speed and resume without missing anything.
'Course that’s just what I find easier. Though you could probably create a video, grab screenshots from the video to use in a textual documentation.