A small library that's provide helpers for programmers
MySensor.h@2:6cc4c56940af, 2015-03-27 (annotated)
- Committer:
- clemounet
- Date:
- Fri Mar 27 16:48:12 2015 +0000
- Revision:
- 2:6cc4c56940af
- Parent:
- 1:ee7a5f05513d
.MyDebug. Add the Debug macros and stuffs that print nice stuff on console; .MyThread. StackSize are customisable
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
clemounet | 1:ee7a5f05513d | 1 | |
clemounet | 1:ee7a5f05513d | 2 | #ifndef MYSENSOR_H |
clemounet | 1:ee7a5f05513d | 3 | #define MYSENSOR_H |
clemounet | 1:ee7a5f05513d | 4 | |
clemounet | 1:ee7a5f05513d | 5 | #include "MyThread.h" |
clemounet | 1:ee7a5f05513d | 6 | #include "rtos.h" |
clemounet | 1:ee7a5f05513d | 7 | |
clemounet | 2:6cc4c56940af | 8 | #define SENSOR_NAME_NONE "SENSORNONE" |
clemounet | 2:6cc4c56940af | 9 | #define SENSOR_TYPE_NONE 0 |
clemounet | 2:6cc4c56940af | 10 | #define SENSOR_NAME_IMU "SENSORIMU" |
clemounet | 2:6cc4c56940af | 11 | #define SENSOR_TYPE_IMU 1 |
clemounet | 2:6cc4c56940af | 12 | #define SENSOR_NAME_CAN "SENSORCAN" |
clemounet | 2:6cc4c56940af | 13 | #define SENSOR_TYPE_CAN 2 |
clemounet | 2:6cc4c56940af | 14 | #define SENSOR_NAME_GPS "SENSORGPS" |
clemounet | 2:6cc4c56940af | 15 | #define SENSOR_TYPE_GPS 3 |
clemounet | 2:6cc4c56940af | 16 | |
clemounet | 2:6cc4c56940af | 17 | #define SENSOR_RESSZ_DEFAULT -1 |
clemounet | 2:6cc4c56940af | 18 | |
clemounet | 1:ee7a5f05513d | 19 | class MySensor:public MyThread { |
clemounet | 2:6cc4c56940af | 20 | protected: |
clemounet | 1:ee7a5f05513d | 21 | uint8_t sensorType; |
clemounet | 2:6cc4c56940af | 22 | typedef struct _dataResult{ |
clemounet | 2:6cc4c56940af | 23 | uint8_t *start; |
clemounet | 2:6cc4c56940af | 24 | uint8_t *current; |
clemounet | 1:ee7a5f05513d | 25 | uint16_t num; |
clemounet | 1:ee7a5f05513d | 26 | uint16_t max; |
clemounet | 2:6cc4c56940af | 27 | bool dynamic; |
clemounet | 2:6cc4c56940af | 28 | } dataResult; |
clemounet | 2:6cc4c56940af | 29 | dataResult results; |
clemounet | 2:6cc4c56940af | 30 | Mutex resultsMutex; |
clemounet | 1:ee7a5f05513d | 31 | uint32_t idleTime; |
clemounet | 1:ee7a5f05513d | 32 | public: |
clemounet | 2:6cc4c56940af | 33 | MySensor(const char* sName = SENSOR_NAME_NONE, uint8_t type = SENSOR_TYPE_NONE, uint32_t idle = 1000, uint32_t sz = DEFAULT_STACK_SIZE); |
clemounet | 1:ee7a5f05513d | 34 | virtual ~MySensor(); |
clemounet | 1:ee7a5f05513d | 35 | virtual const char *GetSensorName(); |
clemounet | 1:ee7a5f05513d | 36 | virtual uint8_t GetSensorType(); |
clemounet | 1:ee7a5f05513d | 37 | virtual void SetIdleTime(uint32_t it); |
clemounet | 1:ee7a5f05513d | 38 | virtual void Main(); |
clemounet | 2:6cc4c56940af | 39 | virtual void InitResults(int16_t size); |
clemounet | 2:6cc4c56940af | 40 | virtual void ReleaseResults(); |
clemounet | 2:6cc4c56940af | 41 | virtual void InitResultsStatic() = 0; |
clemounet | 1:ee7a5f05513d | 42 | virtual void Loop() = 0; |
clemounet | 2:6cc4c56940af | 43 | virtual void StoreLastImpact(void) = 0; |
clemounet | 1:ee7a5f05513d | 44 | virtual void Capture(char *data, uint16_t *len); |
clemounet | 1:ee7a5f05513d | 45 | }; |
clemounet | 1:ee7a5f05513d | 46 | |
clemounet | 1:ee7a5f05513d | 47 | #endif |