change counts to 64 bit integer, improve broken packet check, correct order of updating status
This commit is contained in:
@@ -22,7 +22,7 @@ struct __attribute__((__packed__)) UDPHeader {
|
||||
uint16_t Parameter2[3];
|
||||
uint16_t Parameter3[3];
|
||||
|
||||
inline uint64_t nanosecs() {
|
||||
inline uint64_t nanosecs() const {
|
||||
uint64_t nsec{((uint64_t)TimeStamp[2]) << 32 |
|
||||
((uint64_t)TimeStamp[1]) << 16 | (uint64_t)TimeStamp[0]};
|
||||
return nsec * 100;
|
||||
@@ -35,8 +35,8 @@ struct __attribute__((__packed__)) DetectorEvent {
|
||||
uint16_t YPosition : 10;
|
||||
uint16_t Amplitude : 8;
|
||||
uint16_t Id : 1;
|
||||
inline uint32_t nanosecs() { return TimeStamp * 100; }
|
||||
inline uint64_t pixelId(uint32_t mpcdId) {
|
||||
inline uint32_t nanosecs() const { return TimeStamp * 100; }
|
||||
inline uint64_t pixelId(uint32_t mpcdId) const {
|
||||
const uint32_t x_pixels = 128;
|
||||
const uint32_t y_pixels = 128;
|
||||
return (mpcdId - 1) * x_pixels * y_pixels +
|
||||
@@ -50,7 +50,7 @@ struct __attribute__((__packed__)) MonitorEvent {
|
||||
uint64_t DataID : 4;
|
||||
uint64_t TriggerID : 3;
|
||||
uint64_t Id : 1;
|
||||
inline uint32_t nanosecs() { return TimeStamp * 100; }
|
||||
inline uint32_t nanosecs() const { return TimeStamp * 100; }
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
@@ -172,6 +172,9 @@ class asynStreamGeneratorDriver : public asynPortDriver {
|
||||
asynStatus createInt32Param(asynStatus status, char *name, int *variable,
|
||||
epicsInt32 initialValue = 0);
|
||||
|
||||
asynStatus createInt64Param(asynStatus status, char *name, int *variable,
|
||||
epicsInt64 initialValue = 0);
|
||||
|
||||
asynStatus createFloat64Param(asynStatus status, char *name, int *variable,
|
||||
double initialValue = 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user