IdwTest/MainForm.cs
author StephaneLenclud
Mon, 28 Apr 2014 20:02:08 +0200
changeset 5 d16669f69f0d
parent 4 328515997e35
permissions -rw-r--r--
IdwTest:Adding support for sending text to VFD.
     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel;
     4 using System.Data;
     5 using System.Drawing;
     6 using System.Linq;
     7 using System.Text;
     8 using System.Threading.Tasks;
     9 using System.Windows.Forms;
    10 using System.Timers;
    11 using System.Runtime.InteropServices;
    12 
    13 namespace IdwTest
    14 {
    15     public partial class MainForm : Form
    16     {
    17         iMON.Display iDisplay;
    18         System.Timers.Timer iTimer;
    19         int iFrameCount = 0;
    20 
    21         iMON.Display.DSPEQDATA iEqLeft;
    22         iMON.Display.DSPEQDATA iEqRight;
    23         iMON.Display.DSPEQDATA iEqMono;
    24 
    25         Random iRandom;
    26 
    27         public MainForm()
    28         {
    29             iDisplay = new iMON.Display();
    30             InitializeComponent();
    31             iTimer = new System.Timers.Timer(500); // Set up the timer for N ms
    32             iTimer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
    33             iTimer.Enabled = false; // Enable it
    34             //
    35             iEqLeft =new iMON.Display.DSPEQDATA();
    36             iEqRight = new iMON.Display.DSPEQDATA();
    37             iEqMono = new iMON.Display.DSPEQDATA();
    38             //
    39             iRandom = new Random();
    40         }
    41 
    42         private void buttonInit_Click(object sender, EventArgs e)
    43         {
    44             if (!iDisplay.DoInit())
    45             {
    46                 labelStatus.Text = iDisplay.StatusMessage;
    47             }
    48             else
    49             {
    50                 labelStatus.Text = iDisplay.Name();
    51             }
    52         }
    53 
    54         private void buttonUninit_Click(object sender, EventArgs e)
    55         {
    56             iDisplay.DoUninit();
    57         }
    58 
    59         private void buttonSetLcdText_Click(object sender, EventArgs e)
    60         {
    61             iMON.Display.IDW_SetLcdText(textBoxLcd.Text);
    62         }
    63 
    64         private void timer_Elapsed(object sender, ElapsedEventArgs e)
    65         {
    66             if (iDisplay.IsLcd())
    67             {
    68                 if (!checkBoxRandomEq.Checked)
    69                 {
    70                     iMON.Display.IDW_SetLcdText(iFrameCount.ToString());
    71                     iFrameCount++;
    72                 }
    73                 else
    74                 {
    75                     for (int i = 0; i < 16; i++)
    76                     {
    77                         iEqLeft.BandData[i] = iRandom.Next(0,101);
    78                         iEqRight.BandData[i] = iRandom.Next(0, 101);
    79                     }
    80 
    81                     iMON.Display.IDW_SetLcdEqData(iEqLeft, iEqRight);
    82                     iFrameCount++;
    83                 }
    84             }
    85         }
    86 
    87         private void buttonToggleTimer_Click(object sender, EventArgs e)
    88         {
    89             if (iTimer.Enabled)
    90             {
    91                 //Stop our timer
    92                 iTimer.Enabled = false;
    93                 buttonToggleTimer.Text = "Start";
    94             }
    95             else
    96             {
    97                 iFrameCount = 0;
    98                 //Start our timer
    99                 iTimer.Interval = (double)numericTimerInterval.Value;
   100                 iTimer.Enabled = true;
   101                 buttonToggleTimer.Text = "Stop";
   102             }
   103         }
   104 
   105         private void buttonSetVfdText_Click(object sender, EventArgs e)
   106         {
   107             iMON.Display.IDW_SetVfdText(textBoxVfdTop.Text, textBoxVfdBottom.Text);
   108         }
   109 
   110     }
   111 }