jooby-codec 1.15.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/dist/analog/Command.d.ts +29 -0
  2. package/dist/analog/Command.js +34 -0
  3. package/dist/analog/Command.js.map +1 -0
  4. package/dist/{CommandBinaryBuffer.d.ts → analog/CommandBinaryBuffer.d.ts} +4 -213
  5. package/dist/{CommandBinaryBuffer.js → analog/CommandBinaryBuffer.js} +10 -84
  6. package/dist/analog/CommandBinaryBuffer.js.map +1 -0
  7. package/dist/{UnknownCommand.d.ts → analog/UnknownCommand.d.ts} +0 -8
  8. package/dist/{UnknownCommand.js → analog/UnknownCommand.js} +0 -5
  9. package/dist/analog/UnknownCommand.js.map +1 -0
  10. package/dist/analog/commands/downlink/CorrectTime2000.d.ts +16 -0
  11. package/dist/{commands → analog/commands}/downlink/CorrectTime2000.js +3 -23
  12. package/dist/analog/commands/downlink/CorrectTime2000.js.map +1 -0
  13. package/dist/analog/commands/downlink/GetArchiveDaysMC.d.ts +18 -0
  14. package/dist/{commands → analog/commands}/downlink/GetArchiveDaysMC.js +7 -31
  15. package/dist/analog/commands/downlink/GetArchiveDaysMC.js.map +1 -0
  16. package/dist/analog/commands/downlink/GetArchiveEvents.d.ts +17 -0
  17. package/dist/{commands → analog/commands}/downlink/GetArchiveEvents.js +5 -24
  18. package/dist/analog/commands/downlink/GetArchiveEvents.js.map +1 -0
  19. package/dist/analog/commands/downlink/GetArchiveHoursMC.d.ts +18 -0
  20. package/dist/{commands → analog/commands}/downlink/GetArchiveHoursMC.js +7 -26
  21. package/dist/analog/commands/downlink/GetArchiveHoursMC.js.map +1 -0
  22. package/dist/analog/commands/downlink/GetCurrentMC.d.ts +10 -0
  23. package/dist/analog/commands/downlink/GetCurrentMC.js +23 -0
  24. package/dist/analog/commands/downlink/GetCurrentMC.js.map +1 -0
  25. package/dist/analog/commands/downlink/GetExAbsArchiveDaysMC.d.ts +18 -0
  26. package/dist/{commands → analog/commands}/downlink/GetExAbsArchiveDaysMC.js +7 -28
  27. package/dist/analog/commands/downlink/GetExAbsArchiveDaysMC.js.map +1 -0
  28. package/dist/analog/commands/downlink/GetExAbsArchiveHoursMC.d.ts +18 -0
  29. package/dist/{commands → analog/commands}/downlink/GetExAbsArchiveHoursMC.js +7 -27
  30. package/dist/analog/commands/downlink/GetExAbsArchiveHoursMC.js.map +1 -0
  31. package/dist/analog/commands/downlink/GetExAbsCurrentMC.d.ts +11 -0
  32. package/dist/{commands → analog/commands}/downlink/GetExAbsCurrentMC.js +0 -20
  33. package/dist/analog/commands/downlink/GetExAbsCurrentMC.js.map +1 -0
  34. package/dist/analog/commands/downlink/GetLmicInfo.d.ts +10 -0
  35. package/dist/analog/commands/downlink/GetLmicInfo.js +23 -0
  36. package/dist/analog/commands/downlink/GetLmicInfo.js.map +1 -0
  37. package/dist/analog/commands/downlink/GetParameter.d.ts +15 -0
  38. package/dist/{commands → analog/commands}/downlink/GetParameter.js +0 -20
  39. package/dist/analog/commands/downlink/GetParameter.js.map +1 -0
  40. package/dist/analog/commands/downlink/GetStatus.d.ts +11 -0
  41. package/dist/{commands → analog/commands}/downlink/GetStatus.js +0 -19
  42. package/dist/analog/commands/downlink/GetStatus.js.map +1 -0
  43. package/dist/analog/commands/downlink/SetParameter.d.ts +13 -0
  44. package/dist/{commands → analog/commands}/downlink/SetParameter.js +0 -19
  45. package/dist/analog/commands/downlink/SetParameter.js.map +1 -0
  46. package/dist/analog/commands/downlink/SetTime2000.d.ts +16 -0
  47. package/dist/{commands → analog/commands}/downlink/SetTime2000.js +3 -22
  48. package/dist/analog/commands/downlink/SetTime2000.js.map +1 -0
  49. package/dist/analog/commands/downlink/SoftRestart.d.ts +10 -0
  50. package/dist/analog/commands/downlink/SoftRestart.js +23 -0
  51. package/dist/analog/commands/downlink/SoftRestart.js.map +1 -0
  52. package/dist/{commands → analog/commands}/downlink/index.d.ts +0 -5
  53. package/dist/{commands → analog/commands}/downlink/index.js +0 -5
  54. package/dist/analog/commands/downlink/index.js.map +1 -0
  55. package/dist/{commands → analog/commands}/index.d.ts +0 -5
  56. package/dist/{commands → analog/commands}/index.js +0 -5
  57. package/dist/analog/commands/index.js.map +1 -0
  58. package/dist/analog/commands/uplink/CorrectTime2000Response.d.ts +15 -0
  59. package/dist/{commands → analog/commands}/uplink/CorrectTime2000Response.js +3 -23
  60. package/dist/analog/commands/uplink/CorrectTime2000Response.js.map +1 -0
  61. package/dist/{commands → analog/commands}/uplink/CurrentMC.d.ts +0 -24
  62. package/dist/{commands → analog/commands}/uplink/CurrentMC.js +0 -24
  63. package/dist/analog/commands/uplink/CurrentMC.js.map +1 -0
  64. package/dist/analog/commands/uplink/DayMC.d.ts +17 -0
  65. package/dist/{commands → analog/commands}/uplink/DayMC.js +6 -38
  66. package/dist/analog/commands/uplink/DayMC.js.map +1 -0
  67. package/dist/analog/commands/uplink/ExAbsCurrentMC.d.ts +16 -0
  68. package/dist/{commands → analog/commands}/uplink/ExAbsCurrentMC.js +0 -29
  69. package/dist/analog/commands/uplink/ExAbsCurrentMC.js.map +1 -0
  70. package/dist/analog/commands/uplink/ExAbsDayMC.d.ts +19 -0
  71. package/dist/{commands → analog/commands}/uplink/ExAbsDayMC.js +5 -35
  72. package/dist/analog/commands/uplink/ExAbsDayMC.js.map +1 -0
  73. package/dist/analog/commands/uplink/ExAbsHourMC.d.ts +19 -0
  74. package/dist/{commands → analog/commands}/uplink/ExAbsHourMC.js +6 -41
  75. package/dist/analog/commands/uplink/ExAbsHourMC.js.map +1 -0
  76. package/dist/analog/commands/uplink/GetArchiveDaysMCResponse.d.ts +19 -0
  77. package/dist/{commands → analog/commands}/uplink/GetArchiveDaysMCResponse.js +5 -37
  78. package/dist/analog/commands/uplink/GetArchiveDaysMCResponse.js.map +1 -0
  79. package/dist/analog/commands/uplink/GetArchiveEventsResponse.d.ts +21 -0
  80. package/dist/{commands → analog/commands}/uplink/GetArchiveEventsResponse.js +7 -33
  81. package/dist/analog/commands/uplink/GetArchiveEventsResponse.js.map +1 -0
  82. package/dist/analog/commands/uplink/GetArchiveHoursMCResponse.d.ts +19 -0
  83. package/dist/{commands → analog/commands}/uplink/GetArchiveHoursMCResponse.js +3 -36
  84. package/dist/analog/commands/uplink/GetArchiveHoursMCResponse.js.map +1 -0
  85. package/dist/analog/commands/uplink/GetExAbsArchiveDaysMCResponse.d.ts +19 -0
  86. package/dist/{commands → analog/commands}/uplink/GetExAbsArchiveDaysMCResponse.js +5 -37
  87. package/dist/analog/commands/uplink/GetExAbsArchiveDaysMCResponse.js.map +1 -0
  88. package/dist/analog/commands/uplink/GetExAbsArchiveHoursMCResponse.d.ts +19 -0
  89. package/dist/{commands → analog/commands}/uplink/GetExAbsArchiveHoursMCResponse.js +5 -35
  90. package/dist/analog/commands/uplink/GetExAbsArchiveHoursMCResponse.js.map +1 -0
  91. package/dist/analog/commands/uplink/GetLmicInfoResponse.d.ts +21 -0
  92. package/dist/{commands → analog/commands}/uplink/GetLmicInfoResponse.js +4 -29
  93. package/dist/analog/commands/uplink/GetLmicInfoResponse.js.map +1 -0
  94. package/dist/analog/commands/uplink/GetParameterResponse.d.ts +13 -0
  95. package/dist/{commands → analog/commands}/uplink/GetParameterResponse.js +0 -24
  96. package/dist/analog/commands/uplink/GetParameterResponse.js.map +1 -0
  97. package/dist/analog/commands/uplink/HourMC.d.ts +20 -0
  98. package/dist/{commands → analog/commands}/uplink/HourMC.js +5 -39
  99. package/dist/analog/commands/uplink/HourMC.js.map +1 -0
  100. package/dist/analog/commands/uplink/LastEvent.d.ts +21 -0
  101. package/dist/{commands → analog/commands}/uplink/LastEvent.js +22 -48
  102. package/dist/analog/commands/uplink/LastEvent.js.map +1 -0
  103. package/dist/{commands → analog/commands}/uplink/NewEvent.d.ts +2 -43
  104. package/dist/{commands → analog/commands}/uplink/NewEvent.js +8 -38
  105. package/dist/analog/commands/uplink/NewEvent.js.map +1 -0
  106. package/dist/analog/commands/uplink/SetTime2000Response.d.ts +15 -0
  107. package/dist/{commands → analog/commands}/uplink/SetTime2000Response.js +3 -22
  108. package/dist/analog/commands/uplink/SetTime2000Response.js.map +1 -0
  109. package/dist/analog/commands/uplink/SoftRestartResponse.d.ts +10 -0
  110. package/dist/analog/commands/uplink/SoftRestartResponse.js +23 -0
  111. package/dist/analog/commands/uplink/SoftRestartResponse.js.map +1 -0
  112. package/dist/analog/commands/uplink/Status.d.ts +23 -0
  113. package/dist/{commands → analog/commands}/uplink/Status.js +1 -33
  114. package/dist/analog/commands/uplink/Status.js.map +1 -0
  115. package/dist/analog/commands/uplink/Time2000.d.ts +17 -0
  116. package/dist/{commands → analog/commands}/uplink/Time2000.js +6 -26
  117. package/dist/analog/commands/uplink/Time2000.js.map +1 -0
  118. package/dist/{commands → analog/commands}/uplink/index.d.ts +0 -5
  119. package/dist/{commands → analog/commands}/uplink/index.js +0 -5
  120. package/dist/analog/commands/uplink/index.js.map +1 -0
  121. package/dist/analog/constants/deviceParameters.d.ts +18 -0
  122. package/dist/analog/constants/deviceParameters.js +19 -0
  123. package/dist/analog/constants/deviceParameters.js.map +1 -0
  124. package/dist/analog/constants/directions.js.map +1 -0
  125. package/dist/analog/constants/events.d.ts +21 -0
  126. package/dist/analog/constants/events.js +22 -0
  127. package/dist/analog/constants/events.js.map +1 -0
  128. package/dist/analog/constants/hardwareTypes.d.ts +13 -0
  129. package/dist/analog/constants/hardwareTypes.js +14 -0
  130. package/dist/analog/constants/hardwareTypes.js.map +1 -0
  131. package/dist/analog/constants/index.js.map +1 -0
  132. package/dist/{constants → analog/constants}/rx2SpreadFactors.d.ts +0 -5
  133. package/dist/{constants → analog/constants}/rx2SpreadFactors.js +0 -5
  134. package/dist/analog/constants/rx2SpreadFactors.js.map +1 -0
  135. package/dist/{utils → analog}/header.d.ts +1 -1
  136. package/dist/{utils → analog}/header.js +2 -4
  137. package/dist/analog/header.js.map +1 -0
  138. package/dist/analog/index.d.ts +3 -0
  139. package/dist/analog/index.js +4 -0
  140. package/dist/analog/index.js.map +1 -0
  141. package/dist/{utils → analog}/message.d.ts +8 -13
  142. package/dist/{utils → analog}/message.js +13 -32
  143. package/dist/analog/message.js.map +1 -0
  144. package/dist/config.d.ts +5 -0
  145. package/dist/config.js +5 -0
  146. package/dist/config.js.map +1 -0
  147. package/dist/index.d.ts +3 -3
  148. package/dist/index.js +3 -3
  149. package/dist/index.js.map +1 -1
  150. package/dist/{Command.d.ts → obis-observer/Command.d.ts} +2 -27
  151. package/dist/obis-observer/Command.js +33 -0
  152. package/dist/obis-observer/Command.js.map +1 -0
  153. package/dist/obis-observer/CommandBinaryBuffer.d.ts +56 -0
  154. package/dist/obis-observer/CommandBinaryBuffer.js +138 -0
  155. package/dist/obis-observer/CommandBinaryBuffer.js.map +1 -0
  156. package/dist/obis-observer/UnknownCommand.d.ts +12 -0
  157. package/dist/obis-observer/UnknownCommand.js +17 -0
  158. package/dist/obis-observer/UnknownCommand.js.map +1 -0
  159. package/dist/obis-observer/commands/downlink/AddShortNameProfile.d.ts +17 -0
  160. package/dist/obis-observer/commands/downlink/AddShortNameProfile.js +55 -0
  161. package/dist/obis-observer/commands/downlink/AddShortNameProfile.js.map +1 -0
  162. package/dist/obis-observer/commands/downlink/GetArchiveProfile.d.ts +13 -0
  163. package/dist/obis-observer/commands/downlink/GetArchiveProfile.js +39 -0
  164. package/dist/obis-observer/commands/downlink/GetArchiveProfile.js.map +1 -0
  165. package/dist/obis-observer/commands/downlink/GetContentByObis.d.ts +16 -0
  166. package/dist/obis-observer/commands/downlink/GetContentByObis.js +48 -0
  167. package/dist/obis-observer/commands/downlink/GetContentByObis.js.map +1 -0
  168. package/dist/obis-observer/commands/downlink/GetContentByShortName.d.ts +17 -0
  169. package/dist/obis-observer/commands/downlink/GetContentByShortName.js +44 -0
  170. package/dist/obis-observer/commands/downlink/GetContentByShortName.js.map +1 -0
  171. package/dist/obis-observer/commands/downlink/GetShortNameInfo.d.ts +17 -0
  172. package/dist/obis-observer/commands/downlink/GetShortNameInfo.js +44 -0
  173. package/dist/obis-observer/commands/downlink/GetShortNameInfo.js.map +1 -0
  174. package/dist/obis-observer/commands/downlink/GetShortNameProfile.d.ts +16 -0
  175. package/dist/obis-observer/commands/downlink/GetShortNameProfile.js +45 -0
  176. package/dist/obis-observer/commands/downlink/GetShortNameProfile.js.map +1 -0
  177. package/dist/obis-observer/commands/downlink/GetShortNames.d.ts +16 -0
  178. package/dist/obis-observer/commands/downlink/GetShortNames.js +48 -0
  179. package/dist/obis-observer/commands/downlink/GetShortNames.js.map +1 -0
  180. package/dist/obis-observer/commands/downlink/ReadArchive.d.ts +18 -0
  181. package/dist/obis-observer/commands/downlink/ReadArchive.js +58 -0
  182. package/dist/obis-observer/commands/downlink/ReadArchive.js.map +1 -0
  183. package/dist/obis-observer/commands/downlink/Reboot.d.ts +13 -0
  184. package/dist/obis-observer/commands/downlink/Reboot.js +39 -0
  185. package/dist/obis-observer/commands/downlink/Reboot.js.map +1 -0
  186. package/dist/obis-observer/commands/downlink/RemoveShortNameProfile.d.ts +16 -0
  187. package/dist/obis-observer/commands/downlink/RemoveShortNameProfile.js +42 -0
  188. package/dist/obis-observer/commands/downlink/RemoveShortNameProfile.js.map +1 -0
  189. package/dist/obis-observer/commands/downlink/SetArchiveProfile.d.ts +17 -0
  190. package/dist/obis-observer/commands/downlink/SetArchiveProfile.js +45 -0
  191. package/dist/obis-observer/commands/downlink/SetArchiveProfile.js.map +1 -0
  192. package/dist/obis-observer/commands/downlink/SetSerialPort.d.ts +19 -0
  193. package/dist/obis-observer/commands/downlink/SetSerialPort.js +61 -0
  194. package/dist/obis-observer/commands/downlink/SetSerialPort.js.map +1 -0
  195. package/dist/obis-observer/commands/downlink/SetShortName.d.ts +17 -0
  196. package/dist/obis-observer/commands/downlink/SetShortName.js +51 -0
  197. package/dist/obis-observer/commands/downlink/SetShortName.js.map +1 -0
  198. package/dist/obis-observer/commands/downlink/index.d.ts +13 -0
  199. package/dist/obis-observer/commands/downlink/index.js +14 -0
  200. package/dist/obis-observer/commands/downlink/index.js.map +1 -0
  201. package/dist/obis-observer/commands/index.d.ts +2 -0
  202. package/dist/obis-observer/commands/index.js +3 -0
  203. package/dist/obis-observer/commands/index.js.map +1 -0
  204. package/dist/obis-observer/commands/uplink/AddShortNameProfileResponse.d.ts +16 -0
  205. package/dist/obis-observer/commands/uplink/AddShortNameProfileResponse.js +43 -0
  206. package/dist/obis-observer/commands/uplink/AddShortNameProfileResponse.js.map +1 -0
  207. package/dist/obis-observer/commands/uplink/GetArchiveProfileResponse.d.ts +17 -0
  208. package/dist/obis-observer/commands/uplink/GetArchiveProfileResponse.js +45 -0
  209. package/dist/obis-observer/commands/uplink/GetArchiveProfileResponse.js.map +1 -0
  210. package/dist/obis-observer/commands/uplink/GetContentByObisResponse.d.ts +16 -0
  211. package/dist/obis-observer/commands/uplink/GetContentByObisResponse.js +45 -0
  212. package/dist/obis-observer/commands/uplink/GetContentByObisResponse.js.map +1 -0
  213. package/dist/obis-observer/commands/uplink/GetContentByShortNameResponse.d.ts +16 -0
  214. package/dist/obis-observer/commands/uplink/GetContentByShortNameResponse.js +44 -0
  215. package/dist/obis-observer/commands/uplink/GetContentByShortNameResponse.js.map +1 -0
  216. package/dist/obis-observer/commands/uplink/GetContentByShortNameStringResponse.d.ts +16 -0
  217. package/dist/obis-observer/commands/uplink/GetContentByShortNameStringResponse.js +45 -0
  218. package/dist/obis-observer/commands/uplink/GetContentByShortNameStringResponse.js.map +1 -0
  219. package/dist/obis-observer/commands/uplink/GetShortNameInfoResponse.d.ts +17 -0
  220. package/dist/obis-observer/commands/uplink/GetShortNameInfoResponse.js +74 -0
  221. package/dist/obis-observer/commands/uplink/GetShortNameInfoResponse.js.map +1 -0
  222. package/dist/obis-observer/commands/uplink/GetShortNameProfileResponse.d.ts +16 -0
  223. package/dist/obis-observer/commands/uplink/GetShortNameProfileResponse.js +54 -0
  224. package/dist/obis-observer/commands/uplink/GetShortNameProfileResponse.js.map +1 -0
  225. package/dist/obis-observer/commands/uplink/GetShortNamesResponse.d.ts +16 -0
  226. package/dist/obis-observer/commands/uplink/GetShortNamesResponse.js +45 -0
  227. package/dist/obis-observer/commands/uplink/GetShortNamesResponse.js.map +1 -0
  228. package/dist/obis-observer/commands/uplink/ObservationReport.d.ts +18 -0
  229. package/dist/obis-observer/commands/uplink/ObservationReport.js +57 -0
  230. package/dist/obis-observer/commands/uplink/ObservationReport.js.map +1 -0
  231. package/dist/obis-observer/commands/uplink/ObservationReportString.d.ts +18 -0
  232. package/dist/obis-observer/commands/uplink/ObservationReportString.js +62 -0
  233. package/dist/obis-observer/commands/uplink/ObservationReportString.js.map +1 -0
  234. package/dist/obis-observer/commands/uplink/ReadArchiveResponse.d.ts +18 -0
  235. package/dist/obis-observer/commands/uplink/ReadArchiveResponse.js +61 -0
  236. package/dist/obis-observer/commands/uplink/ReadArchiveResponse.js.map +1 -0
  237. package/dist/obis-observer/commands/uplink/RebootResponse.d.ts +13 -0
  238. package/dist/obis-observer/commands/uplink/RebootResponse.js +36 -0
  239. package/dist/obis-observer/commands/uplink/RebootResponse.js.map +1 -0
  240. package/dist/obis-observer/commands/uplink/RemoveShortNameProfileResponse.d.ts +16 -0
  241. package/dist/obis-observer/commands/uplink/RemoveShortNameProfileResponse.js +43 -0
  242. package/dist/obis-observer/commands/uplink/RemoveShortNameProfileResponse.js.map +1 -0
  243. package/dist/obis-observer/commands/uplink/SetArchiveProfileResponse.d.ts +16 -0
  244. package/dist/obis-observer/commands/uplink/SetArchiveProfileResponse.js +51 -0
  245. package/dist/obis-observer/commands/uplink/SetArchiveProfileResponse.js.map +1 -0
  246. package/dist/obis-observer/commands/uplink/SetSerialPortResponse.d.ts +16 -0
  247. package/dist/obis-observer/commands/uplink/SetSerialPortResponse.js +51 -0
  248. package/dist/obis-observer/commands/uplink/SetSerialPortResponse.js.map +1 -0
  249. package/dist/obis-observer/commands/uplink/SetShortNameResponse.d.ts +16 -0
  250. package/dist/obis-observer/commands/uplink/SetShortNameResponse.js +43 -0
  251. package/dist/obis-observer/commands/uplink/SetShortNameResponse.js.map +1 -0
  252. package/dist/obis-observer/commands/uplink/index.d.ts +16 -0
  253. package/dist/obis-observer/commands/uplink/index.js +17 -0
  254. package/dist/obis-observer/commands/uplink/index.js.map +1 -0
  255. package/dist/obis-observer/constants/archiveTypes.d.ts +3 -0
  256. package/dist/obis-observer/constants/archiveTypes.js +4 -0
  257. package/dist/obis-observer/constants/archiveTypes.js.map +1 -0
  258. package/dist/obis-observer/constants/contentTypes.d.ts +3 -0
  259. package/dist/obis-observer/constants/contentTypes.js +4 -0
  260. package/dist/obis-observer/constants/contentTypes.js.map +1 -0
  261. package/dist/obis-observer/constants/directions.d.ts +2 -0
  262. package/dist/obis-observer/constants/directions.js +3 -0
  263. package/dist/obis-observer/constants/directions.js.map +1 -0
  264. package/dist/obis-observer/constants/index.d.ts +5 -0
  265. package/dist/obis-observer/constants/index.js +6 -0
  266. package/dist/obis-observer/constants/index.js.map +1 -0
  267. package/dist/obis-observer/constants/parityTypes.d.ts +3 -0
  268. package/dist/obis-observer/constants/parityTypes.js +4 -0
  269. package/dist/obis-observer/constants/parityTypes.js.map +1 -0
  270. package/dist/obis-observer/constants/resultCodes.d.ts +6 -0
  271. package/dist/obis-observer/constants/resultCodes.js +7 -0
  272. package/dist/obis-observer/constants/resultCodes.js.map +1 -0
  273. package/dist/obis-observer/index.d.ts +3 -0
  274. package/dist/obis-observer/index.js +4 -0
  275. package/dist/obis-observer/index.js.map +1 -0
  276. package/dist/obis-observer/message.d.ts +18 -0
  277. package/dist/obis-observer/message.js +58 -0
  278. package/dist/obis-observer/message.js.map +1 -0
  279. package/dist/{BinaryBuffer.d.ts → utils/BinaryBuffer.d.ts} +3 -17
  280. package/dist/{BinaryBuffer.js → utils/BinaryBuffer.js} +17 -19
  281. package/dist/utils/BinaryBuffer.js.map +1 -0
  282. package/dist/utils/bitSet.d.ts +2 -36
  283. package/dist/utils/bitSet.js +10 -36
  284. package/dist/utils/bitSet.js.map +1 -1
  285. package/dist/utils/getBytesFromHex.d.ts +0 -9
  286. package/dist/utils/getBytesFromHex.js +0 -10
  287. package/dist/utils/getBytesFromHex.js.map +1 -1
  288. package/dist/utils/getHexFromBytes.d.ts +1 -25
  289. package/dist/utils/getHexFromBytes.js +2 -16
  290. package/dist/utils/getHexFromBytes.js.map +1 -1
  291. package/dist/utils/getHexFromNumber.d.ts +3 -0
  292. package/dist/utils/getHexFromNumber.js +20 -0
  293. package/dist/utils/getHexFromNumber.js.map +1 -0
  294. package/dist/utils/index.d.ts +3 -1
  295. package/dist/utils/index.js +2 -0
  296. package/dist/utils/index.js.map +1 -1
  297. package/dist/utils/time.d.ts +2 -26
  298. package/dist/utils/time.js +2 -14
  299. package/dist/utils/time.js.map +1 -1
  300. package/package.json +13 -9
  301. package/readme.md +20 -13
  302. package/dist/BinaryBuffer.js.map +0 -1
  303. package/dist/Command.js +0 -89
  304. package/dist/Command.js.map +0 -1
  305. package/dist/CommandBinaryBuffer.js.map +0 -1
  306. package/dist/UnknownCommand.js.map +0 -1
  307. package/dist/commands/downlink/CorrectTime2000.d.ts +0 -46
  308. package/dist/commands/downlink/CorrectTime2000.js.map +0 -1
  309. package/dist/commands/downlink/GetArchiveDaysMC.d.ts +0 -45
  310. package/dist/commands/downlink/GetArchiveDaysMC.js.map +0 -1
  311. package/dist/commands/downlink/GetArchiveEvents.d.ts +0 -40
  312. package/dist/commands/downlink/GetArchiveEvents.js.map +0 -1
  313. package/dist/commands/downlink/GetArchiveHoursMC.d.ts +0 -40
  314. package/dist/commands/downlink/GetArchiveHoursMC.js.map +0 -1
  315. package/dist/commands/downlink/GetCurrentMC.d.ts +0 -26
  316. package/dist/commands/downlink/GetCurrentMC.js +0 -42
  317. package/dist/commands/downlink/GetCurrentMC.js.map +0 -1
  318. package/dist/commands/downlink/GetExAbsArchiveDaysMC.d.ts +0 -41
  319. package/dist/commands/downlink/GetExAbsArchiveDaysMC.js.map +0 -1
  320. package/dist/commands/downlink/GetExAbsArchiveHoursMC.d.ts +0 -40
  321. package/dist/commands/downlink/GetExAbsArchiveHoursMC.js.map +0 -1
  322. package/dist/commands/downlink/GetExAbsCurrentMC.d.ts +0 -27
  323. package/dist/commands/downlink/GetExAbsCurrentMC.js.map +0 -1
  324. package/dist/commands/downlink/GetLmicInfo.d.ts +0 -26
  325. package/dist/commands/downlink/GetLmicInfo.js +0 -42
  326. package/dist/commands/downlink/GetLmicInfo.js.map +0 -1
  327. package/dist/commands/downlink/GetParameter.d.ts +0 -38
  328. package/dist/commands/downlink/GetParameter.js.map +0 -1
  329. package/dist/commands/downlink/GetStatus.d.ts +0 -27
  330. package/dist/commands/downlink/GetStatus.js.map +0 -1
  331. package/dist/commands/downlink/SetParameter.d.ts +0 -30
  332. package/dist/commands/downlink/SetParameter.js.map +0 -1
  333. package/dist/commands/downlink/SetTime2000.d.ts +0 -42
  334. package/dist/commands/downlink/SetTime2000.js.map +0 -1
  335. package/dist/commands/downlink/SoftRestart.d.ts +0 -26
  336. package/dist/commands/downlink/SoftRestart.js +0 -42
  337. package/dist/commands/downlink/SoftRestart.js.map +0 -1
  338. package/dist/commands/downlink/index.js.map +0 -1
  339. package/dist/commands/index.js.map +0 -1
  340. package/dist/commands/uplink/CorrectTime2000Response.d.ts +0 -39
  341. package/dist/commands/uplink/CorrectTime2000Response.js.map +0 -1
  342. package/dist/commands/uplink/CurrentMC.js.map +0 -1
  343. package/dist/commands/uplink/DayMC.d.ts +0 -47
  344. package/dist/commands/uplink/DayMC.js.map +0 -1
  345. package/dist/commands/uplink/ExAbsCurrentMC.d.ts +0 -41
  346. package/dist/commands/uplink/ExAbsCurrentMC.js.map +0 -1
  347. package/dist/commands/uplink/ExAbsDayMC.d.ts +0 -45
  348. package/dist/commands/uplink/ExAbsDayMC.js.map +0 -1
  349. package/dist/commands/uplink/ExAbsHourMC.d.ts +0 -69
  350. package/dist/commands/uplink/ExAbsHourMC.js.map +0 -1
  351. package/dist/commands/uplink/GetArchiveDaysMCResponse.d.ts +0 -58
  352. package/dist/commands/uplink/GetArchiveDaysMCResponse.js.map +0 -1
  353. package/dist/commands/uplink/GetArchiveEventsResponse.d.ts +0 -54
  354. package/dist/commands/uplink/GetArchiveEventsResponse.js.map +0 -1
  355. package/dist/commands/uplink/GetArchiveHoursMCResponse.d.ts +0 -50
  356. package/dist/commands/uplink/GetArchiveHoursMCResponse.js.map +0 -1
  357. package/dist/commands/uplink/GetExAbsArchiveDaysMCResponse.d.ts +0 -47
  358. package/dist/commands/uplink/GetExAbsArchiveDaysMCResponse.js.map +0 -1
  359. package/dist/commands/uplink/GetExAbsArchiveHoursMCResponse.d.ts +0 -44
  360. package/dist/commands/uplink/GetExAbsArchiveHoursMCResponse.js.map +0 -1
  361. package/dist/commands/uplink/GetLmicInfoResponse.d.ts +0 -52
  362. package/dist/commands/uplink/GetLmicInfoResponse.js.map +0 -1
  363. package/dist/commands/uplink/GetParameterResponse.d.ts +0 -35
  364. package/dist/commands/uplink/GetParameterResponse.js.map +0 -1
  365. package/dist/commands/uplink/HourMC.d.ts +0 -48
  366. package/dist/commands/uplink/HourMC.js.map +0 -1
  367. package/dist/commands/uplink/LastEvent.d.ts +0 -54
  368. package/dist/commands/uplink/LastEvent.js.map +0 -1
  369. package/dist/commands/uplink/NewEvent.js.map +0 -1
  370. package/dist/commands/uplink/SetTime2000Response.d.ts +0 -38
  371. package/dist/commands/uplink/SetTime2000Response.js.map +0 -1
  372. package/dist/commands/uplink/SoftRestartResponse.d.ts +0 -28
  373. package/dist/commands/uplink/SoftRestartResponse.js +0 -44
  374. package/dist/commands/uplink/SoftRestartResponse.js.map +0 -1
  375. package/dist/commands/uplink/Status.d.ts +0 -55
  376. package/dist/commands/uplink/Status.js.map +0 -1
  377. package/dist/commands/uplink/Time2000.d.ts +0 -43
  378. package/dist/commands/uplink/Time2000.js.map +0 -1
  379. package/dist/commands/uplink/index.js.map +0 -1
  380. package/dist/constants/deviceParameters.d.ts +0 -53
  381. package/dist/constants/deviceParameters.js +0 -54
  382. package/dist/constants/deviceParameters.js.map +0 -1
  383. package/dist/constants/directions.js.map +0 -1
  384. package/dist/constants/events.d.ts +0 -42
  385. package/dist/constants/events.js +0 -43
  386. package/dist/constants/events.js.map +0 -1
  387. package/dist/constants/hardwareTypes.d.ts +0 -108
  388. package/dist/constants/hardwareTypes.js +0 -109
  389. package/dist/constants/hardwareTypes.js.map +0 -1
  390. package/dist/constants/index.js.map +0 -1
  391. package/dist/constants/rx2SpreadFactors.js.map +0 -1
  392. package/dist/utils/header.js.map +0 -1
  393. package/dist/utils/message.js.map +0 -1
  394. /package/dist/{constants → analog/constants}/directions.d.ts +0 -0
  395. /package/dist/{constants → analog/constants}/directions.js +0 -0
  396. /package/dist/{constants → analog/constants}/index.d.ts +0 -0
  397. /package/dist/{constants → analog/constants}/index.js +0 -0
