Modified for compatibility with Rev.E. hardware

Fork of AkmSensor by AKM Development Platform

ak9750ctrl.h

Committer:
masahikofukasawa
Date:
2017-04-28
Revision:
30:5a241d9b3262
Parent:
29:b488d2c89fba
Child:
34:1ea3357c8d9a

File content as of revision 30:5a241d9b3262:

#ifndef AK9750CTRL_H
#define AK9750CTRL_H

#include "mbed.h"
#include "akmsensor.h"
#include "AK9750.h"

class Ak9750Ctrl : public AkmSensor
{

public:
    
    typedef AkmSensor base;

    typedef enum {
        SUB_ID_AK9750              = 0x01,
        SUB_ID_AK9753              = 0x03,
    } SubIdIrSensor;

    /**
     * Constructor.
     *
     */
    Ak9750Ctrl();

    /**
     * Destructor.
     *
     */
    virtual ~Ak9750Ctrl();
    virtual AkmSensor::Status init(const uint8_t id, const uint8_t subid);
    virtual AkmSensor::Status startSensor();
    virtual AkmSensor::Status startSensor(const float sec);
    virtual AkmSensor::Status stopSensor();
    virtual AkmSensor::Status readSensorData(Message* msg);
    virtual AkmSensor::Status requestCommand(Message* in, Message* out);
    virtual void setEvent();

private:
    AK9750*         ak9750;
//    InterruptIn*    interrupt;
//    Ticker          ticker;
    
    // hold settings
    AK9750::OperationMode mode;
    AK9750::DigitalFilter filter;
};

#endif