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?
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.
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 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
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 You might be able to assess the COMPASS_DEV_ID’s for the secondary/tertiary compass for that? Not sure