A small library that's provide helpers for programmers

Dependents:   PYRN

Committer:
clemounet
Date:
Tue Apr 14 13:07:53 2015 +0000
Revision:
4:eef83534b19e
Parent:
2:6cc4c56940af
.add CallBack

Who changed what in which revision?

UserRevisionLine numberNew 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