- int magData[3];\r
- magSensor.getValues(&magData[0], &magData[1], &magData[2]);\r
- int len = packToFrame(txFrame, MAG_SNS, INT, 3, magData);\r
-\r
- printStr("[MAG] magX=%d magY=%d magZ=%d\r\n",\r
- magData[0], magData[1], magData[2]);\r
+ // magSensor uses the wrong types,\r
+ // so we have to convert it\r
+ int tmp[3];\r
+ magSensor.getValues(&tmp[0], &tmp[1], &tmp[2]);\r
+ uint16_t magData[3];\r
+ magData[0] = tmp[0];\r
+ magData[1] = tmp[1];\r
+ magData[2] = tmp[2];\r
+ int len = packToFrame(txFrame, SNS_MAG, TYP_S16, 3, magData);\r
+\r
+ printStr("[MAG] magX=%hd magY=%hd magZ=%hd %d\r\n",\r
+ magData[0], magData[1], magData[2], sizeof(int));\r