SessionStopRxMessage.swift 779 B

1234567891011121314151617181920212223242526272829303132333435
  1. //
  2. // SessionStopRxMessage.swift
  3. // xDripG5
  4. //
  5. // Created by Nathan Racklyeft on 6/4/16.
  6. // Copyright © 2016 Nathan Racklyeft. All rights reserved.
  7. //
  8. import Foundation
  9. struct SessionStopRxMessage: TransmitterRxMessage {
  10. let status: UInt8
  11. let received: UInt8
  12. let sessionStopTime: UInt32
  13. let sessionStartTime: UInt32
  14. let transmitterTime: UInt32
  15. init?(data: Data) {
  16. guard data.count == 17 && data.isCRCValid else {
  17. return nil
  18. }
  19. guard data.starts(with: .sessionStopRx) else {
  20. return nil
  21. }
  22. status = data[1]
  23. received = data[2]
  24. sessionStopTime = data[3..<7].toInt()
  25. sessionStartTime = data[7..<11].toInt()
  26. transmitterTime = data[11..<15].toInt()
  27. }
  28. }