cfclient 2017.4__py3-none-any.whl → 2025.12.1__py3-none-any.whl

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 (140) hide show
  1. cfclient/__init__.py +16 -11
  2. cfclient/configs/config.json +4 -3
  3. cfclient/configs/input/Generic_OS_X.json +1 -0
  4. cfclient/configs/input/Joystick.json +1 -0
  5. cfclient/configs/input/PS3_Mode_1.json +1 -0
  6. cfclient/configs/input/PS3_Mode_2.json +1 -0
  7. cfclient/configs/input/PS3_Mode_3.json +1 -0
  8. cfclient/configs/input/PS4_Mode_1.json +1 -0
  9. cfclient/configs/input/PS4_Mode_2.json +1 -0
  10. cfclient/configs/input/PS4_shoulder_btns_yaw.json +1 -0
  11. cfclient/configs/input/xbox360_mode1.json +1 -0
  12. cfclient/configs/log/PID_tuning/Attitude.json +46 -0
  13. cfclient/configs/log/PID_tuning/Attitude_rate.json +46 -0
  14. cfclient/configs/log/PID_tuning/Position.json +46 -0
  15. cfclient/configs/log/PID_tuning/Velocity.json +46 -0
  16. cfclient/configs/log/PID_tuning_components/Pitch.json +22 -0
  17. cfclient/configs/log/PID_tuning_components/Pitch_rate.json +22 -0
  18. cfclient/configs/log/PID_tuning_components/Position_x.json +22 -0
  19. cfclient/configs/log/PID_tuning_components/Position_y.json +22 -0
  20. cfclient/configs/log/PID_tuning_components/Position_z.json +22 -0
  21. cfclient/configs/log/PID_tuning_components/Roll.json +22 -0
  22. cfclient/configs/log/PID_tuning_components/Roll_rate.json +22 -0
  23. cfclient/configs/log/PID_tuning_components/Velocity_x.json +22 -0
  24. cfclient/configs/log/PID_tuning_components/Velocity_y.json +22 -0
  25. cfclient/configs/log/PID_tuning_components/Velocity_z.json +22 -0
  26. cfclient/configs/log/PID_tuning_components/Yaw.json +22 -0
  27. cfclient/configs/log/PID_tuning_components/Yaw_rate.json +22 -0
  28. cfclient/gui.py +44 -9
  29. cfclient/headless.py +3 -12
  30. cfclient/resources/log_param_doc.json +1 -0
  31. cfclient/ui/connectivity_manager.py +198 -0
  32. cfclient/ui/dialogs/about.py +53 -36
  33. cfclient/ui/dialogs/about.ui +23 -3
  34. cfclient/ui/dialogs/anchor_position_dialog.py +252 -0
  35. cfclient/ui/dialogs/anchor_position_dialog.ui +138 -0
  36. cfclient/ui/dialogs/basestation_mode_dialog.py +185 -0
  37. cfclient/ui/dialogs/basestation_mode_dialog.ui +186 -0
  38. cfclient/ui/dialogs/bootloader.py +448 -85
  39. cfclient/ui/dialogs/bootloader.ui +387 -134
  40. cfclient/ui/dialogs/cf2config.py +4 -4
  41. cfclient/ui/dialogs/cf2config.ui +3 -4
  42. cfclient/ui/dialogs/inputconfigdialogue.py +24 -19
  43. cfclient/ui/dialogs/inputconfigdialogue.ui +53 -30
  44. cfclient/ui/dialogs/lighthouse_bs_geometry_dialog.py +220 -0
  45. cfclient/ui/dialogs/lighthouse_bs_geometry_dialog.ui +110 -0
  46. cfclient/ui/dialogs/lighthouse_system_type_dialog.py +93 -0
  47. cfclient/ui/dialogs/lighthouse_system_type_dialog.ui +121 -0
  48. cfclient/ui/dialogs/logconfigdialogue.py +401 -101
  49. cfclient/ui/dialogs/logconfigdialogue.ui +117 -72
  50. cfclient/ui/icons/bl.webp +0 -0
  51. cfclient/ui/icons/bolt.webp +0 -0
  52. cfclient/ui/icons/cf21.webp +0 -0
  53. cfclient/ui/icons/checkmark_black.png +0 -0
  54. cfclient/ui/icons/checkmark_white.png +0 -0
  55. cfclient/ui/icons/create.png +0 -0
  56. cfclient/ui/icons/delete.png +0 -0
  57. cfclient/ui/icons/flapper.webp +0 -0
  58. cfclient/ui/icons/tag.webp +0 -0
  59. cfclient/ui/main.py +328 -258
  60. cfclient/ui/main.ui +184 -80
  61. cfclient/ui/pluginhelper.py +7 -1
  62. cfclient/ui/pose_logger.py +116 -0
  63. cfclient/ui/tab_toolbox.py +208 -0
  64. cfclient/ui/tabs/ColorLEDTab.py +752 -0
  65. cfclient/ui/tabs/ConsoleTab.py +48 -13
  66. cfclient/ui/{toolboxes → tabs}/CrtpSharkToolbox.py +19 -34
  67. cfclient/ui/tabs/ExampleTab.py +9 -16
  68. cfclient/ui/tabs/FlightTab.py +437 -325
  69. cfclient/ui/tabs/GpsTab.py +14 -20
  70. cfclient/ui/tabs/LEDRingTab.py +277 -0
  71. cfclient/ui/tabs/LogBlockDebugTab.py +20 -27
  72. cfclient/ui/tabs/LogBlockTab.py +35 -35
  73. cfclient/ui/tabs/LogClientTab.py +85 -0
  74. cfclient/ui/tabs/LogTab.py +50 -27
  75. cfclient/ui/tabs/ParamTab.py +443 -57
  76. cfclient/ui/tabs/PlotTab.py +23 -25
  77. cfclient/ui/tabs/TuningTab.py +292 -0
  78. cfclient/ui/tabs/__init__.py +12 -2
  79. cfclient/ui/tabs/colorLEDTab.ui +624 -0
  80. cfclient/ui/tabs/consoleTab.ui +46 -0
  81. cfclient/ui/tabs/flightActionContainer.ui +103 -0
  82. cfclient/ui/tabs/flightTab.ui +724 -237
  83. cfclient/ui/tabs/{ledTab.ui → ledRingTab.ui} +63 -46
  84. cfclient/ui/tabs/lighthouse_tab.py +714 -0
  85. cfclient/ui/tabs/lighthouse_tab.ui +430 -0
  86. cfclient/ui/tabs/locopositioning_tab.py +606 -389
  87. cfclient/ui/tabs/locopositioning_tab.ui +370 -253
  88. cfclient/ui/tabs/logClientTab.ui +52 -0
  89. cfclient/ui/tabs/logTab.ui +1 -1
  90. cfclient/ui/tabs/paramTab.ui +204 -3
  91. cfclient/ui/tabs/tuningTab.ui +773 -0
  92. cfclient/ui/widgets/ai.py +37 -39
  93. cfclient/ui/widgets/hexspinbox.py +16 -10
  94. cfclient/ui/widgets/plotter.ui +39 -47
  95. cfclient/ui/widgets/plotwidget.py +57 -22
  96. cfclient/ui/widgets/super_slider.py +112 -0
  97. cfclient/ui/wizards/__init__.py +0 -0
  98. cfclient/ui/wizards/bslh_1.png +0 -0
  99. cfclient/ui/wizards/bslh_2.png +0 -0
  100. cfclient/ui/wizards/bslh_3.png +0 -0
  101. cfclient/ui/wizards/bslh_4.png +0 -0
  102. cfclient/ui/wizards/bslh_5.png +0 -0
  103. cfclient/ui/wizards/lighthouse_geo_bs_estimation_wizard.py +465 -0
  104. cfclient/utils/config_manager.py +5 -4
  105. cfclient/utils/input/__init__.py +77 -19
  106. cfclient/utils/input/inputinterfaces/wiimote.py +2 -2
  107. cfclient/utils/input/inputreaderinterface.py +17 -7
  108. cfclient/utils/input/inputreaders/__init__.py +17 -0
  109. cfclient/utils/logconfigreader.py +245 -25
  110. cfclient/utils/logdatawriter.py +3 -1
  111. cfclient/utils/periodictimer.py +1 -1
  112. cfclient/utils/ui.py +336 -0
  113. cfclient/utils/zmq_led_driver.py +5 -0
  114. cfclient/utils/zmq_param.py +6 -0
  115. cfclient/version.py +34 -1
  116. cfclient-2025.12.1.dist-info/METADATA +70 -0
  117. cfclient-2025.12.1.dist-info/RECORD +152 -0
  118. {cfclient-2017.4.dist-info → cfclient-2025.12.1.dist-info}/WHEEL +1 -1
  119. {cfclient-2017.4.dist-info → cfclient-2025.12.1.dist-info}/entry_points.txt +0 -1
  120. cfclient-2025.12.1.dist-info/licenses/LICENSE.txt +350 -0
  121. {cfclient-2017.4.dist-info → cfclient-2025.12.1.dist-info}/top_level.txt +1 -0
  122. cfconfig/Makefile +51 -0
  123. cfconfig/configblock.py +111 -0
  124. cfloader/__init__.py +41 -55
  125. cfzmq/__init__.py +22 -14
  126. cfclient/ui/dialogs/cf1config.py +0 -265
  127. cfclient/ui/dialogs/cf1config.ui +0 -260
  128. cfclient/ui/tab.py +0 -96
  129. cfclient/ui/tabs/LEDTab.py +0 -169
  130. cfclient/ui/toolboxes/ConsoleToolbox.py +0 -69
  131. cfclient/ui/toolboxes/DebugDriverToolbox.py +0 -107
  132. cfclient/ui/toolboxes/__init__.py +0 -45
  133. cfclient/ui/toolboxes/consoleToolbox.ui +0 -62
  134. cfclient/ui/toolboxes/debugDriverToolbox.ui +0 -86
  135. cfclient-2017.4.dist-info/DESCRIPTION.rst +0 -3
  136. cfclient-2017.4.dist-info/METADATA +0 -22
  137. cfclient-2017.4.dist-info/RECORD +0 -104
  138. cfclient-2017.4.dist-info/metadata.json +0 -1
  139. /cfclient/{icon-256.png → ui/icons/icon-256.png} +0 -0
  140. /cfclient/ui/{toolboxes → tabs}/crtpSharkToolbox.ui +0 -0
