Safety Switch working opposite of expected (Pixhawk 2.1 and HereGPS)

Hi everybody. I’m not new to Pixhawk but I am new to the PX4 firmware. I have an X8 copter that I set up, but it seems that while the safety switch state is being read properly by the FC, the state it puts the ESCs into is backwards. When I boot up the copter, the ESCs immediately arm. If I try to arm the copter via stick command or QGC, it fails because I haven’t pressed the safety switch.

Once I hold the safety switch, the ESCs disconnect and go into no signal mode. However, I can arm the copter using stick command and QGC. This obviously doesn’t let me fly since the ESCs receive no signal. If anybody could help I would really appreciate it!

There was one other person who had this issue, but he only had the issue with firmware he compiled on his own. Motor armed before pushing safety switch and not arming after safety sw on

Hardware: Pixhawk 2.1 with Here GPS, RFDesign RFD900x radios. 400Hz pwm ESCs.
Software: QGC for windows, PX4 flight stack (tried both stable and beta)

I also tried flashing ArduPilot and the safety switch works perfectly, suggesting it’s a firmware issue.

We can check the logs, but initially this sounds like the pixhawk is disarmed, but the ESC disarm value isn’t correct.

Which airframe did you select? Did you change any parameters?
Could you enable logging from boot (SDLOG_MODE 1) and try again? We’ll use it to check the system arming state and what signal the ESCs are being sent. Post the log to https://logs.px4.io/.