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