@@ -9,8 +9,8 @@
9
9
  <rect>
10
10
  <x>0</x>
11
11
  <y>0</y>
12
- <width>925</width>
13
- <height>447</height>
12
+ <width>1179</width>
13
+ <height>558</height>
14
14
  </rect>
15
15
  </property>
16
16
  <property name="windowTitle">
@@ -43,12 +43,36 @@
43
43
  <item>
44
44
  <layout class="QGridLayout" name="gridLayout">
45
45
  <item row="1" column="0">
46
+ <widget class="QTreeWidget" name="categoryTree">
47
+ <property name="sizePolicy">
48
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
49
+ <horstretch>0</horstretch>
50
+ <verstretch>0</verstretch>
51
+ </sizepolicy>
52
+ </property>
53
+ <column>
54
+ <property name="text">
55
+ <string notr="true">1</string>
56
+ </property>
57
+ </column>
58
+ </widget>
59
+ </item>
60
+ <item row="1" column="1">
46
61
  <widget class="QTreeWidget" name="logTree">
62
+ <property name="sizePolicy">
63
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
64
+ <horstretch>0</horstretch>
65
+ <verstretch>0</verstretch>
66
+ </sizepolicy>
67
+ </property>
68
+ <property name="sortingEnabled">
69
+ <bool>true</bool>
70
+ </property>
47
71
  <property name="columnCount">
