/// <summary> /// Safely disable a coil from another thread /// </summary> /// <param name="coilName">The coil name to disable</param> public void safe_disable_coil(string coilName) { SafeCoilDrive d = new SafeCoilDrive(); d.coil_name = coilName; d.disable = true; lock (_coil_lock_object) { _safe_coil_drive_queue.Add(d); } }
/// <summary> /// Safely drive a coil from another thread /// </summary> /// <param name="coilName">The coil name to drive</param> /// <param name="pulse_time">The time (ms) to pulse (default = 30ms)</param> public void safe_drive_coil(string coilName, ushort pulse_time = 30) { SafeCoilDrive d = new SafeCoilDrive(); d.coil_name = coilName; d.pulse = true; d.pulse_time = pulse_time; lock (_coil_lock_object) { _safe_coil_drive_queue.Add(d); } }