ctr_card_test/trunk/CommandTest.cpp
(no author) 0354858d93 見た目だけインタフェース完成(機能はなにもなし)
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_card_test@3 ff8ce827-af98-4349-adb5-4c00699b5328
2010-02-17 12:37:09 +00:00

642 lines
12 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "nakayama.h"
using namespace nn::red::nakayama;
class ReadID1: public Program
{
public:
virtual void Execute()
{
Page page;
Label title;
title.X = 20;
title.Y = 10;
title.Text = "RD_ID1";
page.Add(title);
Label lb0;
lb0.X = 100;
lb0.Y = 50;
lb0.Text = "ID1_0";
page.Add(lb0);
Label lb1;
lb1.X = 100;
lb1.Y = 80;
lb1.Text = "ID1_1";
page.Add(lb1);
Label lb2;
lb2.X = 100;
lb2.Y = 110;
lb2.Text = "ID1_2";
page.Add(lb2);
Label lb3;
lb3.X = 100;
lb3.Y = 140;
lb3.Text = "ID1_3";
page.Add(lb3);
KeyPad& pad = KeyPad::GetInstance();
while (1)
{
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::B))
{
Display::GetInstance(Display::Lower).Clear();
Display::GetInstance(Display::Lower).SwapBuffer();
break;
}
}
}
;
};
class ReadID2: public Program
{
public:
virtual void Execute()
{
Page page;
Label title;
title.X = 20;
title.Y = 10;
title.Text = "RD_ID2";
page.Add(title);
Label lb0;
lb0.X = 100;
lb0.Y = 50;
lb0.Text = "ID2_0";
page.Add(lb0);
Label lb1;
lb1.X = 100;
lb1.Y = 80;
lb1.Text = "ID2_1";
page.Add(lb1);
Label lb2;
lb2.X = 100;
lb2.Y = 110;
lb2.Text = "ID2_2";
page.Add(lb2);
Label lb3;
lb3.X = 100;
lb3.Y = 140;
lb3.Text = "ID2_3";
page.Add(lb3);
KeyPad& pad = KeyPad::GetInstance();
while (1)
{
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::B))
{
Display::GetInstance(Display::Lower).Clear();
Display::GetInstance(Display::Lower).SwapBuffer();
break;
}
}
}
;
};
#define DUMP_NUM 0x10
class ReadSeqPageVerify: public Program
{
public:
virtual void Execute()
{
Page page;
VariableSelector menu;
menu.X = 10;
menu.Y = 0;
page.Add(menu);
VariableValue<u64> address;
address.SetShiftRange(16,0);
address.SetShiftBitSize(4);
menu.Register("address", address);
VariableValue<u64> read_size;
read_size.SetShiftRange(8,0);
read_size.SetShiftBitSize(4);
menu.Register("size", read_size);
Label verify;
verify.X = 200;
verify.Y = 10;
verify.Text = "Verify :";
page.Add(verify);
// <20>Œ胉<C592>x<EFBFBD><78>
Label index;
index.X = 0;
index.Y = 50;
index.Text = " |00 01 02 03 04 05 06 07";
page.Add(index);
Label line;
line.X = 0;
line.Y = 60;
line.Text = "---------------------------------------";
page.Add(line);
// [TODO]<5D>o<EFBFBD>b<EFBFBD>t<EFBFBD>@<40><><EFBFBD>^<5E><><EFBFBD>ĕ\<5C><><EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD><EFBFBD>ɁB<C981><42><EFBFBD>̑<EFBFBD><CC91><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EB92B2><EFBFBD>B
int start = 0x0;
Label dump[DUMP_NUM];
for(int i=0; i<DUMP_NUM; i++)
{
ostringstream adr;
dump[i].X = 0;
dump[i].Y = 70 + 10 * i;
// <20>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
adr << "0x";
adr.fill('0');
adr << setw(12) << right << hex << start + (0x10 * i) << "|";
// dump<6D><70><EFBFBD><EFBFBD>
for(int j=0; j<0x8; j++)
{
adr << setw(2) << left << hex << 0x00 + j << " ";
}
dump[i].Text = adr.str();
page.Add(dump[i]);
}
// [TODO]<5D>x<EFBFBD><78><EFBFBD>t<EFBFBD>@<40>C<EFBFBD>̌<EFBFBD><CC8C>ʂɉ<CA82><C989><EFBFBD><EFBFBD>ĕύX
if (1)
{
verify.Text = "Verify : OK";
}
else
{
verify.Text = "Verify : NG";
}
while (1)
{
page.Show(Display::GetInstance(Display::Lower));
if (menu.Canceled)
{
menu.Canceled = false;
break;
}
}
};
};
class ReadSeqPage: public Program
{
public:
virtual void Execute()
{
Page page;
VariableSelector menu;
menu.X = 10;
menu.Y = 0;
page.Add(menu);
VariableValue<u64> address;
address.SetShiftRange(16,0);
address.SetShiftBitSize(4);
menu.Register("address", address);
VariableValue<u64> read_size;
read_size.SetShiftRange(8,0);
read_size.SetShiftBitSize(4);
menu.Register("size", read_size);
// <20>Œ胉<C592>x<EFBFBD><78>
Label index;
index.X = 0;
index.Y = 50;
index.Text = " |00 01 02 03 04 05 06 07";
page.Add(index);
Label line;
line.X = 0;
line.Y = 60;
line.Text = "---------------------------------------";
page.Add(line);
int start = 0x0;
Label dump[DUMP_NUM];
for(int i=0; i<DUMP_NUM; i++)
{
ostringstream adr;
dump[i].X = 0;
dump[i].Y = 70 + 10 * i;
// <20>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
adr << "0x";
adr.fill('0');
adr << setw(12) << right << hex << start + (0x10 * i) << "|";
// dump<6D><70><EFBFBD><EFBFBD>
for(int j=0; j<0x8; j++)
{
adr << setw(2) << left << hex << 0x00 + j << " ";
}
dump[i].Text = adr.str();
page.Add(dump[i]);
}
while (1)
{
page.Show(Display::GetInstance(Display::Lower));
if (menu.Canceled)
{
menu.Canceled = false;
break;
}
}
};
};
class WritePageStart: public Program
{
public:
virtual void Execute()
{
Page page;
VariableSelector menu;
menu.X = 10;
menu.Y = 0;
page.Add(menu);
VariableValue<u64> address;
address.SetShiftRange(16,0);
address.SetShiftBitSize(4);
menu.Register("address", address);
VariableValue<u64> read_size;
read_size.SetShiftRange(8,0);
read_size.SetShiftBitSize(4);
menu.Register("size", read_size);
// <20>Œ胉<C592>x<EFBFBD><78>
Label index;
index.X = 0;
index.Y = 50;
index.Text = " |00 01 02 03 04 05 06 07";
page.Add(index);
Label line;
line.X = 0;
line.Y = 60;
line.Text = "---------------------------------------";
page.Add(line);
int start = 0x0;
Label dump[DUMP_NUM];
for(int i=0; i<DUMP_NUM; i++)
{
ostringstream adr;
dump[i].X = 0;
dump[i].Y = 70 + 10 * i;
// <20>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
adr << "0x";
adr.fill('0');
adr << setw(12) << right << hex << start + (0x10 * i) << "|";
// dump<6D><70><EFBFBD><EFBFBD>
for(int j=0; j<0x8; j++)
{
adr << setw(2) << left << hex << 0x00 + j << " ";
}
dump[i].Text = adr.str();
page.Add(dump[i]);
}
while (1)
{
page.Show(Display::GetInstance(Display::Lower));
if (menu.Canceled)
{
menu.Canceled = false;
break;
}
}
};
};
class WritePage: public Program
{
public:
virtual void Execute()
{
Page page;
VariableSelector menu;
menu.X = 10;
menu.Y = 50;
page.Add(menu);
SelectableValue<NamedValue<int> > write_pattern;
write_pattern.Add(*(new NamedValue<int> ("0x0000", 0)));
write_pattern.Add(*(new NamedValue<int> ("0x00FF", 1)));
write_pattern.Add(*(new NamedValue<int> ("0x55AA", 2)));
write_pattern.Add(*(new NamedValue<int> ("0xFFFF", 3)));
write_pattern.Add(*(new NamedValue<int> ("DEC", 4)));
write_pattern.Add(*(new NamedValue<int> ("INC", 5)));
menu.Register("Write Pattern", write_pattern);
while (1)
{
page.Show(Display::GetInstance(Display::Lower));
if (menu.Canceled)
{
menu.Canceled = false;
break;
}
}
};
};
class ReadWREXE: public Program
{
public:
virtual void Execute()
{
Page page;
VariableSelector menu;
menu.X = 10;
menu.Y = 0;
page.Add(menu);
VariableValue<u64> address;
address.SetShiftRange(16,0);
address.SetShiftBitSize(4);
menu.Register("address", address);
VariableValue<u64> read_size;
read_size.SetShiftRange(8,0);
read_size.SetShiftBitSize(4);
menu.Register("size", read_size);
// <20>Œ胉<C592>x<EFBFBD><78>
Label index;
index.X = 0;
index.Y = 50;
index.Text = " |00 01 02 03 04 05 06 07";
page.Add(index);
Label line;
line.X = 0;
line.Y = 60;
line.Text = "---------------------------------------";
page.Add(line);
int start = 0x0;
Label dump[DUMP_NUM];
for(int i=0; i<DUMP_NUM; i++)
{
ostringstream adr;
dump[i].X = 0;
dump[i].Y = 70 + 10 * i;
// <20>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
adr << "0x";
adr.fill('0');
adr << setw(12) << right << hex << start + (0x10 * i) << "|";
// dump<6D><70><EFBFBD><EFBFBD>
for(int j=0; j<0x8; j++)
{
adr << setw(2) << left << hex << 0x00 + j << " ";
}
dump[i].Text = adr.str();
page.Add(dump[i]);
}
while (1)
{
page.Show(Display::GetInstance(Display::Lower));
if (menu.Canceled)
{
menu.Canceled = false;
break;
}
}
};
};
class ReadUID: public Program
{
public:
virtual void Execute()
{
Page page;
Label title;
title.X = 20;
title.Y = 10;
title.Text = "RD_UID";
page.Add(title);
Label lb0;
lb0.X = 50;
lb0.Y = 50;
lb0.Text = "UID **************";
page.Add(lb0);
KeyPad& pad = KeyPad::GetInstance();
while (1)
{
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::B))
{
Display::GetInstance(Display::Lower).Clear();
Display::GetInstance(Display::Lower).SwapBuffer();
break;
}
}
};
};
class ReadRefresh: public Program
{
public:
virtual void Execute()
{
Page page;
Label title;
title.X = 20;
title.Y = 10;
title.Text = "RD_REFRESH";
page.Add(title);
Label lb0;
lb0.X = 100;
lb0.Y = 50;
lb0.Text = "TIME OUT";
page.Add(lb0);
KeyPad& pad = KeyPad::GetInstance();
while (1)
{
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::B))
{
Display::GetInstance(Display::Lower).Clear();
Display::GetInstance(Display::Lower).SwapBuffer();
break;
}
}
};
};
class ReadUndefinedCommand: public Program
{
public:
virtual void Execute()
{
Page page;
Label title;
title.X = 20;
title.Y = 10;
title.Text = "Undefined Command";
page.Add(title);
Label lb0;
lb0.X = 100;
lb0.Y = 50;
lb0.Text = "***************************";
page.Add(lb0);
KeyPad& pad = KeyPad::GetInstance();
while (1)
{
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::B))
{
Display::GetInstance(Display::Lower).Clear();
Display::GetInstance(Display::Lower).SwapBuffer();
break;
}
}
};
};
class CommandTest: public Program
{
virtual void Execute()
{
Page page;
Label title;
title.X = 20;
title.Y = 10;
title.Text = "Command Test";
page.Add(title);
Label date;
date.X = 250;
date.Y = 10;
date.Text = __DATE__;
page.Add(date);
Selector<Program> menu;
menu.X = 20;
menu.Y = 40;
page.Add(menu);
// RD_ID1, RD_ID2
menu.Register("RD_ID1", *(new ReadID1()));
menu.Register("RD_ID2", *(new ReadID2()));
// RD_SEQ_PAGE with verify, RD_SEQ_PAGE
menu.Register("RD_SEQ_PAGE with verify", *(new ReadSeqPageVerify()));
menu.Register("RD_SEQ_PAGE", *(new ReadSeqPage()));
// WR_PAGE_START, WR_PAGE
menu.Register("WR_PAGE_START", *(new WritePageStart()));
menu.Register("WR_PAGE", *(new WritePage()));
// RD_WREXE
menu.Register("RD_WREXE", *(new ReadWREXE()));
// RD_UID
menu.Register("RD_UID", *(new ReadUID()));
// RD_REFRESH
menu.Register("RD_REFRESH", *(new ReadRefresh()));
// Undefined COMMAND
menu.Register("Undefined COMMAND", *(new ReadUndefinedCommand()));
while (1)
{
page.Show(Display::GetInstance(Display::Upper));
if (menu.Selected)
{
menu.GetSelectedItem()->Execute();
menu.Selected = false;
}
if (menu.Canceled)
{
menu.Canceled = false;
break;
}
}
};
};