public void UpdateEventControls() { // get any events that have happend since last time MHE.Event eventBlock = new AES.MHE.Event(); MHE.Event.Code eventCode = mhe.NextEvent(eventBlock); while (eventCode != MHE.Event.Code.IMHEI_NULL) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); switch (eventCode) { case MHE.Event.Code.IMHEI_APPLICATION_START: Console.WriteLine("Application Start"); break; case MHE.Event.Code.IMHEI_APPLICATION_EXIT: Console.WriteLine("Application Exit"); break; case MHE.Event.Code.IMHEI_INTERFACE_START: Console.WriteLine("Interface Start"); break; case MHE.Event.Code.IMHEI_OVERFLOW: Console.WriteLine("Overflow"); break; case MHE.Event.Code.IMHEI_NULL: Console.WriteLine("Null"); break; } if (sb.Length == 0) { // add the unit type switch ((ushort)eventCode & MHE.Event.UNIT_TYPE_MASK) { case MHE.Event.COIN_DISPENSER_EVENT: Console.WriteLine("Coin Dispenser: "); break; case MHE.Event.NOTE_DISPENSER_EVENT: Console.WriteLine("Note Dispenser: "); break; case MHE.Event.COIN_EVENT: Console.WriteLine("Coin Acceptor: "); break; case MHE.Event.NOTE_EVENT: Console.WriteLine("Note Acceptor: "); break; default: Console.WriteLine("Device: "); break; } // add the fault or event depending on the fault bit if (((ushort)eventCode & MHE.Event.FAULT_BIT) > 0) { switch ((ushort)eventCode & MHE.Event.EVENT_CODE_MASK) { case MHE.Event.NOW_OK: Console.WriteLine("Now OK"); break; case MHE.Event.REPORTED_FAULT: Console.WriteLine("Unit Reported Fault"); break; case MHE.Event.UNIT_TIMEOUT: Console.WriteLine("Unit Timeout"); break; case MHE.Event.UNIT_RESET: Console.WriteLine("Unit Reset"); break; case MHE.Event.SELF_TEST_REFUSED: Console.WriteLine("Self Test refused"); break; default: Console.WriteLine("Fault"); break; } } else { switch ((ushort)eventCode & MHE.Event.EVENT_CODE_MASK) { case MHE.Event.EVENT_OK: Console.WriteLine("OK"); break; case MHE.Event.EVENT_BUSY: Console.WriteLine("Busy"); break; case MHE.Event.REJECTED: Console.WriteLine("Rejected"); break; case MHE.Event.INHIBITED: Console.WriteLine("Inhibited"); break; case MHE.Event.MISREAD: Console.WriteLine("Misread"); break; case MHE.Event.FRAUD: Console.WriteLine("Fraud"); break; case MHE.Event.JAM: Console.WriteLine("Jam"); break; case MHE.Event.JAM_FIXED: Console.WriteLine("Jam Fixed"); break; case MHE.Event.RETURN: Console.WriteLine("Return"); break; case MHE.Event.OUTPUT_PROBLEM: Console.WriteLine("Output Problem"); break; case MHE.Event.OUTPUT_FIXED: Console.WriteLine("Output Fixed"); break; case MHE.Event.INTERNAL_PROBLEM: Console.WriteLine("Internal Problem"); break; case MHE.Event.UNKNOWN: Console.WriteLine("Unknown"); break; case MHE.Event.DISPENSE_UPDATE: Console.WriteLine("Dispenser Update"); break; default: Console.WriteLine("Event"); break; } } } int len = sb.Length; int noSpaces = 50 - len; for (int i = 0; i < noSpaces; ++i) { Console.WriteLine(" "); } Console.WriteLine("| Raw Code: {0:x4} Disp: {1}", eventBlock.RawEvent, eventBlock.DispenserEvent); // this.EventListBox.Items.Add(sb.ToString()); eventCode = mhe.NextEvent(eventBlock); } }
public void UpdateEventControls() { // get any events that have happend since last time MHE.Event eventBlock = new AES.MHE.Event(); MHE.Event.Code eventCode = mhe.NextEvent(eventBlock) ; while (eventCode != MHE.Event.Code.IMHEI_NULL) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); switch (eventCode) { case MHE.Event.Code.IMHEI_APPLICATION_START: sb.Append("Application Start"); break; case MHE.Event.Code.IMHEI_APPLICATION_EXIT: sb.Append("Application Exit"); break; case MHE.Event.Code.IMHEI_INTERFACE_START: sb.Append("Interface Start"); break; case MHE.Event.Code.IMHEI_OVERFLOW: sb.Append("Overflow"); break; case MHE.Event.Code.IMHEI_NULL: sb.Append("Null"); break; } if (sb.Length == 0) { // add the unit type switch ((ushort)eventCode & MHE.Event.UNIT_TYPE_MASK) { case MHE.Event.COIN_DISPENSER_EVENT: sb.Append("Coin Dispenser: "); break; case MHE.Event.NOTE_DISPENSER_EVENT: sb.Append("Note Dispenser: "); break; case MHE.Event.COIN_EVENT: sb.Append("Coin Acceptor: "); break; case MHE.Event.NOTE_EVENT: sb.Append("Note Acceptor: "); break; default: sb.Append("Device: "); break; } // add the fault or event depending on the fault bit if (((ushort)eventCode & MHE.Event.FAULT_BIT) > 0) { switch ((ushort)eventCode & MHE.Event.EVENT_CODE_MASK) { case MHE.Event.NOW_OK: sb.Append("Now OK"); break; case MHE.Event.REPORTED_FAULT: sb.Append("Unit Reported Fault"); break; case MHE.Event.UNIT_TIMEOUT: sb.Append("Unit Timeout"); break; case MHE.Event.UNIT_RESET: sb.Append("Unit Reset"); break; case MHE.Event.SELF_TEST_REFUSED: sb.Append("Self Test refused"); break; default: sb.Append("Fault"); break; } } else { switch ((ushort)eventCode & MHE.Event.EVENT_CODE_MASK) { case MHE.Event.EVENT_OK: sb.Append("OK"); break; case MHE.Event.EVENT_BUSY: sb.Append("Busy"); break; case MHE.Event.REJECTED: sb.Append("Rejected"); break; case MHE.Event.INHIBITED: sb.Append("Inhibited"); break; case MHE.Event.MISREAD: sb.Append("Misread"); break; case MHE.Event.FRAUD: sb.Append("Fraud"); break; case MHE.Event.JAM: sb.Append("Jam"); break; case MHE.Event.JAM_FIXED: sb.Append("Jam Fixed"); break; case MHE.Event.RETURN: sb.Append("Return"); break; case MHE.Event.OUTPUT_PROBLEM: sb.Append("Output Problem"); break; case MHE.Event.OUTPUT_FIXED: sb.Append("Output Fixed"); break; case MHE.Event.INTERNAL_PROBLEM: sb.Append("Internal Problem"); break; case MHE.Event.UNKNOWN: sb.Append("Unknown"); break; case MHE.Event.DISPENSE_UPDATE: sb.Append("Dispenser Update"); break; default: sb.Append("Event"); break; } } } int len = sb.Length; int noSpaces = 50 - len; for (int i = 0; i < noSpaces; ++i) { sb.Append(" "); } sb.AppendFormat("| Raw Code: {0:x4} Disp: {1}", eventBlock.RawEvent, eventBlock.DispenserEvent); this.EventListBox.Items.Add(sb.ToString()); eventCode = mhe.NextEvent(eventBlock); } }