PowerOnCarelinkMessageBody.swift 782 B

123456789101112131415161718192021222324252627282930
  1. //
  2. // PowerOnCarelinkMessageBody.swift
  3. // Naterade
  4. //
  5. // Created by Nathan Racklyeft on 12/26/15.
  6. // Copyright © 2015 Nathan Racklyeft. All rights reserved.
  7. //
  8. import Foundation
  9. public struct PowerOnCarelinkMessageBody: MessageBody {
  10. public static var length: Int = 65
  11. public var txData: Data
  12. let duration: TimeInterval
  13. public init(duration: TimeInterval) {
  14. self.duration = duration
  15. let numArgs = 2
  16. let on = 1
  17. let durationMinutes: Int = Int(ceil(duration / 60.0))
  18. self.txData = Data(hexadecimalString: String(format: "%02x%02x%02x", numArgs, on, durationMinutes))!.paddedTo(length: PowerOnCarelinkMessageBody.length)
  19. }
  20. public var description: String {
  21. return "PowerOn(duration:\(duration))"
  22. }
  23. }