Help with ardupilot - arducopter code understanding

hello. i am a high school student and my final project this year is building a quadcopter. our mentor challenged me and my team mate to use the pixhawk controller which use the ardupilot code. we have read the wiki and we walked through the code and there are a couple of things that we didn’t realy understand… could we get some help?

That’s what this forum is for. Describe your craft in detail and post the questions you have.

1 Like

first of all thank you for responding it realy helps. now, we have a quadcopter. we use the Transis QX7 to control it. basiclly, we dont need to know what everything does but there is 1 thing that we need to know to the deepest and it is the process that the RC output goes through until they are converted to pwm for each motor. we are using the pixhawk 1 as our FC. what we need to know is the answer for this question:
imagine i’m moving the pitch stick in the remote controller forward so the veichle should go forward midair. show me in the code the whole process that is going on here.
so we started with the fast_loop()
and then explained the update_flight_mode() function and the run() function.
in the run() function we couldnt figure our what does the input_euler_angle_roll_pitch_euler_rate_yaw() function does. and at the end there is the push() function in the RCOutput:

void RCOutput::push(void)
{
corked = false;
push_local();
#if HAL_WITH_IO_MCU
if (AP_BoardConfig::io_enabled()) {
iomcu.push();
}
#endif
}

from the wiki, this function suppose to send the pwm to the ESC but we can’t figure out how exactly. we know that we calculate the pwm values in the first push() function that is inside the SRV_Channels.
could you help us figure those stuff out?
thank you.