| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- //
- // AssignAddressCommand.swift
- // OmniKit
- //
- // Created by Pete Schwamb on 2/12/18.
- // Copyright © 2018 Pete Schwamb. All rights reserved.
- //
- import Foundation
- public struct AssignAddressCommand : MessageBlock {
-
- public let blockType: MessageBlockType = .assignAddress
- public let length: Int = 6
-
- let address: UInt32
- public var data: Data {
- var data = Data([
- blockType.rawValue,
- 4
- ])
- data.appendBigEndian(self.address)
- return data
- }
- public init(encodedData: Data) throws {
- if encodedData.count < length {
- throw MessageBlockError.notEnoughData
- }
-
- self.address = encodedData[2...].toBigEndian(UInt32.self)
- }
-
- public init(address: UInt32) {
- self.address = address
- }
- }
- extension AssignAddressCommand: CustomDebugStringConvertible {
- public var debugDescription: String {
- return "AssignAddressCommand(address:\(Data(bigEndian: address).hexadecimalString))"
- }
- }
|