void brdr_EventHandlerGPIO(object sender, EVTADV_GPIO_EventArgs EvtArgs) { //This will only fire if you have defined GPIO TRIGGERS lat = GPS.Latitude; lon = GPS.Longitude; try { Console.WriteLine(EvtArgs.TriggerNameString + ": Trigger Activated"); if (EvtArgs.TriggerNameString == "ArmUp") { //System.Console.WriteLine("Arm Position: Up"); //Turn OFF ANT2, Turn ON ANT1 //07-17-2013: Turn on both antennas to start reading tags try { try { tagID = "N/A"; brdr.Execute("ATTRIB ANTS=" + settings.ants); brdr.StartReadingTags(null, "ANT", BRIReader.TagReportOptions.EVENT); Console.WriteLine("----- Start Reading Tags -----"); } catch (Exception Ex) { Console.WriteLine("EX ReadTagsGen2Tags: " + Ex.Message); } //start a 5 second timer if (readState == false) { readState = true; //timerStopRead.Interval = settings.arm_timer; //timerStopRead.Enabled = true; } else { Console.WriteLine("System is already reading tags"); } } catch (Exception ex) { Console.WriteLine("ArmUP EX: " + ex.Message.ToString()); } } else if (EvtArgs.TriggerNameString == "ArmDown") { brdr.StopReadingTags(); Console.WriteLine("----- Stop Reading Tags -----"); Console.WriteLine(EvtArgs.TriggerNameString + ": Trigger Deactivated"); if (tagID == "N/A") { if (bDebug) { System.Console.WriteLine("Trying to InsertPickupRecord N/A Tag to DB..."); } tag_ts = GetDate(); DA.InsertPickupRecord(tagID.ToString(), settings.programName, settings.truckid, GetDate(), lat, lon); Console.WriteLine(tagID.ToString() + " | " + settings.programName + " | " + settings.truckid + " | " + tag_ts + " | " + lat + " | " + lon); //timerNA_LED.Interval = 200; //timerNA_LED.Enabled = true; } } #region Observation Handling Code //06-17-2013: Power input not handled in GPIO input triggers //06-17-2013: Observation inputs enabled for Curotto Can program if (EvtArgs.TriggerNameString == "Input1ON") { Console.WriteLine("GPS Date Time: " + tag_ts); DA.InsertObservationRecord_New(10001, tag_ts, tagID); brdr.Execute("WriteGPO 2 ON"); brdr.Execute("WriteGPO 1 OFF"); timerRed.Interval = settings.timerGPO4; timerRed.Enabled = true; timerRed.Start(); tRed = 1; } if (EvtArgs.TriggerNameString == "Input2ON") { Console.WriteLine("GPS Date Time: " + tag_ts); DA.InsertObservationRecord_New(10002, tag_ts, tagID); brdr.Execute("WriteGPO 2 ON"); brdr.Execute("WriteGPO 1 OFF"); timerRed.Interval = settings.timerGPO4; timerRed.Enabled = true; timerRed.Start(); tRed = 1; } if (EvtArgs.TriggerNameString == "Input3ON") { Console.WriteLine("Date Time: " + tag_ts); DA.InsertObservationRecord_New(10003, tag_ts, tagID); brdr.Execute("WriteGPO 2 ON"); brdr.Execute("WriteGPO 1 OFF"); timerRed.Interval = settings.timerGPO4; timerRed.Enabled = true; timerRed.Start(); tRed = 1; } #endregion } catch (Exception Ex) { Console.WriteLine("EX brdr_EventHandlerGPIO: " + Ex.Message); } }
/// <summary> /// This method is invoked when a general purpose input trigger event occurs. /// </summary> /// <param name="sender"></param> /// <param name="EvtArgs"></param> void BRIReaderEventHandler_GPITrigger(object sender, EVTADV_GPIO_EventArgs EvtArgs) { InfraredStatus = true; //红外状态设置为True //记录日志 [TODO] }