#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 address; address.SetShiftRange(16,0); address.SetShiftBitSize(4); menu.Register("address", address); VariableValue 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); // 固定ラベル 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]バッファを与えて表示できるように。その他もろもろ調整。 int start = 0x0; Label dump[DUMP_NUM]; for(int i=0; i address; address.SetShiftRange(16,0); address.SetShiftBitSize(4); menu.Register("address", address); VariableValue read_size; read_size.SetShiftRange(8,0); read_size.SetShiftBitSize(4); menu.Register("size", read_size); // 固定ラベル 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 address; address.SetShiftRange(16,0); address.SetShiftBitSize(4); menu.Register("address", address); VariableValue read_size; read_size.SetShiftRange(8,0); read_size.SetShiftBitSize(4); menu.Register("size", read_size); // 固定ラベル 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 > write_pattern; write_pattern.Add(*(new NamedValue ("0x0000", 0))); write_pattern.Add(*(new NamedValue ("0x00FF", 1))); write_pattern.Add(*(new NamedValue ("0x55AA", 2))); write_pattern.Add(*(new NamedValue ("0xFFFF", 3))); write_pattern.Add(*(new NamedValue ("DEC", 4))); write_pattern.Add(*(new NamedValue ("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 address; address.SetShiftRange(16,0); address.SetShiftBitSize(4); menu.Register("address", address); VariableValue read_size; read_size.SetShiftRange(8,0); read_size.SetShiftBitSize(4); menu.Register("size", read_size); // 固定ラベル 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 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; } } }; };