easycoder 250505.2__tar.gz → 250505.3__tar.gz

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.

Potentially problematic release.


This version of easycoder might be problematic. Click here for more details.

Files changed (186) hide show
  1. {easycoder-250505.2 → easycoder-250505.3}/PKG-INFO +2 -3
  2. {easycoder-250505.2 → easycoder-250505.3}/config.ecs +124 -16
  3. {easycoder-250505.2 → easycoder-250505.3}/easycoder/__init__.py +1 -1
  4. {easycoder-250505.2 → easycoder-250505.3}/.gitignore +0 -0
  5. {easycoder-250505.2 → easycoder-250505.3}/LICENSE +0 -0
  6. {easycoder-250505.2 → easycoder-250505.3}/README.md +0 -0
  7. {easycoder-250505.2 → easycoder-250505.3}/config.py +0 -0
  8. {easycoder-250505.2 → easycoder-250505.3}/demo.ecs +0 -0
  9. {easycoder-250505.2 → easycoder-250505.3}/doc/README.md +0 -0
  10. {easycoder-250505.2 → easycoder-250505.3}/doc/core/README.md +0 -0
  11. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/boolean.md +0 -0
  12. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/empty.md +0 -0
  13. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/ends.md +0 -0
  14. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/even.md +0 -0
  15. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/exists.md +0 -0
  16. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/greater.md +0 -0
  17. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/hasProperty.md +0 -0
  18. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/includes.md +0 -0
  19. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/is.md +0 -0
  20. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/less.md +0 -0
  21. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/list.md +0 -0
  22. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/none.md +0 -0
  23. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/not.md +0 -0
  24. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/numeric.md +0 -0
  25. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/object.md +0 -0
  26. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/odd.md +0 -0
  27. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/starts.md +0 -0
  28. {easycoder-250505.2 → easycoder-250505.3}/doc/core/conditions/string.md +0 -0
  29. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/add.md +0 -0
  30. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/append.md +0 -0
  31. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/assert.md +0 -0
  32. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/begin.md +0 -0
  33. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/clear.md +0 -0
  34. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/close.md +0 -0
  35. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/create.md +0 -0
  36. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/debug.md +0 -0
  37. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/decrement.md +0 -0
  38. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/delete.md +0 -0
  39. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/divide.md +0 -0
  40. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/exit.md +0 -0
  41. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/file.md +0 -0
  42. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/fork.md +0 -0
  43. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/get.md +0 -0
  44. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/go.md +0 -0
  45. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/gosub.md +0 -0
  46. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/if.md +0 -0
  47. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/import.md +0 -0
  48. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/increment.md +0 -0
  49. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/index.md +0 -0
  50. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/init.md +0 -0
  51. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/input.md +0 -0
  52. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/load.md +0 -0
  53. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/lock.md +0 -0
  54. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/log.md +0 -0
  55. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/module.md +0 -0
  56. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/multiply.md +0 -0
  57. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/negate.md +0 -0
  58. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/open.md +0 -0
  59. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/pop.md +0 -0
  60. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/post.md +0 -0
  61. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/print.md +0 -0
  62. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/push.md +0 -0
  63. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/put.md +0 -0
  64. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/read.md +0 -0
  65. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/release.md +0 -0
  66. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/replace.md +0 -0
  67. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/return.md +0 -0
  68. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/run.md +0 -0
  69. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/save.md +0 -0
  70. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/script.md +0 -0
  71. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/set.md +0 -0
  72. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/split.md +0 -0
  73. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/stack.md +0 -0
  74. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/stop.md +0 -0
  75. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/system.md +0 -0
  76. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/take.md +0 -0
  77. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/toggle.md +0 -0
  78. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/truncate.md +0 -0
  79. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/unlock.md +0 -0
  80. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/variable.md +0 -0
  81. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/wait.md +0 -0
  82. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/while.md +0 -0
  83. {easycoder-250505.2 → easycoder-250505.3}/doc/core/keywords/write.md +0 -0
  84. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/arg.md +0 -0
  85. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/args.md +0 -0
  86. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/cos.md +0 -0
  87. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/datime.md +0 -0
  88. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/decode.md +0 -0
  89. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/element.md +0 -0
  90. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/elements.md +0 -0
  91. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/empty.md +0 -0
  92. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/encode.md +0 -0
  93. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/error.md +0 -0
  94. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/files.md +0 -0
  95. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/float.md +0 -0
  96. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/from.md +0 -0
  97. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/hash.md +0 -0
  98. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/index.md +0 -0
  99. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/integer.md +0 -0
  100. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/json.md +0 -0
  101. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/keys.md +0 -0
  102. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/left.md +0 -0
  103. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/length.md +0 -0
  104. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/lowercase.md +0 -0
  105. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/memory.md +0 -0
  106. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/modification.md +0 -0
  107. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/modulo.md +0 -0
  108. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/newline.md +0 -0
  109. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/now.md +0 -0
  110. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/position.md +0 -0
  111. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/property.md +0 -0
  112. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/random.md +0 -0
  113. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/right.md +0 -0
  114. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/sin.md +0 -0
  115. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/stringify.md +0 -0
  116. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/tab.md +0 -0
  117. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/tan.md +0 -0
  118. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/timestamp.md +0 -0
  119. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/today.md +0 -0
  120. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/trim.md +0 -0
  121. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/type.md +0 -0
  122. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/uppercase.md +0 -0
  123. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/value.md +0 -0
  124. {easycoder-250505.2 → easycoder-250505.3}/doc/core/values/weekday.md +0 -0
  125. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/README.md +0 -0
  126. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/attach.md +0 -0
  127. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/close.md +0 -0
  128. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/create.md +0 -0
  129. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/ellipse.md +0 -0
  130. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/image.md +0 -0
  131. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/move.md +0 -0
  132. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/on.md +0 -0
  133. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/rectangle.md +0 -0
  134. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/render.md +0 -0
  135. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/run.md +0 -0
  136. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/set.md +0 -0
  137. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/keywords/text.md +0 -0
  138. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/values/attribute.md +0 -0
  139. {easycoder-250505.2 → easycoder-250505.3}/doc/graphics/values/window.md +0 -0
  140. {easycoder-250505.2 → easycoder-250505.3}/easycoder/README.md +0 -0
  141. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_classes.py +0 -0
  142. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_compiler.py +0 -0
  143. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_condition.py +0 -0
  144. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_core.py +0 -0
  145. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_graphics.py +0 -0
  146. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_gutils.py +0 -0
  147. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_handler.py +0 -0
  148. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_program.py +0 -0
  149. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_pyside.py +0 -0
  150. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_timestamp.py +0 -0
  151. {easycoder-250505.2 → easycoder-250505.3}/easycoder/ec_value.py +0 -0
  152. {easycoder-250505.2 → easycoder-250505.3}/group.py +0 -0
  153. {easycoder-250505.2 → easycoder-250505.3}/images/Semoigo Dawn.jpg +0 -0
  154. {easycoder-250505.2 → easycoder-250505.3}/json/graphics-demo.json +0 -0
  155. {easycoder-250505.2 → easycoder-250505.3}/plugins/ec_keyboard.py +0 -0
  156. {easycoder-250505.2 → easycoder-250505.3}/plugins/ec_p100.py +0 -0
  157. {easycoder-250505.2 → easycoder-250505.3}/plugins/ec_pyside6.py +0 -0
  158. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/4-function.json +0 -0
  159. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/4-function.png +0 -0
  160. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/qwerty-0.json +0 -0
  161. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/qwerty-0.png +0 -0
  162. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/qwerty-1.json +0 -0
  163. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/qwerty-1.png +0 -0
  164. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/qwerty-2.json +0 -0
  165. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/qwerty-2.png +0 -0
  166. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/qwerty-3.json +0 -0
  167. {easycoder-250505.2 → easycoder-250505.3}/plugins/keyboards/qwerty-3.png +0 -0
  168. {easycoder-250505.2 → easycoder-250505.3}/plugins/points.py +0 -0
  169. {easycoder-250505.2 → easycoder-250505.3}/pyproject.toml +0 -0
  170. {easycoder-250505.2 → easycoder-250505.3}/q.py +0 -0
  171. {easycoder-250505.2 → easycoder-250505.3}/q2.py +0 -0
  172. {easycoder-250505.2 → easycoder-250505.3}/scripts/README.md +0 -0
  173. {easycoder-250505.2 → easycoder-250505.3}/scripts/benchmark.ecs +0 -0
  174. {easycoder-250505.2 → easycoder-250505.3}/scripts/config.ecg +0 -0
  175. {easycoder-250505.2 → easycoder-250505.3}/scripts/connect.ecg +0 -0
  176. {easycoder-250505.2 → easycoder-250505.3}/scripts/ec_keyboard.py +0 -0
  177. {easycoder-250505.2 → easycoder-250505.3}/scripts/findxr.ecs +0 -0
  178. {easycoder-250505.2 → easycoder-250505.3}/scripts/fizzbuzz.ecs +0 -0
  179. {easycoder-250505.2 → easycoder-250505.3}/scripts/hello.ecs +0 -0
  180. {easycoder-250505.2 → easycoder-250505.3}/scripts/points.ecs +0 -0
  181. {easycoder-250505.2 → easycoder-250505.3}/scripts/test.ecs +0 -0
  182. {easycoder-250505.2 → easycoder-250505.3}/scripts/testg.ecg +0 -0
  183. {easycoder-250505.2 → easycoder-250505.3}/scripts/tests.ecs +0 -0
  184. {easycoder-250505.2 → easycoder-250505.3}/temp.ecs +0 -0
  185. {easycoder-250505.2 → easycoder-250505.3}/test.ecs +0 -0
  186. {easycoder-250505.2 → easycoder-250505.3}/test.py +0 -0
