Modified for compatibility with Rev.E. hardware

Fork of AkmSensor by AKM Development Platform

Committer:
masahikofukasawa
Date:
Fri Aug 12 00:04:48 2016 +0000
Revision:
13:d008249f0359
Parent:
10:5c69b067d88a
Child:
23:50c98b286e41
Child:
27:41aa9fb23a2f
Ver008. Modified for faster BLE connection, and sensor name in the BLE device name.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
masahikofukasawa 10:5c69b067d88a 1 #ifndef AK9752CTRL_H
masahikofukasawa 10:5c69b067d88a 2 #define AK9752CTRL_H
masahikofukasawa 10:5c69b067d88a 3
masahikofukasawa 10:5c69b067d88a 4 #include "mbed.h"
masahikofukasawa 10:5c69b067d88a 5 #include "akmsensor.h"
masahikofukasawa 10:5c69b067d88a 6 #include "AK9752.h"
masahikofukasawa 10:5c69b067d88a 7
masahikofukasawa 10:5c69b067d88a 8 class Ak9752Ctrl : public AkmSensor
masahikofukasawa 10:5c69b067d88a 9 {
masahikofukasawa 10:5c69b067d88a 10
masahikofukasawa 10:5c69b067d88a 11 public:
masahikofukasawa 10:5c69b067d88a 12
masahikofukasawa 10:5c69b067d88a 13 typedef enum {
masahikofukasawa 10:5c69b067d88a 14 SUB_ID_AK9752 = 0x02
masahikofukasawa 10:5c69b067d88a 15 } SubIdAk9752;
masahikofukasawa 10:5c69b067d88a 16
masahikofukasawa 10:5c69b067d88a 17 /**
masahikofukasawa 10:5c69b067d88a 18 * Constructor.
masahikofukasawa 10:5c69b067d88a 19 *
masahikofukasawa 10:5c69b067d88a 20 */
masahikofukasawa 10:5c69b067d88a 21 Ak9752Ctrl();
masahikofukasawa 10:5c69b067d88a 22
masahikofukasawa 10:5c69b067d88a 23 /**
masahikofukasawa 10:5c69b067d88a 24 * Destructor.
masahikofukasawa 10:5c69b067d88a 25 *
masahikofukasawa 10:5c69b067d88a 26 */
masahikofukasawa 10:5c69b067d88a 27 virtual ~Ak9752Ctrl();
masahikofukasawa 10:5c69b067d88a 28 virtual AkmSensor::Status init(const uint8_t id, const uint8_t subid);
masahikofukasawa 10:5c69b067d88a 29 virtual bool isEvent();
masahikofukasawa 10:5c69b067d88a 30 virtual AkmSensor::Status startSensor();
masahikofukasawa 10:5c69b067d88a 31 virtual AkmSensor::Status startSensor(const float sec);
masahikofukasawa 10:5c69b067d88a 32 virtual AkmSensor::Status stopSensor();
masahikofukasawa 10:5c69b067d88a 33 virtual AkmSensor::Status readSensorData(Message* msg);
masahikofukasawa 10:5c69b067d88a 34 virtual AkmSensor::Status requestCommand(Message* in, Message* out);
masahikofukasawa 13:d008249f0359 35 virtual char* getSensorName();
masahikofukasawa 10:5c69b067d88a 36
masahikofukasawa 10:5c69b067d88a 37 void detectINT();
masahikofukasawa 10:5c69b067d88a 38
masahikofukasawa 10:5c69b067d88a 39 private:
masahikofukasawa 10:5c69b067d88a 40 bool event;
masahikofukasawa 10:5c69b067d88a 41 uint8_t primaryId;
masahikofukasawa 10:5c69b067d88a 42 uint8_t subId;
masahikofukasawa 10:5c69b067d88a 43 AK9752* ak9752;
masahikofukasawa 10:5c69b067d88a 44 InterruptIn* interrupt;
masahikofukasawa 10:5c69b067d88a 45 Ticker ticker;
masahikofukasawa 13:d008249f0359 46 char* sensorName;
masahikofukasawa 10:5c69b067d88a 47
masahikofukasawa 10:5c69b067d88a 48 // hold settings
masahikofukasawa 10:5c69b067d88a 49 AK9752::OperationMode mode;
masahikofukasawa 10:5c69b067d88a 50 AK9752::FcTmp fc_tmp;
masahikofukasawa 10:5c69b067d88a 51 AK9752::FcIr fc_ir;
masahikofukasawa 10:5c69b067d88a 52 };
masahikofukasawa 10:5c69b067d88a 53
masahikofukasawa 10:5c69b067d88a 54 #endif