I recently received my APM2 and am trying to figure out how the auto/manual mode switch is handled.

In the original Ardupilot (the atmega328 based board) this was done in separate hardware, so when the toggle/selection switch on the selection channel was set to manual, the RC receiver signals were passed straight through to the servos and the ardupilot had absolutely no control (it was 100% manual.) I liked this because if the AP firmware barfed for some reason I know I can always get back to 100% manual control.

I'm looking at my APM2 now, but I don't see the same selection implementation in hardware. Was a decision made to do this function entirely in the APM2 software? (Or am I misunderstanding something?) I've been trying to look through the code, but I'm still learning names and locations so I don't fully understand what is going on under the hood yet.

I'm hoping someone can enlighten me on what's going on, the design strategy, rational, etc.

Thanks!

Curt.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Curt 

    Manual/Auto is software based, there is not separate hardware mix like original Ardupilot or the APM 1, check out similar query on subject.

    If it is important to you have a look a a separate mux

     

    Paul

  • Just a quick follow up to my own question (I still want to know the answer because I suspect I'm not seeing something I should be.)  I can find references in the ArduPlane code (APM_Config.h.reference) saying MANUAL mode is full manual control via the hardware multiplexer.  But elsewhere in the code (Attitude.pde) I see if control_mode == MANUAL, the code appears to copy the receiver input values to the servo output values in software.  In my own experimentation (i.e. running a modified APM_radio demo), I toggle the selection switch (CH_8) but I never get straight pass through from my reciever ... the servos are always driven by the software outputs no matter which way the selection switch is set (and I verify the sensed value is changing from one extreme of the PWM range to the other.)

    So hopefully someone can clarify -- is there something I need to do to enable the straight multiplexer pass through?  Was this feature removed from the hardware?  Are the comments in some places in the code lagging?  Am I correctly understanding the code, or am I missing something?

    Thanks!

This reply was deleted.