48
72
  <number>4</number>
49
73
  </property>
50
- <attribute name="headerDefaultSectionSize">
51
- <number>100</number>
74
+ <attribute name="headerMinimumSectionSize">
75
+ <number>57</number>
52
76
  </attribute>
53
77
  <column>
54
78
  <property name="text">
@@ -72,7 +96,7 @@
72
96
  </column>
73
97
  </widget>
74
98
  </item>
75
- <item row="1" column="1">
99
+ <item row="1" column="2">
76
100
  <layout class="QVBoxLayout" name="verticalLayout_2">
77
101
  <item>
78
102
  <widget class="QPushButton" name="addButton">
@@ -90,7 +114,7 @@
90
114
  </item>
91
115
  </layout>
92
116
  </item>
93
- <item row="1" column="2">
117
+ <item row="1" column="3">
94
118
  <widget class="QTreeWidget" name="varTree">
95
119
  <property name="columnCount">
96
120
  <number>4</number>
@@ -125,12 +149,39 @@
125
149
  <item>
126
150
  <layout class="QHBoxLayout" name="horizontalLayout_2">
127
151
  <item>
128
- <spacer name="horizontalSpacer_2">
152
+ <widget class="QPushButton" name="createCategoryBtn">
153
+ <property name="sizePolicy">
154
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
155
+ <horstretch>0</horstretch>
156
+ <verstretch>0</verstretch>
157
+ </sizepolicy>
158
+ </property>
159
+ <property name="text">
160
+ <string>Create category</string>
161
+ </property>
162
+ </widget>
163
+ </item>
164
+ <item>
165
+ <widget class="QPushButton" name="createConfigBtn">
166
+ <property name="text">
167
+ <string>Create config</string>
168
+ </property>
169
+ </widget>
170
+ </item>
171
+ <item>
172
+ <widget class="QPushButton" name="deleteBtn">
173
+ <property name="text">
174
+ <string>Delete</string>
175
+ </property>
176
+ </widget>
177
+ </item>
178
+ <item>
179
+ <spacer name="horizontalSpacer">
129
180
  <property name="orientation">
