NightScout.swift 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. //
  2. // NightScout.swift
  3. // LoopFollow
  4. //
  5. // Created by Jon Fawcett on 6/16/20.
  6. // Copyright © 2020 Jon Fawcett. All rights reserved.
  7. //
  8. import Foundation
  9. import UIKit
  10. extension MainViewController {
  11. //NS Cage Struct
  12. struct cageData: Codable {
  13. var created_at: String
  14. }
  15. struct sageData: Codable {
  16. var created_at: String
  17. }
  18. //NS Basal Profile Struct
  19. struct basalProfileStruct: Codable {
  20. var value: Double
  21. var time: String
  22. var timeAsSeconds: Double
  23. }
  24. struct NSProfile: Decodable {
  25. struct Store: Decodable {
  26. struct BasalEntry: Decodable {
  27. let value: Double
  28. let time: String
  29. let timeAsSeconds: Double
  30. }
  31. let basal: [BasalEntry]
  32. }
  33. let store: [String: Store]
  34. let defaultProfile: String
  35. }
  36. //NS Basal Data Struct
  37. struct basalGraphStruct: Codable {
  38. var basalRate: Double
  39. var date: TimeInterval
  40. }
  41. //NS Bolus Data Struct
  42. struct bolusGraphStruct: Codable {
  43. var value: Double
  44. var date: TimeInterval
  45. var sgv: Int
  46. }
  47. //NS Bolus Data Struct
  48. struct carbGraphStruct: Codable {
  49. var value: Double
  50. var date: TimeInterval
  51. var sgv: Int
  52. var absorptionTime: Int
  53. }
  54. func isStaleData() -> Bool {
  55. if bgData.count > 0 {
  56. let now = dateTimeUtils.getNowTimeIntervalUTC()
  57. let lastReadingTime = bgData.last!.date
  58. let secondsAgo = now - lastReadingTime
  59. if secondsAgo >= 20*60 {
  60. return true
  61. } else {
  62. return false
  63. }
  64. } else {
  65. return false
  66. }
  67. }
  68. func clearOldTempBasal()
  69. {
  70. basalData.removeAll()
  71. updateBasalGraph()
  72. }
  73. func clearOldBolus()
  74. {
  75. bolusData.removeAll()
  76. updateBolusGraph()
  77. }
  78. func clearOldSmb()
  79. {
  80. smbData.removeAll()
  81. updateSmbGraph()
  82. }
  83. func clearOldCarb()
  84. {
  85. carbData.removeAll()
  86. updateCarbGraph()
  87. }
  88. func clearOldBGCheck()
  89. {
  90. bgCheckData.removeAll()
  91. updateBGCheckGraph()
  92. }
  93. func clearOldOverride()
  94. {
  95. overrideGraphData.removeAll()
  96. updateOverrideGraph()
  97. }
  98. func clearOldSuspend()
  99. {
  100. suspendGraphData.removeAll()
  101. updateSuspendGraph()
  102. }
  103. func clearOldResume()
  104. {
  105. resumeGraphData.removeAll()
  106. updateResumeGraph()
  107. }
  108. func clearOldSensor()
  109. {
  110. sensorStartGraphData.removeAll()
  111. updateSensorStart()
  112. }
  113. func clearOldNotes()
  114. {
  115. noteGraphData.removeAll()
  116. updateNotes()
  117. }
  118. }