Modified for compatibility with Rev.E. hardware
Fork of AkmSensor by
Diff: ap1017ctrl.h
- Revision:
- 25:76c11ab5060e
- Child:
- 26:4e436b0cbaf8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ap1017ctrl.h Fri Apr 14 20:13:38 2017 +0000 @@ -0,0 +1,98 @@ +#ifndef AP1017CTRL_H +#define AP1017CTRL_H + +#include "mbed.h" +#include "akmsensor.h" +#include "AP1017.h" + +#define SubIdAp1017 0x01 + +class Ap1017Ctrl : public AkmSensor +{ +public: + + /** + * Device Sub-ID. + */ + typedef enum { + SUB_ID_AP1017 = 0x01, /**< AP1017: ID = 01h */ + } SubIdMotorDriver; + + // Constructors and Destructors + Ap1017Ctrl(); + virtual ~Ap1017Ctrl(); + + // Public Member Functions + /** + * Process for intializing the selected sensor. + * + * @return Termination status type for debugging purposes. + */ + virtual AkmSensor::Status init(const uint8_t id, const uint8_t subid); + + /** + * Simple flag process to determine if an event has occurred. + * + * @return TRUE if event has occurred, FALSE if not. + */ + virtual bool isEvent(); + + /** + * Process abstraction for starting sensor operation. + * + * @return Termination status type for debugging purposes. + */ + virtual AkmSensor::Status startSensor(); + + /** + * Process abstraction for starting sensor operation. + * + * @param sec Number of seconds of operation. + * @return Termination status type for debugging purposes. + */ + virtual AkmSensor::Status startSensor(const float sec); + + /** + * Process abstraction for stopping sensor operation. + * + * @return Termination status type for debugging purposes. + */ + virtual AkmSensor::Status stopSensor(); + + /** + * Process abstraction for reading data from the sensor. + * + * @param msg Message object that will hold the sensor data. + * @return Termination status type for debugging purposes. + */ + virtual AkmSensor::Status readSensorData(Message* msg); + + /** + * Primary process for interfacing a sensor with the AKDP. When implemented + * in sensor class, it will transfer commands between the the sensor control + * class and AkmSensorManager. + * + * @param in Command message to be processed by sensor. + * @param out Message returned from sensor. + * @return Termination status type for debugging purposes. + */ + virtual Status requestCommand(Message* in, Message* out); + + /** + * Get the name of the sensor in char format. + * + * @return Sensor name as a char array. + */ + virtual char* getSensorName(); + +private: + bool event; + uint8_t primaryId; + uint8_t subId; + char* sensorName; + + AP1017* ap1017; + +}; + +#endif \ No newline at end of file