Earlier this week while I was sorting out a hot-shoe configuration I learned from @iampete and @tridge about the possible need for either a pull-up or pull-down resistor to prevent GPIO “float” that triggers an ISR flood - which could potentially cause the ArduPilot firmware to crash.
I fabricated and implemented a pull-up resistor that worked - but only temporarily.
For some strange reason that I’ve yet to figure out - the day after implementing the pull-up resistor it stopped working and the ISR flood condition resumed.
I decided to do some diagnostic work with my volt-ohm multi-meter. The camera’s manual recommended setting CAM_RELAY_ON=0 (low) to trigger the camera. So I elected to set RELAY_DEFAULT=1 (high).
Setting RELAY_DEFAULT=1 put a positive 3.5V on all the active GPIO pins - including the one I’d designated for hot-shoe input. So the hot-shoe signal was opposing this voltage on the pin.
I decided to reverse the triggering - defaulting the GIPO’s to LOW and triggering the shutter using the GPIO relay on HI so the hot-shoe input signal wasn’t working against the GPIO’s 3.5V. Using my multi-meter inline between the hot-shoe and GPIO pin to measure the voltage presented by the hot-shoe, the hot-shoe function began to work again.
Removing the multi-meter and directly connecting the hot-shoe to the GPIO pin caused the ISR flood problem. But inserting an in-line resistor instead of the multi-meter - the hot-shoe worked properly.
I started with a 1K ohm resistor, but found that a 2K ohm value worked as well - so I opted for that. 5K and 10K values did not work.
I was unfamiliar with pull-up and pull-down resistors - and I now have a working in-line resistor that may also have a name.
My question is - since an ISR Flood can be catastrophic, how safe might it be to fly with this in-line resistor? I may have well over a thousand images reported on the hot-shoe in a single flight.
Thank you for any thoughts or advice.