A new PPM encoder firmware has been released. This applies to APM2.x, APM1.x and the standalone PPM encoder.
Basically, a PPM encoder converts the 8 incoming PWM signals to one PPM signal that is then fed to the main processor. While doing so it detects if a cable from the receiver the the APM gets disconnected or if the receiver stops working.
Changes:
- New interrupt system that handles certain Futaba receivers better (simultaneous changes on groups of R/C channels in fast intervals) (this was already present in v2.3.13)
- Adapted behaviour in case of channel loss: If one channel is lost, it will be set according to the following table. The other channels will continue working.
Channel 1 Roll Set to center (1500 μs) Channel 2 Pitch Set to center (1500 μs) Channel 3 Throttle Set to low (900 μs) Channel 4 Yaw Set to center (1500 μs) Channel 5 ... Remain at last value Channel 6 ... Remain at last value Channel 7 ... Remain at last value Channel 8 ... Remain at last value
In ArduCopter and ArduPlane a fail-safe action can be triggered by the throttle low signal.
This should be carefully configured as explained in the wiki for ArduCopter and ArduPlane.
Also note that this has nothing to do with loosing radio connection between the transmitter and the receiver. The receiver's behaviour when it gets out of range depends on the transmitter/receiver hardware and setup. So make sure to go through all the scenarios before flying
Functionality
APM 2.x LED Status:
- RX - OFF = No input signal detected
- RX - SLOW TOGGLE = Input signal OK
- RX - FAST TOGGLE = Invalid input signal(s) detected
- RX - ON = Input signal(s) lost during flight and fail-safe activated
- TX - OFF= PPM output disabled
- TX - FAST TOGGLE = PPM output enabled
- TX - SLOW TOGGLE = PPM pass-trough mode
APM 1.x LED Status:
Normal mode:
- Error condition (All channels lost or throttle channel lost): blue LED blinks very fast
- Normal behaviour: blue LED blinks according to throttle position
Radio Passthrough mode (for ArduPlane only, using firmware with channel 8 override):
- If throttle position < 1200 μs, status LED is off
- If throttle position > 1200 μs, status LED is on
Normal servo Input (PWM) mode:
- PPM output will not be enabled unless a input signal has been detected and verified
- Verified inputs are lost during operation (lose servo wire or receiver malfunction):
- The last known value of the lost input channel is kept for ~1 second
- If the lost input channel is not restored within ~1 second, it will be set to the default fail-safe value (for channel 1-4) or kept at the last value (for channel 5-8)
- Lost channel signal is restored: Normal channel operation is restored using the valid input signal
PPM pass-through mode mode (signal pin 2&3 shorted):
- PPM output will not be enabled unless a input signal has been detected
- Active signal on input channel 1 has been detected:
- Any input level changes will be passed directly to the PPM output (PPM pass-trough)
- If no input level changes are detected withing 250ms:
- PPM output is enabled and default fail-safe values for all eight channels transmitted
- Input level change detected again, PPM fail-safe output is terminated and normal PPM pass-through operation is restored
Download
The hex file files are located in the downloads section:
- APM2.x
- APM1.x (or standalone PPM encoder)
- APM1.x (or standalone PPM encoder) (with channel 8 override)
Flashing/Updating
The instructions on how to flash the the PPM encoder firmware can be found in the wiki:
Comments
I don't know how you have gotten to the state the APM is in, but you have at least 2 problems. If the Blue LED is blinking that means the code in the 2560 has been erased and the 2560 is in bootloader mode. Perhaps you tried to load the PPM code onto the 2560 and it erased the device and then did not load the code but for whatever reason the 2560 has been erased.
Problem 2: Ryan is your board a real APM? Some of the clone boards do not have a bootloader in the PPM encoder chip?
If it is real, then go back through the instructions http://copter.ardupilot.com/wiki/common-program-the-atmega32u2-ppm-...
When you install JP2 and reset the device, the APM should show up in the device manager and be recognized by the programming software. If does not then it has no bootloader and you will have to install one.
I have tried connecting on several computers (all of which recognize my other APM 2.5 correctly), but to no avail. I can try reinstalling the driver, but I don't understand how that could be the issue if it was functioning correctly before and is functioning correctly with other APMs.
If you can see the APM in device manager try uninstalling the driver, rebooting, and then reconnecting the APM. This may fix the issue.
If you read my post above, that is exactly what I did. I am unable to use MP to load the new firmware.
Install 2.3.16 per the normal instructions. Remember to take The JP2 jumper off. Now load firmware onto the APM using Mission Planner.
I have an APM 2.5 with Arducopter 2.9.2. I was planning to upgrade v3 and as per the instructions, attempted to upgrade the ppm encoder. I followed the directions for APM 2.5 exactly (and used PPM encoder v2.3.16). Everything upgraded as expected (all the dots turned green, etc), except now MP won't connect at all (mavlink via com or telem). CLI also won't work. I removed jp2 and I see it correctly as Arduino Mega 2560 under the com ports (COM5 specifically) in the device manager (Win 7). When I try to upload a new version of arducopter via MP it gives me a "Check port settings or port in use? System.TimeoutException...".
I have tried updating the PPM encoder several times as well as restarting the computer. I have also tried reverting it to PPMv2.2.68 all with no luck. With nothing connected to the APM except a powered usb connection I get a solid green LED (alive) and the blue led (C) blinks 6 times, stops; rinse, repeat.
Please help!
@Indre: As far as I know there have not been any changes for the PPM passthrough mode. It might be possible that it's a tiny bit more accurate because there have been speed improvements but this is just my guess.
I have APM 2.5 and my Frsky receiver outputs CPPM. Is PPM encoder still used somehow while i use CPPM?
If it's not and i never plan to use conventional PPM inputs there is no need for me to update ArduPPM software right?
@Julian PPM updated and all problems have been solved first receiver now working well
@Julian Thanks I have ordered a programmer and will update to 2.3.16