130
181
  <enum>Qt::Horizontal</enum>
131
182
  </property>
132
183
  <property name="sizeType">
133
- <enum>QSizePolicy::Fixed</enum>
184
+ <enum>QSizePolicy::Minimum</enum>
134
185
  </property>
135
186
  <property name="sizeHint" stdset="0">
136
187
  <size>
@@ -140,7 +191,7 @@
140
191
  </property>
141
192
  </spacer>
142
193
  </item>
143
- <item alignment="Qt::AlignTop">
194
+ <item>
144
195
  <widget class="QLabel" name="label_2">
145
196
  <property name="text">
146
197
  <string>Logging period</string>
@@ -165,7 +216,7 @@
165
216
  </widget>
166
217
  </item>
167
218
  <item>
168
- <spacer name="horizontalSpacer_3">
219
+ <spacer name="horizontalSpacer_2">
169
220
  <property name="orientation">
170
221
  <enum>Qt::Horizontal</enum>
171
222
  </property>
@@ -177,29 +228,28 @@
177
228
  </property>
178
229
  </spacer>
179
230
  </item>
180
- </layout>
181
- </item>
182
- <item>
183
- <widget class="QProgressBar" name="packetSize">
184
- <property name="value">
185
- <number>24</number>
186
- </property>
187
- </widget>
188
- </item>
189
- <item>
190
- <layout class="QGridLayout" name="gridLayout_2">
191
- <item row="0" column="1">
192
- <widget class="QLabel" name="label_16">
231
+ <item>
232
+ <widget class="QLabel" name="statusText">
233
+ <property name="text">
234
+ <string/>
235
+ </property>
236
+ </widget>
237
+ </item>
238
+ <item>
239
+ <widget class="QCheckBox" name="closeOnSave">
193
240
  <property name="text">
194
- <string>Config name</string>
241
+ <string>Close window on save</string>
195
242
  </property>
196
243
  </widget>
197
244
  </item>
