Revision 8e095f02

View differences:

Adafruit_BNO055.cpp
395 395
@brief  Reads the sensor's offset registers into a byte array
396 396
*/
397 397
/**************************************************************************/
398
bool Adafruit_BNO055::getSensorOffsets(int8_t* calibData)
398
bool Adafruit_BNO055::getSensorOffsets(uint8_t* calibData)
399 399
{
400 400
	if (isFullyCalibrated())
401 401
	{
......
450 450
@brief  Writes an array of calibration values to the sensor's offset registers
451 451
*/
452 452
/**************************************************************************/
453
void Adafruit_BNO055::setSensorOffsets(const int8_t* calibData)
453
void Adafruit_BNO055::setSensorOffsets(const uint8_t* calibData)
454 454
{
455 455
	adafruit_bno055_opmode_t lastMode = _mode;
456 456
	setMode(OPERATION_MODE_CONFIG);
Adafruit_BNO055.h
44 44

  
45 45
typedef struct
46 46
{
47
	int16_t accel_offset_x;
48
	int16_t accel_offset_y;
49
	int16_t accel_offset_z;
50
	int16_t gyro_offset_x;
51
	int16_t gyro_offset_y;
52
	int16_t gyro_offset_z;
53
	int16_t mag_offset_x;
54
	int16_t mag_offset_y;
55
	int16_t mag_offset_z;
56

  
57
	int16_t accel_radius;
58
	int16_t mag_radius;
47
	uint16_t accel_offset_x;
48
	uint16_t accel_offset_y;
49
	uint16_t accel_offset_z;
50
	uint16_t gyro_offset_x;
51
	uint16_t gyro_offset_y;
52
	uint16_t gyro_offset_z;
53
	uint16_t mag_offset_x;
54
	uint16_t mag_offset_y;
55
	uint16_t mag_offset_z;
56

  
57
	uint16_t accel_radius;
58
	uint16_t mag_radius;
59 59
} adafruit_bno055_offsets_t;
60 60

  
61 61
class Adafruit_BNO055 : public Adafruit_Sensor
......
279 279
	void  getSensor(sensor_t*);
280 280

  
281 281
	/* Functions to deal with raw calibration data */
282
	bool  getSensorOffsets(int8_t* calibData);
282
	bool  getSensorOffsets(uint8_t* calibData);
283 283
	bool  getSensorOffsets(adafruit_bno055_offsets_t &offsets_type);
284
	void  setSensorOffsets(const int8_t* calibData);
284
	void  setSensorOffsets(const uint8_t* calibData);
285 285
	void  setSensorOffsets(const adafruit_bno055_offsets_t &offsets_type);
286 286
	bool  isFullyCalibrated(void);
287 287

  
examples/restore_offsets/restore_offsets.ino
177 177
	bno.getSensor(&sensor);
178 178
	if (bnoID != sensor.sensor_id)
179 179
	{
180
		Serial.println("No Calibration Data for this sensor exists in EEPROM");
180
		Serial.println("\nNo Calibration Data for this sensor exists in EEPROM");
181 181
	}
182 182
	else
183 183
	{
184
		Serial.println("Found Calibration for this sensor in EEPROM.");
184
		Serial.println("\nFound Calibration for this sensor in EEPROM.");
185 185
		eeAddress += sizeof(long);
186 186
		EEPROM.get(eeAddress, calibrationData);
187 187

  
......
241 241
	Serial.println("\nFully calibrated!");
242 242
	Serial.println("--------------------------------");
243 243
	Serial.println("Calibration Results: ");
244
	bno.getSensorOffsets(calibrationData);
245
	displaySensorOffsets(calibrationData);
244
	adafruit_bno055_offsets_t newCalib;
245
	bno.getSensorOffsets(newCalib);
246
	displaySensorOffsets(newCalib);
246 247
    
247 248
    Serial.println("\n\nStoring calibration data to EEPROM...");
248 249

  
......
253 254
	EEPROM.put(eeAddress, bnoID);
254 255

  
255 256
	eeAddress += sizeof(long);
256
	EEPROM.put(eeAddress, calibrationData);
257
	Serial.println("Data stored to EEPROM.\n");
257
	EEPROM.put(eeAddress, newCalib);
258
	Serial.println("Data stored to EEPROM.");
258 259
    
259 260
	Serial.println("\n--------------------------------\n");
261
	delay(500);
260 262
}
261 263

  
262 264
void loop() {

Also available in: Unified diff