示例#1
0
 public static void DurringOverrideAddSecondary(PLCLimitChangedEvent Handl)
 {
     lock (eventLock) {
         LimitEvent += Handl;
         handles.Add(Handl);
     }
 }
示例#2
0
 /// <summary>
 /// override all exsisting limit events and replace them with Handl
 /// </summary>
 /// <param name="Handl"></param>
 public static void OverrideLimitHandlers(PLCLimitChangedEvent Handl)
 {
     lock (eventLock) {
         overriden  = true;
         LimitEvent = Handl;
     }
 }
示例#3
0
 /// <summary>
 /// set the default event handler for limit switch events, idealy this should only be called once
 /// </summary>
 /// <param name="_defa"></param>
 public static void setDefaultLimitHandler(PLCLimitChangedEvent _defa)
 {
     lock (eventLock) {
         defaultHandler = _defa;
         LimitEvent     = defaultHandler;
     }
 }
示例#4
0
 /// <summary>
 /// add a limit handle for limit events
 /// </summary>
 /// <param name="Handl"></param>
 public static void addLimitHandler(PLCLimitChangedEvent Handl)
 {
     lock (eventLock) {
         if (!overriden)
         {
             LimitEvent += Handl;
         }
         handles.Add(Handl);
     }
 }
示例#5
0
 public static void DuringOverrideRemoveSecondary(PLCLimitChangedEvent Handl)
 {
     lock (eventLock) {
         try {
             LimitEvent -= Handl;
         } catch { }
         try {
             handles.Remove(Handl);
         } catch { }
     }
 }
示例#6
0
 /// <summary>
 /// remove the passed event Handle
 /// </summary>
 /// <param name="Handl"></param>
 public static void RemoveLimitHandler(PLCLimitChangedEvent Handl)
 {
     lock (eventLock) {
         try {
             if (!overriden)
             {
                 LimitEvent -= Handl;
             }
         } catch { }
         try {
             handles.Remove(Handl);
         } catch { }
     }
 }