45 lines
799 B
C
45 lines
799 B
C
|
|
#ifndef common_epd_types_h
|
||
|
|
#define common_epd_types_h
|
||
|
|
enum class EpdGeneration
|
||
|
|
{
|
||
|
|
None,
|
||
|
|
Mk2,
|
||
|
|
Mk3
|
||
|
|
};
|
||
|
|
enum class EpdTypes : uint8_t
|
||
|
|
{
|
||
|
|
Mk2BetaGamma = 0,
|
||
|
|
Mk2Neutron = 3,
|
||
|
|
Mk3BetaGamma = 4,
|
||
|
|
Mk3Neutron = 7,
|
||
|
|
Mk2Gamma = 16,
|
||
|
|
Mk3Gamma = 20
|
||
|
|
};
|
||
|
|
#pragma pack (push)
|
||
|
|
#pragma pack (1)
|
||
|
|
struct DiscoveryId
|
||
|
|
{
|
||
|
|
uint32_t Id;
|
||
|
|
EpdGeneration Gen;
|
||
|
|
uint32_t MaxBaud;
|
||
|
|
bool operator==(const DiscoveryId &other) const
|
||
|
|
{
|
||
|
|
return (Id == other.Id) && (Gen == other.Gen);
|
||
|
|
}
|
||
|
|
bool operator !=(const DiscoveryId &other) const
|
||
|
|
{
|
||
|
|
return !(*this == other);
|
||
|
|
}
|
||
|
|
} ;
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
uint16_t Address;
|
||
|
|
uint8_t Length;
|
||
|
|
} MemoryBlockDetails;
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
MemoryBlockDetails BlockDetail;
|
||
|
|
uint8_t Data[UINT8_MAX];
|
||
|
|
} MemoryData;
|
||
|
|
#pragma pack (pop)
|
||
|
|
#endif
|