diff --git a/Sources/SwiftyModbus/SwiftyModbus.swift b/Sources/SwiftyModbus/SwiftyModbus.swift index 6ce5816f45f3469d8f42b31887ab583ae2c150f5..f00541bbb31cf333714cc0fa7434e13be992c848 100644 --- a/Sources/SwiftyModbus/SwiftyModbus.swift +++ b/Sources/SwiftyModbus/SwiftyModbus.swift @@ -13,8 +13,9 @@ fileprivate let errorValue: Int32 = -1 /// Libmodbus wrapper class public class SwiftyModbus { /// libmodbus error - public enum ModbusError: Error { - case error(message: String, errno: Int32) + public struct ModbusError: Error { + public let message: String + public let errno: Int32 } private var modbus: OpaquePointer @@ -241,6 +242,7 @@ public class SwiftyModbus { } /// Write and read number of registers in a single transaction + /// The function uses the Modbus function code 0x17 (write/read registers). /// - Parameters: /// - writeAddr: address of the remote device to write /// - data: data array to write @@ -258,7 +260,7 @@ public class SwiftyModbus { private func modbusError(errno: Int32) -> ModbusError { let errorString = String(utf8String: modbus_strerror(errno)) ?? "" - return .error(message: errorString, errno: errno) + return .init(message: errorString, errno: errno) } private func toTimerInterval(sec: UInt32, usec: UInt32) -> TimeInterval { diff --git a/Sources/SwiftyModbus/SwiftyModbusResult.swift b/Sources/SwiftyModbus/SwiftyModbusResult.swift index fea10e1a3b8c440fe97c76030e94a4602d1b00db..757acad40399f4ef08e3a68123ecb66d2fb32494 100644 --- a/Sources/SwiftyModbus/SwiftyModbusResult.swift +++ b/Sources/SwiftyModbus/SwiftyModbusResult.swift @@ -13,8 +13,9 @@ fileprivate let errorValue: Int32 = -1 /// Libmodbus wrapper class with Result public class SwiftyModbusResult { /// libmodbus error - public enum ModbusError: Error { - case error(message: String, errno: Int32) + public struct ModbusError: Error { + public let message: String + public let errno: Int32 } private var modbus: OpaquePointer @@ -238,7 +239,6 @@ public class SwiftyModbusResult { return .success(()) } - /// Modify the value of the holding register at the remote device using the algorithm: /// new value = (current value AND 'and') OR ('or' AND (NOT 'and')) /// The function uses the Modbus function code 0x16 (mask single register). @@ -255,6 +255,7 @@ public class SwiftyModbusResult { } /// Write and read number of registers in a single transaction + /// The function uses the Modbus function code 0x17 (write/read registers). /// - Parameters: /// - writeAddr: address of the remote device to write /// - data: data array to write @@ -272,7 +273,7 @@ public class SwiftyModbusResult { private func modbusError(errno: Int32) -> ModbusError { let errorString = String(utf8String: modbus_strerror(errno)) ?? "" - return .error(message: errorString, errno: errno) + return .init(message: errorString, errno: errno) } private func toTimerInterval(sec: UInt32, usec: UInt32) -> TimeInterval { diff --git a/Sources/SwiftyModbusPromise/SwiftyModbusPromise.swift b/Sources/SwiftyModbusPromise/SwiftyModbusPromise.swift index 66e9c5d65ec8637b1bb51e45bcce1f2c2194ae12..0061982c45143a830e2cc1a260b01aba86bf2d3d 100644 --- a/Sources/SwiftyModbusPromise/SwiftyModbusPromise.swift +++ b/Sources/SwiftyModbusPromise/SwiftyModbusPromise.swift @@ -14,10 +14,11 @@ fileprivate let errorValue: Int32 = -1 /// Libmodbus wrapper class with Promises public class SwiftyModbusPromise { /// libmodbus error - public enum ModbusError: Error { - case error(message: String, errno: Int32) + public struct ModbusError: Error { + public let message: String + public let errno: Int32 } - + /// DispatchQueue for modbus acync opetations public var modbusQueue = DispatchQueue(label: "in.ioshack.modbusQueue") @@ -363,6 +364,7 @@ public class SwiftyModbusPromise { } /// Write and read number of registers in a single transaction + /// The function uses the Modbus function code 0x17 (write/read registers). /// - Parameters: /// - writeAddr: address of the remote device to write /// - data: data array to write @@ -388,7 +390,7 @@ public class SwiftyModbusPromise { private func modbusError(errno: Int32) -> ModbusError { let errorString = String(utf8String: modbus_strerror(errno)) ?? "" - return .error(message: errorString, errno: errno) + return .init(message: errorString, errno: errno) } private func toTimerInterval(sec: UInt32, usec: UInt32) -> TimeInterval {