implement Irtest; include "sys.m"; sys: Sys;include "draw.m";include "ir.m"; ir: Ir; Irtest: module{ init: fn(nil: ref Draw->Context, argv: list of string);}; stderr: ref Sys->FD; init(nil: ref Draw->Context, nil: list of string){ x := chan of int; p := chan of int; sys = load Sys Sys->PATH; stderr = sys->fildes(2); ir = load Ir Ir->PATH; if(ir == nil) ir = load Ir Ir->SIMPATH; if(ir == nil) { sys->fprint(stderr, "load ir: %r\n"); return; } if(ir->init(x,p) != 0) { sys->fprint(stderr, "Ir->init: %r\n"); return; } <-p; names := array[] of { "Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "ChanUP", "ChanDN", "VolUP", "VolDN", "FF", "Rew", "Up", "Dn", "Select", "Power", }; while((c := <-x) != Ir->EOF){ c = ir->translate(c); if(c == ir->Error) sys->print("Error\n"); else if(c >= len names) sys->print("unknown %d\n", c); else sys->print("%s\n", names[c]); } }
implement Irtest;
include "sys.m";
sys: Sys;
include "draw.m";
include "ir.m";
ir: Ir;
Irtest: module
{
init: fn(nil: ref Draw->Context, argv: list of string);
};
stderr: ref Sys->FD;
init(nil: ref Draw->Context, nil: list of string)
{
x := chan of int;
p := chan of int;
sys = load Sys Sys->PATH;
stderr = sys->fildes(2);
ir = load Ir Ir->PATH;
if(ir == nil)
ir = load Ir Ir->SIMPATH;
if(ir == nil) {
sys->fprint(stderr, "load ir: %r\n");
return;
}
if(ir->init(x,p) != 0) {
sys->fprint(stderr, "Ir->init: %r\n");
return;
}
<-p;
names := array[] of {
"Zero",
"One",
"Two",
"Three",
"Four",
"Five",
"Six",
"Seven",
"Eight",
"Nine",
"ChanUP",
"ChanDN",
"VolUP",
"VolDN",
"FF",
"Rew",
"Up",
"Dn",
"Select",
"Power",
};
while((c := <-x) != Ir->EOF){
c = ir->translate(c);
if(c == ir->Error)
sys->print("Error\n");
else if(c >= len names)
sys->print("unknown %d\n", c);
else
sys->print("%s\n", names[c]);
}
}