I have started this discussion to help members, like myself, who have really had only limited experience with the Mission Planner (MP).
Since the MP can download the latest or any version of the ArduRover code, how can we modify the code to define which APM (APM1 or APM2) we are using or whether the Oilpan is attached (LITE = DISABLED)?
I have downloaded and modified version 2.20a of the ArduRover code to define my hardware configuration and loaded it into my APM1 using the Arduino IDE. However, the version 2.20b code that the MP can download does not seem to be available on the downloads and must therefore be in the git. My question is: of what use is the MP Ardurover firmware download capability if we cannot modify the code to reflect our hardware configuration prior to the download? Or am I missing something here?
The programming instructions of the ArduRover are somewhat sketchy in the ArduRover Wiki and it would be greatly appreicated if members who have successfully configured their ArduRovers using the MP could chime in here with some timely advice and direction.
Tom, I'm delighted you're doing this. Once you have it clear, could you please edit the wiki to make it more helpful for newcomers? Let me know if you don't already have edit permission there.
Will do Chris. I can take material out of this discussion when it becomes available and bolster the ArduRover Wiki.
Since the ArduRover has been added to the 1.2.13 version of the MP I am going to assume that the MP will adjust the ArduRover configuration file to match the hardware configuration (APM1 vs APM2, LITE vs Oilpan) as it does with the ArduPlane and ArduCopter. Comments?
ArduRover was in Mission Planner for a while. In the version you mentioned I just made it visible by adding an icon for it. It works the same as it did before by hitting CTRL+R "hidden" shortcut that many were unaware.
To be honest, I haven't checked what that code is doing, I just made it more visible.
And since it's all open source you could either suggest some patch to fix the issues you notice or if you are not feeling strong in changing the MP then you could post a list of required changes and maybe devs can have a look to address them.
Thanks for the input. Much appreciated.
Could you briefly describe, if you know, what the MP is doing when the ArduRover icon is selected in the Firmware Tab. Is the MP checking the configuration of the APM hardware so that the right configuration is selected (ie APM1 vs AMP2 or LITE vs Oilpan)?
From what I can see in the code it grabs this XML file and takes this info for ArduRover:
#define LITE DISABLED
#define CLI_ENABLED ENABLED
#define CLI_SLIDER_ENABLED DISABLED
#define CLOSED_LOOP_NAV ENABLED
#define AUTO_WP_RADIUS DISABLED
#define TRACE ENABLED
So as you can see it has three versions for different boards plus has some info (<desc> field) about used config, but this is what I just read from the code. I haven't used that.
Thanks for the quick response and analysis. Much appreciated! It looks like the APM_Config_Rover.h has no impact on the hardware configuration other than to enable the compass which is really necessary for good waypoint accuracy. The remainder of the hardware configuration can be accomplished in the MP Configuration Tab.
When the ArduRover is selected in the MP (v 1.2.13) should the Flight Modes change from "Stabilize" to "Learning"?
What version of the APM are you using? Have you tried using the CLI in the Terminal Mode to see what version of the ArduRover2 code has been loaded and to do low level testing of the GPS and other sensors? You might try loading on the latest ArduRover code using the Arudpilot Arduino IDE 1.0.3. The latest code compiles without a problem. Just make sure that you follow the instructions about using the Ardupilot IDE 1.0.3 that are on the comment wall.
Get the Ardupilot version of the Arduino IDE 1.0.3 here: http://code.google.com/p/ardupilot-mega/downloads/detail?name=ArduP...
Then follow these instructions:
For those of you who want to compile and use the latest ArduRover V2.30 alpha code, here is what you need to do:
1) Download the ArduPilot version of the Arduino IDE 1.0.3 per the link provided above.
2) Run the ArduPilot IDE 1.0.3 and, using "ArduPilot" in the header bar, select the correct HAL Board from the drop down menu. Then restart the ArduPilot IDE.
3) Load in the latest V2.30 Sketch (See Comment Wall). The ArduRover Sketch code must reside in the same root directory as the ArduPilot IDE.
4) There is no need to define your APM configuration anywhere in the ArduRover code. The HAL Board drop down menu will do it for you.
5) Now run the compiler and you should have no problem with the compile. Don't forget that the lastest ArduPilot libraries must be in the same Sketch folder as the ArduRover2 folder: ie ArduRover_v230_firmware/ArduRover2 and ArduRover_v230_firmware/libraries. Remember, ArduRover_v230_firmware must be in the same root directory as the ArduPilot IDE.
Hope this helps.