@@ -1,12 +1,11 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.3
2
2
  Name: easycoder
3
- Version: 250505.2
3
+ Version: 250505.3
4
4
  Summary: Rapid scripting in English
5
5
  Keywords: compiler,scripting,prototyping,programming,coding,python,low code,hypertalk,computer language,learn to code
6
6
  Author-email: Graham Trott <gtanyware@gmail.com>
7
7
  Description-Content-Type: text/markdown
8
8
  Classifier: License :: OSI Approved :: MIT License
9
- License-File: LICENSE
10
9
  Requires-Dist: pytz
11
10
  Requires-Dist: pyside6
12
11
  Project-URL: Home, https://github.com/easycoder/easycoder-py
@@ -18,7 +18,9 @@
18
18
  label Label
19
19
  label RelayStateLabel
20
20
  label StatusLabel
21
+ label UptimeLabel
21
22
  pushbutton ResetConfigButton
23
+ pushbutton RBRNowDirectoryButton
22
24
  pushbutton ScanDevicesButton
23
25
  pushbutton ClearSystemButton
24
26
  pushbutton RemoveSlaveButton
@@ -63,6 +65,10 @@
63
65
  on click ResetConfigButton go to ResetConfigFileClick
64
66
  add ResetConfigButton to LeftPanel
