Changeset - bd55ba5f4fde
[Not reviewed]
default
0 2 0
mkanning@CL-ENS241-10.cedarville.edu - 13 years ago 2013-02-26 14:32:50
mkanning@CL-ENS241-10.cedarville.edu
data display is 'finished'. charts are working. minor fixes also done
2 files changed with 213 insertions and 151 deletions:
0 comments (0 inline, 0 general)
Demo.WindowsForms/Forms/MainForm.Designer.cs
Show inline comments
 
namespace Demo.WindowsForms
 
{
 
   partial class MainForm
 
   {
 
      /// <summary>
 
      /// Required designer variable.
 
      /// </summary>
 
      private System.ComponentModel.IContainer components = null;
 
 
      /// <summary>
 
      /// Clean up any resources being used.
 
      /// </summary>
 
      /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
 
      protected override void Dispose(bool disposing)
 
      {
 
         if(disposing && (components != null))
 
         {
 
            components.Dispose();
 
         }
 
         base.Dispose(disposing);
 
      }
 
 
      #region Windows Form Designer generated code
 
 
      /// <summary>
 
      /// Required method for Designer support - do not modify
 
      /// the contents of this method with the code editor.
 
      /// </summary>
 
      private void InitializeComponent()
 
      {
 
            this.tabMap = new System.Windows.Forms.TabPage();
 
            this.panel4 = new System.Windows.Forms.Panel();
 
            this.panel2 = new System.Windows.Forms.Panel();
 
            this.btnTest = new System.Windows.Forms.Button();
 
            this.tabControl = new System.Windows.Forms.TabControl();
 
            this.tabGraphs = new System.Windows.Forms.TabPage();
 
            this.pnlDataListDisplay = new System.Windows.Forms.Panel();
 
            this.tboxChartData = new System.Windows.Forms.TextBox();
 
            this.lblChartData = new System.Windows.Forms.Label();
 
            this.tboxCurrent = new System.Windows.Forms.TextBox();
 
            this.lblCurrent = new System.Windows.Forms.Label();
 
            this.tboxMin = new System.Windows.Forms.TextBox();
 
            this.lblAverage = new System.Windows.Forms.Label();
 
            this.tboxMax = new System.Windows.Forms.TextBox();
 
            this.lblMax = new System.Windows.Forms.Label();
 
            this.tboxAverage = new System.Windows.Forms.TextBox();
 
            this.lblMin = new System.Windows.Forms.Label();
 
            this.ctnParentChartHolder = new System.Windows.Forms.SplitContainer();
 
            this.ctnTopChartHolder = new System.Windows.Forms.SplitContainer();
 
            this.lblTopLeftChartTitle = new System.Windows.Forms.Label();
 
            this.chrtTopLeft = new System.Windows.Forms.DataVisualization.Charting.Chart();
 
            this.lblTopRightChartTitle = new System.Windows.Forms.Label();
 
            this.chrtTopRight = new System.Windows.Forms.DataVisualization.Charting.Chart();
 
            this.ctnBottomChartHolder = new System.Windows.Forms.SplitContainer();
 
            this.lblBottomLeftChartTitle = new System.Windows.Forms.Label();
 
            this.chrtBottomLeft = new System.Windows.Forms.DataVisualization.Charting.Chart();
 
            this.lblBottomRightChartTitle = new System.Windows.Forms.Label();
 
            this.chrtBottomRight = new System.Windows.Forms.DataVisualization.Charting.Chart();
 
            this.tabData = new System.Windows.Forms.TabPage();
 
            this.gboxSlaveData = new System.Windows.Forms.GroupBox();
 
            this.tboxCameraBatteryLevel = new System.Windows.Forms.TextBox();
 
            this.label26 = new System.Windows.Forms.Label();
 
            this.tboxCameraBoardTemp = new System.Windows.Forms.TextBox();
 
            this.label27 = new System.Windows.Forms.Label();
 
            this.label28 = new System.Windows.Forms.Label();
 
            this.textBox15 = new System.Windows.Forms.TextBox();
 
            this.tboxGeigerRads = new System.Windows.Forms.TextBox();
 
            this.label25 = new System.Windows.Forms.Label();
 
            this.tboxGeigerBatteryLevel = new System.Windows.Forms.TextBox();
 
            this.label24 = new System.Windows.Forms.Label();
 
            this.tboxGeigerBoardTemp = new System.Windows.Forms.TextBox();
 
            this.label23 = new System.Windows.Forms.Label();
 
            this.label22 = new System.Windows.Forms.Label();
 
            this.tboxAtmoAltitude = new System.Windows.Forms.TextBox();
 
            this.label21 = new System.Windows.Forms.Label();
 
            this.textBox11 = new System.Windows.Forms.TextBox();
 
            this.tboxAtmoAirTemp = new System.Windows.Forms.TextBox();
 
            this.label19 = new System.Windows.Forms.Label();
 
            this.tboxAtmoHumidity = new System.Windows.Forms.TextBox();
 
            this.label18 = new System.Windows.Forms.Label();
 
            this.tboxAtmoPressure = new System.Windows.Forms.TextBox();
 
            this.label17 = new System.Windows.Forms.Label();
 
            this.tboxAtmoBatteryLevel = new System.Windows.Forms.TextBox();
 
            this.label15 = new System.Windows.Forms.Label();
 
            this.tboxAtmoBoardTemp = new System.Windows.Forms.TextBox();
 
            this.label8 = new System.Windows.Forms.Label();
 
            this.label20 = new System.Windows.Forms.Label();
 
            this.gboxMasterData = new System.Windows.Forms.GroupBox();
 
            this.textBox6 = new System.Windows.Forms.TextBox();
 
            this.label7 = new System.Windows.Forms.Label();
 
            this.label6 = new System.Windows.Forms.Label();
 
            this.tboxMasterVelocity = new System.Windows.Forms.TextBox();
 
            this.label3 = new System.Windows.Forms.Label();
 
            this.tboxMasterLongitude = new System.Windows.Forms.TextBox();
 
            this.label2 = new System.Windows.Forms.Label();
 
            this.tboxMasterLatitude = new System.Windows.Forms.TextBox();
 
            this.label16 = new System.Windows.Forms.Label();
 
            this.tboxMasterBatteryLevel = new System.Windows.Forms.TextBox();
 
            this.tboxMasterBoardTemp = new System.Windows.Forms.TextBox();
 
            this.label1 = new System.Windows.Forms.Label();
 
            this.tboxMessageBox = new System.Windows.Forms.TextBox();
 
            this.splitContainer1 = new System.Windows.Forms.SplitContainer();
 
            this.tboxMasterSatellites = new System.Windows.Forms.TextBox();
 
            this.label29 = new System.Windows.Forms.Label();
 
            this.tboxMasterHDOP = new System.Windows.Forms.TextBox();
 
            this.label30 = new System.Windows.Forms.Label();
 
            this.MainMap = new Demo.WindowsForms.Map();
 
            this.splitter1 = new BSE.Windows.Forms.Splitter();
 
            this.panelMenu = new BSE.Windows.Forms.Panel();
 
            this.xPanderPanelList1 = new BSE.Windows.Forms.XPanderPanelList();
 
            this.xPanderPanelMain = new BSE.Windows.Forms.XPanderPanel();
 
            this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
 
            this.tableLayoutPanel5 = new System.Windows.Forms.TableLayoutPanel();
 
            this.groupBox8 = new System.Windows.Forms.GroupBox();
 
            this.btnZoomCenter = new System.Windows.Forms.Button();
 
            this.xboxPlacemarkInfo = new System.Windows.Forms.CheckBox();
 
            this.btnClearAll = new System.Windows.Forms.Button();
 
            this.btnAddMarker = new System.Windows.Forms.Button();
 
            this.groupBox7 = new System.Windows.Forms.GroupBox();
 
            this.buttonExportToGpx = new System.Windows.Forms.Button();
 
            this.MobileLogTo = new System.Windows.Forms.DateTimePicker();
 
            this.lblClear = new System.Windows.Forms.Label();
 
            this.btnClearPolygons = new System.Windows.Forms.Button();
 
            this.MobileLogFrom = new System.Windows.Forms.DateTimePicker();
 
            this.btnMobileLog = new System.Windows.Forms.Button();
 
            this.buttonSetEnd = new System.Windows.Forms.Button();
 
            this.buttonSetStart = new System.Windows.Forms.Button();
 
            this.btnClearRoutes = new System.Windows.Forms.Button();
 
            this.btnAddRoute = new System.Windows.Forms.Button();
 
            this.groupBox5 = new System.Windows.Forms.GroupBox();
 
            this.btnLoadGPX = new System.Windows.Forms.Button();
 
            this.btnGetStatic = new System.Windows.Forms.Button();
 
            this.xboxGrid = new System.Windows.Forms.CheckBox();
 
            this.btnSaveView = new System.Windows.Forms.Button();
 
            this.lblMode = new System.Windows.Forms.Label();
 
            this.comboBoxMode = new System.Windows.Forms.ComboBox();
 
            this.xboxCanDrag = new System.Windows.Forms.CheckBox();
 
            this.xboxCurrentMarker = new System.Windows.Forms.CheckBox();
 
            this.lblMapType = new System.Windows.Forms.Label();
 
            this.comboBoxMapType = new System.Windows.Forms.ComboBox();
 
            this.groupBox3 = new System.Windows.Forms.GroupBox();
 
            this.lblGoTo = new System.Windows.Forms.Label();
 
            this.textBoxGeo = new System.Windows.Forms.TextBox();
 
            this.btnReload = new System.Windows.Forms.Button();
 
            this.btnGoToCoords = new System.Windows.Forms.Button();
 
            this.lblLng = new System.Windows.Forms.Label();
 
            this.lblLat = new System.Windows.Forms.Label();
 
            this.textBoxLng = new System.Windows.Forms.TextBox();
 
            this.textBoxLat = new System.Windows.Forms.TextBox();
 
            this.cboxCollectData = new System.Windows.Forms.CheckBox();
 
            this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel();
 
            this.btnZoomIn = new System.Windows.Forms.Button();
 
            this.trackBarZoomLevel = new System.Windows.Forms.TrackBar();
 
            this.btnZoomOut = new System.Windows.Forms.Button();
 
            this.xPanderPanelInfo = new BSE.Windows.Forms.XPanderPanel();
 
            this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
 
            this.textBoxZoomCurrent = new System.Windows.Forms.TextBox();
 
            this.textBoxrouteCount = new System.Windows.Forms.TextBox();
 
            this.label12 = new System.Windows.Forms.Label();
 
            this.label9 = new System.Windows.Forms.Label();
 
            this.textBoxLngCurrent = new System.Windows.Forms.TextBox();
 
            this.textBoxMarkerCount = new System.Windows.Forms.TextBox();
 
            this.label11 = new System.Windows.Forms.Label();
 
            this.label4 = new System.Windows.Forms.Label();
 
            this.textBoxLatCurrent = new System.Windows.Forms.TextBox();
 
            this.label5 = new System.Windows.Forms.Label();
 
            this.xPanderPanelCache = new BSE.Windows.Forms.XPanderPanel();
 
            this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
 
            this.textBoxCacheSize = new System.Windows.Forms.TextBox();
 
            this.textBoxCacheStatus = new System.Windows.Forms.TextBox();
 
            this.button10 = new System.Windows.Forms.Button();
 
            this.textBoxMemory = new System.Windows.Forms.TextBox();
 
            this.checkBoxUseRouteCache = new System.Windows.Forms.CheckBox();
 
            this.button9 = new System.Windows.Forms.Button();
 
            this.button11 = new System.Windows.Forms.Button();
 
            this.label10 = new System.Windows.Forms.Label();
 
            this.button2 = new System.Windows.Forms.Button();
 
            this.label13 = new System.Windows.Forms.Label();
 
            this.label14 = new System.Windows.Forms.Label();
 
            this.button17 = new System.Windows.Forms.Button();
 
            this.tboxMasterHDOP = new System.Windows.Forms.TextBox();
 
            this.label30 = new System.Windows.Forms.Label();
 
            this.tboxAtmoLight = new System.Windows.Forms.TextBox();
 
            this.label31 = new System.Windows.Forms.Label();
 
            this.tabMap.SuspendLayout();
 
            this.panel4.SuspendLayout();
 
            this.panel2.SuspendLayout();
 
            this.tabControl.SuspendLayout();
 
            this.tabGraphs.SuspendLayout();
 
            this.pnlDataListDisplay.SuspendLayout();
 
            this.ctnParentChartHolder.Panel1.SuspendLayout();
 
            this.ctnParentChartHolder.Panel2.SuspendLayout();
 
            this.ctnParentChartHolder.SuspendLayout();
 
            this.ctnTopChartHolder.Panel1.SuspendLayout();
 
            this.ctnTopChartHolder.Panel2.SuspendLayout();
 
            this.ctnTopChartHolder.SuspendLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtTopLeft)).BeginInit();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtTopRight)).BeginInit();
 
            this.ctnBottomChartHolder.Panel1.SuspendLayout();
 
            this.ctnBottomChartHolder.Panel2.SuspendLayout();
 
            this.ctnBottomChartHolder.SuspendLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtBottomLeft)).BeginInit();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtBottomRight)).BeginInit();
 
            this.tabData.SuspendLayout();
 
            this.gboxSlaveData.SuspendLayout();
 
            this.gboxMasterData.SuspendLayout();
 
            this.splitContainer1.Panel1.SuspendLayout();
 
            this.splitContainer1.Panel2.SuspendLayout();
 
            this.splitContainer1.SuspendLayout();
 
            this.panelMenu.SuspendLayout();
 
            this.xPanderPanelList1.SuspendLayout();
 
            this.xPanderPanelMain.SuspendLayout();
 
            this.tableLayoutPanel4.SuspendLayout();
 
            this.tableLayoutPanel5.SuspendLayout();
 
            this.groupBox8.SuspendLayout();
 
            this.groupBox7.SuspendLayout();
 
            this.groupBox5.SuspendLayout();
 
            this.groupBox3.SuspendLayout();
 
            this.tableLayoutPanel6.SuspendLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.trackBarZoomLevel)).BeginInit();
 
            this.xPanderPanelInfo.SuspendLayout();
 
            this.tableLayoutPanel2.SuspendLayout();
 
            this.xPanderPanelCache.SuspendLayout();
 
            this.tableLayoutPanel1.SuspendLayout();
 
            this.SuspendLayout();
 
            // 
 
            // tabMap
 
            // 
 
            this.tabMap.Controls.Add(this.panel4);
 
            this.tabMap.Location = new System.Drawing.Point(4, 22);
 
            this.tabMap.Name = "tabMap";
 
            this.tabMap.Padding = new System.Windows.Forms.Padding(3);
 
            this.tabMap.Size = new System.Drawing.Size(863, 425);
 
            this.tabMap.TabIndex = 0;
 
            this.tabMap.Text = "Map";
 
            this.tabMap.UseVisualStyleBackColor = true;
 
            // 
 
            // panel4
 
            // 
 
            this.panel4.Controls.Add(this.panel2);
 
            this.panel4.Controls.Add(this.splitter1);
 
            this.panel4.Controls.Add(this.panelMenu);
 
            this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.panel4.Location = new System.Drawing.Point(3, 3);
 
            this.panel4.Margin = new System.Windows.Forms.Padding(2);
 
            this.panel4.Name = "panel4";
 
            this.panel4.Size = new System.Drawing.Size(857, 419);
 
            this.panel4.TabIndex = 44;
 
            // 
 
            // panel2
 
            // 
 
            this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.panel2.Controls.Add(this.btnTest);
 
            this.panel2.Controls.Add(this.MainMap);
 
            this.panel2.Location = new System.Drawing.Point(0, 0);
 
            this.panel2.Name = "panel2";
 
            this.panel2.Size = new System.Drawing.Size(599, 419);
 
            this.panel2.TabIndex = 41;
 
            // 
 
            // btnTest
 
            // 
 
            this.btnTest.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
 
            this.btnTest.Location = new System.Drawing.Point(555, 393);
 
            this.btnTest.Name = "btnTest";
 
            this.btnTest.Size = new System.Drawing.Size(41, 26);
 
            this.btnTest.TabIndex = 32;
 
            this.btnTest.Text = "Test";
 
            this.btnTest.UseVisualStyleBackColor = true;
 
            this.btnTest.Click += new System.EventHandler(this.btnTest_Click);
 
            // 
 
            // tabControl
 
            // 
 
            this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.tabControl.Controls.Add(this.tabMap);
 
            this.tabControl.Controls.Add(this.tabGraphs);
 
            this.tabControl.Controls.Add(this.tabData);
 
            this.tabControl.Location = new System.Drawing.Point(0, 0);
 
            this.tabControl.Name = "tabControl";
 
            this.tabControl.SelectedIndex = 0;
 
            this.tabControl.Size = new System.Drawing.Size(871, 451);
 
            this.tabControl.Size = new System.Drawing.Size(871, 516);
 
            this.tabControl.TabIndex = 45;
 
            // 
 
            // tabGraphs
 
            // 
 
            this.tabGraphs.Controls.Add(this.pnlDataListDisplay);
 
            this.tabGraphs.Controls.Add(this.ctnParentChartHolder);
 
            this.tabGraphs.Location = new System.Drawing.Point(4, 22);
 
            this.tabGraphs.Name = "tabGraphs";
 
            this.tabGraphs.Padding = new System.Windows.Forms.Padding(3);
 
            this.tabGraphs.Size = new System.Drawing.Size(863, 425);
 
            this.tabGraphs.TabIndex = 2;
 
            this.tabGraphs.Text = "Graphs";
 
            this.tabGraphs.UseVisualStyleBackColor = true;
 
            // 
 
            // pnlDataListDisplay
 
            // 
 
            this.pnlDataListDisplay.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.pnlDataListDisplay.Controls.Add(this.tboxChartData);
 
            this.pnlDataListDisplay.Controls.Add(this.lblChartData);
 
            this.pnlDataListDisplay.Controls.Add(this.tboxCurrent);
 
            this.pnlDataListDisplay.Controls.Add(this.lblCurrent);
 
            this.pnlDataListDisplay.Controls.Add(this.tboxMin);
 
            this.pnlDataListDisplay.Controls.Add(this.lblAverage);
 
            this.pnlDataListDisplay.Controls.Add(this.tboxMax);
 
            this.pnlDataListDisplay.Controls.Add(this.lblMax);
 
            this.pnlDataListDisplay.Controls.Add(this.tboxAverage);
 
            this.pnlDataListDisplay.Controls.Add(this.lblMin);
 
            this.pnlDataListDisplay.Location = new System.Drawing.Point(6, 6);
 
            this.pnlDataListDisplay.Name = "pnlDataListDisplay";
 
            this.pnlDataListDisplay.Size = new System.Drawing.Size(851, 26);
 
            this.pnlDataListDisplay.TabIndex = 29;
 
            // 
 
            // tboxChartData
 
            // 
 
            this.tboxChartData.Enabled = false;
 
            this.tboxChartData.Location = new System.Drawing.Point(85, 3);
 
            this.tboxChartData.Name = "tboxChartData";
 
            this.tboxChartData.Size = new System.Drawing.Size(100, 20);
 
            this.tboxChartData.TabIndex = 29;
 
            // 
 
            // lblChartData
 
            // 
 
            this.lblChartData.AutoSize = true;
 
            this.lblChartData.Location = new System.Drawing.Point(3, 6);
 
            this.lblChartData.Name = "lblChartData";
 
            this.lblChartData.Size = new System.Drawing.Size(76, 13);
 
            this.lblChartData.TabIndex = 28;
 
            this.lblChartData.Text = "Data for Chart:";
 
            // 
 
            // tboxCurrent
 
            // 
 
            this.tboxCurrent.Enabled = false;
 
            this.tboxCurrent.Location = new System.Drawing.Point(241, 3);
 
            this.tboxCurrent.Name = "tboxCurrent";
 
            this.tboxCurrent.Size = new System.Drawing.Size(100, 20);
 
            this.tboxCurrent.TabIndex = 24;
 
            // 
 
            // lblCurrent
 
            // 
 
            this.lblCurrent.AutoSize = true;
 
            this.lblCurrent.Location = new System.Drawing.Point(191, 6);
 
            this.lblCurrent.Name = "lblCurrent";
 
            this.lblCurrent.Size = new System.Drawing.Size(44, 13);
 
            this.lblCurrent.TabIndex = 20;
 
            this.lblCurrent.Text = "Current:";
 
            // 
 
            // tboxMin
 
            // 
 
            this.tboxMin.BackColor = System.Drawing.SystemColors.Window;
 
            this.tboxMin.Enabled = false;
 
            this.tboxMin.ForeColor = System.Drawing.SystemColors.WindowText;
 
            this.tboxMin.Location = new System.Drawing.Point(684, 3);
 
            this.tboxMin.Name = "tboxMin";
 
            this.tboxMin.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMin.TabIndex = 27;
 
            // 
 
            // lblAverage
 
            // 
 
            this.lblAverage.AutoSize = true;
 
            this.lblAverage.Location = new System.Drawing.Point(347, 6);
 
            this.lblAverage.Name = "lblAverage";
 
            this.lblAverage.Size = new System.Drawing.Size(50, 13);
 
            this.lblAverage.TabIndex = 21;
 
            this.lblAverage.Text = "Average:";
 
            // 
 
            // tboxMax
 
            // 
 
            this.tboxMax.Enabled = false;
 
            this.tboxMax.Location = new System.Drawing.Point(545, 3);
 
            this.tboxMax.Name = "tboxMax";
 
            this.tboxMax.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMax.TabIndex = 26;
 
            // 
 
            // lblMax
 
            // 
 