198
- <item row="0" column="0">
199
- <spacer name="horizontalSpacer_9">
245
+ <item>
246
+ <spacer name="horizontalSpacer_4">
200
247
  <property name="orientation">
201
248
  <enum>Qt::Horizontal</enum>
202
249
  </property>
250
+ <property name="sizeType">
251
+ <enum>QSizePolicy::Minimum</enum>
252
+ </property>
203
253
  <property name="sizeHint" stdset="0">
204
254
  <size>
205
255
  <width>40</width>
@@ -208,73 +258,68 @@
208
258
  </property>
209
259
  </spacer>
210
260
  </item>
211
- <item row="0" column="3">
212
- <widget class="QPushButton" name="deleteButton">
261
+ <item>
262
+ <widget class="QPushButton" name="saveButton">
213
263
  <property name="enabled">
214
264
  <bool>false</bool>
215
265
  </property>
216
266
  <property name="text">
217
- <string>Delete</string>
218
- </property>
219
- </widget>
220
- </item>
221
- <item row="0" column="5">
222
- <widget class="QPushButton" name="cancelButton">
223
- <property name="text">
224
- <string>Cancel</string>
267
+ <string>Save</string>
225
268
  </property>
226
269
  </widget>
227
270
  </item>
228
- <item row="0" column="2">
229
- <widget class="QComboBox" name="configNameCombo">
230
- <property name="enabled">
231
- <bool>true</bool>
232
- </property>
233
- <property name="sizePolicy">
234
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
235
- <horstretch>0</horstretch>
236
- <verstretch>0</verstretch>
237
- </sizepolicy>
238
- </property>
239
- <property name="minimumSize">
240
- <size>
241
- <width>400</width>
242
- <height>0</height>
243
- </size>
271
+ </layout>
272
+ </item>
273
+ <item>
274
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
275
+ <item>
276
+ <spacer name="horizontalSpacer_4">
277
+ <property name="orientation">
278
+ <enum>Qt::Horizontal</enum>
244
279
  </property>
245
- <property name="maximumSize">
280
+ <property name="sizeHint" stdset="0">
246
281
  <size>
247
- <width>16777215</width>
248
- <height>16777215</height>
282
+ <width>40</width>
283
+ <height>20</height>
249
284
  </size>
250
285
  </property>
251
- <property name="editable">
252
- <bool>true</bool>
253
- </property>
254
- </widget>
286
+ </spacer>
255
287
  </item>
256
- <item row="0" column="6">
257
- <widget class="QPushButton" name="saveButton">
258
- <property name="enabled">
259
- <bool>false</bool>
260
- </property>
288
+ <item>
289
+ <widget class="QLabel" name="packetSizeText">
261
290
  <property name="text">
262
- <string>Save</string>
291
+ <string/>
263
292
  </property>
264
293
  </widget>
265
294
  </item>
266
- <item row="0" column="4">
267
- <widget class="QPushButton" name="loadButton">
268
- <property name="enabled">
269
- <bool>false</bool>
295
+ <item>
296
+ <spacer name="horizontalSpacer">
297
+ <property name="orientation">
298
+ <enum>Qt::Horizontal</enum>
270
299
  </property>
271
- <property name="text">
272
- <string>Load</string>
300
+ <property name="sizeHint" stdset="0">
301
+ <size>
302
+ <width>40</width>
303
+ <height>20</height>
304
+ </size>
273
305
  </property>
274
- </widget>
306
+ </spacer>
275
307
  </item>
276
308
  </layout>
277
309
  </item>
310
+ <item>
311
+ <widget class="QProgressBar" name="packetSize">
312
+ <property name="value">
313
+ <number>24</number>
314
+ </property>
315
+ <property name="alignment">
316
+ <set>Qt::AlignCenter</set>
317
+ </property>
318
+ </widget>
319
+ </item>
320
+ <item>
321
+ <layout class="QGridLayout" name="gridLayout_2"/>
322
+ </item>
278
323
  </layout>
279
324
  </item>
280
325
  </layout>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file