Your welcome. I changed my code around a little as I needed to restrict my data to two byte integers.
I am now using:
uint16_t CLT, RPM, MAP, MAT, BATTV, TPS, GSI1, GSI2;
switch (rxmsg.id)
case 1512:
MAP=((int16_t((rxmsg.buf[1]) | (rxmsg.buf[0] << 8)))/10)...