31 lines
772 B
C
31 lines
772 B
C
|
/**
|
||
|
* @file SourceSequenceCounter.h
|
||
|
* @brief This file defines the SourceSequenceCounter class.
|
||
|
* @date 04.02.2013
|
||
|
* @author baetz
|
||
|
*/
|
||
|
|
||
|
#ifndef SOURCESEQUENCECOUNTER_H_
|
||
|
#define SOURCESEQUENCECOUNTER_H_
|
||
|
#include "../tmtcpacket/SpacePacketBase.h"
|
||
|
|
||
|
class SourceSequenceCounter {
|
||
|
private:
|
||
|
uint16_t sequenceCount;
|
||
|
public:
|
||
|
SourceSequenceCounter() : sequenceCount(0) {}
|
||
|
void increment() {
|
||
|
sequenceCount = (sequenceCount+1) % (SpacePacketBase::LIMIT_SEQUENCE_COUNT);
|
||
|
}
|
||
|
void decrement() {
|
||
|
sequenceCount = (sequenceCount-1) % (SpacePacketBase::LIMIT_SEQUENCE_COUNT);
|
||
|
}
|
||
|
uint16_t get() { return this->sequenceCount; }
|
||
|
void reset(uint16_t toValue = 0) {
|
||
|
sequenceCount = toValue % (SpacePacketBase::LIMIT_SEQUENCE_COUNT);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif /* SOURCESEQUENCECOUNTER_H_ */
|