@@ -1,9 +1,9 @@
1
- import BinaryBuffer from './BinaryBuffer.js';
2
- import * as bitSet from './utils/bitSet.js';
3
- import { getDateFromSeconds, getSecondsFromDate } from './utils/time.js';
4
- import getHexFromBytes from './utils/getHexFromBytes.js';
5
- import getBytesFromHex from './utils/getBytesFromHex.js';
6
- import roundNumber from './utils/roundNumber.js';
1
+ import BinaryBuffer from '../utils/BinaryBuffer.js';
2
+ import * as bitSet from '../utils/bitSet.js';
3
+ import { getDateFromTime2000, getTime2000FromDate } from '../utils/time.js';
4
+ import getHexFromBytes from '../utils/getHexFromBytes.js';
5
+ import getBytesFromHex from '../utils/getBytesFromHex.js';
6
+ import roundNumber from '../utils/roundNumber.js';
7
7
  import * as hardwareTypes from './constants/hardwareTypes.js';
8
8
  import * as deviceParameters from './constants/deviceParameters.js';
9
9
  const INITIAL_YEAR = 2000;
@@ -14,7 +14,6 @@ const UNKNOWN_BATTERY_VOLTAGE = 4095;
14
14
  const EXTEND_BIT_MASK = 0x80;
