Customizing the apm planner and the code on APM 2.5

hi everyone, I’m making a school science fair project where I want to control a jet-ski equipped with a pan tilt camera based on the ardupilot, I’m an intermediate coder and used to the arduino, but when i checked the ArduRover firmware it wasn’t what I expected, it looked nothing like the arduino code I’m used to.

what i want to do exactly is to change or add some features to the ArduRover firmware,so it will be able to control the jet-ski and keep the camera stabilized, i will use servos for the jet-ski control but the camera gimble has brushed motors so ill be using PWM to control them, i also want to change the APM Planner UI to fit my need, i got the Planner’s source code but i don’t know which program to use,if someone can tell me or send me a link to some tutorial, I’m really stuck here guys, any advice, anything would be very helpful, im ready to learn anything, if this project works it could help me get a scholarship

I believe the reason that the ArduRover firmware does not look like what you were expecting Arduino code to look like is that we use a special version of the Arduino IDE that works with a Hardware Abstraction Layer that allows the IDE to compile PX4/Pixhawk source code as well as Arduino code.
Ardupilot IDE:


I understand that, but the problem I need solved is how or where can I learn and understand the firmware, in a way that allows me to do some minor adjustment, this is what I want to do exactly:
1-I want to change the pin mode of about 4 pins so that they give PWM to allow me to control the pan-tilt motors of the camera, and also use the on-board magnetometer and accelerometers to keep the cam steady even if the jet-ski is rocking from side to side.

2-I want to change the HUD in the UI of the mission planner to fit my needs, since i might be using more than one camera, I want the HUD to change with the camera.

3-also if it is possible, how to use the extra serial pins

In order to do this I need to learn how the ArduRover firmware works, so if there are any tutorials,references or examples that might help me learn and understand it. also i need to know which program should I use to customize the apm planner then compile it, do I use visual studio or another program.

I understand that some of you might be concerned that it might be dangerous or might hurt someone, don’t worry ,I know what I’m doing and the risks involved, and that’s why i have limited the speed of the jet-ski to 10Km/hour in addition to multiple fail-safes in case of any malfunction.

This project once finished will be used for quick disaster response, such as a sinking ship or oil spills, saving injured or someone drowning ,and can be even used to monitor the ecosystem or offshore installations.
Your help is appreciated.

I have a similiar problem, which I posted on a different section:

Basically the firmware is too complex even to make the slightest of changes. I’m also not having success with the doxygen stuff, which should supposedly give us this information.

Adding weight here, any sort of feedback would be much appreciated.