Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

Committer:
uci1
Date:
Thu Nov 01 07:00:17 2012 +0000
Revision:
27:efc4d654b139
Parent:
25:57b2627fe756
Child:
28:484943132bb0
Afar comms enabled. Bug fixes: comm win opens with high rate now and no power to afar with afar comm enabled will not stall MBED. Features: stop file transfer, delete a specified run or delete all files on the SD card (file trans handshakes).

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