15
15
  const LAST_BIT_INDEX = 7;
16
16
  const DATA_SENDING_INTERVAL_SECONDS_COEFFICIENT = 600;
17
- /** 'reserved' bytes which not used */
18
17
  const DATA_SENDING_INTERVAL_RESERVED_BYTES = 3;
19
18
  const PARAMETER_RX2_FREQUENCY_COEFFICIENT = 100;
20
19
  const INT12_SIZE = 3;
@@ -34,9 +33,6 @@ const TWO_CHANNELS_HARDWARE_TYPES = [
34
33
  const ELIMP_HARDWARE_TYPES = [
35
34
  hardwareTypes.ELIMP
36
35
  ];
37
- // const WATER_HARDWARE_TYPES = [
38
- // hardwareTypes.WATER
39
- // ];
40
36
  const FOUR_CHANNELS_HARDWARE_TYPES = [
41
37
  hardwareTypes.IMP4EU,
42
38
  hardwareTypes.IMP4IN
@@ -60,10 +56,6 @@ const twoChannelBitMask = {
60
56
  const elimpBitMask = {
61
57
  isConnectionLost: 2 ** 3
62
58
  };
63
- // const waterBitMask = {
64
- // isBatteryLow: 2 ** 0,
65
- // isConnectionLost: 2 ** 3
66
- // };
67
59
  const fourChannelBitMask = {
68
60
  isBatteryLow: 2 ** 0,
69
61
  isConnectionLost: 2 ** 3,
@@ -87,11 +79,7 @@ const mtxBitMask = {
87
79
  isTariffPlanChanged: 2 ** 11,
88
80
  isNewTariffPlanReceived: 2 ** 12
89
81
  };
90
- /**
91
- * device parameter data size + byte for parameter id
92
- */
93
82
  const parametersSizeMap = new Map([
94
- /* size: 1 byte of parameter id + parameter data*/
95
83
  [deviceParameters.REPORTING_DATA_INTERVAL, 1 + 4],
96
84
  [deviceParameters.DAY_CHECKOUT_HOUR, 1 + 1],
97
85
  [deviceParameters.REPORTING_DATA_TYPE, 1 + 1],
@@ -128,22 +116,7 @@ const byteToPulseCoefficientMap = new Map([
128
116
  ]);
129
117
  const pulseCoefficientToByteMap = new Map([...byteToPulseCoefficientMap.entries()].map(([key, value]) => [value, key]));
130
118
  const isMSBSet = (value) => !!(value & 0x80);
131
- /**
132
- * Command specific byte array manipulation.
133
- */
134
119
  class CommandBinaryBuffer extends BinaryBuffer {
135
- /**
136
- * Get the number of bytes necessary to store an extended value.
137
- *
138
- * @param bits - the number of bits of original value
139
- *
140
- * @example
141
- * ```js
142
- * const bits = (16384).toString(2).length;
143
- * const bytes = CommandBinaryBuffer.getExtendedValueSize(bits);
144
- * // 16384 normally is stored in 2 bytes but for extended value 3 bytes are required
145
- * ```
146
- */
147
120
  static getExtendedValueSize(bits) {
148
121
  const extBits = Math.ceil(bits / 7);
149
122
  const totalBits = bits + extBits;
@@ -159,7 +132,6 @@ class CommandBinaryBuffer extends BinaryBuffer {
159
132
  }
160
133
  setInt12(value, isLittleEndian = this.isLittleEndian) {
161
134
  const view = new DataView(this.data, this.offset, INT12_SIZE);
162
- // set first byte as signed value
163
135
  if (isLittleEndian) {
164
136
  view.setInt8(2, (value >> 16) & 0xFF);
165
137
  view.setUint8(1, (value >> 8) & 0xFF);
@@ -189,7 +161,6 @@ class CommandBinaryBuffer extends BinaryBuffer {
189
161
  byte2 = view.getUint8(2);
190
162
  }
191
163
  const value = (byte0 << 16) | (byte1 << 8) | byte2;
192
- // setup sign if value negative
193
164
  if (byte0 & 0x80) {
194
165
  return value - (1 << 24);
195
166
  }
@@ -223,7 +194,6 @@ class CommandBinaryBuffer extends BinaryBuffer {
223
194
  getExtendedValue() {
224
195
  let value = 0;
225
196
  let isByteExtended = true;
226
- // byte offset
227
197
  let position = 0;
228
198
  while (isByteExtended && this.offset <= this.data.byteLength) {
229
199
  const byte = this.getUint8();
@@ -246,28 +216,20 @@ class CommandBinaryBuffer extends BinaryBuffer {
246
216
  }
247
217
  const lastByte = data.pop();
248
218
  if (lastByte) {
249
- // clear EXTENDED bit flag for last value
250
219
  data.push(lastByte & 0x7f);
251
220
  }
252
221
  data.forEach(extendedValue => this.setUint8(extendedValue));
253
222
  }
254
- /**
255
- * Get array of channel indexes.
256
- */
257
223
  getChannels() {
258
224
  const channelList = [];
259
225
  let extended = true;
260
226
  let channelIndex = 1;
261
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
262
227
  while (extended) {
263
228
  const byte = this.getUint8();
264
- // original 0b00000001, reverse it to get first - `1`
265
229
  const bits = byte.toString(2).padStart(LAST_BIT_INDEX + 1, '0').split('').reverse();
266
- // eslint-disable-next-line @typescript-eslint/no-loop-func
267
230
  bits.forEach((bit, index) => {
268
231
  const value = Number(bit);
269
232
  if (index === LAST_BIT_INDEX) {
270
- // highest bit in byte
271
233
  extended = !!value;
272
234
  }
273
235
  else {
@@ -280,31 +242,22 @@ class CommandBinaryBuffer extends BinaryBuffer {
280
242
  }
281
243
  return channelList;
282
244
  }
283
- /**
284
- * Set array of channel indexes.
285
- */
286
245
  setChannels(channelList) {
287
- // sort channels by index
288
246
  channelList.sort((a, b) => a.index - b.index);
289
- // find max channel index from 0 to detect the number of bytes
290
247
  const maxChannel = Math.max(...channelList.map(({ index }) => index));
291
248
  const size = (maxChannel - (maxChannel % 8)) / 8;
292
249
  const data = new Array(size + 1).fill(0);
293
250
  let byte = 0;
294
251
  data.forEach((_, byteIndex) => {
295
- // max channel index in one byte - 6
296
252
  let channelIndex = (byteIndex * LAST_BIT_INDEX) + 1;
297
253
  const maxChannelIndex = channelIndex + LAST_BIT_INDEX;
298
254
  while (channelIndex < maxChannelIndex) {
299
- // eslint-disable-next-line @typescript-eslint/no-loop-func
300
255
  const channel = channelList.find((item => item.index === channelIndex));
301
256
  if (channel !== undefined) {
302
- // set channel bit
303
257
  byte |= 1 << ((channel.index - 1) % LAST_BIT_INDEX);
304
258
  }
305
259
  ++channelIndex;
306
260
  }
307
- // set extended bit if next byte exist
308
261
  if (data[byteIndex + 1] !== undefined) {
309
262
  byte |= 1 << LAST_BIT_INDEX;
310
263
  }
@@ -313,14 +266,6 @@ class CommandBinaryBuffer extends BinaryBuffer {
313
266
  });
314
267
  data.forEach((value) => this.setUint8(value));
315
268
  }
316
- /**
317
- * Retrieve device time from byte array.
318
- *
319
- * @example
320
- * ['00101111', '10010111'] -> [47, 151] will be '2023-12-23'
321
- *
322
- * @returns Date object instance
323
- */
324
269
  getDate() {
325
270
  const yearMonthByte = this.getUint8();
326
271
  const monthDateByte = this.getUint8();
@@ -329,43 +274,30 @@ class CommandBinaryBuffer extends BinaryBuffer {
329
274
  const monthDay = monthDateByte & 0x1f;
330
275
  return new Date(Date.UTC(year + INITIAL_YEAR, month - 1, monthDay, 0, 0, 0, 0));
331
276
  }
332
- /**
333
- * Convert date or seconds to bytes.
334
- * '2023-12-23' will be 0010111-1100-10111, so bytes: ['00101111', '10010111'] -> [47, 151]
335
- */
336
277
  setDate(dateOrTime) {
337
278
  let date;
338
279
  if (dateOrTime instanceof Date) {
339
280
  date = dateOrTime;
340
281
  }
341
282
  else {
342
- date = getDateFromSeconds(dateOrTime);
283
+ date = getDateFromTime2000(dateOrTime);
343
284
  }
344
285
  const year = date.getUTCFullYear() - INITIAL_YEAR;
345
286
  const month = date.getUTCMonth() + 1;
346
287
  const day = date.getUTCDate();
347
- // create year and month bytes
348
288
  const yearMonthByte = (year << YEAR_START_INDEX) | (month >> MONTH_BIT_SIZE - YEAR_START_INDEX);
349
289
  const monthDateByte = ((month & 0x07) << DATE_BIT_SIZE) | day;
350
290
  [yearMonthByte, monthDateByte].forEach(byte => this.setUint8(byte));
351
291
  }
352
- /**
353
- * Retrieve device time from byte array.
354
- *
355
- * @example
356
- * 0xb8 = 0b10111000 will be {hours: 0b101, hour: 0b11000} i.e. {hours: 5, hour: 24}
357
- */
358
292
  getHours() {
359
293
  const byte = this.getUint8();
360
294
  let hours = (byte & 0xe0) >> 5;
361
295
  const hour = byte & 0x1f;
362
- // TODO: add link to doc
363
296
  hours = hours === 0 ? 1 : hours;
364
297
  return { hours, hour };
365
298
  }
366
299
  setHours(hour, hours) {
367
300
  let hourAmount = hours;
368
- // TODO: add link to doc
369
301
  if (hourAmount === 1) {
370
302
  hourAmount = 0;
371
303
  }
@@ -415,7 +347,6 @@ class CommandBinaryBuffer extends BinaryBuffer {
415
347
  date.setUTCHours(hour);
416
348
  channels.forEach(channelIndex => {
417
349
  const diff = [];
418
- // decode hour value for channel
419
350
  const value = this.getExtendedValue();
420
351
  for (let diffHour = 0; diffHour < hours; ++diffHour) {
421
352
  diff.push(this.getExtendedValue());
@@ -426,10 +357,10 @@ class CommandBinaryBuffer extends BinaryBuffer {
426
357
  index: channelIndex
427
358
  });
428
359
  });
429
- return { channelList, hours, startTime: getSecondsFromDate(date) };
360
+ return { channelList, hours, startTime2000: getTime2000FromDate(date) };
430
361
  }
431
- setChannelsValuesWithHourDiff(hours, startTime, channelList) {
432
- const date = getDateFromSeconds(startTime);
362
+ setChannelsValuesWithHourDiff(hours, startTime2000, channelList) {
363
+ const date = getDateFromTime2000(startTime2000);
433
364
  const hour = date.getUTCHours();
434
365
  this.setDate(date);
435
366
  this.setHours(hour, hours);
@@ -445,7 +376,6 @@ class CommandBinaryBuffer extends BinaryBuffer {
445
376
  channels.forEach(channelIndex => {
446
377
  channelList.push({
447
378
  pulseCoefficient: this.getPulseCoefficient(),
448
- // day value
449
379
  value: this.getExtendedValue(),
450
380
  index: channelIndex
451
381
  });
@@ -472,8 +402,6 @@ class CommandBinaryBuffer extends BinaryBuffer {
472
402
  }
473
403
  else if (ELIMP_HARDWARE_TYPES.includes(hardwareType)) {
474
404
  status = bitSet.toObject(elimpBitMask, this.getUint8());
475
- // } else if ( WATER_HARDWARE_TYPES.includes(hardwareType) ) {
476
- // status = bitSet.toObject(waterBitMask, this.getUint8());
477
405
  }
478
406
  else if (FOUR_CHANNELS_HARDWARE_TYPES.includes(hardwareType)) {
479
407
  status = bitSet.toObject(fourChannelBitMask, this.getExtendedValue());
@@ -495,8 +423,6 @@ class CommandBinaryBuffer extends BinaryBuffer {
495
423
  }
496
424
  else if (ELIMP_HARDWARE_TYPES.includes(hardwareType)) {
497
425
  this.setUint8(bitSet.fromObject(elimpBitMask, status));
498
- // } else if ( WATER_HARDWARE_TYPES.includes(hardwareType) ) {
499
- // this.setUint8(bitSet.fromObject(waterBitMask, status as bitSet.TBooleanObject));
500
426
  }
501
427
  else if (FOUR_CHANNELS_HARDWARE_TYPES.includes(hardwareType)) {
502
428
  this.setExtendedValue(bitSet.fromObject(fourChannelBitMask, status));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../../src/analog/CommandBinaryBuffer.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,8 @@
1
1
  import Command from './Command.js';
2
- /**
3
- * UnknownCommand command parameters.
4
- */
5
2
  interface IUnknownCommandParameters {
6
- /** command id */
7
3
  id: number;
8
- /** raw data */
9
4
  data: Uint8Array;
10
5
  }
11
- /**
12
- * Unknown command.
13
- */
14
6
  declare class UnknownCommand extends Command {
15
7
  parameters: IUnknownCommandParameters;
16
8
  constructor(parameters: IUnknownCommandParameters);
@@ -1,18 +1,13 @@
1
1
  import Command from './Command.js';
2
- /**
3
- * Unknown command.
4
- */
5
2
  class UnknownCommand extends Command {
6
3
  constructor(parameters) {
7
4
  super();
8
5
  this.parameters = parameters;
9
6
  }
10
- // data - only body (without header)
11
7
  static fromBytes(data, id) {
12
8
  const parameters = { id, data };
13
9
  return new UnknownCommand(parameters);
14
10
  }
15
- // returns full message - header with body
16
11
  toBytes() {
17
12
  const { id, data } = this.parameters;
18
13
  return Command.toBytes(id, data);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnknownCommand.js","sourceRoot":"","sources":["../../src/analog/UnknownCommand.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAiBnC,MAAM,cAAe,SAAQ,OAAO;IAChC,YAAqB,UAAqC;QACtD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA2B;IAE1D,CAAC;IAGD,MAAM,CAAC,SAAS,CAAG,IAAgB,EAAE,EAAU;QAC3C,MAAM,UAAU,GAA8B,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;QAEzD,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,EAAE,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CACJ;AAGD,eAAe,cAAc,CAAC"}
@@ -0,0 +1,16 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ interface ICorrectTime2000Parameters {
3
+ sequenceNumber: number;
4
+ seconds: number;
5
+ }
6
+ declare class CorrectTime2000 extends Command {
7
+ parameters: ICorrectTime2000Parameters;
8
+ constructor(parameters: ICorrectTime2000Parameters);
9
+ static readonly id = 12;
10
+ static readonly directionType = 1;
11
+ static readonly examples: TCommandExampleList;
12
+ static readonly hasParameters = true;
13
+ static fromBytes(data: Uint8Array): CorrectTime2000;
14
+ toBytes(): Uint8Array;
15
+ }
16
+ export default CorrectTime2000;
@@ -1,5 +1,5 @@
1
1
  import Command from '../../Command.js';
2
- import BinaryBuffer from '../../BinaryBuffer.js';
2
+ import BinaryBuffer from '../../../utils/BinaryBuffer.js';
3
3
  import { DOWNLINK } from '../../constants/directions.js';
4
4
  const COMMAND_ID = 0x0c;
5
5
  const COMMAND_BODY_SIZE = 2;
@@ -10,33 +10,14 @@ const examples = [
10
10
  hex: { header: '0c 02', body: '2d 88' }
11
11
  }
12
12
  ];
13
- /**
14
- * Downlink command.
15
- *
16
- * @example
17
- * ```js
18
- * import CorrectTime2000 from 'jooby-codec/commands/downlink/CorrectTime2000';
19
- *
20
- * // 120 seconds to the past
21
- * const parameters = {sequenceNumber: 45, seconds: -120};
22
- * const command = new CorrectTime2000(parameters);
23
- *
24
- * // output command binary in hex representation
25
- * console.log(command.toHex());
26
- * // 0c 02 2d 88
27
- * ```
28
- *
29
- * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/CorrectTime2000.md#request)
30
- */
31
13
  class CorrectTime2000 extends Command {
32
14
  constructor(parameters) {
33
15
  super();
34
16
  this.parameters = parameters;
35
17
  }
36
- // data - only body (without header)
37
18
  static fromBytes(data) {
38
19
  if (data.byteLength !== COMMAND_BODY_SIZE) {
39
- throw new Error(`${this.getName()}. Wrong buffer size: ${data.byteLength}.`);
20
+ throw new Error(`Wrong buffer size: ${data.byteLength}.`);
40
21
  }
41
22
  const buffer = new BinaryBuffer(data, false);
42
23
  const parameters = {
@@ -44,11 +25,10 @@ class CorrectTime2000 extends Command {
44
25
  seconds: buffer.getInt8()
45
26
  };
46
27
  if (!buffer.isEmpty) {
47
- throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
28
+ throw new Error('BinaryBuffer is not empty.');
48
29
  }
49
30
  return new CorrectTime2000(parameters);
50
31
  }
51
- // returns full message - header with body
52
32
  toBytes() {
53
33
  const { sequenceNumber, seconds } = this.parameters;
54
34
  const buffer = new BinaryBuffer(COMMAND_BODY_SIZE, false);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../../src/analog/commands/downlink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAqBvD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,yCAAyC;QAC/C,UAAU,EAAE,EAAC,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,EAAC;QAC/C,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC;KACxC;CACJ,CAAC;AAqBF,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAAsC;QACvD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA4B;IAE3D,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAC7D;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;SAC5B,CAAC;QAEF,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACjD;QAED,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AArCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,QAAQ,CAAC;AAEzB,wBAAQ,GAAG,QAAQ,CAAC;AAEpB,6BAAa,GAAG,IAAI,CAAC;AAmCzC,eAAe,eAAe,CAAC"}
@@ -0,0 +1,18 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { TTime2000 } from '../../../utils/time.js';
3
+ interface IGetArchiveDaysMCParameters {
4
+ days: number;
5
+ startTime2000: TTime2000;
6
+ channelList: Array<number>;
7
+ }
8
+ declare class GetArchiveDaysMC extends Command {
9
+ parameters: IGetArchiveDaysMCParameters;
10
+ constructor(parameters: IGetArchiveDaysMCParameters);
11
+ static readonly id = 27;
12
+ static readonly directionType = 1;
13
+ static readonly examples: TCommandExampleList;
14
+ static readonly hasParameters = true;
15
+ static fromBytes(data: Uint8Array): GetArchiveDaysMC;
16
+ toBytes(): Uint8Array;
17
+ }
18
+ export default GetArchiveDaysMC;
@@ -1,63 +1,39 @@
1
- /**
2
- * [[include:commands/downlink/GetArchiveDaysMC.md]]
3
- *
4
- * @packageDocumentation
5
- */
6
1
  import Command from '../../Command.js';
7
2
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
8
3
  import { DOWNLINK } from '../../constants/directions.js';
9
- import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
4
+ import { getTime2000FromDate, getDateFromTime2000 } from '../../../utils/time.js';
10
5
  const COMMAND_ID = 0x1b;
11
6
  const COMMAND_BODY_SIZE = 4;
12
7
  const examples = [
13
8
  {
14
9
  name: '1 day pulse counter for 1 channel from 2023.03.10 00:00:00 GMT',
15
- parameters: { channelList: [1], days: 1, startTime: 731721600 },
10
+ parameters: { channelList: [1], days: 1, startTime2000: 731721600 },
16
11
  hex: { header: '1b 04', body: '2e 6a 01 01' }
17
12
  }
18
13
  ];
19
- /**
20
- * Downlink command.
21
- *
22
- * @example
23
- * ```js
24
- * import GetArchiveDaysMC from 'jooby-codec/commands/downlink/GetArchiveDaysMC';
25
- *
26
- * const parameters = {channelList: [1], days: 1, startTime: 731721600};
27
- * const command = new GetArchiveDaysMC(parameters);
28
- *
29
- * // output command binary in hex representation
30
- * console.log(command.toHex());
31
- * // 1b 04 2e 6a 01 01
32
- * ```
33
- *
34
- * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveDaysMC.md#request)
35
- */
36
14
  class GetArchiveDaysMC extends Command {
37
15
  constructor(parameters) {
38
16
  super();
39
17
  this.parameters = parameters;
40
18
  this.parameters.channelList = this.parameters.channelList.sort((a, b) => a - b);
41
19
  }
42
- // data - only body (without header)
43
20
  static fromBytes(data) {
44
21
  if (data.byteLength !== COMMAND_BODY_SIZE) {
45
- throw new Error(`${this.getName()}. Wrong buffer size: ${data.byteLength}.`);
22
+ throw new Error(`Wrong buffer size: ${data.byteLength}.`);
46
23
  }
47
24
  const buffer = new CommandBinaryBuffer(data);
48
25
  const date = buffer.getDate();
49
26
  const channelList = buffer.getChannels();
50
27
  const days = buffer.getUint8();
51
28
  if (!buffer.isEmpty) {
52
- throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
29
+ throw new Error('BinaryBuffer is not empty.');
53
30
  }
54
- return new GetArchiveDaysMC({ channelList, days, startTime: getSecondsFromDate(date) });
31
+ return new GetArchiveDaysMC({ channelList, days, startTime2000: getTime2000FromDate(date) });
55
32
  }
56
- // returns full message - header with body
57
33
  toBytes() {
58
- const { channelList, days, startTime } = this.parameters;
34
+ const { channelList, days, startTime2000 } = this.parameters;
59
35
  const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
60
- const date = getDateFromSeconds(startTime);
36
+ const date = getDateFromTime2000(startTime2000);
61
37
  buffer.setDate(date);
62
38
  buffer.setChannels(channelList.map(index => ({ index })));
63
39
  buffer.setUint8(days);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetArchiveDaysMC.js","sourceRoot":"","sources":["../../../../src/analog/commands/downlink/GetArchiveDaysMC.ts"],"names":[],"mappings":"AAMA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAA+B,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAY,MAAM,wBAAwB,CAAC;AAe3F,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gEAAgE;QACtE,UAAU,EAAE,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAC;QACjE,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAC;KAC9C;CACJ,CAAC;AAoBF,MAAM,gBAAiB,SAAQ,OAAO;IAClC,YAAqB,UAAuC;QACxD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA6B;QAGxD,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAC7D;QAED,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACjD;QAED,OAAO,IAAI,gBAAgB,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC/F,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAEhD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAc,CAAA,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAvCe,mBAAE,GAAG,UAAU,CAAC;AAEhB,8BAAa,GAAG,QAAQ,CAAC;AAEzB,yBAAQ,GAAG,QAAQ,CAAC;AAEpB,8BAAa,GAAG,IAAI,CAAC;AAqCzC,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { TTime2000 } from '../../../utils/time.js';
3
+ interface IGetArchiveEventsParameters {
4
+ startTime2000: TTime2000;
5
+ events: number;
6
+ }
7
+ declare class GetArchiveEvents extends Command {
8
+ parameters: IGetArchiveEventsParameters;
9
+ constructor(parameters: IGetArchiveEventsParameters);
10
+ static readonly id = 11;
11
+ static readonly directionType = 1;
12
+ static readonly examples: TCommandExampleList;
13
+ static readonly hasParameters = true;
14
+ static fromBytes(data: Uint8Array): GetArchiveEvents;
15
+ toBytes(): Uint8Array;
16
+ }
17
+ export default GetArchiveEvents;
@@ -6,44 +6,25 @@ const COMMAND_BODY_SIZE = 5;
6
6
  const examples = [
7
7
  {
8
8
  name: 'request 4 events from 2023.04.03 14:01:17 GMT',
9
- parameters: { startTime: 733845677, events: 4 },
9
+ parameters: { startTime2000: 733845677, events: 4 },
10
10
  hex: { header: '0b 05', body: '2b bd 98 ad 04' }
11
11
  }
12
12
  ];
13
- /**
14
- * Downlink command.
15
- *
16
- * @example
17
- * ```js
18
- * import GetArchiveEvents from 'jooby-codec/commands/downlink/GetArchiveEvents';
19
- *
20
- * const command = new GetArchiveEvents({startTime: 733845677, events: 4});
21
- *
22
- * // output command binary in hex representation
23
- * console.log(command.toHex());
24
- * // 0b 05 2b bd 98 ad 04
25
- * ```
26
- *
27
- * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveEvents.md#request)
28
- */
29
13
  class GetArchiveEvents extends Command {
30
14
  constructor(parameters) {
31
15
  super();
32
16
  this.parameters = parameters;
33
17
  }
34
- // data - only body (without header)
35
18
  static fromBytes(data) {
36
19
  const buffer = new CommandBinaryBuffer(data);
37
- const startTime = buffer.getTime();
20
+ const startTime2000 = buffer.getTime();
38
21
  const events = buffer.getUint8();
39
- return new GetArchiveEvents({ events, startTime });
22
+ return new GetArchiveEvents({ events, startTime2000 });
40
23
  }
41
- // returns full message - header with body
42
- // eslint-disable-next-line class-methods-use-this
43
24
  toBytes() {
44
25
  const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
45
- const { startTime, events } = this.parameters;
46
- buffer.setTime(startTime);
26
+ const { startTime2000, events } = this.parameters;
27
+ buffer.setTime(startTime2000);
47
28
  buffer.setUint8(events);
48
29
  return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
49
30
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetArchiveEvents.js","sourceRoot":"","sources":["../../../../src/analog/commands/downlink/GetArchiveEvents.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAiBvD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,+CAA+C;QACrD,UAAU,EAAE,EAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAC;QACjD,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAC;KACjD;CACJ,CAAC;AAmBF,MAAM,gBAAiB,SAAQ,OAAO;IAClC,YAAqB,UAAuC;QACxD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA6B;IAE5D,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEjC,OAAO,IAAI,gBAAgB,CAAC,EAAC,MAAM,EAAE,aAAa,EAAC,CAAC,CAAC;IACzD,CAAC;IAID,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,EAAC,aAAa,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEhD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AA5Be,mBAAE,GAAG,UAAU,CAAC;AAEhB,8BAAa,GAAG,QAAQ,CAAC;AAEzB,yBAAQ,GAAG,QAAQ,CAAC;AAEpB,8BAAa,GAAG,IAAI,CAAC;AA0BzC,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { TTime2000 } from '../../../utils/time.js';
3
+ interface IGetArchiveHoursMCParameters {
4
+ hours: number;
5
+ startTime2000: TTime2000;
6
+ channelList: Array<number>;
7
+ }
8
+ declare class GetArchiveHoursMC extends Command {
9
+ parameters: IGetArchiveHoursMCParameters;
10
+ constructor(parameters: IGetArchiveHoursMCParameters);
11
+ static readonly id = 26;
12
+ static readonly directionType = 1;
13
+ static readonly examples: TCommandExampleList;
14
+ static readonly hasParameters = true;
15
+ static fromBytes(data: Uint8Array): GetArchiveHoursMC;
16
+ toBytes(): Uint8Array;
17
+ }
18
+ export default GetArchiveHoursMC;