/* * PER ARDAC ELITE * * N.B.: Da verificare cosa effettivamente arriva * * Header 159 – Read buffered bill events * Transmitted data : <none> * Received data : [ event counter ] * [ result 1A ] [ result 1B ] * [ result 2A ] [ result 2B ] * [ result 3A ] [ result 3B ] * [ result 4A ] [ result 4B ] * [ result 5A ] [ result 5B ] * See the Event Code Table for a list of possible event codes. * Note that the event counter wraps from 255 to 1. An event counter of zero indicates power-up or * reset. */ public new DeviceEventBuffer CmdReadEventBuffer() { var msg = CreateMessage(159); var respond = Connection.Send(msg, _checksumHandler); if (respond.DataLength < 11) { throw new InvalidRespondException(respond); } var data = respond.Data; var events = new[] { new DeviceEvent(data[1], data[2]), new DeviceEvent(data[3], data[4]), new DeviceEvent(data[5], data[6]), new DeviceEvent(data[7], data[8]), new DeviceEvent(data[9], data[10]) } ; var ret = new DeviceEventBuffer { Counter = respond.Data[0], Events = events }; return(ret); }
public DeviceEventBuffer ReadBufferedBillEvents() { var res = ExecCommand((byte)ccTalkCommand.ReadBufferedBillEvents); if (res.DataLen < 11) { throw new Exception("incomplete message while reading events"); } var res2 = new DeviceEventBuffer(); res2.Counter = res.Data[0]; var deviceEvents = new List <DeviceEvent>(); for (var i = 0; i < 5; i++) { deviceEvents.Add(new DeviceEvent(res.Data[i * 2 + 1], res.Data[i * 2 + 2])); } res2.Events = deviceEvents.ToArray(); return(res2); }