@@ -462,409 +464,411 @@
 
            // 
 
            // lblTopRightChartTitle
 
            // 
 
            this.lblTopRightChartTitle.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
 
            this.lblTopRightChartTitle.AutoSize = true;
 
            this.lblTopRightChartTitle.Location = new System.Drawing.Point(0, 149);
 
            this.lblTopRightChartTitle.Name = "lblTopRightChartTitle";
 
            this.lblTopRightChartTitle.Size = new System.Drawing.Size(47, 13);
 
            this.lblTopRightChartTitle.TabIndex = 1;
 
            this.lblTopRightChartTitle.Text = "Humidity";
 
            // 
 
            // chrtTopRight
 
            // 
 
            this.chrtTopRight.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.chrtTopRight.Location = new System.Drawing.Point(3, 3);
 
            this.chrtTopRight.Name = "chrtTopRight";
 
            this.chrtTopRight.Size = new System.Drawing.Size(426, 156);
 
            this.chrtTopRight.TabIndex = 0;
 
            this.chrtTopRight.Text = "chart4";
 
            this.chrtTopRight.Click += new System.EventHandler(this.chrtTopRight_Click);
 
            // 
 
            // ctnBottomChartHolder
 
            // 
 
            this.ctnBottomChartHolder.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.ctnBottomChartHolder.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
 
            this.ctnBottomChartHolder.Location = new System.Drawing.Point(3, 3);
 
            this.ctnBottomChartHolder.Name = "ctnBottomChartHolder";
 
            // 
 
            // ctnBottomChartHolder.Panel1
 
            // 
 
            this.ctnBottomChartHolder.Panel1.Controls.Add(this.lblBottomLeftChartTitle);
 
            this.ctnBottomChartHolder.Panel1.Controls.Add(this.chrtBottomLeft);
 
            // 
 
            // ctnBottomChartHolder.Panel2
 
            // 
 
            this.ctnBottomChartHolder.Panel2.Controls.Add(this.lblBottomRightChartTitle);
 
            this.ctnBottomChartHolder.Panel2.Controls.Add(this.chrtBottomRight);
 
            this.ctnBottomChartHolder.Size = new System.Drawing.Size(845, 201);
 
            this.ctnBottomChartHolder.SplitterDistance = 407;
 
            this.ctnBottomChartHolder.TabIndex = 0;
 
            // 
 
            // lblBottomLeftChartTitle
 
            // 
 
            this.lblBottomLeftChartTitle.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
 
            this.lblBottomLeftChartTitle.AutoSize = true;
 
            this.lblBottomLeftChartTitle.Location = new System.Drawing.Point(0, 186);
 
            this.lblBottomLeftChartTitle.Name = "lblBottomLeftChartTitle";
 
            this.lblBottomLeftChartTitle.Size = new System.Drawing.Size(48, 13);
 
            this.lblBottomLeftChartTitle.TabIndex = 1;
 
            this.lblBottomLeftChartTitle.Text = "Pressure";
 
            // 
 
            // chrtBottomLeft
 
            // 
 
            this.chrtBottomLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.chrtBottomLeft.Location = new System.Drawing.Point(3, -1);
 
            this.chrtBottomLeft.Name = "chrtBottomLeft";
 
            this.chrtBottomLeft.Size = new System.Drawing.Size(399, 197);
 
            this.chrtBottomLeft.TabIndex = 0;
 
            this.chrtBottomLeft.Text = "chart2";
 
            this.chrtBottomLeft.Click += new System.EventHandler(this.chrtBottomLeft_Click);
 
            // 
 
            // lblBottomRightChartTitle
 
            // 
 
            this.lblBottomRightChartTitle.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
 
            this.lblBottomRightChartTitle.AutoSize = true;
 
            this.lblBottomRightChartTitle.Location = new System.Drawing.Point(0, 186);
 
            this.lblBottomRightChartTitle.Name = "lblBottomRightChartTitle";
 
            this.lblBottomRightChartTitle.Size = new System.Drawing.Size(44, 13);
 
            this.lblBottomRightChartTitle.TabIndex = 2;
 
            this.lblBottomRightChartTitle.Text = "Velocity";
 
            // 
 
            // chrtBottomRight
 
            // 
 
            this.chrtBottomRight.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.chrtBottomRight.Location = new System.Drawing.Point(3, -1);
 
            this.chrtBottomRight.Name = "chrtBottomRight";
 
            this.chrtBottomRight.Size = new System.Drawing.Size(426, 197);
 
            this.chrtBottomRight.TabIndex = 1;
 
            this.chrtBottomRight.Text = "chart2";
 
            this.chrtBottomRight.Click += new System.EventHandler(this.chrtBottomRight_Click);
 
            // 
 
            // tabData
 
            // 
 
            this.tabData.Controls.Add(this.gboxSlaveData);
 
            this.tabData.Controls.Add(this.gboxMasterData);
 
            this.tabData.Location = new System.Drawing.Point(4, 22);
 
            this.tabData.Name = "tabData";
 
            this.tabData.Padding = new System.Windows.Forms.Padding(10);
 
            this.tabData.Size = new System.Drawing.Size(863, 425);
 
            this.tabData.Size = new System.Drawing.Size(863, 490);
 
            this.tabData.TabIndex = 3;
 
            this.tabData.Text = "Data";
 
            this.tabData.UseVisualStyleBackColor = true;
 
            // 
 
            // gboxSlaveData
 
            // 
 
            this.gboxSlaveData.Controls.Add(this.tboxAtmoLight);
 
            this.gboxSlaveData.Controls.Add(this.label31);
 
            this.gboxSlaveData.Controls.Add(this.tboxCameraBatteryLevel);
 
            this.gboxSlaveData.Controls.Add(this.label26);
 
            this.gboxSlaveData.Controls.Add(this.tboxCameraBoardTemp);
 
            this.gboxSlaveData.Controls.Add(this.label27);
 
            this.gboxSlaveData.Controls.Add(this.label28);
 
            this.gboxSlaveData.Controls.Add(this.textBox15);
 
            this.gboxSlaveData.Controls.Add(this.tboxGeigerRads);
 
            this.gboxSlaveData.Controls.Add(this.label25);
 
            this.gboxSlaveData.Controls.Add(this.tboxGeigerBatteryLevel);
 
            this.gboxSlaveData.Controls.Add(this.label24);
 
            this.gboxSlaveData.Controls.Add(this.tboxGeigerBoardTemp);
 
            this.gboxSlaveData.Controls.Add(this.label23);
 
            this.gboxSlaveData.Controls.Add(this.label22);
 
            this.gboxSlaveData.Controls.Add(this.tboxAtmoAltitude);
 
            this.gboxSlaveData.Controls.Add(this.label21);
 
            this.gboxSlaveData.Controls.Add(this.textBox11);
 
            this.gboxSlaveData.Controls.Add(this.tboxAtmoAirTemp);
 
            this.gboxSlaveData.Controls.Add(this.label19);
 
            this.gboxSlaveData.Controls.Add(this.tboxAtmoHumidity);
 
            this.gboxSlaveData.Controls.Add(this.label18);
 
            this.gboxSlaveData.Controls.Add(this.tboxAtmoPressure);
 
            this.gboxSlaveData.Controls.Add(this.label17);
 
            this.gboxSlaveData.Controls.Add(this.tboxAtmoBatteryLevel);
 
            this.gboxSlaveData.Controls.Add(this.label15);
 
            this.gboxSlaveData.Controls.Add(this.tboxAtmoBoardTemp);
 
            this.gboxSlaveData.Controls.Add(this.label8);
 
            this.gboxSlaveData.Controls.Add(this.label20);
 
            this.gboxSlaveData.Location = new System.Drawing.Point(259, 13);
 
            this.gboxSlaveData.Name = "gboxSlaveData";
 
            this.gboxSlaveData.Padding = new System.Windows.Forms.Padding(10);
 
            this.gboxSlaveData.Size = new System.Drawing.Size(297, 438);
 
            this.gboxSlaveData.TabIndex = 1;
 
            this.gboxSlaveData.TabStop = false;
 
            this.gboxSlaveData.Text = "Slave Modules";
 
            // 
 
            // tboxCameraBatteryLevel
 
            // 
 
            this.tboxCameraBatteryLevel.Location = new System.Drawing.Point(146, 378);
 
            this.tboxCameraBatteryLevel.Location = new System.Drawing.Point(146, 403);
 
            this.tboxCameraBatteryLevel.Name = "tboxCameraBatteryLevel";
 
            this.tboxCameraBatteryLevel.ReadOnly = true;
 
            this.tboxCameraBatteryLevel.Size = new System.Drawing.Size(100, 20);
 
            this.tboxCameraBatteryLevel.TabIndex = 41;
 
            // 
 
            // label26
 
            // 
 
            this.label26.AutoSize = true;
 
            this.label26.Location = new System.Drawing.Point(40, 381);
 
            this.label26.Location = new System.Drawing.Point(40, 406);
 
            this.label26.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label26.Name = "label26";
 
            this.label26.Size = new System.Drawing.Size(69, 13);
 
            this.label26.TabIndex = 40;
 
            this.label26.Text = "Battery Level";
 
            // 
 
            // tboxCameraBoardTemp
 
            // 
 
            this.tboxCameraBoardTemp.Location = new System.Drawing.Point(146, 351);
 
            this.tboxCameraBoardTemp.Location = new System.Drawing.Point(146, 376);
 
            this.tboxCameraBoardTemp.Name = "tboxCameraBoardTemp";
 
            this.tboxCameraBoardTemp.ReadOnly = true;
 
            this.tboxCameraBoardTemp.Size = new System.Drawing.Size(100, 20);
 
            this.tboxCameraBoardTemp.TabIndex = 39;
 
            // 
 
            // label27
 
            // 
 
            this.label27.AutoSize = true;
 
            this.label27.Location = new System.Drawing.Point(40, 354);
 
            this.label27.Location = new System.Drawing.Point(40, 379);
 
            this.label27.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label27.Name = "label27";
 
            this.label27.Size = new System.Drawing.Size(98, 13);
 
            this.label27.TabIndex = 38;
 
            this.label27.Text = "Board Temperature";
 
            // 
 
            // label28
 
            // 
 
            this.label28.AutoSize = true;
 
            this.label28.Location = new System.Drawing.Point(15, 327);
 
            this.label28.Location = new System.Drawing.Point(15, 352);
 
            this.label28.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label28.Name = "label28";
 
            this.label28.Size = new System.Drawing.Size(81, 13);
 
            this.label28.TabIndex = 37;
 
            this.label28.Text = "Camera Module";
 
            // 
 
            // textBox15
 
            // tboxGeigerRads
 
            // 
 
            this.textBox15.Location = new System.Drawing.Point(146, 297);
 
            this.textBox15.Name = "textBox15";
 
            this.textBox15.ReadOnly = true;
 
            this.textBox15.Size = new System.Drawing.Size(100, 20);
 
            this.textBox15.TabIndex = 36;
 
            this.tboxGeigerRads.Location = new System.Drawing.Point(146, 322);
 
            this.tboxGeigerRads.Name = "tboxGeigerRads";
 
            this.tboxGeigerRads.ReadOnly = true;
 
            this.tboxGeigerRads.Size = new System.Drawing.Size(100, 20);
 
            this.tboxGeigerRads.TabIndex = 36;
 
            // 
 
            // label25
 
            // 
 
            this.label25.AutoSize = true;
 
            this.label25.Location = new System.Drawing.Point(40, 300);
 
            this.label25.Location = new System.Drawing.Point(40, 325);
 
            this.label25.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label25.Name = "label25";
 
            this.label25.Size = new System.Drawing.Size(52, 13);
 
            this.label25.TabIndex = 35;
 
            this.label25.Text = "Radiation";
 
            // 
 
            // tboxGeigerBatteryLevel
 
            // 
 
            this.tboxGeigerBatteryLevel.Location = new System.Drawing.Point(146, 270);
 
            this.tboxGeigerBatteryLevel.Location = new System.Drawing.Point(146, 295);
 
            this.tboxGeigerBatteryLevel.Name = "tboxGeigerBatteryLevel";
 
            this.tboxGeigerBatteryLevel.ReadOnly = true;
 
            this.tboxGeigerBatteryLevel.Size = new System.Drawing.Size(100, 20);
 
            this.tboxGeigerBatteryLevel.TabIndex = 34;
 
            // 
 
            // label24
 
            // 
 
            this.label24.AutoSize = true;
 
            this.label24.Location = new System.Drawing.Point(40, 273);
 
            this.label24.Location = new System.Drawing.Point(40, 298);
 
            this.label24.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label24.Name = "label24";
 
            this.label24.Size = new System.Drawing.Size(69, 13);
 
            this.label24.TabIndex = 33;
 
            this.label24.Text = "Battery Level";
 
            // 
 
            // tboxGeigerBoardTemp
 
            // 
 
            this.tboxGeigerBoardTemp.Location = new System.Drawing.Point(146, 243);
 
            this.tboxGeigerBoardTemp.Location = new System.Drawing.Point(146, 268);
 
            this.tboxGeigerBoardTemp.Name = "tboxGeigerBoardTemp";
 
            this.tboxGeigerBoardTemp.ReadOnly = true;
 
            this.tboxGeigerBoardTemp.Size = new System.Drawing.Size(100, 20);
 
            this.tboxGeigerBoardTemp.TabIndex = 32;
 
            // 
 
            // label23
 
            // 
 
            this.label23.AutoSize = true;
 
            this.label23.Location = new System.Drawing.Point(40, 246);
 
            this.label23.Location = new System.Drawing.Point(40, 271);
 
            this.label23.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label23.Name = "label23";
 
            this.label23.Size = new System.Drawing.Size(98, 13);
 
            this.label23.TabIndex = 31;
 
            this.label23.Text = "Board Temperature";
 
            // 
 
            // label22
 
            // 
 
            this.label22.AutoSize = true;
 
            this.label22.Location = new System.Drawing.Point(15, 219);
 
            this.label22.Location = new System.Drawing.Point(15, 244);
 
            this.label22.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label22.Name = "label22";
 
            this.label22.Size = new System.Drawing.Size(76, 13);
 
            this.label22.TabIndex = 30;
 
            this.label22.Text = "Geiger Module";
 
            // 
 
            // tboxAtmoAltitude
 
            // 
 
            this.tboxAtmoAltitude.Location = new System.Drawing.Point(146, 189);
 
            this.tboxAtmoAltitude.Location = new System.Drawing.Point(146, 214);
 
            this.tboxAtmoAltitude.Name = "tboxAtmoAltitude";
 
            this.tboxAtmoAltitude.ReadOnly = true;
 
            this.tboxAtmoAltitude.Size = new System.Drawing.Size(100, 20);
 
            this.tboxAtmoAltitude.TabIndex = 29;
 
            // 
 
            // label21
 
            // 
 
            this.label21.AutoSize = true;
 
            this.label21.Location = new System.Drawing.Point(40, 192);
 
            this.label21.Location = new System.Drawing.Point(40, 217);
 
            this.label21.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label21.Name = "label21";
 
            this.label21.Size = new System.Drawing.Size(42, 13);
 
            this.label21.TabIndex = 28;
 
            this.label21.Text = "Altitude";
 
            // 
 
            // textBox11
 
            // tboxAtmoAirTemp
 
            // 
 
            this.textBox11.Location = new System.Drawing.Point(146, 108);
 
            this.textBox11.Name = "textBox11";
 
            this.textBox11.ReadOnly = true;
 
            this.textBox11.Size = new System.Drawing.Size(100, 20);
 
            this.textBox11.TabIndex = 27;
 
            this.tboxAtmoAirTemp.Location = new System.Drawing.Point(146, 108);
 
            this.tboxAtmoAirTemp.Name = "tboxAtmoAirTemp";
 
            this.tboxAtmoAirTemp.ReadOnly = true;
 
            this.tboxAtmoAirTemp.Size = new System.Drawing.Size(100, 20);
 
            this.tboxAtmoAirTemp.TabIndex = 27;
 
            // 
 
            // label19
 
            // 
 
            this.label19.AutoSize = true;
 
            this.label19.Location = new System.Drawing.Point(40, 111);
 
            this.label19.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label19.Name = "label19";
 
            this.label19.Size = new System.Drawing.Size(82, 13);
 
            this.label19.TabIndex = 26;
 
            this.label19.Text = "Air Temperature";
 
            // 
 
            // tboxAtmoHumidity
 
            // 
 
            this.tboxAtmoHumidity.BackColor = System.Drawing.SystemColors.Control;
 
            this.tboxAtmoHumidity.Location = new System.Drawing.Point(146, 135);
 
            this.tboxAtmoHumidity.Location = new System.Drawing.Point(146, 160);
 
            this.tboxAtmoHumidity.Name = "tboxAtmoHumidity";
 
            this.tboxAtmoHumidity.ReadOnly = true;
 
            this.tboxAtmoHumidity.Size = new System.Drawing.Size(100, 20);
 
            this.tboxAtmoHumidity.TabIndex = 25;
 
            // 
 
            // label18
 
            // 
 
            this.label18.AutoSize = true;
 
            this.label18.Location = new System.Drawing.Point(40, 138);
 
            this.label18.Location = new System.Drawing.Point(40, 163);
 
            this.label18.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label18.Name = "label18";
 
            this.label18.Size = new System.Drawing.Size(47, 13);
 
            this.label18.TabIndex = 24;
 
            this.label18.Text = "Humidity";
 
            // 
 
            // tboxAtmoPressure
 
            // 
 
            this.tboxAtmoPressure.Location = new System.Drawing.Point(146, 162);
 
            this.tboxAtmoPressure.Location = new System.Drawing.Point(146, 187);
 
            this.tboxAtmoPressure.Name = "tboxAtmoPressure";
 
            this.tboxAtmoPressure.ReadOnly = true;
 
            this.tboxAtmoPressure.Size = new System.Drawing.Size(100, 20);
 
            this.tboxAtmoPressure.TabIndex = 23;
 
            // 
 
            // label17
 
            // 
 
            this.label17.AutoSize = true;
 
            this.label17.Location = new System.Drawing.Point(40, 165);
 
            this.label17.Location = new System.Drawing.Point(40, 190);
 
            this.label17.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label17.Name = "label17";
 
            this.label17.Size = new System.Drawing.Size(48, 13);
 
            this.label17.TabIndex = 22;
 
            this.label17.Text = "Pressure";
 
            // 
 
            // tboxAtmoBatteryLevel
 
            // 
 
            this.tboxAtmoBatteryLevel.Location = new System.Drawing.Point(146, 81);
 
            this.tboxAtmoBatteryLevel.Name = "tboxAtmoBatteryLevel";
 
            this.tboxAtmoBatteryLevel.ReadOnly = true;
 
            this.tboxAtmoBatteryLevel.Size = new System.Drawing.Size(100, 20);
 
            this.tboxAtmoBatteryLevel.TabIndex = 21;
 
            // 
 
            // label15
 
            // 
 
            this.label15.AutoSize = true;
 
            this.label15.Location = new System.Drawing.Point(40, 84);
 
            this.label15.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label15.Name = "label15";
 
            this.label15.Size = new System.Drawing.Size(69, 13);
 
            this.label15.TabIndex = 20;
 
            this.label15.Text = "Battery Level";
 
            // 
 
            // tboxAtmoBoardTemp
 
            // 
 
            this.tboxAtmoBoardTemp.Location = new System.Drawing.Point(146, 54);
 
            this.tboxAtmoBoardTemp.Name = "tboxAtmoBoardTemp";
 
            this.tboxAtmoBoardTemp.ReadOnly = true;
 
            this.tboxAtmoBoardTemp.Size = new System.Drawing.Size(100, 20);
 
            this.tboxAtmoBoardTemp.TabIndex = 19;
 
            // 
 
            // label8
 
            // 
 
            this.label8.AutoSize = true;
 
            this.label8.Location = new System.Drawing.Point(40, 57);
 
            this.label8.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label8.Name = "label8";
 
            this.label8.Size = new System.Drawing.Size(98, 13);
 
            this.label8.TabIndex = 18;
 
            this.label8.Text = "Board Temperature";
 
            // 
 
            // label20
 
            // 
 
            this.label20.AutoSize = true;
 
            this.label20.Location = new System.Drawing.Point(15, 30);
 
            this.label20.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label20.Name = "label20";
 
            this.label20.Size = new System.Drawing.Size(101, 13);
 
            this.label20.TabIndex = 18;
 
            this.label20.Text = "Atmosphere Module";
 
            // 
 
            // gboxMasterData
 
            // 
 
            this.gboxMasterData.Controls.Add(this.tboxMasterHDOP);
 
            this.gboxMasterData.Controls.Add(this.label30);
 
            this.gboxMasterData.Controls.Add(this.tboxMasterSatellites);
 
            this.gboxMasterData.Controls.Add(this.label29);
 
            this.gboxMasterData.Controls.Add(this.textBox6);
 
            this.gboxMasterData.Controls.Add(this.label7);
 
            this.gboxMasterData.Controls.Add(this.label6);
 
            this.gboxMasterData.Controls.Add(this.tboxMasterVelocity);
 
            this.gboxMasterData.Controls.Add(this.label3);
 
            this.gboxMasterData.Controls.Add(this.tboxMasterLongitude);
 
            this.gboxMasterData.Controls.Add(this.label2);
 
            this.gboxMasterData.Controls.Add(this.tboxMasterLatitude);
 
            this.gboxMasterData.Controls.Add(this.label16);
 
            this.gboxMasterData.Controls.Add(this.tboxMasterBatteryLevel);
 
            this.gboxMasterData.Controls.Add(this.tboxMasterBoardTemp);
 
            this.gboxMasterData.Controls.Add(this.label1);
 
            this.gboxMasterData.Location = new System.Drawing.Point(13, 13);
 
            this.gboxMasterData.Name = "gboxMasterData";
 
            this.gboxMasterData.Padding = new System.Windows.Forms.Padding(10);
 
            this.gboxMasterData.Size = new System.Drawing.Size(240, 329);
 
            this.gboxMasterData.TabIndex = 0;
 
            this.gboxMasterData.TabStop = false;
 
            this.gboxMasterData.Text = "Master Module";
 
            // 
 
            // textBox6
 
            // 
 
            this.textBox6.Location = new System.Drawing.Point(120, 162);
 
            this.textBox6.Name = "textBox6";
 
            this.textBox6.ReadOnly = true;
 
            this.textBox6.Size = new System.Drawing.Size(100, 20);
 
            this.textBox6.TabIndex = 17;
 
            // 
 
            // label7
 
            // 
 
            this.label7.AutoSize = true;
 
            this.label7.Location = new System.Drawing.Point(14, 165);
 
            this.label7.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label7.Name = "label7";
 
            this.label7.Size = new System.Drawing.Size(67, 13);
 
            this.label7.TabIndex = 16;
 
            this.label7.Text = "GPS Altitude";
 
            // 
 
