TransmitterTimeRxMessage.swift 834 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. //
  2. // TransmitterTimeRxMessage.swift
  3. // xDrip5
  4. //
  5. // Created by Nathan Racklyeft on 11/23/15.
  6. // Copyright © 2015 Nathan Racklyeft. All rights reserved.
  7. //
  8. import Foundation
  9. struct TransmitterTimeRxMessage: TransmitterRxMessage {
  10. let status: UInt8
  11. let currentTime: UInt32
  12. let sessionStartTime: UInt32
  13. init?(data: Data) {
  14. guard data.count == 16 && data.isCRCValid else {
  15. return nil
  16. }
  17. guard data.starts(with: .transmitterTimeRx) else {
  18. return nil
  19. }
  20. status = data[1]
  21. currentTime = data[2..<6].toInt()
  22. sessionStartTime = data[6..<10].toInt()
  23. }
  24. }
  25. extension TransmitterTimeRxMessage: Equatable { }
  26. func ==(lhs: TransmitterTimeRxMessage, rhs: TransmitterTimeRxMessage) -> Bool {
  27. return lhs.currentTime == rhs.currentTime
  28. }