The oFeedBack2 Object alternately toggles two I/O lines used for sending signals. A third I/O line is monitored for feedback. If feedback is detected, then a value indicating which line's feedback was detected is calculated. The 2 signal lines are individually and sequentially set high (5-Volts) while the feedback lines is used to detect any feedback from the signals. Feedback is detected when the feedback lines detects the signal being sent out by the signal lines. The oFeedBack2 Object handles all the required I/O logic. The InvertOut property inverts the logic state of the outgoing signals and the InvertIn property inverts the logic state that is considered a detection. When the Operate property is set to 1 the 2 x 1 feedback matrix is scanned. If any outgoing signal is detected on the feedback line, the Result property is updated with a value and the "Any" property is set to 1. The value of the Result property is calculated by ((signal1) + (signal2 * 2)). The "Any" property will remain at 1 so long as at least 1 signal is detected. Once all feedback is lost, the "Any" property is be cleared to 0. The four oLogic properties; Ch1Only, Ch2Only and Both are also updated each time the feedback status is determined. These three properties are exclusive and only one will be true at any time. When the Operate property is set to 0 the feedback matrix scanning is suspended until the Operate property is set back to 1. |