using System; using Microsoft.SPOT; namespace miniCPF { class configFile { //State timeout values public static int initializeTimeout = 1000; //all timeout values are in msec public static int presetBellowsTimeout = 1000000; public static int preMissionDelayTimeout = 2000; public static int surfaceOpsTimeout = 3000000; public static int ABSetBellowsTimeout = 240000; public static int ABRetractTimeout = 180000; public static int descendTimeout = 900000; public static int descendParkTimeout = 300000; public static int anchorTimeout = 5000; public static int deAnchorTimeout = 5000; public static int ascendTimeout = descendTimeout; public static int ascendParkTimeout = descendParkTimeout; public static int surfaceTimeout = 300000; public static int SMSleepPeriod = 1000; //msec //SBE41 stuff public static int SBE41SamplePeriod = 2000; //msec public static double hitBottomAccThreshold = 1.0; public static double maxPressure = 500.0; //dBar //Buoyancy control holdVelocity constants public const double KVel = 30.0, //Constant for P term of PID TiVel = 50000.0, // Time constant for I term of PID (in denominator, bigger values less I term in output TdVel = 1.0, // Time constant for D term of PID TfVel = 2.0, // Derivative filter time constant TtVel = 100.0, // Anti-windup time constant BVel = 1.0, // Setpoint weight uLowVel = -3000.0 / 60.0, // minimum possible output (RPS) uHighVel = 3000.0 / 60.0, // maximum possible output (RPS) hVel = SBE41SamplePeriod / 1000.0; // Sample period (seconds) //Pump motor encoder counts per revolution public const double COUNTSperREV = 500.0 * 4.0; //500 Counts per Revolution *4 for quadrature interpolation //autoballast (AB) stuff public const double ABSetBellowsPosition = 72.0; public const int ABSetBellowsJV = 20000; public const int ABRetractJV = 5000; public const double ABVelocityThreshold = -0.05; //ADUC stuff public static int aducEnqueueDecimator = 15; public static double aducCH0Scale = (392000.0 + 10000.0) / 10000.0; public static double aducCH0Offset = 0.0; public const double minBatteryBusVolts = 28.0; //Emergency Ascend (EA) stuff public static int EAJV = 40000; public static double bellowsEAPosition = 75.0; public static TimeSpan EASendPeriod = new TimeSpan(0, 0, 15, 0); //Buyoancy control stuff public static double surfacePressure = -0.01; public static double minBellowsPosition = 40.0; public static double maxBellowsPosition = 78.0; } }