65
67
 
68
+ create RBRNowDirectoryButton text `Get the RBR-Now directory`
69
+ on click RBRNowDirectoryButton go to RBRNowDirectoryClick
70
+ add RBRNowDirectoryButton to LeftPanel
71
+
66
72
  create ClearSystemButton text `Clear the selected system`
67
73
  on click ClearSystemButton go to ClearSystemClick
68
74
  add ClearSystemButton to LeftPanel
@@ -151,6 +157,12 @@
151
157
  add Label to Layout
152
158
  create DeviceNameInput size 40
153
159
  add DeviceNameInput to Layout
160
+ create Label text `Uptime:`
161
+ add Label to Layout
162
+ create UptimeLabel text `0`
163
+ add UptimeLabel to Layout
164
+ create Label text `sec`
165
+ add Label to Layout
154
166
  add stretch to Layout
155
167
 
156
168
  create Layout type QHBoxLayout
@@ -273,6 +285,7 @@
273
285
  variable Files
274
286
  variable Count
275
287
  variable Content
288
+ variable Uptime
276
289
  variable APInfo
277
290
  variable Info
278
291
  variable Keys
@@ -302,6 +315,10 @@ Start:
302
315
  if Config does not have property `current-system` set property `current-system` of Config to empty
303
316
  put property `hosts` of Config into Hosts