@@ -878,233 +882,251 @@
 
            this.label6.TabIndex = 15;
 
            this.label6.Text = "Velocity";
 
            // 
 
            // tboxMasterVelocity
 
            // 
 
            this.tboxMasterVelocity.BackColor = System.Drawing.SystemColors.Control;
 
            this.tboxMasterVelocity.Location = new System.Drawing.Point(121, 135);
 
            this.tboxMasterVelocity.Name = "tboxMasterVelocity";
 
            this.tboxMasterVelocity.ReadOnly = true;
 
            this.tboxMasterVelocity.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMasterVelocity.TabIndex = 14;
 
            // 
 
            // label3
 
            // 
 
            this.label3.AutoSize = true;
 
            this.label3.Location = new System.Drawing.Point(14, 111);
 
            this.label3.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label3.Name = "label3";
 
            this.label3.Size = new System.Drawing.Size(54, 13);
 
            this.label3.TabIndex = 13;
 
            this.label3.Text = "Longitude";
 
            // 
 
            // tboxMasterLongitude
 
            // 
 
            this.tboxMasterLongitude.Location = new System.Drawing.Point(120, 108);
 
            this.tboxMasterLongitude.Name = "tboxMasterLongitude";
 
            this.tboxMasterLongitude.ReadOnly = true;
 
            this.tboxMasterLongitude.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMasterLongitude.TabIndex = 12;
 
            // 
 
            // label2
 
            // 
 
            this.label2.AutoSize = true;
 
            this.label2.Location = new System.Drawing.Point(15, 84);
 
            this.label2.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label2.Name = "label2";
 
            this.label2.Size = new System.Drawing.Size(45, 13);
 
            this.label2.TabIndex = 11;
 
            this.label2.Text = "Latitude";
 
            // 
 
            // tboxMasterLatitude
 
            // 
 
            this.tboxMasterLatitude.Location = new System.Drawing.Point(121, 81);
 
            this.tboxMasterLatitude.Name = "tboxMasterLatitude";
 
            this.tboxMasterLatitude.ReadOnly = true;
 
            this.tboxMasterLatitude.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMasterLatitude.TabIndex = 10;
 
            // 
 
            // label16
 
            // 
 
            this.label16.AutoSize = true;
 
            this.label16.Location = new System.Drawing.Point(14, 57);
 
            this.label16.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label16.Name = "label16";
 
            this.label16.Size = new System.Drawing.Size(69, 13);
 
            this.label16.TabIndex = 9;
 
            this.label16.Text = "Battery Level";
 
            // 
 
            // tboxMasterBatteryLevel
 
            // 
 
            this.tboxMasterBatteryLevel.Location = new System.Drawing.Point(120, 54);
 
            this.tboxMasterBatteryLevel.Name = "tboxMasterBatteryLevel";
 
            this.tboxMasterBatteryLevel.ReadOnly = true;
 
            this.tboxMasterBatteryLevel.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMasterBatteryLevel.TabIndex = 8;
 
            // 
 
            // tboxMasterBoardTemp
 
            // 
 
            this.tboxMasterBoardTemp.Location = new System.Drawing.Point(120, 24);
 
            this.tboxMasterBoardTemp.Name = "tboxMasterBoardTemp";
 
            this.tboxMasterBoardTemp.ReadOnly = true;
 
            this.tboxMasterBoardTemp.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMasterBoardTemp.TabIndex = 1;
 
            // 
 
            // label1
 
            // 
 
            this.label1.AutoSize = true;
 
            this.label1.Location = new System.Drawing.Point(15, 30);
 
            this.label1.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label1.Name = "label1";
 
            this.label1.Size = new System.Drawing.Size(98, 13);
 
            this.label1.TabIndex = 0;
 
            this.label1.Text = "Board Temperature";
 
            // 
 
            // tboxMessageBox
 
            // 
 
            this.tboxMessageBox.AcceptsReturn = true;
 
            this.tboxMessageBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.tboxMessageBox.BackColor = System.Drawing.SystemColors.ScrollBar;
 
            this.tboxMessageBox.Location = new System.Drawing.Point(0, 3);
 
            this.tboxMessageBox.Multiline = true;
 
            this.tboxMessageBox.Name = "tboxMessageBox";
 
            this.tboxMessageBox.ReadOnly = true;
 
            this.tboxMessageBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
 
            this.tboxMessageBox.Size = new System.Drawing.Size(868, 69);
 
            this.tboxMessageBox.Size = new System.Drawing.Size(868, 81);
 
            this.tboxMessageBox.TabIndex = 30;
 
            // 
 
            // splitContainer1
 
            // 
 
            this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.splitContainer1.Location = new System.Drawing.Point(12, 12);
 
            this.splitContainer1.Name = "splitContainer1";
 
            this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
 
            // 
 
            // splitContainer1.Panel1
 
            // 
 
            this.splitContainer1.Panel1.Controls.Add(this.tabControl);
 
            // 
 
            // splitContainer1.Panel2
 
            // 
 
            this.splitContainer1.Panel2.Controls.Add(this.tboxMessageBox);
 
            this.splitContainer1.Size = new System.Drawing.Size(871, 526);
 
            this.splitContainer1.SplitterDistance = 450;
 
            this.splitContainer1.Size = new System.Drawing.Size(871, 603);
 
            this.splitContainer1.SplitterDistance = 515;
 
            this.splitContainer1.TabIndex = 46;
 
            // 
 
            // tboxMasterSatellites
 
            // 
 
            this.tboxMasterSatellites.Location = new System.Drawing.Point(121, 188);
 
            this.tboxMasterSatellites.Name = "tboxMasterSatellites";
 
            this.tboxMasterSatellites.ReadOnly = true;
 
            this.tboxMasterSatellites.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMasterSatellites.TabIndex = 19;
 
            // 
 
            // label29
 
            // 
 
            this.label29.AutoSize = true;
 
            this.label29.Location = new System.Drawing.Point(15, 191);
 
            this.label29.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label29.Name = "label29";
 
            this.label29.Size = new System.Drawing.Size(86, 13);
 
            this.label29.TabIndex = 18;
 
            this.label29.Text = "Satellites in View";
 
            // 
 
            // tboxMasterHDOP
 
            // 
 
            this.tboxMasterHDOP.Location = new System.Drawing.Point(120, 214);
 
            this.tboxMasterHDOP.Name = "tboxMasterHDOP";
 
            this.tboxMasterHDOP.ReadOnly = true;
 
            this.tboxMasterHDOP.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMasterHDOP.TabIndex = 21;
 
            // 
 
            // label30
 
            // 
 
            this.label30.AutoSize = true;
 
            this.label30.Location = new System.Drawing.Point(14, 217);
 
            this.label30.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label30.Name = "label30";
 
            this.label30.Size = new System.Drawing.Size(38, 13);
 
            this.label30.TabIndex = 20;
 
            this.label30.Text = "HDOP";
 
            // 
 
            // MainMap
 
            // 
 
            this.MainMap.Bearing = 0F;
 
            this.MainMap.CanDragMap = true;
 
            this.MainMap.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.MainMap.EmptyTileColor = System.Drawing.Color.Navy;
 
            this.MainMap.GrayScaleMode = false;
 
            this.MainMap.HelperLineOption = GMap.NET.WindowsForms.HelperLineOptions.DontShow;
 
            this.MainMap.LevelsKeepInMemmory = 5;
 
            this.MainMap.Location = new System.Drawing.Point(0, 0);
 
            this.MainMap.MarkersEnabled = true;
 
            this.MainMap.MaxZoom = 17;
 
            this.MainMap.MinZoom = 2;
 
            this.MainMap.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;
 
            this.MainMap.Name = "MainMap";
 
            this.MainMap.NegativeMode = false;
 
            this.MainMap.PolygonsEnabled = true;
 
            this.MainMap.RetryLoadTile = 0;
 
            this.MainMap.RoutesEnabled = true;
 
            this.MainMap.ScaleMode = GMap.NET.WindowsForms.ScaleModes.Integer;
 
            this.MainMap.SelectedAreaFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(65)))), ((int)(((byte)(105)))), ((int)(((byte)(225)))));
 
            this.MainMap.ShowTileGridLines = false;
 
            this.MainMap.Size = new System.Drawing.Size(599, 419);
 
            this.MainMap.TabIndex = 0;
 
            this.MainMap.Zoom = 0D;
 
            // 
 
            // splitter1
 
            // 
 
            this.splitter1.BackColor = System.Drawing.Color.Transparent;
 
            this.splitter1.Dock = System.Windows.Forms.DockStyle.Right;
 
            this.splitter1.Enabled = false;
 
            this.splitter1.Location = new System.Drawing.Point(597, 0);
 
            this.splitter1.Margin = new System.Windows.Forms.Padding(2);
 
            this.splitter1.MinExtra = 390;
 
            this.splitter1.MinSize = 390;
 
            this.splitter1.Name = "splitter1";
 
            this.splitter1.Size = new System.Drawing.Size(2, 419);
 
            this.splitter1.TabIndex = 42;
 
            this.splitter1.TabStop = false;
 
            // 
 
            // panelMenu
 
            // 
 
            this.panelMenu.AssociatedSplitter = this.splitter1;
 
            this.panelMenu.BackColor = System.Drawing.Color.Transparent;
 
            this.panelMenu.CaptionFont = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.panelMenu.CaptionHeight = 27;
 
            this.panelMenu.Controls.Add(this.xPanderPanelList1);
 
            this.panelMenu.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
 
            this.panelMenu.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.panelMenu.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
 
            this.panelMenu.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.panelMenu.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.panelMenu.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.panelMenu.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.CollapsedCaptionText = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.ContentGradientBegin = System.Drawing.SystemColors.ButtonFace;
 
            this.panelMenu.CustomColors.ContentGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.panelMenu.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
 
            this.panelMenu.Dock = System.Windows.Forms.DockStyle.Right;
 
            this.panelMenu.ForeColor = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.Image = null;
 
            this.panelMenu.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
 
            this.panelMenu.Location = new System.Drawing.Point(599, 0);
 
            this.panelMenu.Margin = new System.Windows.Forms.Padding(2);
 
            this.panelMenu.MinimumSize = new System.Drawing.Size(27, 27);
 
            this.panelMenu.Name = "panelMenu";
 
            this.panelMenu.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.panelMenu.ShowExpandIcon = true;
 
            this.panelMenu.Size = new System.Drawing.Size(258, 419);
 
            this.panelMenu.TabIndex = 40;
 
            this.panelMenu.Text = "Menu";
 
            this.panelMenu.ToolTipTextCloseIcon = null;
 
            this.panelMenu.ToolTipTextExpandIconPanelCollapsed = "maximize";
 
            this.panelMenu.ToolTipTextExpandIconPanelExpanded = "minimize";
 
            // 
 
            // xPanderPanelList1
 
            // 
 
            this.xPanderPanelList1.CaptionStyle = BSE.Windows.Forms.CaptionStyle.Flat;
 
            this.xPanderPanelList1.Controls.Add(this.xPanderPanelMain);
 
            this.xPanderPanelList1.Controls.Add(this.xPanderPanelInfo);
 
            this.xPanderPanelList1.Controls.Add(this.xPanderPanelCache);
 
            this.xPanderPanelList1.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.xPanderPanelList1.GradientBackground = System.Drawing.Color.Empty;
 
            this.xPanderPanelList1.Location = new System.Drawing.Point(0, 28);
 
            this.xPanderPanelList1.Margin = new System.Windows.Forms.Padding(2);
 
            this.xPanderPanelList1.Name = "xPanderPanelList1";
 
            this.xPanderPanelList1.PanelColors = null;
 
            this.xPanderPanelList1.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.xPanderPanelList1.ShowExpandIcon = true;
 
            this.xPanderPanelList1.Size = new System.Drawing.Size(258, 390);
 
            this.xPanderPanelList1.TabIndex = 0;
 
            this.xPanderPanelList1.Text = "xPanderPanelList1";
 
            // 
 
            // xPanderPanelMain
 
