Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
Diff: SnEventFrame.h
- Revision:
- 119:b3d7699d0eb0
- Parent:
- 116:8099b754fbb4
--- a/SnEventFrame.h Mon Oct 24 19:10:43 2016 +0000 +++ b/SnEventFrame.h Thu Sep 21 17:53:35 2017 +0000 @@ -24,6 +24,11 @@ + (kTotSampsSst4ch512*sizeof(uint16_t)) + (kNstopBytesSst4ch512*sizeof(uint8_t)); static const uint32_t kMaxSizeOfV5 = kMaxSizeOfV4; // same as V4 (just 1GHz clock) + static const uint32_t kMaxSizeOfV6 = kMaxSizeOfV1 + - (kTotSampsAtwd4ch*sizeof(uint16_t)) + + (kTotSampsSst8ch*sizeof(uint16_t)) + + (kNstopBytesSst8ch*sizeof(uint8_t)); + static const uint32_t kMaxSizeOfV7 = kMaxSizeOfV6; // same as V6 (just 1GHz clock) static const uint32_t kMaxSizeOf = kMaxSizeOfV5; // biggest one private: @@ -240,8 +245,13 @@ return kTotSampsAtwd4ch; } else if ((rv==2)||(rv==3)) { return kTotSampsSst4ch; + } else if ((rv==4)||(rv==5)) { + return kTotSampsSst4ch512; + } else if ((rv==6)||(rv==7)) { + return kTotSampsSst8ch; } else { - return kTotSampsSst4ch512; + // ??? + return kTotSampsSst4ch; } } @@ -251,8 +261,13 @@ return 0; } else if ((rv==2)||(rv==3)) { return kNstopBytesSst4ch; + } else if ((rv==4)||(rv==5)) { + return kNstopBytesSst4ch512; + } else if ((rv==6)||(rv==7)) { + return kNstopBytesSst8ch; } else { - return kNstopBytesSst4ch512; + // ??? + return kNstopBytesSst4ch; } } @@ -281,6 +296,10 @@ sz = kMaxSizeOfV4; } else if (rv==5) { sz = kMaxSizeOfV5; + } else if (rv==6) { + sz = kMaxSizeOfV6; + } else if (rv==7) { + sz = kMaxSizeOfV7; } else { sz = kMaxSizeOf; } @@ -293,18 +312,19 @@ #ifdef EVDEBUG printf("event packed size=%u\r\n", (sz-(ntotsamps*sizeof(uint16_t)) - +SizeOfPackedWavef(loseLSB, loseMSB))); + +SizeOfPackedWavef(loseLSB, loseMSB, ntotsamps))); #endif return (sz-(ntotsamps*sizeof(uint16_t)) - +SizeOfPackedWavef(loseLSB, loseMSB)); + +SizeOfPackedWavef(loseLSB, loseMSB, ntotsamps)); } } static uint32_t SizeOfPackedWavef(const uint8_t loseLSB, - const uint8_t loseMSB) { + const uint8_t loseMSB, + const uint16_t totsamps=kTotSamps) { const uint8_t p = BITS_IN_SHORT-loseLSB-loseMSB; - return ((p*kTotSamps)/8u) + (((p*kTotSamps)%8u)!=0 ? 1u : 0u); + return ((p*totsamps)/8u) + (((p*totsamps)%8u)!=0 ? 1u : 0u); } const char* ReadFrom(const char* const buf,