Adding Code for freeRTOS
This commit is contained in:
53
osal/rtems/CpuUsage.h
Normal file
53
osal/rtems/CpuUsage.h
Normal file
@ -0,0 +1,53 @@
|
||||
#ifndef CPUUSAGE_H_
|
||||
#define CPUUSAGE_H_
|
||||
|
||||
#include <framework/container/FixedArrayList.h>
|
||||
#include <framework/serialize/SerializeIF.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
class CpuUsage : public SerializeIF {
|
||||
public:
|
||||
static const uint8_t MAXIMUM_NUMBER_OF_THREADS = 30;
|
||||
|
||||
class ThreadData: public SerializeIF {
|
||||
public:
|
||||
static const uint8_t MAX_LENGTH_OF_THREAD_NAME = 4;
|
||||
|
||||
uint32_t id;
|
||||
char name[MAX_LENGTH_OF_THREAD_NAME];
|
||||
float timeRunning;
|
||||
float percentUsage;
|
||||
|
||||
virtual ReturnValue_t serialize(uint8_t** buffer, uint32_t* size,
|
||||
const uint32_t max_size, bool bigEndian) const;
|
||||
|
||||
virtual uint32_t getSerializedSize() const;
|
||||
|
||||
virtual ReturnValue_t deSerialize(const uint8_t** buffer, int32_t* size,
|
||||
bool bigEndian);
|
||||
};
|
||||
|
||||
CpuUsage();
|
||||
virtual ~CpuUsage();
|
||||
|
||||
uint8_t counter;
|
||||
float timeSinceLastReset;
|
||||
FixedArrayList<ThreadData, MAXIMUM_NUMBER_OF_THREADS> threadData;
|
||||
ThreadData cachedValue;
|
||||
|
||||
static void resetCpuUsage();
|
||||
|
||||
void read();
|
||||
|
||||
void clear();
|
||||
|
||||
virtual ReturnValue_t serialize(uint8_t** buffer, uint32_t* size,
|
||||
const uint32_t max_size, bool bigEndian) const;
|
||||
|
||||
virtual uint32_t getSerializedSize() const;
|
||||
|
||||
virtual ReturnValue_t deSerialize(const uint8_t** buffer, int32_t* size,
|
||||
bool bigEndian);
|
||||
};
|
||||
|
||||
#endif /* CPUUSAGE_H_ */
|
Reference in New Issue
Block a user