Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

Committer:
uci1
Date:
Tue May 03 02:01:35 2016 +0000
Revision:
116:8099b754fbb4
Parent:
114:554fa3a956b4
Child:
117:fd6798ba2e26
One program for all stns via UID/MAC lookup table or generation. Status sends number trg/evt and livetime, not rates. Add 512 sample evt and RFFT-LUTs. Add L1Scaledown trg bit. Allow skip SST reset at start. Fix dt at end of seq. End of comm signal.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
uci1 84:80b15993944e 1 #ifndef SN_SnPreCompOptions
uci1 84:80b15993944e 2 #define SN_SnPreCompOptions
uci1 84:80b15993944e 3
uci1 84:80b15993944e 4 // whether to send debugging output to the serial (usb) port
uci1 116:8099b754fbb4 5 // note that this file may not be included in cpp files, so it
uci1 116:8099b754fbb4 6 // may be necessary to add more DEBUG defines in those files.
uci1 84:80b15993944e 7 // also, the comms and peripherals packages will have their own
uci1 84:80b15993944e 8 // separate debug switches too.
uci1 84:80b15993944e 9 //#define DEBUG
uci1 84:80b15993944e 10
uci1 84:80b15993944e 11 // sorry for the double negative, but.. normally this is NOT DEFINED
uci1 84:80b15993944e 12 // uncommenting this will allow any values to be specified in a configuration
uci1 84:80b15993944e 13 // leaving it commented out is safer
uci1 84:80b15993944e 14 //#define DISABLE_CONFIG_SAFETYNETS
uci1 84:80b15993944e 15
uci1 84:80b15993944e 16 // choose which communication peripherals will be used in the comms loop
uci1 84:80b15993944e 17 // for now, twitter is completely not working.
uci1 116:8099b754fbb4 18 // NOTE: remember to set kNcomms in SnConstants.h so it equals the number
uci1 116:8099b754fbb4 19 // of comms enabled!!
uci1 84:80b15993944e 20 #define ENABLE_AFAR_COMM
uci1 84:80b15993944e 21 #define ENABLE_SBD_COMM
uci1 84:80b15993944e 22 //#define ENABLE_USB_COMM
uci1 116:8099b754fbb4 23 //#define ENABLE_AFAR_TWITTER // this is stupid and doesn't work anymore. do not enable.
uci1 84:80b15993944e 24
uci1 84:80b15993944e 25 // turn this on to record how long it takes to take and save events
uci1 84:80b15993944e 26 //#define EVT_TIME_PROFILE
uci1 84:80b15993944e 27
uci1 84:80b15993944e 28 // print the start and stop running messages on the seial (USB) port
uci1 84:80b15993944e 29 // even if other debugging messages are disabled.
uci1 84:80b15993944e 30 //#define SSNOTIFY
uci1 84:80b15993944e 31
uci1 84:80b15993944e 32 // use MODSERIAL (a buffered serial interface) instead of the
uci1 84:80b15993944e 33 // "standard" serial (unbuffered) provided by mbed
uci1 84:80b15993944e 34 #define USE_MODSERIAL
uci1 84:80b15993944e 35
uci1 84:80b15993944e 36
uci1 84:80b15993944e 37 // available CHIPBOARDs -- these values should NEVER change!
uci1 84:80b15993944e 38 // this is just a definition of constants. CHIPBOARD is the
uci1 84:80b15993944e 39 // variable that must be set equal to one of these constants.
uci1 116:8099b754fbb4 40 #define ATWD4CH 0 // set CHIPBOARD to this to get firmware for the 2012-2013 stations (value is arbitrary but unique)
uci1 116:8099b754fbb4 41 #define SST4CH 1 // set CHIPBOARD to this to get firmware for the 2014/2015 stations with a single SST chip (value is arbitrary but unique)
uci1 116:8099b754fbb4 42 #define SST4CH_1GHz 2 // set CHIPBOARD to this to get firmware for the 2015 station with a single SST chip running at 1GHz sampling rather than 2GHz (value is arbitrary but unique)
uci1 116:8099b754fbb4 43 #define SST4CH512 3 // set CHIPBOARD to this to get firmware for the 2014/2015 stations with a single SST chip (value is arbitrary but unique)
uci1 116:8099b754fbb4 44 #define SST4CH512_1GHz 4 // set CHIPBOARD to this to get firmware for the 2015 station with a single SST chip running at 1GHz sampling rather than 2GHz (value is arbitrary but unique)
uci1 84:80b15993944e 45
uci1 84:80b15993944e 46 // which chip/board combination to build this firmware for
uci1 84:80b15993944e 47 //#define CHIPBOARD ATWD4CH
uci1 116:8099b754fbb4 48 #define CHIPBOARD SST4CH
uci1 116:8099b754fbb4 49 //#define CHIPBOARD SST4CH_1GHz
uci1 116:8099b754fbb4 50 //#define CHIPBOARD SST4CH512 // warning: 4*512 samples may fill up the 32kB of RAM. it may be necessary to disable Afar comms in order to free up RAM
uci1 116:8099b754fbb4 51 //#define CHIPBOARD SST4CH512_1GHz // warning: 4*512 samples may fill up the 32kB of RAM. it may be necessary to disable Afar comms in order to free up RAM
uci1 84:80b15993944e 52
uci1 84:80b15993944e 53 // whether or not to use the flash memory on the mbed board, to call
uci1 84:80b15993944e 54 // the mbed provided function that gets the MAC address, etc.
uci1 84:80b15993944e 55 // these functions all use the mbed interface chip. it has been found
uci1 84:80b15993944e 56 // that once in while, functions accessing the interface chip will block
uci1 84:80b15993944e 57 // forever and never return, resulting in a "brain dead" station.
uci1 84:80b15993944e 58 // therefore, this should almost certainly be disabled (commented out)
uci1 84:80b15993944e 59 // for stations installed in the ice.
uci1 84:80b15993944e 60 //#define USE_INTERFACE_CHIP
uci1 84:80b15993944e 61
uci1 84:80b15993944e 62
uci1 84:80b15993944e 63 // whether or not to use the lookup tables to speed up the FFTs
uci1 84:80b15993944e 64 #define USE_DFFT_LUTS
uci1 84:80b15993944e 65
uci1 116:8099b754fbb4 66
uci1 116:8099b754fbb4 67
uci1 116:8099b754fbb4 68 // use of the real time operating system has not been implemented
uci1 116:8099b754fbb4 69 // for some time -- enabling this will not work any more.
uci1 116:8099b754fbb4 70 // some development will be needed, including a RTOS aware networking package
uci1 116:8099b754fbb4 71 //#define USE_RTOS // change USE_RTOS in CommConstants and EthernetPower also
uci1 116:8099b754fbb4 72
uci1 116:8099b754fbb4 73 // an outdated switch. currently only NetServicesMin is available.
uci1 116:8099b754fbb4 74 //#define USE_ETH_INTERFACE
uci1 116:8099b754fbb4 75
uci1 116:8099b754fbb4 76
uci1 84:80b15993944e 77 #endif // SN_SnPreCompOptions