public static void main(string[] args) { var engines = new EngineController("/dev/ttyAMA0"); if(args.length < 2) { stderr.printf("%s \n", args[0]); stderr.printf("cmds: engine, enable, disable, nop\n"); return; } switch(args[1]) { case "engine": if(args.length < 4) { stderr.printf("%s engine \n", args[0]); return; } uint8 engine = (uint8) int.parse(args[2]); if("%u".printf(engine) != args[2]) error("engine must be an integer"); uint8 speed = (uint8) int.parse(args[3]); if("%u".printf(speed) != args[3]) error("speed must be an integer"); if(engine == 6) if(engines.set_speed_all(speed)) stdout.printf("set speed of all engines to %u: ok\n", speed); else stdout.printf("set speed of all engines to %u: fail\n", speed); if(engine <= 5) if(engines.set_speed(engine, speed)) stdout.printf("set speed of engine %u to %u: ok\n", engine, speed); else stdout.printf("set speed of engine %u to %u: fail\n", engine, speed); break; case "enable": if(engines.enable()) stdout.printf("enable motors: ok\n"); else stdout.printf("enable motors: fail\n"); break; case "disable": if(engines.disable()) stdout.printf("disable motors: ok\n"); else stdout.printf("disable motors: fail\n"); break; case "nop": if(engines.no_operation()) stdout.printf("no operation: ok\n"); else stdout.printf("no operation: fail\n"); break; default: stderr.printf("cmd not supported!\n"); break; } }