Basic functions is OK. Lack interrupts function.
Diff: AK9750.cpp
- Revision:
- 3:14f634433c89
- Parent:
- 1:4eefcf1d7351
--- a/AK9750.cpp Thu Jan 26 03:22:34 2017 +0000 +++ b/AK9750.cpp Thu Mar 23 08:42:16 2017 +0000 @@ -52,7 +52,8 @@ RegWrite(0x1D, 0x01); /* Mode & Fc */ - RegWrite(0x1C, 0x0C); // EEPMODE(Normal), EFC(0.6Hz), EMODE(ContMode0) +// RegWrite(0x1C, 0x0C); // EEPMODE(Normal), EFC(0.6Hz), EMODE(ContMode0) + RegWrite(0x1C, 0x0D); // EEPMODE(Normal), EFC(0.6Hz), EMODE(ContMode1) /* Disable all interrupts */ RegWrite(0x1B, 0x00); @@ -104,6 +105,19 @@ return index; } +void AK9750::SetIntEvent(uint8_t int_enable, void(*fptr)(void)) { + RegWrite(0x1B, int_enable); + + _int1.mode(PullNone); // external pull-up + _int1.fall(fptr); // falling edge trigger +} + +uint8_t AK9750::GetIntStatus() { + char status; + RegRead(0x04, &status, 1); + return status; +} + float AK9750::ConvertAdcToIr(int16_t adc) { const AdcToIr *a2i_up, *a2i_down;