Determine Pixhawk 1 vs 2 vs 2,1 via mavlink?

Is there a piece of information that can be retrieved via mavlink to determine if the flight controller is a pixhawk 1, pixhawk 2.0 (solo cube), or Pixhawk 2.1 cube?

Hi Pedals2Paddles,

I have a Pixhawk clone and a Pixhawk 2.

I’m not sure, but my best guess would be looking at SYSTEM_TIME.

On my Pixhawk 2, it shows up at 3.1 Hz
On my Pixhawk 1, it shows up at 2.0 Hz

Here are images to compare. I hope this helps. :slight_smile:

BRD_TYPE will be 2 on a PH1, and 3 on a PH2, that doesn’t give you any differentiation of a 2.1 vs 2. http://ardupilot.org/plane/docs/parameters.html#brd-type-board-type

It can’t be a parameter since that varies across versions and can be changed by the user. I need something that isn’t user changeable and consistent.

If a user changes that parameter incorrectly it won’t boot and they have bigger problems :slight_smile: That must be set correctly (and is automatically set unless a user sets it specifically).

It thats off it won’t detect all the right sensors/the right orders and will load bad orientations. You can definetly rely on that to distinguish a PH1 vs 2 vs any other board.

If the parameters have been reset, it won’t be reliable. It also won’t get me the 2.0 vs 2.1 which really what I’m primarily after. Because I have to be complicated :slight_smile:

It will be reliable after params have been reset. It’s automatically set at boot time.

It doesn’t resolve the 2 vs 2.1 though. That I grant you :slight_smile: You might be able to assess the COMPASS_DEV_ID’s for the secondary/tertiary compass for that? Not sure