304
317
 
318
+ put empty into SystemHostSSID
319
+ put empty into SystemIPAddr
320
+ clear DeviceSelected
321
+
305
322
  ! Get the host SSID
306
323
  put `Getting host SSID...` into StatusMessage
307
324
  gosub to Working
@@ -320,6 +337,8 @@ Start:
320
337
  put `Connected to ` cat HostSSID into StatusMessage
321
338
  gosub to Idle
322
339
 
340
+ gosub to CheckFirmware
341
+
323
342
  ! Get the list of systems from Config, or create an empty list. Then populate the combo box
324
343
  if Config has property `systems` put property `systems` of Config into Systems
325
344
  else
@@ -329,12 +348,6 @@ Start:
329
348
  end
330
349
  gosub to RefreshSystemsCombo
331
350
 
332
- put empty into SystemHostSSID
333
- put empty into SystemIPAddr
334
- clear DeviceSelected
335
- put trim system `echo $HOME` into FirmwareDirectory
336
- put FirmwareDirectory cat `/dev/rbr/roombyroom/Controller/home/orangepi/firmware/NOW/` into FirmwareDirectory
337
-
338
351
  ! Select the current system
339
352
  if the count of SystemsCombo is 0 put empty into SystemName
340
353
  else
@@ -551,6 +564,42 @@ ClearSystemClick:
551
564
  gosub to OK
552
565
  stop
553
566
 
567
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
568
+ ! Get the RBR-Now directory and save it.
569
+ RBRNowDirectoryClick:
570
+ gosub to GetFirmware
571
+ gosub to CheckFirmware3
572
+ stop
573
+
574
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
575
+ ! Check if we have a valid firmware directory.
576
+ CheckFirmware:
577
+ if Config has property `firmware` put property `firmware` of Config into FirmwareDirectory
578
+ else put empty into FirmwareDirectory
579
+ CheckFirmware2:
580
+ if file FirmwareDirectory cat `/files.txt` exists
581
+ begin
582
+ set property `firmware` of Config to FirmwareDirectory
583
+ save prettify Config to ConfigFile
584
+ go to OK
585
+ end
586
+ put `Firmware directory is missing` into StatusMessage
587
+ gosub to Error
588
+ gosub to GetFirmware
589
+ CheckFirmware3:
590
+ if ReturnValue is empty return
591
+ put trim system `echo $HOME` cat `/` cat ReturnValue into FirmwareDirectory
592
+ go to CheckFirmware2
593
+
594
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
595
+ ! Get the RBR-Now firmware
596
+ GetFirmware:
597
+ put `RBR-Now firmware` into Title
598
+ put `Get the directory containing the RBR-Now firmware`
599
+ cat newline cat `(relative to your home directory)` into Prompt
600
+ put 80 into Length
601
+ go to GetRequestedText
602
+
554
603
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
555
604
  ! Scan the local network for new devices
556
605
  ScanForDevicesClick:
@@ -868,7 +917,8 @@ PopulateSystemInfo:
868
917
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
869
918
  ! Update text on MasterDeviceButton
870
919
  SetMasterDeviceButtonText:
871
- set the text of MasterDeviceButton to MasterSSID cat ` ` cat MasterIPAddr cat ` ` cat MasterDeviceName
920
+ ! set the text of MasterDeviceButton to MasterSSID cat ` ` cat MasterIPAddr cat ` ` cat MasterDeviceName
921
+ set the text of MasterDeviceButton to MasterSSID cat ` ` cat MasterDeviceName
872
922
  return
873
923
 
874
924
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -893,7 +943,10 @@ PopulateDeviceInfo:
893
943
  if Device has property `name`
894
944
  begin
895
945
  log `Populate device ` cat property `name` of Device
946
+ gosub to CheckDevice
896
947
  set the text of DeviceNameInput to property `name` of Device
948
+ set the text of UptimeLabel to Uptime
949
+ set the text of RelayStateLabel to `???`
897
950
  set the text of PathInput to property `path` of Device
898
951
  put property `pins` of Device into Pins
899
952
  put property `led` of Pins into Pin
