// Program to test use of user defined methods final Number lightsOnCmd = 12; final X10Code dim = "A/21"; final X10Code porchLight = "A/6"; final X10Code kitchenLight = "A/7"; final X10Code bedroomLight = "A/12"; final X10Code terraceLight = "A/13"; final Number dimRpt = new Number(7); Timer timer1; Timer timer2; void firstFloorLightsOn(Number dimLevel) { cpuxa.x10QuickOn(porchLight); cpuxa.xmitX10Rpt(dim, dimLevel); cpuxa.x10QuickOn(kitchenLight); cpuxa.xmitX10Rpt(dim, dimLevel); } void secondFloorLightsOn(Number dimLevel) { cpuxa.x10QuickOn(bedroomLight); cpuxa.xmitX10Rpt(dim, dimLevel); cpuxa.x10QuickOn(terraceLight); cpuxa.xmitX10Rpt(dim, dimLevel); } void lightsOn(Number dimLevel, Timer t) { firstFloorLightsOn(dimLevel); secondFloorLightsOn(dimLevel); t = 1; } void run() { if (cpuxa.receiveIR(lightsOnCmd)) { lightsOn(5, timer1); lightsOn(dimRpt, timer2); } }