Originally Posted by NotInControl
Looks like a lot of conversation has already been made with regards to these questions. I will take a stab at answering each. Please read the disclaimer to these answers at the bottom of this post.
There are two parts to this question, the API part, which is your interface, and what is changing on the backend of WPI
Lib. As of right now, as stated by NI the roborio will run the JavaSE Embedded JVM. This is based off of JavaSE7. The WPILibrary is currently written using JavaME as that is what runs on the current cRIO. WPI plans to upgrade the backend WPILibJ to take advantage of new features of the Java7 language such as genereics, auto unboxing, etc. HOWEVER, this is not likely to be implemented for the first year. I believe FIRST wants to have the transisiton as seemless as possible, and part of that is to keep the library the way it is for now.
As for the API, in either event, WPI lib will try it's hardest to keep the interface the same irrespective of weather or not the backend if based on JavaME or JavaSE.
Note, this does not affect your ability to use the features of JavaSE in code that does not depend on WPILib calls. In other words, you will be able to take full advantage of JavaSE in the code you write, even if WPILib is not re-written to support the new JVM.
One thing that might change out of the box is hardware indexing. Right now your hardware pins are 1 based in code (starting from 1)... there were talkins of changing this to be zero based, (1st pin will be (pin 0 in code), however it is not clear yet which way the WPI team will go on this one.
The RoboRio is an ARM based processor running a custom version of linux made by NI. NI Linux Real time. Obviously we do not have the rules for next year, but I would assume the JRE would be set. But efen if it isn't, as long as the JRE supports the ARM processor in the RoboRio, and its other hardware like memory I don't see why it would not work. As for upgrading, it would be a similar processes as upgrading any package on any other version of linux. NI Realtime has a full linux shell.
These questions are circumstantial. What we are running now, may not be what is released in 2015. The team is still in Alpha testing and are trying to see what packages are to be used to offer the most stable system overall. Right now my roborio has libc6 on it. As the dev team tries new things software versions can go up or down. In any event, wheather it is c++11 or not, that should not be a reason to no go the C++ route.
Should be very easy with few modifications. The WPI lib team is working to keep the API the same as best as possible. Direct compatibility may not be possible (think about module numbers when we first got the cRIOII vs the old 8-slot), but large portions of code will definetly be able to be reused.
FAST. File transfer the cross-compiled binary from your computer to the roborio and then execute it. No restart required. (The way it should be!)
The current radio we tested uses the USB port for power. I have not done concrete timing tests, but based on my early observations the full system was up in 20-40 seconds. I can do proper timing tests at a later time and provide a more acurate answer later.
Yes, WPI is the developer for the Java and C++ libraries as they have been in previous years.
The radio we have been using thus far are ASUS N-53. Wheather this is what will be rolled out with the final system is unclear at the moment. It is a USB wifi dongle and supports softAP mode (think wifi theter on your mobile device) as well as regular client mode. This hardware is not set in stone.
The roborio has a specified voltage input from 6.8V to 16V DC with a staged brown out of 4.5V to 6.8VDC I have not done brown out test yet, but will do after this season is over.
I don't know first hand. The roborio is linux based on a dual Arm Cortex 9, if you can compile it for that processor and memory constraints of the roborio, I do not see why it won't run. There is a full linux shell and you can use opkg to get additional packages on the rio.
I can give you a specific number later. I do not know at the moment, my inclination is that the weight is less. However, even if I measure the weight it will not be accurate. WE were given development hardware, the PD board and rio have no housing, they are just the PCB, the other modules had cases that were 3D printed. I can not say how much each of these items will weight once official casings are added to the mix. I assume what we have are just temporary to support our dev testing.
The roborio is not the radio as well. IT needs a radio device. Right now we are using a dongle provided as a candiate to provide that function (Asus N-53) not sure if this will be the final deviced used, but a device is needed.
Solenoids are not CANipede, they are a new product line from cross the road electronics, the Pneumatics Control Module (PCM) and Power Distribution Panel (PDP) have a can protocol built in.
If you only have a small number of actuators, nothing stops you from using the 4 relays onboard the cRIO for pneumatics. If you want more, then you must venture out and use the PCM. The PCM also takes in the compressor and DIO switch directly, so they do not need separate power or io from the roborio.
That is not implied at all. You are free to use any periperial device you like as long as there is a linux driver for it. USB camera, or put a ethernet switch for more ports. There are pros and cons to not having a dedicated switch on board. In all likely hood, most teams will probably be adding a switch to their robot just to have more ethernet ports. We always have at least a driverstation and programming laptop pluged in over ethernet.
We were told not to quote these products. Every team will get one in the 2015 KOP. Expect the system to be significantly less than the cRIO.
If the rules stays the same with regards to networking, nothing prevents you from adding a switch to your Robot. The dongle we are using right now is the Asus N-53, you can look up the poles of the antenna, although I assure you it is not single-poled. IF you want we can talk more about EM Waves and antenna theory.
The version of the RIO we have is not conformally coated. I am not sure if the final product will be. I plan to use the current sensors to tell if my motors are stalling or simply not driving the gearbox. That is all I really need them for. I am not sure how you can use them to detect shorts based on the they circuit they are apart of.
DISLAIMER: WE ARE IN ALPHA TEST PHASE. THE INFORMATION PROVIDED IS BASED ON WHAT WE HAVE NOW. THIS MAY VERY WELL CHANGE IN THE NEXT COMING MONTHS AS SOFTWARE AND HARDWARE DEVELOPMENT PROGRESSES. I CAN ASSURE YOU FIRST IS DOING EVERYTHING TO EASE THE TRANSISTION. FOR THOSE THAT MOVED FROM IFI TO CRIO BACK IN 2009, EXPECT A MORE SEEMLESS TRANSITION. ALL OF THE QUESTIONS REGARDING PERIPERIAL HARDWARE, AND SOFTWARE VERSIONS ARE SUBJECT TO CHANGE AS DEVELOPMENT INCREASES. IN ANY EVENT, THE 2015 CONTROL SYSTEM IS AWESOME, AND SHOULD BE A WELCOME CHANGE, DO NOT FEAR IT, OR LET INFORMATION PRESENTED DETER YOU FROM IT. WE DO NOT HAVE ALL OF THE ANSWER, BUT WILL TRY TO ANSWER THEM THE BEST WE CAN.
Hope this helps,
Kevin
|