@@ -1945,216 +1967,217 @@
 
            this.button10.Size = new System.Drawing.Size(220, 20);
 
            this.button10.TabIndex = 5;
 
            this.button10.Text = "Import";
 
            this.button10.UseVisualStyleBackColor = true;
 
            // 
 
            // textBoxMemory
 
            // 
 
            this.textBoxMemory.Dock = System.Windows.Forms.DockStyle.Top;
 
            this.textBoxMemory.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxMemory.Location = new System.Drawing.Point(18, 175);
 
            this.textBoxMemory.Name = "textBoxMemory";
 
            this.textBoxMemory.ReadOnly = true;
 
            this.textBoxMemory.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxMemory.TabIndex = 39;
 
            this.textBoxMemory.Text = "...";
 
            // 
 
            // checkBoxUseRouteCache
 
            // 
 
            this.checkBoxUseRouteCache.AutoSize = true;
 
            this.checkBoxUseRouteCache.Checked = true;
 
            this.checkBoxUseRouteCache.CheckState = System.Windows.Forms.CheckState.Checked;
 
            this.checkBoxUseRouteCache.Location = new System.Drawing.Point(18, 351);
 
            this.checkBoxUseRouteCache.Name = "checkBoxUseRouteCache";
 
            this.checkBoxUseRouteCache.Size = new System.Drawing.Size(160, 17);
 
            this.checkBoxUseRouteCache.TabIndex = 2;
 
            this.checkBoxUseRouteCache.Text = "cache routing/geocodig/etc";
 
            this.checkBoxUseRouteCache.UseVisualStyleBackColor = true;
 
            // 
 
            // button9
 
            // 
 
            this.button9.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.button9.Location = new System.Drawing.Point(18, 45);
 
            this.button9.Name = "button9";
 
            this.button9.Size = new System.Drawing.Size(220, 20);
 
            this.button9.TabIndex = 4;
 
            this.button9.Text = "Export";
 
            this.button9.UseVisualStyleBackColor = true;
 
            // 
 
            // button11
 
            // 
 
            this.button11.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.button11.Location = new System.Drawing.Point(18, 71);
 
            this.button11.Name = "button11";
 
            this.button11.Size = new System.Drawing.Size(220, 20);
 
            this.button11.TabIndex = 38;
 
            this.button11.Text = "Prefetch selected area";
 
            this.button11.UseVisualStyleBackColor = true;
 
            // 
 
            // label10
 
            // 
 
            this.label10.AutoSize = true;
 
            this.label10.Location = new System.Drawing.Point(18, 159);
 
            this.label10.Name = "label10";
 
            this.label10.Size = new System.Drawing.Size(111, 13);
 
            this.label10.TabIndex = 40;
 
            this.label10.Text = "memory cache usage:";
 
            // 
 
            // button2
 
            // 
 
            this.button2.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.button2.Location = new System.Drawing.Point(18, 97);
 
            this.button2.Name = "button2";
 
            this.button2.Size = new System.Drawing.Size(220, 20);
 
            this.button2.TabIndex = 43;
 
            this.button2.Text = "Clear tiles in disk cache";
 
            this.button2.UseVisualStyleBackColor = true;
 
            // 
 
            // label13
 
            // 
 
            this.label13.AutoSize = true;
 
            this.label13.Location = new System.Drawing.Point(18, 285);
 
            this.label13.Name = "label13";
 
            this.label13.Size = new System.Drawing.Size(93, 13);
 
            this.label13.TabIndex = 44;
 
            this.label13.Text = "disk cache status:";
 
            // 
 
            // label14
 
            // 
 
            this.label14.AutoSize = true;
 
            this.label14.Location = new System.Drawing.Point(18, 222);
 
            this.label14.Name = "label14";
 
            this.label14.Size = new System.Drawing.Size(83, 13);
 
            this.label14.TabIndex = 47;
 
            this.label14.Text = "disk cache size:";
 
            // 
 
            // button17
 
            // 
 
            this.button17.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.button17.Location = new System.Drawing.Point(17, 122);
 
            this.button17.Margin = new System.Windows.Forms.Padding(2);
 
            this.button17.Name = "button17";
 
            this.button17.Size = new System.Drawing.Size(222, 19);
 
            this.button17.TabIndex = 50;
 
            this.button17.Text = "Open cache location";
 
            this.button17.UseVisualStyleBackColor = true;
 
            // 
 
            // tboxMasterHDOP
 
            // tboxAtmoLight
 
            // 
 
            this.tboxMasterHDOP.Location = new System.Drawing.Point(120, 214);
 
            this.tboxMasterHDOP.Name = "tboxMasterHDOP";
 
            this.tboxMasterHDOP.ReadOnly = true;
 
            this.tboxMasterHDOP.Size = new System.Drawing.Size(100, 20);
 
            this.tboxMasterHDOP.TabIndex = 21;
 
            this.tboxAtmoLight.BackColor = System.Drawing.SystemColors.Control;
 
            this.tboxAtmoLight.Location = new System.Drawing.Point(146, 134);
 
            this.tboxAtmoLight.Name = "tboxAtmoLight";
 
            this.tboxAtmoLight.ReadOnly = true;
 
            this.tboxAtmoLight.Size = new System.Drawing.Size(100, 20);
 
            this.tboxAtmoLight.TabIndex = 43;
 
            // 
 
            // label30
 
            // label31
 
            // 
 
            this.label30.AutoSize = true;
 
            this.label30.Location = new System.Drawing.Point(14, 217);
 
            this.label30.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7);
 
            this.label30.Name = "label30";
 
            this.label30.Size = new System.Drawing.Size(38, 13);
 
            this.label30.TabIndex = 20;
 
            this.label30.Text = "HDOP";
 
            this.label31.AutoSize = true;
 
            this.label31.Location = new System.Drawing.Point(40, 137);
 
            this.label31.Margin = new System.Windows.Forms.Padding(30, 7, 5, 7);
 
            this.label31.Name = "label31";
 
            this.label31.Size = new System.Drawing.Size(71, 13);
 
            this.label31.TabIndex = 42;
 
            this.label31.Text = "Ambient Light";
 
            // 
 
            // MainForm
 
            // 
 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
 
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
 
            this.BackColor = System.Drawing.Color.AliceBlue;
 
            this.ClientSize = new System.Drawing.Size(895, 550);
 
            this.ClientSize = new System.Drawing.Size(895, 627);
 
            this.Controls.Add(this.splitContainer1);
 
            this.KeyPreview = true;
 
            this.MinimumSize = new System.Drawing.Size(554, 105);
 
            this.Name = "MainForm";
 
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
 
            this.Text = "GMap.NET - Great Maps for Windows Forms";
 
            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
 
            this.Load += new System.EventHandler(this.MainForm_Load);
 
            this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.MainForm_KeyPress);
 
            this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
 
            this.tabMap.ResumeLayout(false);
 
            this.panel4.ResumeLayout(false);
 
            this.panel2.ResumeLayout(false);
 
            this.tabControl.ResumeLayout(false);
 
            this.tabGraphs.ResumeLayout(false);
 
            this.pnlDataListDisplay.ResumeLayout(false);
 
            this.pnlDataListDisplay.PerformLayout();
 
            this.ctnParentChartHolder.Panel1.ResumeLayout(false);
 
            this.ctnParentChartHolder.Panel2.ResumeLayout(false);
 
            this.ctnParentChartHolder.ResumeLayout(false);
 
            this.ctnTopChartHolder.Panel1.ResumeLayout(false);
 
            this.ctnTopChartHolder.Panel1.PerformLayout();
 
            this.ctnTopChartHolder.Panel2.ResumeLayout(false);
 
            this.ctnTopChartHolder.Panel2.PerformLayout();
 
            this.ctnTopChartHolder.ResumeLayout(false);
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtTopLeft)).EndInit();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtTopRight)).EndInit();
 
            this.ctnBottomChartHolder.Panel1.ResumeLayout(false);
 
            this.ctnBottomChartHolder.Panel1.PerformLayout();
 
            this.ctnBottomChartHolder.Panel2.ResumeLayout(false);
 
            this.ctnBottomChartHolder.Panel2.PerformLayout();
 
            this.ctnBottomChartHolder.ResumeLayout(false);
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtBottomLeft)).EndInit();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtBottomRight)).EndInit();
 
            this.tabData.ResumeLayout(false);
 
            this.gboxSlaveData.ResumeLayout(false);
 
            this.gboxSlaveData.PerformLayout();
 
            this.gboxMasterData.ResumeLayout(false);
 
            this.gboxMasterData.PerformLayout();
 
            this.splitContainer1.Panel1.ResumeLayout(false);
 
            this.splitContainer1.Panel2.ResumeLayout(false);
 
            this.splitContainer1.Panel2.PerformLayout();
 
            this.splitContainer1.ResumeLayout(false);
 
            this.panelMenu.ResumeLayout(false);
 
            this.xPanderPanelList1.ResumeLayout(false);
 
            this.xPanderPanelMain.ResumeLayout(false);
 
            this.tableLayoutPanel4.ResumeLayout(false);
 
            this.tableLayoutPanel5.ResumeLayout(false);
 
            this.tableLayoutPanel5.PerformLayout();
 
            this.groupBox8.ResumeLayout(false);
 
            this.groupBox8.PerformLayout();
 
            this.groupBox7.ResumeLayout(false);
 
            this.groupBox7.PerformLayout();
 
            this.groupBox5.ResumeLayout(false);
 
            this.groupBox5.PerformLayout();
 
            this.groupBox3.ResumeLayout(false);
 
            this.groupBox3.PerformLayout();
 
            this.tableLayoutPanel6.ResumeLayout(false);
 
            this.tableLayoutPanel6.PerformLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.trackBarZoomLevel)).EndInit();
 
            this.xPanderPanelInfo.ResumeLayout(false);
 
            this.tableLayoutPanel2.ResumeLayout(false);
 
            this.tableLayoutPanel2.PerformLayout();
 
            this.xPanderPanelCache.ResumeLayout(false);
 
            this.tableLayoutPanel1.ResumeLayout(false);
 
            this.tableLayoutPanel1.PerformLayout();
 
            this.ResumeLayout(false);
 
 
      }
 
 
      #endregion
 
 
      private System.Windows.Forms.TabPage tabMap;
 
      private System.Windows.Forms.Panel panel4;
 
      private System.Windows.Forms.Panel panel2;
 
      internal Map MainMap;
 
      private BSE.Windows.Forms.Splitter splitter1;
 
      private BSE.Windows.Forms.Panel panelMenu;
 
      private BSE.Windows.Forms.XPanderPanelList xPanderPanelList1;
 
      private BSE.Windows.Forms.XPanderPanel xPanderPanelMain;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel5;
 
      private System.Windows.Forms.GroupBox groupBox8;
 
      private System.Windows.Forms.Button btnZoomCenter;
 
      private System.Windows.Forms.CheckBox xboxPlacemarkInfo;
 
      private System.Windows.Forms.Button btnClearAll;
 
      private System.Windows.Forms.Button btnAddMarker;
 
      private System.Windows.Forms.GroupBox groupBox7;
 
      private System.Windows.Forms.Button buttonExportToGpx;
 
      private System.Windows.Forms.DateTimePicker MobileLogTo;
 
      private System.Windows.Forms.Label lblClear;
 
      private System.Windows.Forms.Button btnClearPolygons;
 
      private System.Windows.Forms.DateTimePicker MobileLogFrom;
 
      private System.Windows.Forms.Button btnMobileLog;
 
      private System.Windows.Forms.Button buttonSetEnd;
 
      private System.Windows.Forms.Button buttonSetStart;
 
