Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
SnConstants.h
- Committer:
- uci1
- Date:
- 2012-11-24
- Revision:
- 28:484943132bb0
- Parent:
- 27:efc4d654b139
- Child:
- 30:f869ed4bcc08
File content as of revision 28:484943132bb0:
#ifndef SN_SnConstants #define SN_SnConstants #include "SnBitUtils.h" //#define CPUBAUD_SN 921600 #define CPUBAUD_SN 460800 //#define CPUBAUD_SN 115200 // // constants // static const uint32_t kBStime = 946684800u; // 1/1/2000 00:00:00 UTC static const double kIridEpoch = 1173325835; // 2007-3-08 03:50:35 GMT (needs to be a double) static const double kSecPerIridTick = 90e-3; // 90ms/tick static const uint8_t kNchans = 4u; static const uint8_t kNsamps = 128u; static const uint8_t kNfpgaDacs = 4u; static const uint8_t kNplas = 5u;//72; static const uint16_t kNoTrigPla = 0x0000u; static const uint8_t kNcomms = 2u; static const uint16_t kNvoltsAve = 500u; // must be greater than ~10 (but not checked. <2 will result in divide by 0) static const float kAsfClkPrdUs = 8.535; // us -- change kAdcToMBtimeCut if this is <=2us static const uint32_t kAbsMaxTimer = 1800u; // timers use integers counting us and can't go longer than ~ this many secs // NOTE: these times below must be less than kAbsMaxTimer (this is not checked, however) static const uint32_t kDefTimeout = 120u; // seconds static const uint32_t kConnectTimeout = 120u; // seconds static const uint32_t kListenTimeout = 120u; // seconds static const uint32_t kConnectSBDTO = 180u; // seconds static const uint32_t kCommWinLongPrdTk = 300u; // seconds static const uint32_t kSecsPerDay = 3600u*24u; static const uint32_t kSecsPerYear = kSecsPerDay*365u; // safety nets static const float kMinForcePer = 0.05; // seconds -- safety net for max force trigger rate static const uint16_t kMaxThrottlePerMs = 60000; // ms -- max time between thermal triggers static const uint16_t kMaxBatVoltLowPwr = 25000; // ADCs -- probably futile, but try to prevent it from being in low power mode always static const uint32_t kMaxCommWinPeriod = 259200; // seconds -- max time between communication windows static const uint32_t kMinCommWinDur = 300; // seconds -- min communication window duration -- must be >= Ncomms*listen/connect timeout static const uint32_t kMaxWatchDogPer = 3600; // seconds -- max time before watchdog reset on idle static const uint32_t kMinWatchDogPer = 30; // seconds -- min time before watchdog reset on idle static const uint16_t kTotSamps = kNchans*kNsamps; static const uint16_t kTotDacs = kNchans*kNfpgaDacs; static const float kAdcToMBtimeCut = (kNsamps*kAsfClkPrdUs)+(kAsfClkPrdUs/2.0); enum ESnTrgTypes { kThmTrg=0, kFrcTrg, kExtTrg, kAdcToMBflag, kNumTrgs }; // order must match ESnTrgTypes static const uint8_t kTrgBW[kNumTrgs] = { BIT(0), BIT(1), BIT(2), BIT(7) }; #endif // SN_SnConstants