Quote:
Originally Posted by dcbrown
Previously with the PIC, "system programmers" had the advantage and "application programmers" who wanted all that h/w stuff hidden were at a disadvantage. The advent of WPILIB and EasyC closed some of that gap, but still the plaform was more systems programmer friendly.
The platform was kinda backwards, often requiring a lot of systems knowledge before you could become an applications programmer. This typically meant new programmers were at a disadvantage.
|
Working with software at the device level is what made the FRC embedded software development experience different and in my opinion more valuable then just more applications level programming experience. After all, application programming experience is widely supported and easily accessible whether it be using the free microsoft C++ express or win/mac/linux JAVA, Python, etc. As a small example, it is clearly important that the students have the opportunity to understand that a gyro outputs a voltage proportional to rate and you can integrate that to get direction, likewise for an accelerometer. If the programming experience is totally abstracted we may as well just compete in a totally simulated first fantasy competition. Why get your hands dirty fabricating metal and hooking up wires with CAD, animation, and applications level software? Because the FIRST experience gets you beyond the computer screen. The cRIO system experience could be fantastic as long as the teams are allowed to and rewarded by writing their own VHDL or developing custom sensors and sensor interfaces. On the software side it might actually be a wonderful eye opening experience to realize that there are other data types besides long and double because in the real world of robotics and other real-time number crunching applications you might have to actually use fixed point math. It is never too early to get a taste of the real world.