@@ -2163,127 +2186,129 @@
 
      private System.Windows.Forms.GroupBox groupBox5;
 
      private System.Windows.Forms.Button btnLoadGPX;
 
      private System.Windows.Forms.Button btnGetStatic;
 
      private System.Windows.Forms.CheckBox xboxGrid;
 
      private System.Windows.Forms.Button btnSaveView;
 
      private System.Windows.Forms.Label lblMode;
 
      private System.Windows.Forms.ComboBox comboBoxMode;
 
      private System.Windows.Forms.CheckBox xboxCanDrag;
 
      private System.Windows.Forms.CheckBox xboxCurrentMarker;
 
      private System.Windows.Forms.Label lblMapType;
 
      private System.Windows.Forms.ComboBox comboBoxMapType;
 
      private System.Windows.Forms.GroupBox groupBox3;
 
      private System.Windows.Forms.Label lblGoTo;
 
      private System.Windows.Forms.TextBox textBoxGeo;
 
      private System.Windows.Forms.Button btnReload;
 
      private System.Windows.Forms.Button btnGoToCoords;
 
      private System.Windows.Forms.Label lblLng;
 
      private System.Windows.Forms.Label lblLat;
 
      private System.Windows.Forms.TextBox textBoxLng;
 
      private System.Windows.Forms.TextBox textBoxLat;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel6;
 
      private System.Windows.Forms.Button btnZoomIn;
 
      private System.Windows.Forms.TrackBar trackBarZoomLevel;
 
      private System.Windows.Forms.Button btnZoomOut;
 
      private BSE.Windows.Forms.XPanderPanel xPanderPanelInfo;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
 
      private System.Windows.Forms.TextBox textBoxZoomCurrent;
 
      private System.Windows.Forms.TextBox textBoxrouteCount;
 
      private System.Windows.Forms.Label label12;
 
      private System.Windows.Forms.Label label9;
 
      private System.Windows.Forms.TextBox textBoxLngCurrent;
 
      private System.Windows.Forms.TextBox textBoxMarkerCount;
 
      private System.Windows.Forms.Label label11;
 
      private System.Windows.Forms.Label label4;
 
      private System.Windows.Forms.TextBox textBoxLatCurrent;
 
      private System.Windows.Forms.Label label5;
 
      private BSE.Windows.Forms.XPanderPanel xPanderPanelCache;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
 
      private System.Windows.Forms.TextBox textBoxCacheSize;
 
      private System.Windows.Forms.TextBox textBoxCacheStatus;
 
      private System.Windows.Forms.Button button10;
 
      private System.Windows.Forms.TextBox textBoxMemory;
 
      private System.Windows.Forms.CheckBox checkBoxUseRouteCache;
 
      private System.Windows.Forms.Button button9;
 
      private System.Windows.Forms.Button button11;
 
      private System.Windows.Forms.Label label10;
 
      private System.Windows.Forms.Button button2;
 
      private System.Windows.Forms.Label label13;
 
      private System.Windows.Forms.Label label14;
 
      private System.Windows.Forms.Button button17;
 
      private System.Windows.Forms.TabControl tabControl;
 
      private System.Windows.Forms.TabPage tabGraphs;
 
      private System.Windows.Forms.Panel pnlDataListDisplay;
 
      private System.Windows.Forms.Button btnTest;
 
      internal System.Windows.Forms.TextBox tboxChartData;
 
      internal System.Windows.Forms.Label lblChartData;
 
      internal System.Windows.Forms.TextBox tboxCurrent;
 
      internal System.Windows.Forms.Label lblCurrent;
 
      internal System.Windows.Forms.TextBox tboxMin;
 
      internal System.Windows.Forms.Label lblAverage;
 
      internal System.Windows.Forms.TextBox tboxMax;
 
      internal System.Windows.Forms.Label lblMax;
 
      internal System.Windows.Forms.TextBox tboxAverage;
 
      internal System.Windows.Forms.Label lblMin;
 
      private System.Windows.Forms.SplitContainer ctnParentChartHolder;
 
      private System.Windows.Forms.SplitContainer ctnTopChartHolder;
 
      private System.Windows.Forms.Label lblTopLeftChartTitle;
 
      private System.Windows.Forms.DataVisualization.Charting.Chart chrtTopLeft;
 
      private System.Windows.Forms.Label lblTopRightChartTitle;
 
      private System.Windows.Forms.DataVisualization.Charting.Chart chrtTopRight;
 
      private System.Windows.Forms.SplitContainer ctnBottomChartHolder;
 
      private System.Windows.Forms.Label lblBottomLeftChartTitle;
 
      private System.Windows.Forms.DataVisualization.Charting.Chart chrtBottomLeft;
 
      private System.Windows.Forms.Label lblBottomRightChartTitle;
 
      private System.Windows.Forms.DataVisualization.Charting.Chart chrtBottomRight;
 
      private System.Windows.Forms.TextBox tboxMessageBox;
 
      private System.Windows.Forms.TabPage tabData;
 
      private System.Windows.Forms.GroupBox gboxSlaveData;
 
      private System.Windows.Forms.GroupBox gboxMasterData;
 
      private System.Windows.Forms.TextBox textBox6;
 
      private System.Windows.Forms.Label label7;
 
      private System.Windows.Forms.Label label6;
 
      private System.Windows.Forms.TextBox tboxMasterVelocity;
 
      private System.Windows.Forms.Label label3;
 
      private System.Windows.Forms.TextBox tboxMasterLongitude;
 
      private System.Windows.Forms.Label label2;
 
      private System.Windows.Forms.TextBox tboxMasterLatitude;
 
      private System.Windows.Forms.Label label16;
 
      private System.Windows.Forms.TextBox tboxMasterBatteryLevel;
 
      private System.Windows.Forms.TextBox tboxMasterBoardTemp;
 
      private System.Windows.Forms.Label label1;
 
      private System.Windows.Forms.TextBox tboxCameraBatteryLevel;
 
      private System.Windows.Forms.Label label26;
 
      private System.Windows.Forms.TextBox tboxCameraBoardTemp;
 
      private System.Windows.Forms.Label label27;
 
      private System.Windows.Forms.Label label28;
 
      private System.Windows.Forms.TextBox textBox15;
 
      private System.Windows.Forms.TextBox tboxGeigerRads;
 
      private System.Windows.Forms.Label label25;
 
      private System.Windows.Forms.TextBox tboxGeigerBatteryLevel;
 
      private System.Windows.Forms.Label label24;
 
      private System.Windows.Forms.TextBox tboxGeigerBoardTemp;
 
      private System.Windows.Forms.Label label23;
 
      private System.Windows.Forms.Label label22;
 
      private System.Windows.Forms.TextBox tboxAtmoAltitude;
 
      private System.Windows.Forms.Label label21;
 
      private System.Windows.Forms.TextBox textBox11;
 
      private System.Windows.Forms.TextBox tboxAtmoAirTemp;
 
      private System.Windows.Forms.Label label19;
 
      private System.Windows.Forms.TextBox tboxAtmoHumidity;
 
      private System.Windows.Forms.Label label18;
 
      private System.Windows.Forms.TextBox tboxAtmoPressure;
 
      private System.Windows.Forms.Label label17;
 
      private System.Windows.Forms.TextBox tboxAtmoBatteryLevel;
 
      private System.Windows.Forms.Label label15;
 
      private System.Windows.Forms.TextBox tboxAtmoBoardTemp;
 
      private System.Windows.Forms.Label label8;
 
      private System.Windows.Forms.Label label20;
 
      private System.Windows.Forms.CheckBox cboxCollectData;
 
      private System.Windows.Forms.SplitContainer splitContainer1;
 
      private System.Windows.Forms.TextBox tboxMasterSatellites;
 
      private System.Windows.Forms.Label label29;
 
      private System.Windows.Forms.TextBox tboxMasterHDOP;
 
      private System.Windows.Forms.Label label30;
 
      private System.Windows.Forms.TextBox tboxAtmoLight;
 
      private System.Windows.Forms.Label label31;
 
 
 
   }
 
}
 