@@ -970,6 +1023,7 @@ GetHostPassword:
970
1023
  log `Get the host password`
971
1024
  put `Type the host password:` into Prompt
972
1025
  put `Host password` into Title
1026
+ put 40 into Length
973
1027
  gosub to GetRequestedText
974
1028
  put ReturnValue into HostPassword
975
1029
  return
@@ -982,7 +1036,7 @@ GetRequestedText:
982
1036
  add Label to VLayout
983
1037
  create HLayout type QHBoxLayout
984
1038
  add HLayout to VLayout
985
- create LineInput size 40
1039
+ create LineInput size Length
986
1040
  add stretch LineInput to HLayout
987
1041
  create HLayout type QHBoxLayout
988
1042
  add HLayout to VLayout
@@ -1134,14 +1188,6 @@ UpdateWidgetDataClick:
1134
1188
  gosub to ManageButtonStates
1135
1189
  stop
1136
1190
 
1137
- RelayOffClick:
1138
- log `Turn the relay OFF`
1139
- stop
1140
-
1141
- RelayOnClick:
1142
- log `Turn the relay ON`
1143
- stop
1144
-
1145
1191
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1146
1192
  ! Update all the files on a device
1147
1193
  UpdateFilesClick:
@@ -1262,6 +1308,7 @@ SendFileFail:
1262
1308
  DeleteFileClick:
1263
1309
  put `Name of file to delete:` into Prompt
1264
1310
  put `Delete file` into Title
1311
+ put 40 into Length
1265
1312
  gosub to GetRequestedText
1266
1313
  if ReturnValue is not empty
1267
1314
  begin
@@ -1299,6 +1346,67 @@ RequestReset:
1299
1346
  put `Device ` cat Name cat ` has been reset` into StatusMessage
1300
1347
  go to Working
1301
1348
 
1349
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1350
+ ! Check a device
1351
+ CheckDevice:
1352
+ put `uptime` into Message
1353
+ gosub to SendRBRMessage
1354
+ if Response is empty
1355
+ begin
1356
+ put `No response from ` cat Name into StatusMessage
1357
+ gosub to Error
1358
+ put 0 into Uptime
1359
+ end
1360
+ else put from 3 of Response into Uptime
1361
+
1362
+ CheckDevice2:
1363
+ put the position of ` ` in Uptime into P
1364
+ put left P of Uptime into Uptime
1365
+ log Name cat ` uptime: ` cat Uptime
1366
+ set the text of UptimeLabel to Uptime
1367
+ return
1368
+
1369
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1370
+ ! Turn a relay OFF
1371
+ RelayOffClick:
1372
+ log `Turn the relay OFF`
1373
+ put `off` into Message
1374
+ gosub to SendRBRMessage
1375
+ log `ON: ` cat Response
1376
+ if Response is empty
1377
+ begin
1378
+ put `No response from ` cat Name into StatusMessage
1379
+ gosub to Error
1380
+ put 0 into Uptime
1381
+ end
1382
+ begin
1383
+ put from 3 of Response into Uptime
1384
+ set the text of RelayStateLabel to `OFF`
1385
+ end
1386
+ gosub to CheckDevice2
1387
+ stop
1388
+
1389
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1390
+ ! Turn a relay ON
1391
+ RelayOnClick:
1392
+ log `Turn the relay ON`
1393
+ put `on` into Message
1394
+ gosub to SendRBRMessage
1395
+ log `ON: ` cat Response
1396
+ if Response is empty
1397
+ begin
1398
+ put `No response from ` cat Name into StatusMessage
1399
+ gosub to Error
1400
+ put 0 into Uptime
1401
+ end
1402
+ else
1403
+ begin
1404
+ put from 3 of Response into Uptime
1405
+ set the text of RelayStateLabel to `ON`
1406
+ end
1407
+ gosub to CheckDevice2
1408
+ stop
1409
+
1302
1410
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1303
1411
  ! Send an RBR-Now message to a device
1304
1412
  SendRBRMessage:
@@ -9,4 +9,4 @@ from .ec_program import *
9
9
  from .ec_timestamp import *
10
10
  from .ec_value import *
11
11
 
12
- __version__ = "250505.2"
12
+ __version__ = "250505.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes