Modified for compatibility with Rev.E. hardware
Fork of AkmSensor by
Diff: akmsensormanager.h
- Revision:
- 21:966724730ce6
- Parent:
- 15:1238993fd75f
- Child:
- 23:50c98b286e41
--- a/akmsensormanager.h Fri Oct 28 21:27:33 2016 +0000 +++ b/akmsensormanager.h Fri Mar 24 23:01:27 2017 +0000 @@ -13,29 +13,81 @@ #define ANALOG_SENSOR_ID_SUB P0_5 class AkmSensorManager { - public: + + public: + /** Return status enumeration for debugging. + */ typedef enum { SUCCESS = 0, ERROR, } Status; AkmSensorManager(SerialNano* com); + + /** Initialize sensor manager. + * @param id Primary ID of daughter board device. + * @param subID Secondary ID of daughter board device. + * @return Status type: SUCCESS=0. + */ Status init(uint8_t id, uint8_t subid); + + /** Set BLE UART service. + * @param service UART service type + */ void setBleUartService(UARTService* service); + + /** Sets eventConnected flag to TRUE. + */ void setEventConnected(); + + /** Sets eventDisconnected flag to TRUE. + */ void setEventDisconnected(); + + /* Sets eventCommandReceived flag to TRUE. + * @param buf Command to be parsed and to check the validity. + * @return Status type: SUCCESS=0 + */ Status commandReceived(char* buf); + + /* Checks for an event. + * @return Returns SUCCESS(=0) if a sensor event has occurred, or if any of the + * eventCommandReceived, eventConnected, or eventDisconnected flags + * are set. Returns ERROR otherwise. + */ bool isEvent(); + + /* Processes eventCommandReceived, eventConnected, eventDisconnected and + * sensor events and clears the appropriate flag. + * @return Status type: SUCCESS=0. + */ Status processEvent(); + + /* Get the name of the sensor as a string. + * @return Returns the address of the string containing the name. + */ char* getSensorName(); + /* Processes the stored command, parses the arguments, then uses the + * command to throw a message. + */ void processCommand(); + + /* Converts command from characters to ASCII then executes the command. + * @param msg Message containing command to be processed. + */ Status throwMessage(const Message *msg); + // void releaseTWI(); + + /* Get primary or secondary ID from sensor device. + * @param pin Pin number of ID signal. + * @param bits Number of bits of precision of value. + */ uint8_t getId(PinName pin, uint8_t bits); - private: + private: AkmSensor* sensor; SerialNano* serial;