OpenCores
URL https://opencores.org/ocsvn/z80control/z80control/trunk

Subversion Repositories z80control

[/] [z80control/] [trunk/] [CII_Starter_USB_API_v1/] [SW/] [Test_Page.cpp] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 tylerapohl
//---------------------------------------------------------------------------
2
 
3
#include <vcl.h>
4
#pragma hdrstop
5
 
6
#include "Test_Page.h"
7
#include "Main.h"
8
#include "PS2_Thread.h"
9
//---------------------------------------------------------------------------
10
#pragma package(smart_init)
11
#pragma resource "*.dfm"
12
TForm4 *Form4;
13
//---------------------------------------------------------------------------
14
__fastcall TForm4::TForm4(TComponent* Owner)
15
   : TForm(Owner)
16
{
17
}
18
//---------------------------------------------------------------------------
19
void __fastcall TForm4::Button1Click(TObject *Sender)
20
{
21
   Form1->Show_All_Button(false);
22
   Button1->Enabled=false;
23
   Form1->PS2_REC->Suspend();
24
   Form1->USB1.Reset_Device(0);
25
   int i;
26
   Form1->Sdram_Multi->ItemIndex=0;
27
   Form1->Flash_Multi->ItemIndex=0;
28
   Form1->Button13Click(this);
29
   //---------------------------------------------------
30
   // ToDo : LED Test
31
   if(CheckBox1->Checked)
32
   {
33
      Screen->Cursor=crHourGlass;
34
      for(i=0;i<144;i++)
35
      {
36
         switch(i%9)
37
         {
38
            case 0 : Form1->D1->Checked=!Form1->D1->Checked;
39
                     Form1->DR0->Checked=!Form1->DR0->Checked;
40
                     Form1->DR9->Checked=!Form1->DR9->Checked;
41
                     break;
42
            case 1 : Form1->D2->Checked=!Form1->D2->Checked;
43
                     Form1->DR1->Checked=!Form1->DR1->Checked;
44
                     break;
45
            case 2 : Form1->D3->Checked=!Form1->D3->Checked;
46
                     Form1->DR2->Checked=!Form1->DR2->Checked;
47
                     break;
48
            case 3 : Form1->D4->Checked=!Form1->D4->Checked;
49
                     Form1->DR3->Checked=!Form1->DR3->Checked;
50
                     break;
51
            case 4 : Form1->D5->Checked=!Form1->D5->Checked;
52
                     Form1->DR4->Checked=!Form1->DR4->Checked;
53
                     break;
54
            case 5 : Form1->D6->Checked=!Form1->D6->Checked;
55
                     Form1->DR5->Checked=!Form1->DR5->Checked;
56
                     break;
57
            case 6 : Form1->D7->Checked=!Form1->D7->Checked;
58
                     Form1->DR6->Checked=!Form1->DR6->Checked;
59
                     break;
60
            case 7 : Form1->D8->Checked=!Form1->D8->Checked;
61
                     Form1->DR7->Checked=!Form1->DR7->Checked;
62
                     break;
63
            case 8 : Form1->DR8->Checked=!Form1->DR8->Checked;
64
         }
65
         Form1->Button2Click(this);
66
         Sleep(20);
67
         Application->ProcessMessages();
68
      }
69
      Form1->D1->Checked=false;
70
      Form1->D2->Checked=false;
71
      Form1->D3->Checked=false;
72
      Form1->D4->Checked=false;
73
      Form1->D5->Checked=false;
74
      Form1->D6->Checked=false;
75
      Form1->D7->Checked=false;
76
      Form1->D8->Checked=false;
77
      Form1->DR0->Checked=false;
78
      Form1->DR1->Checked=false;
79
      Form1->DR2->Checked=false;
80
      Form1->DR3->Checked=false;
81
      Form1->DR4->Checked=false;
82
      Form1->DR5->Checked=false;
83
      Form1->DR6->Checked=false;
84
      Form1->DR7->Checked=false;
85
      Form1->DR8->Checked=false;
86
      Form1->DR9->Checked=false;
87
      Form1->Button2Click(this);
88
      Screen->Cursor=crArrow;
89
      ShowMessage("LED Test OK!!");
90
   }
91
   //---------------------------------------------------
92
   // ToDo : SEG 7 Test
93
   if(CheckBox2->Checked)
94
   {
95
      Screen->Cursor=crHourGlass;
96
      for(i=0;i<33;i++)
97
      {
98
         Form1->DIG_1->ItemIndex=i%16;
99
         Form1->DIG_2->ItemIndex=i%16;
100
         Form1->DIG_3->ItemIndex=i%16;
101
         Form1->DIG_4->ItemIndex=i%16;
102
         Form1->Button1Click(this);
103
         Sleep(100);
104
         Application->ProcessMessages();
105
      }
106
      Screen->Cursor=crArrow;
107
      ShowMessage("7 SEG Test OK!!");
108
   }
109
   //---------------------------------------------------
110
   // ToDo : SDRAM Test
111
   if(CheckBox5->Checked)
112
   {
113
      Screen->Cursor=crHourGlass;
114
      bool Fail=false;
115
      for(i=0;i<128;i++)
116
      {
117
         Form1->oSDR_ADDR->Text=IntToHex(i*i*i*4,6);
118
         Form1->oSDR_DATA->Text=IntToHex(4660,4);
119
         Form1->Button9Click(this);
120
         Form1->Button10Click(this);
121
         if(Form1->oSDR_DATA->Text!=Form1->iSDR_DATA->Text)
122
         {
123
            Fail=true;
124
            break;
125
         }
126
         Application->ProcessMessages();
127
      }
128
      Form1->oSDR_ADDR->Text="0";
129
      Form1->oSDR_DATA->Text="0000";
130
      Form1->iSDR_DATA->Text="0000";
131
      Screen->Cursor=crArrow;
132
      if(!Fail)
133
      ShowMessage("SDRAM Test Passed!!");
134
      else
135
      ShowMessage("SDRAM Test Failed!!");
136
   }
137
   //---------------------------------------------------
138
   // ToDo : SRAM Test
139
   if(CheckBox3->Checked)
140
   {
141
      Screen->Cursor=crHourGlass;
142
      bool Fail=false;
143
      for(i=0;i<128;i++)
144
      {
145
         Form1->oSR_ADDR->Text=IntToHex(i*i,6);
146
         Form1->oSR_DATA->Text=IntToHex(4660,4);
147
         Form1->Button16Click(this);
148
         Form1->Button17Click(this);
149
         if(Form1->oSR_DATA->Text!=Form1->iSR_DATA->Text)
150
         {
151
            Fail=true;
152
            break;
153
         }
154
         Application->ProcessMessages();
155
      }
156
      Form1->oSR_ADDR->Text="0";
157
      Form1->oSR_DATA->Text="0000";
158
      Form1->iSR_DATA->Text="0000";
159
      Screen->Cursor=crArrow;
160
      if(!Fail)
161
      ShowMessage("SRAM Test Passed!!");
162
      else
163
      ShowMessage("SRAM Test Failed!!");
164
   }
165
   //---------------------------------------------------
166
   // ToDo : FLASH Test
167
   if(CheckBox4->Checked)
168
   {
169
      Screen->Cursor=crHourGlass;
170
      int Error=0;
171
      //  Erase FLASH
172
      Form1->Button3Click(this);
173
      while(Form1->HexToInt(Form1->iFL_DATA->Text)<128)
174
      {
175
         Form1->Button4Click(this);
176
         Application->ProcessMessages();
177
         Sleep(100);
178
      }
179
      Form1->iFL_DATA->Text="00";
180
      for(i=0;i<128;i++)
181
      {
182
         Form1->oFL_ADDR->Text=IntToHex(i*i*4,6);
183
         Form1->oFL_DATA->Text=IntToHex(0xA5,2);
184
         Form1->Button5Click(this);
185
         Form1->Button5Click(this);
186
         Form1->Button4Click(this);
187
         if(Form1->oFL_DATA->Text!=Form1->iFL_DATA->Text)
188
         Error++;
189
         Application->ProcessMessages();
190
      }
191
      Form1->oFL_ADDR->Text="0";
192
      Form1->oFL_DATA->Text="00";
193
      Form1->iFL_DATA->Text="00";
194
      Screen->Cursor=crArrow;
195
      if(Error<16)
196
      ShowMessage("FLASH Test Passed.");
197
      else
198
      ShowMessage("FLASH Test Failed.");
199
   }
200
   //---------------------------------------------------
201
   // ToDo : LCD Test
202
   if(CheckBox6->Checked)
203
   {
204
      Screen->Cursor=crHourGlass;
205
      char x[8];
206
      int Text_Len;
207
      AnsiString Str1;
208
      x[1]=LCD;
209
      x[2]=0x12;
210
      x[3]=0x34;
211
      x[4]=0x56;
212
      x[5]=0x00;
213
      x[6]=0x00;
214
      x[7]=DISPLAY;
215
      Form1->PS2_REC->Suspend();
216
      Form1->USB1.Reset_Device(0);
217
      for(int j=0;j<6;j++)
218
      {
219
         x[0]=LCD_CMD;
220
         //------------------- LCD Init ---------------------------
221
         // Function Set
222
         x[6]=0x38;
223
         Form1->USB1.Write_Data(x,8,0,true);
224
         Sleep(2);
225
         // Display Set
226
         x[6]=0x0C;
227
         Form1->USB1.Write_Data(x,8,0,true);
228
         Sleep(2);
229
         // Clear Display
230
         x[6]=0x01;
231
         Form1->USB1.Write_Data(x,8,0,true);
232
         Sleep(2);
233
         // Mode Set
234
         x[6]=0x06;
235
         Form1->USB1.Write_Data(x,8,0,true);
236
         Sleep(2);
237
         // Return to Line 1 Start
238
         x[6]=0x80;
239
         Form1->USB1.Write_Data(x,8,0,true);
240
         Sleep(2);
241
         Sleep(200);
242
         //---------------- Show LCD Line1 -----------------------
243
         x[0]=LCD_DAT;
244
         for(i=1;i<=16;i++)
245
         {
246
            x[6]=0xFF;
247
            Form1->USB1.Write_Data(x,8,0,true);
248
         }
249
         //---------------- Change to Line2 ----------------------
250
         x[0]=LCD_CMD;
251
         // Return to Line 2 Start
252
         x[6]=0xC0;
253
         Form1->USB1.Write_Data(x,8,0,true);
254
         Sleep(2);
255
         //---------------- Show LCD Line2 -----------------------
256
         x[0]=LCD_DAT;
257
         for(i=1;i<=16;i++)
258
         {
259
            x[6]=0xFF;
260
            Form1->USB1.Write_Data(x,8,0,true);
261
         }
262
         Sleep(500);
263
      }
264
      //-------------------------------------------------------
265
      Form1->PS2_REC->Resume();
266
      Screen->Cursor=crArrow;
267
      ShowMessage("LCD Test OK!!");
268
   }
269
   //---------------------------------------------------
270
   Button1->Enabled=true;
271
   Form1->Show_All_Button(true);
272
}
273
//---------------------------------------------------------------------------
274
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.