NightScout.swift 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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. }
  35. //NS Basal Data Struct
  36. struct basalGraphStruct: Codable {
  37. var basalRate: Double
  38. var date: TimeInterval
  39. }
  40. //NS Bolus Data Struct
  41. struct bolusGraphStruct: Codable {
  42. var value: Double
  43. var date: TimeInterval
  44. var sgv: Int
  45. }
  46. //NS Bolus Data Struct
  47. struct carbGraphStruct: Codable {
  48. var value: Double
  49. var date: TimeInterval
  50. var sgv: Int
  51. var absorptionTime: Int
  52. }
  53. func isStaleData() -> Bool {
  54. if bgData.count > 0 {
  55. let now = dateTimeUtils.getNowTimeIntervalUTC()
  56. let lastReadingTime = bgData.last!.date
  57. let secondsAgo = now - lastReadingTime
  58. if secondsAgo >= 20*60 {
  59. return true
  60. } else {
  61. return false
  62. }
  63. } else {
  64. return false
  65. }
  66. }
  67. func clearOldTempBasal()
  68. {
  69. basalData.removeAll()
  70. updateBasalGraph()
  71. }
  72. func clearOldBolus()
  73. {
  74. bolusData.removeAll()
  75. updateBolusGraph()
  76. }
  77. func clearOldCarb()
  78. {
  79. carbData.removeAll()
  80. updateCarbGraph()
  81. }
  82. func clearOldBGCheck()
  83. {
  84. bgCheckData.removeAll()
  85. updateBGCheckGraph()
  86. }
  87. func clearOldOverride()
  88. {
  89. overrideGraphData.removeAll()
  90. updateOverrideGraph()
  91. }
  92. func clearOldSuspend()
  93. {
  94. suspendGraphData.removeAll()
  95. updateSuspendGraph()
  96. }
  97. func clearOldResume()
  98. {
  99. resumeGraphData.removeAll()
  100. updateResumeGraph()
  101. }
  102. func clearOldSensor()
  103. {
  104. sensorStartGraphData.removeAll()
  105. updateSensorStart()
  106. }
  107. func clearOldNotes()
  108. {
  109. noteGraphData.removeAll()
  110. updateNotes()
  111. }
  112. }