I'm looking at the Servo Switch in the DIY Drones store (https://store.diydrones.com/ServoSwitch_V10_p/br-0007-01.htm ) and I notice that "firmware" ZIP contains only one C file, Fail_Safe.c. The source seems to mention MUXs and controlling Megas and other stuff that is relevant to failsafes but confuses me in the context of a servo switch. Can someone clarify?
I'm not very familure with the code, but I believe most of that is in there to support handling failure cases, to ensure the relay does not get left "on" during certain failure conditions. I suspect some of the code was borrowed from previous work, since this hardware is most useful for APM2 users. One of several differences between APM1 and APM2 is APM2 does not include this relay onboard.
You want some kind of watchdog and failure handling in case things go haywire. You don't want to keep the relay "on" if it is used for heavy draw components like an LED strip, or if it were used as part of a camera trigger w/ transistors or directly wired to a circuit when you lose RX signal. At least, I think that is the idea. Someone else can confirm when they see your message.