Modified for compatibility with Rev.E. hardware

Fork of AkmSensor by AKM Development Platform

Revision:
27:41aa9fb23a2f
Parent:
13:d008249f0359
Child:
29:b488d2c89fba
--- a/akmsensor.h	Wed Feb 22 21:56:05 2017 +0000
+++ b/akmsensor.h	Sat Mar 11 01:14:15 2017 +0000
@@ -37,7 +37,6 @@
     typedef enum {
         SUCCESS = 0,
         ERROR,
-//        ERROR_DOESNT_SUPPORT,
     } Status;
     
     typedef enum {
@@ -49,7 +48,7 @@
         AKM_PRIMARY_ID_ONECHIP_ENCODER      = 0x5,
         AKM_PRIMARY_ID_TBD1                 = 0x6,
         AKM_PRIMARY_ID_TBD2                 = 0x7,
-        AKM_PRIMARY_ID_LINEAR_SENSOR_LEGACY = 0x8,
+        AKM_PRIMARY_ID_DEMO                 = 0x8,
         AKM_PRIMARY_ID_CURRENT_SENSOR       = 0x9,
         AKM_PRIMARY_ID_MISC_ANALOG          = 0xA,
         AKM_PRIMARY_ID_LINEAR_SENSOR        = 0xB,
@@ -59,19 +58,42 @@
         AKM_PRIMARY_ID_AKD_I2C              = 0xF,
     } SensorPrimaryId;
 
-    AkmSensor(){}
-    virtual ~AkmSensor(){}
+    virtual ~AkmSensor(){};
     virtual Status init(const uint8_t id, const uint8_t subid) = 0;
-    virtual bool isEvent() = 0;
     virtual Status startSensor() = 0;
     virtual Status startSensor(const float sec) = 0;
     virtual Status stopSensor() = 0;
     virtual Status readSensorData(Message* msg) = 0;
     virtual Status requestCommand(Message* in, Message* out) = 0;
-    virtual char* getSensorName() = 0;
+    
+    bool isEvent(){
+        return event;
+    }
+    
+    char* getSensorName(){
+        return sensorName;
+    };
+    
+    int getPrimaryId(){
+        return primaryId;
+    };
+    
+    int getSecondaryId(){
+        return subId;
+    };
 
-private:
-
+protected:
+    bool            event;
+    uint8_t         primaryId;
+    uint8_t         subId;
+    char*           sensorName;
+    
+    AkmSensor(){
+        event = false;
+        primaryId = 0;
+        subId = 0;
+        sensorName = "";
+    };
 };
 
 #endif