Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

Committer:
uci1
Date:
Wed Oct 10 05:54:12 2012 +0000
Revision:
21:ce51bb0ba4a5
Parent:
16:744ce85aede2
Child:
22:f957c4f840ad
Uses USB comm. Fix rates calc. Power up/down ETH with Afar. Fix sending evt with status. Add num files and bytes of data to status. Can save a local file (i.e. reprogram MBED) via comms. Set config after each comm win (need if cards pow cycle).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
uci1 1:e392595b4b76 1 #ifndef SN_SnConstants
uci1 1:e392595b4b76 2 #define SN_SnConstants
uci1 1:e392595b4b76 3
uci1 1:e392595b4b76 4 #include "SnBitUtils.h"
uci1 1:e392595b4b76 5
uci1 1:e392595b4b76 6 //
uci1 1:e392595b4b76 7 // constants
uci1 1:e392595b4b76 8 //
uci1 1:e392595b4b76 9 static const uint32_t kBStime = 946684800u; // 1/1/2000 00:00:00 UTC
uci1 16:744ce85aede2 10 static const double kIridEpoch = 1173325835; // 2007-3-08 03:50:35 GMT (needs to be a double)
uci1 16:744ce85aede2 11 static const double kSecPerIridTick = 90e-3; // 90ms/tick
uci1 1:e392595b4b76 12 static const uint32_t kWDFailsafe = 1200u;
uci1 1:e392595b4b76 13 static const uint8_t kNchans = 4u;
uci1 1:e392595b4b76 14 static const uint8_t kNsamps = 128u;
uci1 1:e392595b4b76 15 static const uint8_t kNfpgaDacs = 4u;
uci1 3:24c5f0f50bf1 16 static const uint8_t kNplas = 5u;//72;
uci1 1:e392595b4b76 17 static const uint16_t kNoTrigPla = 0x0000u;
uci1 1:e392595b4b76 18 static const uint8_t kNcomms = 1u;
uci1 8:95a325df1f6b 19 static const uint16_t kNvoltsAve = 500u; // must be greater than ~10 (but not checked. <2 will result in divide by 0)
uci1 16:744ce85aede2 20 static const float kAsfClkPrdUs = 8.535; // us -- change kAdcToMBtimeCut if this is <=2us
uci1 16:744ce85aede2 21
uci1 1:e392595b4b76 22
uci1 1:e392595b4b76 23 static const uint32_t kAbsMaxTimer = 1800u; // timers use integers counting us and can't go longer than ~ this many secs
uci1 1:e392595b4b76 24 // NOTE: these times below must be less than kAbsMaxTimer (this is not checked, however)
uci1 16:744ce85aede2 25 static const uint32_t kDefTimeout = 300u; // seconds
uci1 1:e392595b4b76 26 static const uint32_t kConnectTimeout = 30u; // seconds
uci1 21:ce51bb0ba4a5 27 static const uint32_t kListenTimeout = 300u; // seconds
uci1 16:744ce85aede2 28 static const uint32_t kConnectSBDTO = 300u; // seconds
uci1 1:e392595b4b76 29 static const uint32_t kCommWinLongPrdTk = 300u; // seconds
uci1 16:744ce85aede2 30 static const uint32_t kSecsPerDay = 3600u*24u;
uci1 16:744ce85aede2 31 static const uint32_t kSecsPerYear = kSecsPerDay*365u;
uci1 3:24c5f0f50bf1 32
uci1 1:e392595b4b76 33 static const uint16_t kTotSamps = kNchans*kNsamps;
uci1 1:e392595b4b76 34 static const uint16_t kTotDacs = kNchans*kNfpgaDacs;
uci1 1:e392595b4b76 35
uci1 21:ce51bb0ba4a5 36 static const char* kLocalDir = "/local";
uci1 21:ce51bb0ba4a5 37
uci1 16:744ce85aede2 38 static const float kAdcToMBtimeCut = (kNsamps*kAsfClkPrdUs)+(kAsfClkPrdUs/2.0);
uci1 16:744ce85aede2 39
uci1 1:e392595b4b76 40 enum ESnTrgTypes {
uci1 16:744ce85aede2 41 kThmTrg=0,
uci1 16:744ce85aede2 42 kFrcTrg,
uci1 16:744ce85aede2 43 kExtTrg,
uci1 16:744ce85aede2 44 kAdcToMBflag,
uci1 16:744ce85aede2 45
uci1 1:e392595b4b76 46 kNumTrgs
uci1 1:e392595b4b76 47 };
uci1 16:744ce85aede2 48 // order must match ESnTrgTypes
uci1 16:744ce85aede2 49 static const uint8_t kTrgBW[kNumTrgs] = { BIT(0), BIT(1), BIT(2), BIT(7) };
uci1 1:e392595b4b76 50
uci1 1:e392595b4b76 51
uci1 1:e392595b4b76 52
uci1 0:664899e0b988 53 #endif // SN_SnConstants