@@ -148,35 +148,51 @@ void AK8975::disableI2C() {
148
148
149
149
// ASA* registers
150
150
void AK8975::getAdjustment (int8_t *x, int8_t *y, int8_t *z) {
151
+ I2Cdev::writeByte (devAddr, AK8975_RA_CNTL, 0x0F ); // Enter Fuse ROM access mode
152
+ delay (10 );
151
153
I2Cdev::readBytes (devAddr, AK8975_RA_ASAX, 3 , buffer);
152
154
*x = buffer[0 ];
153
155
*y = buffer[1 ];
154
156
*z = buffer[2 ];
155
157
}
156
158
void AK8975::setAdjustment (int8_t x, int8_t y, int8_t z) {
159
+ I2Cdev::writeByte (devAddr, AK8975_RA_CNTL, 0x0F ); // Enter Fuse ROM access mode
160
+ delay (10 );
157
161
buffer[0 ] = x;
158
162
buffer[1 ] = y;
159
163
buffer[2 ] = z;
160
164
I2Cdev::writeBytes (devAddr, AK8975_RA_ASAX, 3 , buffer);
161
165
}
162
166
uint8_t AK8975::getAdjustmentX () {
167
+ I2Cdev::writeByte (devAddr, AK8975_RA_CNTL, 0x0F ); // Enter Fuse ROM access mode
168
+ delay (10 );
163
169
I2Cdev::readByte (devAddr, AK8975_RA_ASAX, buffer);
164
170
return buffer[0 ];
165
171
}
166
172
void AK8975::setAdjustmentX (uint8_t x) {
173
+ I2Cdev::writeByte (devAddr, AK8975_RA_CNTL, 0x0F ); // Enter Fuse ROM access mode
174
+ delay (10 );
167
175
I2Cdev::writeByte (devAddr, AK8975_RA_ASAX, x);
168
176
}
169
177
uint8_t AK8975::getAdjustmentY () {
178
+ I2Cdev::writeByte (devAddr, AK8975_RA_CNTL, 0x0F ); // Enter Fuse ROM access mode
179
+ delay (10 );
170
180
I2Cdev::readByte (devAddr, AK8975_RA_ASAY, buffer);
171
181
return buffer[0 ];
172
182
}
173
183
void AK8975::setAdjustmentY (uint8_t y) {
184
+ I2Cdev::writeByte (devAddr, AK8975_RA_CNTL, 0x0F ); // Enter Fuse ROM access mode
185
+ delay (10 );
174
186
I2Cdev::writeByte (devAddr, AK8975_RA_ASAY, y);
175
187
}
176
188
uint8_t AK8975::getAdjustmentZ () {
189
+ I2Cdev::writeByte (devAddr, AK8975_RA_CNTL, 0x0F ); // Enter Fuse ROM access mode
190
+ delay (10 );
177
191
I2Cdev::readByte (devAddr, AK8975_RA_ASAZ, buffer);
178
192
return buffer[0 ];
179
193
}
180
194
void AK8975::setAdjustmentZ (uint8_t z) {
195
+ I2Cdev::writeByte (devAddr, AK8975_RA_CNTL, 0x0F ); // Enter Fuse ROM access mode
196
+ delay (10 );
181
197
I2Cdev::writeByte (devAddr, AK8975_RA_ASAZ, z);
182
- }
198
+ }
0 commit comments