Demo.WindowsForms/Forms/MainForm.cs
Show inline comments
 
@@ -2330,629 +2330,666 @@ namespace Demo.WindowsForms
 
 
        // load gpx file
 
        private void btnLoadGPX_Click(object sender, EventArgs e)
 
        {
 
            using (FileDialog dlg = new OpenFileDialog())
 
            {
 
                dlg.CheckPathExists = true;
 
                dlg.CheckFileExists = false;
 
                dlg.AddExtension = true;
 
                dlg.DefaultExt = "gpx";
 
                dlg.ValidateNames = true;
 
                dlg.Title = "GMap.NET: open gpx log";
 
                dlg.Filter = "gpx files (*.gpx)|*.gpx";
 
                dlg.FilterIndex = 1;
 
                dlg.RestoreDirectory = true;
 
 
                if (dlg.ShowDialog() == DialogResult.OK)
 
                {
 
                    try
 
                    {
 
                        string gpx = File.ReadAllText(dlg.FileName);
 
 
                        gpxType r = MainMap.Manager.DeserializeGPX(gpx);
 
                        if (r != null)
 
                        {
 
                            if (r.trk.Length > 0)
 
                            {
 
                                foreach (var trk in r.trk)
 
                                {
 
                                    List<PointLatLng> points = new List<PointLatLng>();
 
 
                                    foreach (var seg in trk.trkseg)
 
                                    {
 
                                        foreach (var p in seg.trkpt)
 
                                        {
 
                                            points.Add(new PointLatLng((double)p.lat, (double)p.lon));
 
                                        }
 
                                    }
 
 
                                    GMapRoute rt = new GMapRoute(points, string.Empty);
 
                                    {
 
                                        rt.Stroke = new Pen(Color.FromArgb(144, Color.Red));
 
                                        rt.Stroke.Width = 5;
 
                                        rt.Stroke.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDot;
 
                                    }
 
                                    routes.Routes.Add(rt);
 
                                }
 
 
                                MainMap.ZoomAndCenterRoutes(null);
 
                            }
 
                        }
 
                    }
 
                    catch (Exception ex)
 
                    {
 
                        Debug.WriteLine("GPX import: " + ex.ToString());
 
                        MessageBox.Show("Error importing gpx: " + ex.Message, "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 
                    }
 
                }
 
            }
 
        }
 
 
        // enable/disable host tracing
 
        //private void checkBoxTraceRoute_CheckedChanged(object sender, EventArgs e)
 
        //{
 
        //   TryTraceConnection = checkBoxTraceRoute.Checked;
 
        //   if(!TryTraceConnection)
 
        //   {
 
        //      if(iptracerWorker.IsBusy)
 
        //      {
 
        //         iptracerWorker.CancelAsync();
 
        //      }
 
        //      routes.Routes.Clear();
 
        //   }
 
        //}
 
 
        //private void GridConnections_DoubleClick(object sender, EventArgs e)
 
        //{
 
        //   GridConnections.ClearSelection();
 
        //}
 
 
        // open disk cache location
 
        private void button17_Click(object sender, EventArgs e)
 
        {
 
            try
 
            {
 
                string argument = "/select, \"" + MainMap.CacheLocation + "TileDBv5\"";
 
                System.Diagnostics.Process.Start("explorer.exe", argument);
 
            }
 
            catch (Exception ex)
 
            {
 
                MessageBox.Show("Failed to open: " + ex.Message, "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
            }
 
        }
 
 
        #endregion
 
 
        #region graph and map functions
 
 
        #region chart coloring
 
        #region chart click events
 
        //this method clears the background of all charts
 
        private void ResetChartColors()
 
        {
 
            chrtTopLeft.BackColor = Color.LightGray;
 
            chrtTopRight.BackColor = Color.LightGray;
 
            chrtBottomLeft.BackColor = Color.LightGray;
 
            chrtBottomRight.BackColor = Color.LightGray;
 
        }
 
 
        //highlight Top Left chart on click
 
        //set text box values based on this chart
 
        private void chrtTopLeft_Click(object sender, EventArgs e)
 
        {
 
            ResetChartColors();
 
            chrtTopLeft.BackColor = Color.Gray;
 
            tboxChartData.Text = "Altitude";
 
            tboxCurrent.Text = "";
 
            tboxAverage.Text = "";
 
            tboxMax.Text = "";
 
            tboxMin.Text = "";
 
        }
 
 
        //highlight Top Right chart on click
 
        //set text box values based on this chart
 
        private void chrtTopRight_Click(object sender, EventArgs e)
 
        {
 
            ResetChartColors();
 
            chrtTopRight.BackColor = Color.Gray;
 
            tboxChartData.Text = "Humidity";
 
            tboxCurrent.Text = "";
 
            tboxAverage.Text = "";
 
            tboxMax.Text = "";
 
            tboxMin.Text = "";
 
        }
 
 
        //highlight Bottom Left chart on click
 
        //set text box values based on this chart
 
        private void chrtBottomLeft_Click(object sender, EventArgs e)
 
        {
 
            ResetChartColors();
 
            chrtBottomLeft.BackColor = Color.Gray;
 
            tboxChartData.Text = "Pressure";
 
            tboxCurrent.Text = "";
 
            tboxAverage.Text = "";
 
            tboxMax.Text = "";
 
            tboxMin.Text = "";
 
        }
 
 
        //highlight Bottom Right chart on click
 
        //set text box values based on this chart
 
        private void chrtBottomRight_Click(object sender, EventArgs e)
 
        {
 
            ResetChartColors();
 
            chrtBottomRight.BackColor = Color.Gray;
 
            tboxChartData.Text = "Map";
 
            tboxCurrent.Text = "";
 
            tboxAverage.Text = "";
 
            tboxMax.Text = "";
 
            tboxMin.Text = "";
 
        }
 
 
        #endregion
 
 
        #region transmission handling
 
        //variable declarations
 
        string latitude;
 
        string longitude;
 
        bool firstTransmissionDatum = false;
 
 
        //runs on init 
 
        public void PrepareGraphs(){
 
 
            //set up for graphs MDKEdit
 
            // http://www.youtube.com/watch?v=zTod4-Fg6Ew - split containers
 
            // http://www.youtube.com/watch?v=bMXtgPk875I - chart controls
 
 
            chrtTopLeft.ChartAreas.Add("altitudeArea");
 
            chrtTopLeft.Series.Add("altitudeTrend");
 
 
            chrtTopRight.ChartAreas.Add("humidityArea");
 
            chrtTopRight.Series.Add("humidityTrend");
 
 
            chrtBottomLeft.Series.Add("pressureTrend");
 
            chrtBottomLeft.ChartAreas.Add("pressureArea");
 
 
            chrtBottomRight.ChartAreas.Add("velocityArea");
 
            chrtBottomRight.Series.Add("velocityTrend");
 
 
            // declare all series, data points to be modified dynamically at run
 
 
            //---------prep altitude area BEGIN 
 
            chrtTopLeft.Series["altitudeTrend"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
 
            chrtTopLeft.Series["altitudeTrend"].Color = Color.Green;
 
            System.Windows.Forms.DataVisualization.Charting.AxisName.X.Equals("Time");
 
            System.Windows.Forms.DataVisualization.Charting.AxisName.Y.Equals("Altitude");
 
            
 
            ///required initial value
 
            chrtTopLeft.Series["altitudeTrend"].Points.AddXY(0, 0);
 
            chrtTopLeft.Series["altitudeTrend"].Points.AddXY(0, 140);
 
            //---------prep altitude area END 
 
 
 
            //-----------prep humidity area BEGIN
 
            chrtTopRight.Series["humidityTrend"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
 
            chrtTopRight.Series["humidityTrend"].Color = Color.Red;
 
            System.Windows.Forms.DataVisualization.Charting.AxisName.X.Equals("Time");
 
            System.Windows.Forms.DataVisualization.Charting.AxisName.Y.Equals("Humidity");
 
 
            ///required initial value
 
            chrtTopRight.Series["humidityTrend"].Points.AddXY(0, 0);
 
            chrtTopRight.Series["humidityTrend"].Points.AddXY(0, 50);
 
            //-----------prep humidity area END
 
 
 
            //-----------prep pressure area BEGIN
 
            chrtBottomLeft.Series["pressureTrend"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
 
            chrtBottomLeft.Series["pressureTrend"].Color = Color.Blue;
 
            System.Windows.Forms.DataVisualization.Charting.AxisName.X.Equals("Time");
 
            System.Windows.Forms.DataVisualization.Charting.AxisName.Y.Equals("Pressure");
 
 
            ///required initial value
 
            chrtBottomLeft.Series["pressureTrend"].Points.AddXY(0, 0);
 
            chrtBottomLeft.Series["pressureTrend"].Points.AddXY(0, 100000);
 
            //-----------prep pressure area END
 
 
 
            //----------prep velocity area BEGIN
 
            chrtBottomRight.Series["velocityTrend"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
 
            chrtBottomRight.Series["velocityTrend"].Color = Color.Green;
 
            System.Windows.Forms.DataVisualization.Charting.AxisName.X.Equals("Time");
 
            System.Windows.Forms.DataVisualization.Charting.AxisName.Y.Equals("Altitude");
 
 
            ///required initial value
 
            chrtBottomRight.Series["velocityTrend"].Points.AddXY(0, 0);
 
            //----------prep velocity area END
 
 
            //put chart displays in a ready state
 
            ResetChartColors();
 
        }
 
        
 
        string latitude;
 
        string longitude;
 
 
        //parses transmissions and saves data to CSV file
 
        public void ParseIncomingData(string rawDataReceived)
 
        {
 
            //check to see if data should be processed
 
            if (!cboxCollectData.Checked && rawDataReceived.StartsWith("KD8TDF"))
 
            if (!cboxCollectData.Checked )
 
            {
 
                AddTextDelegate("Bad transmission: " + rawDataReceived +"\r\n");
 
                AddTextDelegate("Transmission not saved: " + rawDataReceived +"\r\n");
 
                return;
 
            }
 
            else if (!rawDataReceived.StartsWith("KD8TDF"))
 
            {
 
                AddTextDelegate("Foreign transmission: " + rawDataReceived + "\r\n");
 
                return;
 
            }
 
 
            /* sample stansmissions
 
             * KD8TDF-9>APRS,WIDE2-1:/191950zN/WO/ T79 S00 V H99.99 _ |
 
             * KD8TDF-9>APRS,WIDE2-1:/151916z3944.87N/08348.75WO005/0.013 SV:09 A-30.5 B45.64 C99542
 
             */
 
 
            //find and store latitude string
 
            int indexStart = rawDataReceived.IndexOf("z");
 
            int indexEnd = rawDataReceived.IndexOf("N/");
 
            latitude = rawDataReceived.Substring(indexStart + 1, indexEnd - indexStart - 1);
 
 
            //find and store longitude string
 
            indexStart = rawDataReceived.IndexOf("N/");
 
            indexEnd = rawDataReceived.IndexOf("WO");
 
            longitude = rawDataReceived.Substring(indexStart + 2, indexEnd - indexStart - 2);
 
            
 
            //remove APRS overhead from string
 
            string transmissionCommentField= rawDataReceived.Substring(rawDataReceived.IndexOf(" ")); 
 
 
            //place each datum in its own variable
 
            string[] dataTransmission;
 
            dataTransmission = transmissionCommentField.Split(' ');
 
            dataTransmission = transmissionCommentField.Split('~');
 
 
            //variables for processing datums
 
            string typeCode;
 
            double data;
 
            string data;
 
            string csvData = "";
 
            string testString = "";
 
 
            //loop through all datums in the transmission and send them to the chart builder
 
            for (int i = 1; i < dataTransmission.Length; i++)
 
            for (int i = 0; i < dataTransmission.Length; i++)
 
            {
 
                if (i == 0)
 
                {
 
                    firstTransmissionDatum = true;
 
                }
 
                else
 
                {
 
                    firstTransmissionDatum = false;
 
                }
 
 
                //remove unwanted characters
 
                dataTransmission[i] = dataTransmission[i].Trim('\r');
 
                dataTransmission[i] = dataTransmission[i].Trim();
 
 
                //zero not always trasmitted properly so add '0.0' to any transmission with no data
 
                if (dataTransmission[i].Length == 1) 
 
                {
 
                    dataTransmission[i] += "0";
 
                }
 
                
 
                //pull out data and data type and send to processing function
 
                typeCode = dataTransmission[i].Substring(0, 1);
 
                data = double.Parse(dataTransmission[i].Substring(1));
 
                processTransmissionDatum(typeCode, data);
 
 
                //append data to string for CSV write
 
                csvData += typeCode + data + ",";
 
                if (typeCode != "e")
 
                {
 
                    testString = dataTransmission[i].Substring(1);
 
                    data = dataTransmission[i].Substring(1);
 
                    processTransmissionDatum(typeCode, data);
 
 
                    //append data to string for CSV write
 
                    csvData += typeCode + data + ",";
 
                }
 
                else
 
                {
 
                    AddTextDelegate("Error Message: " + dataTransmission[i].Substring(1) + "\r\n");
 
                }
 
            }
 
 
            //handle case of no GPS fix
 
            if (latitude == "" || longitude == "")
 
            {
 
                AddTextDelegate("No GPS fix: ");
 
            }
 
            else
 
            {
 
                //marker added here so extra accuracy can be added
 
                addMarkerFromTransmit(latitude, longitude);
 
            }
 
 
            //display transmission in message box
 
            AddTextDelegate(rawDataReceived + "\r\n");
 
 
            //write the data to CSV file
 
            WriteToCSV(csvData);
 
        }
 
 
        //method to process data from transmissions (usually chart inserts)
 
        private void processTransmissionDatum(string dataType, string data)
 
        {
 
            //TODO: add inserts for all charts. altitude is finished and is a template
 
            ///data types organized by listing in google doc
 
            //MASTER MODULE DATA VALUES
 
            ChartDelegate(dataType, data);
 
 
        }
 
 
        //write the data to CSV file
 
        private void WriteToCSV(string data)
 
        {
 
            string path = Directory.GetCurrentDirectory();
 
            string filename = path+"\\debug" + unixTime.Milliseconds + ".csv";
 
            using (StreamWriter writer = new StreamWriter(filename, true))
 
            {
 
                writer.WriteLine(data);
 
            }
 
        }
 
        
 
        //method to process data from transmissions (usually chart inserts)
 
        private void processTransmissionDatum(string dataType, double data)
 
        {
 
            //TODO: add inserts for all charts. altitude is finished and is a template
 
            ///data types organized by listing in google doc
 
            //MASTER MODULE DATA VALUES
 
            ChartDelegate(dataType, data);
 
 
        }
 
 
        //must change lat/long coords to properly place map marker
 
        float conv_coords(float in_coords)
 
        {
 
            //Initialize the location.
 
            float f = in_coords;
 
            // Get the first two digits by turning f into an integer, then doing an integer divide by 100;
 
            // firsttowdigits should be 77 at this point.
 
            int firsttwodigits = ((int)f) / 100;                               //This assumes that f < 10000.
 
            float nexttwodigits = f - (float)(firsttwodigits * 100);
 
            float theFinalAnswer = (float)(firsttwodigits + nexttwodigits / 60.0);
 
            return theFinalAnswer;
 
        }
 
 
        //must change lat/long coords to properly place map marker
 
        public decimal DmsToDD(double d, double m = 0, double s = 0)
 
        {
 
            return Convert.ToDecimal((d + (m / 60) + (s / 3600)) * (d < 0 ? -1 : 1));
 
        }
 
 
        // add marker from an APRS transmission - MDKEdit
 
        private void addMarkerFromTransmit(string lat, string lng)
 
        {
 
 
            double latitude = double.Parse(lat), longitude = double.Parse(lng);
 
            PointLatLng APRSloc = new PointLatLng();
 
            APRSloc.Lat = conv_coords((float)latitude);
 
            APRSloc.Lng = conv_coords((float)longitude)*-1;
 
 
            GMarkerGoogle m = new GMarkerGoogle(APRSloc, GMarkerGoogleType.blue_small);
 
 
            Placemark? p = null;
 
            if (xboxPlacemarkInfo.Checked)
 
            {
 
                GeoCoderStatusCode status;
 
                var ret = GMapProviders.GoogleMap.GetPlacemark(currentMarker.Position, out status);
 
                if (status == GeoCoderStatusCode.G_GEO_SUCCESS && ret != null)
 
                {
 
                    p = ret;
 
                }
 
            }
 
 
            objects.Markers.Add(m);
 
        }
 
 
        private void ClearTboxColor()
 
        {
 
            //tboxAtmoHumidity.BorderStyle = BorderStyle.FixedSingle;
 
            tboxAtmoHumidity.BackColor = Color.White;
 
            tboxAtmoPressure.BackColor = Color.White;
 
            tboxAtmoAltitude.BackColor = Color.White;
 
            tboxMasterVelocity.BackColor = Color.White;
 
            tboxCameraBoardTemp.BackColor = Color.White;
 
            tboxGeigerBoardTemp.BackColor = Color.White;
 
            tboxAtmoBoardTemp.BackColor = Color.White;
 
            tboxMasterBoardTemp.BackColor = Color.White;
 
            return;
 
        }
 
        #endregion
 
 
        #region cross theading
 
 
        ///
 
        //places text in the message box
 
        delegate void SetTextDelegate(string value);
 
        public void AddTextDelegate(string value)
 
        {
 
            if (InvokeRequired)
 
            {
 
                Invoke(new SetTextDelegate(AddTextDelegate), value);
 
            }
 
            else
 
            {
 
                tboxMessageBox.AppendText(value);// += value;
 
                textBoxMarkerCount.Text = objects.Markers.Count.ToString();
 
            }
 
        }
 
 
        delegate void ChartDataDelegate(string dataType, double data);
 
        public void ChartDelegate(string dataType, double data)
 
        //this is where most of the transmission processing is done
 
        delegate void ChartDataDelegate(string dataType, string data);
 
        public void ChartDelegate(string dataType, string data)
 
        {
 
            if (InvokeRequired)
 
            {
 
                Invoke(new ChartDataDelegate(ChartDelegate), dataType, data);
 
            }
 
            else
 
            {
 
                ClearTboxColor();
 
 
                if (firstTransmissionDatum)
 
                {
 
                    ClearTboxColor();
 
                }
 
                ///UNIVERSAL DATA TYPES
 
                if (dataType.Equals("t"))  //board temperature
 
                {
 
                    string dataString = data.ToString();
 
                    if (dataString.StartsWith("9"))
 
                    if (dataString.StartsWith("9")) //Master Module
 
                    {
 
                        tboxMasterBoardTemp.Text = dataString.Substring(1);
 
                        tboxMasterBoardTemp.BackColor = Color.Chartreuse;
 
                    }
 
                    else if (dataString.StartsWith("0"))
 
                    else if (dataString.StartsWith("0")) //Atmo Module
 
                    {
 
                        tboxAtmoBoardTemp.Text = dataString.Substring(1);
 
                        tboxAtmoBoardTemp.BackColor = Color.Chartreuse;
 
                    }
 
                    else if (dataString.StartsWith("1"))
 
                    else if (dataString.StartsWith("1")) //Geiger Module
 
                    {
 
                        tboxGeigerBoardTemp.Text = dataString.Substring(1);
 
                        tboxGeigerBoardTemp.BackColor = Color.Chartreuse;
 
                    }
 
                    else if (dataString.StartsWith("2"))
 
                    else if (dataString.StartsWith("2")) //Camera Module
 
                    {
 
                        tboxCameraBoardTemp.Text = dataString.Substring(1);
 
                        tboxCameraBoardTemp.BackColor = Color.Chartreuse;
 
                    }
 
                }
 
                else if (dataType.Equals("l"))  //battery level
 
                {
 
                    string dataString = data.ToString();
 
                    if (dataString.StartsWith("9"))
 
                    if (dataString.StartsWith("9")) //Master Module
 
                    {
 
                        tboxMasterBatteryLevel.Text = dataString.Substring(1);
 
                        tboxMasterBatteryLevel.BackColor = Color.Chartreuse;
 
                    }
 
                    else if (dataString.StartsWith("0"))
 
                    else if (dataString.StartsWith("0")) //Atmo Module
 
                    {
 
                        tboxAtmoBatteryLevel.Text = dataString.Substring(1);
 
                        tboxAtmoBatteryLevel.BackColor = Color.Chartreuse;
 
                    }
 
                    else if (dataString.StartsWith("1"))
 
                    else if (dataString.StartsWith("1"))  //Geiger Module
 
                    {
 
                        tboxGeigerBatteryLevel.Text = dataString.Substring(1);
 
                        tboxGeigerBatteryLevel.BackColor = Color.Chartreuse;
 
                    }
 
                    else if (dataString.StartsWith("2"))
 
                    else if (dataString.StartsWith("2")) //Camera Module
 
                    {
 
                        tboxCameraBatteryLevel.Text = dataString.Substring(1);
 
                        tboxCameraBatteryLevel.BackColor = Color.Chartreuse;
 
                    }
 
                }
 
                else if (dataType.Equals("i"))  //Info/error Message
 
                else if (dataType.Equals("i")) //Info Message
 
                {
 
                    AddTextDelegate("Info: " + data + "\r\n");
 
                }
 
 
                
 
                ///MASTER MODULE DATA TYPES
 
                //TODO: lat/long multi calls not needed; streamline
 
                else if (dataType.Equals("_"))  //latitude
 
                {
 
                    //TODO: check math and decimal placement
 
                    latitude += data.ToString();
 
                    tboxMasterLatitude.Text = latitude;
 
                    tboxMasterLatitude.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("|"))  //longitude
 
                {
 
                    //TODO: check math and decimal placement
 
                    longitude += data.ToString();
 
                    tboxMasterLongitude.Text = longitude;
 
                    tboxMasterLongitude.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("h"))  //HDOP
 
                {
 
                    tboxMasterHDOP.Text = data.ToString();
 
                    tboxMasterHDOP.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("v"))  //Velocity
 
                {
 
                    chrtBottomRight.Series.FindByName("velocityTrend").Points.AddY(double.Parse(data));
 
                    tboxMasterVelocity.Text = data.ToString();
 
                    tboxMasterVelocity.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("s"))  //satellites in view
 
                {
 
                    tboxMasterSatellites.Text = data.ToString();
 
                    tboxMasterSatellites.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("x"))  //Latitude
 
                {
 
 
                }
 
                else if (dataType.Equals("y"))  //Longitude
 
                {
 
 
                }
 
                else if (dataType.Equals("v"))  //Velocity
 
                {
 
                    chrtBottomRight.Series.FindByName("velocityTrend").Points.AddY(data);
 
                    tboxMasterVelocity.Text = data.ToString();
 
                    tboxMasterVelocity.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("_"))  //extra latitude decimals
 
                {
 
                    //TODO: check math and decimal placement
 
                    latitude += data.ToString();
 
                    tboxMasterLatitude.Text = latitude;
 
                    tboxMasterLatitude.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("|"))  //extra longitude decimals
 
                {
 
                    //TODO: check math and decimal placement
 
                    longitude += data.ToString();
 
                    tboxMasterLongitude.Text = longitude;
 
                    tboxMasterLongitude.BackColor = Color.Chartreuse;
 
                }
 
 
                ///ATMOSPHERIC MODULE DATA VALUES
 
                else if (dataType.Equals("C"))  //Air Temperature
 
                {
 
 
                    tboxAtmoAirTemp.Text = data.ToString();
 
                    tboxAtmoAirTemp.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("L"))  //Ambient Light
 
                {
 
                    tboxAtmoLight.Text = data.ToString();
 
                    tboxAtmoLight.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("H"))  //Humidity
 
                {
 
                    chrtTopRight.Series.FindByName("humidityTrend").Points.AddY(data);
 
                    chrtTopRight.Series.FindByName("humidityTrend").Points.AddY(double.Parse(data));
 
                    tboxAtmoHumidity.Text = data.ToString();
 
                    tboxAtmoHumidity.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("P"))  //Pressure
 
                {
 
                    chrtBottomLeft.Series.FindByName("pressureTrend").Points.AddY(data);
 
                    chrtBottomLeft.Series.FindByName("pressureTrend").Points.AddY(double.Parse(data));
 
                    tboxAtmoPressure.Text = data.ToString();
 
                    tboxAtmoPressure.BackColor = Color.Chartreuse;
 
                }
 
                else if (dataType.Equals("A"))  //Altitude
 
                {
 
                    chrtTopLeft.Series.FindByName("altitudeTrend").Points.AddY(data);
 
                    chrtTopLeft.Series.FindByName("altitudeTrend").Points.AddY(double.Parse(data));
 
                    tboxAtmoAltitude.Text = data.ToString();
 
                    tboxAtmoAltitude.BackColor = Color.Chartreuse;
 
                }
 
 
                
 
                ///GEIGER MODULE DATA VALUES
 
                else if (dataType.Equals("R"))  //radiation (CPM)
 
                {
 
 
                    tboxGeigerRads.Text = data.ToString();
 
                    tboxGeigerRads.BackColor = Color.Chartreuse;
 
                }
 
 
                /// CAMERA MODULE DATA VALUES
 
 
                //INVALID DATA TYPE
 
                else
 
                {
 
 
                    AddTextDelegate("Info: " + data + "\r\n");
 
                }
 
            }
 
        }
 
 
        private void ClearTboxColor()
 
        {
 
            //tboxAtmoHumidity.BorderStyle = BorderStyle.FixedSingle;
 
            tboxMasterBoardTemp.BackColor = Color.White;
 
            tboxAtmoBoardTemp.BackColor = Color.White;
 
            tboxGeigerBoardTemp.BackColor = Color.White;
 
            tboxCameraBoardTemp.BackColor = Color.White;
 
            tboxMasterBatteryLevel.BackColor = Color.White;
 
            tboxAtmoBatteryLevel.BackColor = Color.White;
 
            tboxGeigerBatteryLevel.BackColor = Color.White;
 
            tboxCameraBatteryLevel.BackColor = Color.White;
 
            tboxMasterLatitude.BackColor = Color.White;
 
            tboxMasterLongitude.BackColor = Color.White;
 
            tboxMasterHDOP.BackColor = Color.White;
 
            tboxMasterVelocity.BackColor = Color.White;
 
            tboxMasterSatellites.BackColor = Color.White;
 
            tboxAtmoAirTemp.BackColor = Color.White;
 
            tboxAtmoLight.BackColor = Color.White;
 
            tboxAtmoHumidity.BackColor = Color.White;
 
            tboxAtmoPressure.BackColor = Color.White;
 
            tboxAtmoAltitude.BackColor = Color.White;
 
            tboxGeigerRads.BackColor = Color.White;
 
            return;
 
        }
 
 
        #endregion
 
 
        #region testing
 
        
 
        //click event on the test button
 
        //currently simulates serial inputs
 
        string testData;
 
        int testIteration = 0;
 
        double testLat = 39.751248, testLng = -83.809848, testVelocity = 5.8, testAltitude = 100, testPressure = 700, testHumidity = 38;
 
        private void btnTest_Click(object sender, EventArgs e)
 
        {
 
            testLat += GetRandomNumber(-.005, .015);
 
            testLng += GetRandomNumber(-.005, .015);
 
            testVelocity += GetRandomNumber(1, 15);
 
            testAltitude += GetRandomNumber(50, 150);
 
            testPressure -= GetRandomNumber(10, 50);
 
            testHumidity -= GetRandomNumber(1, 3);
 
 
            switch (testIteration)
 
            {
 
                case 0:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude+" H"+testHumidity+" P"+testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 1:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 2:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 3:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 4:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 5:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 6:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 7:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 8:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 9:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                default:
 
                    break;
 
            }
 
            testIteration++;
 
        }
 
 
        public double GetRandomNumber(double minimum, double maximum)
 
        {
 
            Random random = new Random();
 
            return random.NextDouble() * (maximum - minimum) + minimum;
 
        }
 
 
        #endregion
 
 
    }
 
}
 
//TODO: CSV logging, offline caching
0 comments (0 inline, 0 general)