using System; using Microsoft.SPOT; using Microsoft.VisualStudio.TestTools.UnitTesting; using CPF; using System.Text; using System.Threading; using HWModules; using SWModules; namespace CPFUnitTests { class PressureNoiseUnitTest { [TestMethod] public void TestPumpEff() { HWModules.MotherBoard motherboard = HWModules.MotherBoard.Instance; motherboard.EnableChannelPower(MotherBoard.ChannelNames.CTDChannel); //Slot 1 channel A motherboard.EnableChannelPower(14); //Brent's version 0 digital IO board J4: position sensor motherboard.EnablePump(); CTD1 ctd1 = CTD1.Instance; MessageQueue messageQ = MessageQueue.Instance; motherboard.EnableChannelPower((int)HWModules.MotherBoard.ChannelNames.CTDChannel); BuoyancyEngine buoyancyEngine = BuoyancyEngine.Instance; buoyancyEngine.init(); double innerBellowsPosition = double.NaN; EnergyMonitorPump emPump = EnergyMonitorPump.Instance; EnergyMonitorLTC2946.EM_VandI emData; StringBuilder sbTemp = new StringBuilder(128); StringBuilder tab = new StringBuilder("\t"); StringBuilder semiColon = new StringBuilder("\t"); ctd1.init(); Thread.Sleep(1000); ctd1.sendCRLF(); for (int i = 0; i < 3; i++) { messageQ.processQ(); Thread.Sleep(1000); } int loopCounter = 0; while (true) { if (loopCounter == 10) { EngrLogger.writeToColumns("Starting increase buoyancy"); buoyancyEngine.increaseBuoyancy(50000); } else if (loopCounter == 100) { EngrLogger.writeToColumns("Stopping motor"); buoyancyEngine.stopMotor(); } ctd1.sendFastPressure(); innerBellowsPosition = buoyancyEngine.getBellowsPositionStringPot(); emData = emPump.getVoltsAndMilliAmps(); Thread.Sleep(3000); messageQ.processQ(); sbTemp.Clear(); sbTemp.Append(tab); sbTemp.Append("Pressure Noise UT"); EngrLogger.writeToColumns( EngrLogger.ColumnNums.comment, sbTemp, EngrLogger.ColumnNums.pressure, SV.Pressure, EngrLogger.ColumnNums.bellowsPosition, innerBellowsPosition, EngrLogger.ColumnNums.batteryBusVolts, emData.voltage, EngrLogger.ColumnNums.batteryBusAmps, emData.current); loopCounter++; } } } }