Modified for compatibility with Rev.E. hardware

Fork of AkmSensor by AKM Development Platform

Committer:
masahikofukasawa
Date:
Sat Mar 11 01:14:15 2017 +0000
Revision:
27:41aa9fb23a2f
Parent:
13:d008249f0359
Child:
29:b488d2c89fba
modified for multi sensor demo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
masahikofukasawa 10:5c69b067d88a 1 #ifndef AK7401CTRL_H
masahikofukasawa 10:5c69b067d88a 2 #define AK7401CTRL_H
masahikofukasawa 10:5c69b067d88a 3
masahikofukasawa 10:5c69b067d88a 4 #include "mbed.h"
masahikofukasawa 10:5c69b067d88a 5 #include "SerialNano.h"
masahikofukasawa 10:5c69b067d88a 6 #include "akmsensor.h"
masahikofukasawa 10:5c69b067d88a 7 #include "ak7401.h"
masahikofukasawa 10:5c69b067d88a 8
masahikofukasawa 10:5c69b067d88a 9 class Ak7401Ctrl : public AkmSensor
masahikofukasawa 10:5c69b067d88a 10 {
masahikofukasawa 10:5c69b067d88a 11
masahikofukasawa 10:5c69b067d88a 12 public:
masahikofukasawa 10:5c69b067d88a 13
masahikofukasawa 10:5c69b067d88a 14 typedef enum {
masahikofukasawa 10:5c69b067d88a 15 SUB_ID_AK7401 = 0x02,
masahikofukasawa 10:5c69b067d88a 16 } SubIdAngleSensor;
masahikofukasawa 10:5c69b067d88a 17
masahikofukasawa 10:5c69b067d88a 18 /**
masahikofukasawa 10:5c69b067d88a 19 * Constructor.
masahikofukasawa 10:5c69b067d88a 20 *
masahikofukasawa 10:5c69b067d88a 21 */
masahikofukasawa 10:5c69b067d88a 22 Ak7401Ctrl();
masahikofukasawa 10:5c69b067d88a 23
masahikofukasawa 10:5c69b067d88a 24 /**
masahikofukasawa 10:5c69b067d88a 25 * Destructor.
masahikofukasawa 10:5c69b067d88a 26 *
masahikofukasawa 10:5c69b067d88a 27 */
masahikofukasawa 10:5c69b067d88a 28 virtual ~Ak7401Ctrl();
masahikofukasawa 10:5c69b067d88a 29 virtual AkmSensor::Status init(const uint8_t id, const uint8_t subid);
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 Status requestCommand(Message* in, Message* out);
masahikofukasawa 13:d008249f0359 35
masahikofukasawa 10:5c69b067d88a 36 void eventCallback();
masahikofukasawa 10:5c69b067d88a 37
masahikofukasawa 27:41aa9fb23a2f 38 private:
masahikofukasawa 10:5c69b067d88a 39 Ticker ticker;
masahikofukasawa 10:5c69b067d88a 40 AK7401* ak7401;
masahikofukasawa 10:5c69b067d88a 41 float interval;
masahikofukasawa 10:5c69b067d88a 42 };
masahikofukasawa 10:5c69b067d88a 43
masahikofukasawa 10:5c69b067d88a 44 #endif