One of the advantages to using the Pixhawk is the ability to create custom control configurations. This is necessary for Goliath since it's using a single engine with variable pitch propellers. Previously, having a custom mixer wasn't necessary since the standard quad mixer worked reasonably well with the variable pitch rotors as the PWM signals map in a similar manner. The downside to using the standard mixer is that the engine speed and thrust are not coupled, which made it difficult to control the engine RPM properly. Now that all four rotors are variable pitch, the thrust and engine speed need to be coupled together, making a custom mixer necessary.
The process is supposed to be straightforward. You write a custom file, copy it to the SD card and update the configuration file on the SD card to point to the new mixer. After doing all that the rotors stopped working. After a lot of debugging and gnashing of teeth, it turns out there are currently some bugs in the PX4 build (https://github.com/PX4/Firmware/issues/8975).
The workaround is to add the mixers to the Firmware source code, and flash the updated firmware to the PX4. Makes debugging a slower process as every time I want to make a change, I have to flash the firmware versus directly editing the file on the SD card, but it's working. The issue is supposed to be fixed in one of the upcoming releases, and things can hopefully go back to normal.
At this point I was hoping to write that I have a new mixer file. Nope, that didn't happen. In the process of debugging the mixer, the Pixhawk is now refusing to arm, giving the error:
PREFLIGHT FAIL: EKF INTERNAL CHECKS
I've tried some of the easy steps to address this, but none of them worked. Since I can't arm, I can't test the custom mixer. So this needs to be addressed before I can finalize the mixer.