GPIO ISR Flood - bug or misconfig

Using Copter 4.3 I’m experiencing an “ISR Flood” problem - identical to the situation reported in a bug report by @Steven_Young back in 2021 for Plane:

The bug was found by @tridge to be a mis-config - and the bug report closed.

The crux of the matter is that an “ISR Flood” occurs when a GPIO pin is configured by multiple functions - hence a mis-config.

I’m using Aux-5 (pin 54) for hot-shoe input and Aux-6 (pin 55) for camera shutter relay.

My problem is that I can’t identify my mis-config. While unlikely, I wonder if this may possibly be a bug in Copter.

Identical to @Steven_Young , I’m using a Aux-port relay to operate the shutter of a FoxTech Map-02 and Aux-port input for hot-shoe.

The are two differences:

  1. I’m using Copter, not Plane
  2. Since I’m using Aux1-4 for Dshot, I’m using different pins than @Steven_Young - I’m using Aux 5 for the hot-shoe input and Aux 6 for the relay shutter trigger.

@Steven_Young made a comment in a related Discuss post that describes how to avoid the mis-config:

By logging when disarmed, I’ve demonstrated this problem on my workbench - and recorded it in this log: Dropbox - GPIO TEST - 1980-01-06 07-48-16.bin - Simplify your life

On this test, I operated the shutter 10 times. On the map - only two camera icons appear. In the log, 4 CAM messages are recorded, and 10 TRIG messages are recorded.

And in the MAVLINK message log the ISR Flood is reported.

I checked that I’ve configured the relay and camera parameters per @Steven_Young comment:

I think this is now redundant, but I’ve also set the Servo GPIO mask.

This post is a follow-on to a post I made yesterday about CAM and TRIG messages as documented in the wiki - and the investigation help by @dkemxr and @Naterater led to this post.

I’d appreciate any help or advice in tracking down this problem. Many Thanks!

As an experiment, I moved the GPIO Relay over from Aux-6 to Main-8, and moved the GPIO Hot-Shoe input over from Aux-5 to Aux-6.

Then tested again - triggering the camera 16 times. The results were identical to the post described above. Still getting the ISR Flood error.

One difference, there were 5 CAM messages posted to the log, instead of 4. The map still only displayed two camera icons.

Thank you!

I’m not sure if your hardware is compatible with older firmwares, but I recall about a year or more ago when I upgraded firmware and ran into this problem too with plane. I didn’t have time to roll back firmware or bench test, but could you try copter 3.6.9 or 4.0.0? There are definitely a lot of parameter changes since then, so be sure to back up what you have now. Also see Internal error 0x2000000 - #13 by Steven_Young for more similar discussion. Maybe before downgrading, try a few more tests.

Thanks Nathen -

I have seen Steven Young’s bug report on this (unless there’s more than one) - and there were two responses:

  1. The problem was caused by a parameter mis-configuration.
  2. A Pre-Arm message was added to provide an alert if this condition existed.

If the problem can’t be resolved in Copter 4.3, I’m not sure exploring old releases is my best course. (or at least my best use of time) I think I’ve studied all the available material about the GPIO changes, and have configured my parameters properly.

There is the possibility that there’s something weird about the Foxtech Map-02’s hot-shoe signal.

As I understand it, the Sony A5100 doesn’t have a hot shoe. So Foxtech “engineered” a hot-shoe lead from the A5100 internals that they use for the Map-02.

If it becomes necessary, rather than going backwards, I’d rather go forward with an alternate geo-tag strategy. I have a Seagull #MAP-X2 that geotags using GNSS and Sync inputs - I’m more likely to give that a try. And at some point I’m going to try an AirPixel.

But for now - I’ve got my fingers crossed that I can geotag using hot-shoe input direct from ArduPilot and the Cube.

Many Thanks!

HI Joseph,
Unfortunately I’ve got nothing to add, except I wish I had of logged the number of hours I spent testing all the parameters to solve my problem. Copter and plane I believe can be very different beasts.

Steve

Parameter 22 July 2021 Reviewed and saved.param (21.7 KB)
Hi Joseph,
Here is a copy of my parameters, Plane (4.0.x at a guess from the date) hope they help with camera settings.

Hello Steve -

Thank you for getting in touch.

As it happens, the issue was nothing like I’d anticipated.

It turns out that for the Foxtech Map-02 hot-shoe to work properly, it requires a “pull-up” resistor.

I think there used to be something in the ArduPilot wiki about this. Given how sparse the information is about this topic these days, I’m guessing that people simply don’t use Aux port input for hot-shoe geotagging much any more. Either that - or they don’t spend any time on these forums.

I did find someone who had an old diagram from the wiki that illustrates the requirement.

ardupilot wiki pull-up drawing

And a member of the DEV team, @iampete contributed essentially the same information.

If you’re curious - here’s an article that speaks to the technical topic:

In the end - I don’t believe there would be any difference in how Copter and Plane dealt with issue.

BTW - The response you got from @tridge on your Bug Report doesn’t make sense in light of what I’ve found - so I’m wondering if our problems were the same. As I recall, the Bug Report was closed and indicated you had simply mis-configured your parameters. If you had the same problem as me - that would be impossible. The only solution would be the installation of a pull-up resistor.

Thanks and regards - Joe

Every now and then have the same issue . WORKAROUND is to have camera off and feedback connector disconnected when FC is powering up. Have yet to flight test it.
Traditional heli V4.4.4, cube orange, Fuji GFX100s.
using the relay function to trigger and Camera POL on Aux6. No resistor off SYNC cable (other type of hotshoe output).

CAM1_TYPE= RELAY
Servo13_function=0 (max 1900, min1100)
CAM1_DURATION=0.5
SERVO_GPIO mask set for Servo13 and servo14
RELAY_PIN=54 (AUX5)
CAM1_FEEDBAK_PIN=Aux6/ pin55
CAM1_FEEDBAK_POL=0