Ok, did some sniffing of the raw can bus. It's definitely J1939, mostly standard PGN/SPNs but a few Manufacturer defined. For anyone who cares later I've put my notes at the end of this. The way it works is the ID field defines the Source and PGN. The SPN is defined in the J1939 spec for the PGN and basically tells you what bits to look at in the data.
The PGN is in hex and is the 3rd thru 6th characters of the ID, For example 0CFF6600, the PGN is FF66, or 65382 in decimal. You can also enter the whole ID here:
J1939 Online 29-bit CAN ID to PGN Converter and it will tell you the PGN.
A google search tells us that is a manufacturer defined PGN.
ISOBUS Data Dictionary - View PGNAndSPN. Messing with the engine and watching the data change tells us that that's the engine RPM. Looking at what this guy did
milodarling/RZR_CAN_HACKS tells us how the data is laid out and how to convert it.
ID DLC Data Period Count Comment
0CF00400 8 FF FF FF 00 00 FF FF FF 20 169757 Engine Speed from ECU
0CFF6600 8 00 00 FF FF FF FF FF FF 20 169806 RPM First and second bit
10FF6500 8 FF FF FF FF FF FF FF FF 199 16976 Something Polaris Specific
18F00500 8 FF FF FF FF 20 50 FF FF 103 33917 Gear Selection 5th and 6th bit, 20 50 P, 20 52 R, 20 4e N, 20 4c L, 20 48 h ASCII: P
18FDE500 8 0A 14 1E 28 32 3C 78 FA 1002 3394 Max vehicle speed 1-7
18FEC117 8 F8 5F 03 00 10 00 00 00 5003 680 Vehicle distance driven, 5 meters per bit, 4 bytes , trip distance, 5m per bit, 4 bytes
18FECA00 8 40 FF 00 00 00 00 FF FF 1001 3394 Engine OK Signal
18FECA13 8 00 FF 00 00 00 00 FF FF 1001 3306 Code to be read, fault lamp, can indicate data packets, see j1939 spec.
18FEEE00 8 5B FF FF FF FF FF FF FF 1001 3393 Engine Temp? first bit 52=107F 53=109F 54=111F, 55=113F
18FEF100 8 33 00 00 FF FF FF FF FF 100 33885 Vehicle speed
18FEF200 8 00 00 00 FB 00 00 00 FF 100 29966 7th bit throttle position 00-ED, first bit fuel rate
18FEFC17 8 FF B9 FF FF FF FF FF FF 5003 677 Fuel Level Sensor
18FF6713 8 05 7D 00 7D 00 80 3F FF 99 33830 Power Steering
1CEB1700 8 11 2A FF FF FF FF FF FF 2880 49 Polaris?
1CEC1700 8 FF FE FF FF FF DA FE 00 88 6 Polaris?
1CFDDF00 8 FC FF FF FF FF FF FF FF 1000 2407 4wheel drive, 1st bit FC off, FD on DEC: 252 255 255 255 255 255 255 255 ASCII:
1CFF6A00 8 FC FF FF FF FF FF FF FF 501 6743 Polaris?
Now, here's the issue: Torque pro in J1939 mode is pretty rough. It sees most of the standard stuff and translates it (see previous message), but there doesn't seem to be a way to enter custom PGN information (I tried the PID stuff, but it doesn't seem to do what's needed for J1939 PGNs, happy to find out otherwise though). Looks like the developer of Torque hasn't updated it in quite a while either. I tried every other program I could find on android and none seem to handle j1939 with an ELM327 dongle. I've ordered a cable to allow me to hook my Nexiq up from my motorhome (J1939 heavy truck) and try to use its software to see if it gives us something more readable (Read and clear codes would be awesome). I've also ordered a wifi ELM327 module so I can try an app on iOS that claims to support j1939. When those arrive I'll test both.
I did connect the torque pro solution to my XP Pro as well, and I can confirm that it sees the same data there as it does on my much older xp 900. There is more data on the XP Pro, so I'm assuming things like turbo boost are available, but I have ride command on that one, so I don't really need anything else.
At this point I could easily build an Arduino based solution to output the can bus info to the Voyager Pro GPS's analog input lines. (Trail Tech is supposedly working on a can module for it BTW). Anyway, figured I'd post this here for anyone looking in the future. Will update when the cable and adapter get here.