// Constructor for DataLogger
 private DataLogger()
 {
     this.dataStorage = DataStorage.getInstance();
     this.lograte = 1000; // default log rate
     this.elapsedMillis = 0;
     logTimer = new System.Timers.Timer();
 }
        private Form1()
        {
            InitializeComponent();
            Label[] labels = { label1, label2, label3, label4, label5, label6, label7, label8 };
            ArrayList labelList = new ArrayList(labels);
            this.labelManager = new LabelManager(labelList);
            this.dataLogger = DataLogger.getInstance(this);
            this.connectionManager = ConnectionManager.getInstance(this);
            this.dataStorage = DataStorage.getInstance();

            // logging rate selection
            foreach (int i in dataStorage.getLogRates())
            {
                comboBox3.Items.Add(i);
            }
            startLogging.Enabled = false;

            // button9 and button10 control the serial data transfer timeout enable
            // system starts with serialTiemoutEnable true, and the option to disable it on
            enableTimeout.Enabled = false; // button10 is enable
            disableTimeout.Enabled = true; // button9 is disable
            enableTimeout.Text = "";
            refreshData.Enabled = false;
            startLogging.Enabled = false;
            // richTextBox1 is where the serial output is displayed.

            // disable the logging buttons until the files exist
            wipeLogs.Enabled = false;
            startLogging.Enabled = false;
        }
 // gets instance or creates one if there is none
 public static DataStorage getInstance()
 {
     if (dataStorage == null)
     {
         dataStorage = new DataStorage();
     }
     return dataStorage;
 }
 /* Constructor for class ConnectionManager */
 private ConnectionManager()
 {
     serialPort = new SerialPort(); // declare and instantiate a serial port
     //    outgoingPackets = new Queue<TxPacket>();
     incomingPackets = new Queue<RxPacket>();
     dataStorage = DataStorage.getInstance();
     log = DataLogger.getInstance(this);
 }