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
@@ -0,0 +1,430 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Form</class>
4
+ <widget class="QWidget" name="Form">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>1753</width>
10
+ <height>763</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>Plot</string>
15
+ </property>
16
+ <layout class="QHBoxLayout" name="horizontalLayout">
17
+ <item>
18
+ <layout class="QGridLayout" name="gridLayout" rowstretch="0,0" columnstretch="0">
19
+ <property name="leftMargin">
20
+ <number>0</number>
21
+ </property>
22
+ <item row="0" column="0">
23
+ <layout class="QVBoxLayout" name="_inputLayout" stretch="0">
24
+ <property name="spacing">
25
+ <number>6</number>
26
+ </property>
27
+ <property name="sizeConstraint">
28
+ <enum>QLayout::SetDefaultConstraint</enum>
29
+ </property>
30
+ <item>
31
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
32
+ <property name="sizeConstraint">
33
+ <enum>QLayout::SetDefaultConstraint</enum>
34
+ </property>
35
+ <item>
36
+ <widget class="QGroupBox" name="groupBox_4">
37
+ <property name="sizePolicy">
38
+ <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
39
+ <horstretch>0</horstretch>
40
+ <verstretch>0</verstretch>
41
+ </sizepolicy>
42
+ </property>
43
+ <property name="minimumSize">
44
+ <size>
45
+ <width>0</width>
46
+ <height>0</height>
47
+ </size>
48
+ </property>
49
+ <property name="title">
50
+ <string>Crazyflie status</string>
51
+ </property>
52
+ <property name="alignment">
53
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
54
+ </property>
55
+ <layout class="QVBoxLayout" name="verticalLayout_6" stretch="0,0">
56
+ <item>
57
+ <layout class="QVBoxLayout" name="verticalLayout_8">
58
+ <item>
59
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
60
+ <item>
61
+ <widget class="QLabel" name="label_2">
62
+ <property name="text">
63
+ <string>Status:</string>
64
+ </property>
65
+ </widget>
66
+ </item>
67
+ <item>
68
+ <widget class="QLabel" name="_status_status">
69
+ <property name="sizePolicy">
70
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
71
+ <horstretch>0</horstretch>
72
+ <verstretch>0</verstretch>
73
+ </sizepolicy>
74
+ </property>
75
+ <property name="minimumSize">
76
+ <size>
77
+ <width>200</width>
78
+ <height>0</height>
79
+ </size>
80
+ </property>
81
+ <property name="text">
82
+ <string>-</string>
83
+ </property>
84
+ <property name="wordWrap">
85
+ <bool>true</bool>
86
+ </property>
87
+ </widget>
88
+ </item>
89
+ <item>
90
+ <spacer name="horizontalSpacer">
91
+ <property name="orientation">
92
+ <enum>Qt::Horizontal</enum>
93
+ </property>
94
+ <property name="sizeHint" stdset="0">
95
+ <size>
96
+ <width>40</width>
97
+ <height>20</height>
98
+ </size>
99
+ </property>
100
+ </spacer>
101
+ </item>
102
+ </layout>
103
+ </item>
104
+ <item>
105
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
106
+ <item>
107
+ <widget class="QLabel" name="label_7">
108
+ <property name="text">
109
+ <string>Position:</string>
110
+ </property>
111
+ </widget>
112
+ </item>
113
+ <item>
114
+ <widget class="QLabel" name="_status_position">
115
+ <property name="minimumSize">
116
+ <size>
117
+ <width>150</width>
118
+ <height>0</height>
119
+ </size>
120
+ </property>
121
+ <property name="frameShape">
122
+ <enum>QFrame::NoFrame</enum>
123
+ </property>
124
+ <property name="text">
125
+ <string>(0.0 , 0.0 , 0.0)</string>
126
+ </property>
127
+ </widget>
128
+ </item>
129
+ <item>
130
+ <spacer name="horizontalSpacer_3">
131
+ <property name="orientation">
132
+ <enum>Qt::Horizontal</enum>
133
+ </property>
134
+ <property name="sizeHint" stdset="0">
135
+ <size>
136
+ <width>40</width>
137
+ <height>20</height>
138
+ </size>
139
+ </property>
140
+ </spacer>
141
+ </item>
142
+ </layout>
143
+ </item>
144
+ </layout>
145
+ </item>
146
+ <item>
147
+ <spacer name="verticalSpacer_4">
148
+ <property name="orientation">
149
+ <enum>Qt::Vertical</enum>
150
+ </property>
151
+ <property name="sizeHint" stdset="0">
152
+ <size>
153
+ <width>0</width>
154
+ <height>20</height>
155
+ </size>
156
+ </property>
157
+ </spacer>
158
+ </item>
159
+ </layout>
160
+ </widget>
161
+ </item>
162
+ <item>
163
+ <widget class="QGroupBox" name="groupBox_2">
164
+ <property name="enabled">
165
+ <bool>true</bool>
166
+ </property>
167
+ <property name="sizePolicy">
168
+ <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
169
+ <horstretch>0</horstretch>
170
+ <verstretch>0</verstretch>
171
+ </sizepolicy>
172
+ </property>
173
+ <property name="minimumSize">
174
+ <size>
175
+ <width>0</width>
176
+ <height>0</height>
177
+ </size>
178
+ </property>
179
+ <property name="title">
180
+ <string>Basestation Status</string>
181
+ </property>
182
+ <layout class="QVBoxLayout" name="verticalLayout_2">
183
+ <item>
184
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
185
+ <item>
186
+ <layout class="QVBoxLayout" name="verticalLayout_3">
187
+ <item>
188
+ <layout class="QGridLayout" name="_basestation_stats_container">
189
+ <property name="sizeConstraint">
190
+ <enum>QLayout::SetMinimumSize</enum>
191
+ </property>
192
+ <property name="spacing">
193
+ <number>2</number>
194
+ </property>
195
+ <item row="2" column="1">
196
+ <widget class="QLabel" name="label_10">
197
+ <property name="styleSheet">
198
+ <string notr="true">background-color: lightpink;</string>
199
+ </property>
200
+ <property name="frameShape">
201
+ <enum>QFrame::Box</enum>
202
+ </property>
203
+ <property name="text">
204
+ <string/>
205
+ </property>
206
+ </widget>
207
+ </item>
208
+ <item row="0" column="1">
209
+ <widget class="QLabel" name="label_3">
210
+ <property name="minimumSize">
211
+ <size>
212
+ <width>30</width>
213
+ <height>0</height>
214
+ </size>
215
+ </property>
216
+ <property name="text">
217
+ <string>1</string>
218
+ </property>
219
+ </widget>
220
+ </item>
221
+ <item row="3" column="0">
222
+ <widget class="QLabel" name="label_5">
223
+ <property name="minimumSize">
224
+ <size>
225
+ <width>100</width>
226
+ <height>0</height>
227
+ </size>
228
+ </property>
229
+ <property name="text">
230
+ <string>Geometry</string>
231
+ </property>
232
+ </widget>
233
+ </item>
234
+ <item row="1" column="0">
235
+ <widget class="QLabel" name="label_6">
236
+ <property name="text">
237
+ <string>Receiving</string>
238
+ </property>
239
+ </widget>
240
+ </item>
241
+ <item row="1" column="1">
242
+ <widget class="QLabel" name="label_9">
243
+ <property name="styleSheet">
244
+ <string notr="true">background-color: lightpink;</string>
245
+ </property>
246
+ <property name="frameShape">
247
+ <enum>QFrame::Box</enum>
248
+ </property>
249
+ <property name="text">
250
+ <string/>
251
+ </property>
252
+ </widget>
253
+ </item>
254
+ <item row="4" column="1">
255
+ <widget class="QLabel" name="label_16">
256
+ <property name="styleSheet">
257
+ <string notr="true">background-color: lightpink;</string>
258
+ </property>
259
+ <property name="frameShape">
260
+ <enum>QFrame::Box</enum>
261
+ </property>
262
+ <property name="text">
263
+ <string/>
264
+ </property>
265
+ </widget>
266
+ </item>
267
+ <item row="4" column="0">
268
+ <widget class="QLabel" name="label_15">
269
+ <property name="minimumSize">
270
+ <size>
271
+ <width>100</width>
272
+ <height>0</height>
273
+ </size>
274
+ </property>
275
+ <property name="text">
276
+ <string>Estimator</string>
277
+ </property>
278
+ </widget>
279
+ </item>
280
+ <item row="2" column="0">
281
+ <widget class="QLabel" name="label_8">
282
+ <property name="text">
283
+ <string>Calibration</string>
284
+ </property>
285
+ </widget>
286
+ </item>
287
+ <item row="3" column="1">
288
+ <widget class="QLabel" name="label_14">
289
+ <property name="styleSheet">
290
+ <string notr="true">background-color: lightpink;</string>
291
+ </property>
292
+ <property name="frameShape">
293
+ <enum>QFrame::Box</enum>
294
+ </property>
295
+ <property name="text">
296
+ <string/>
297
+ </property>
298
+ </widget>
299
+ </item>
300
+ <item row="0" column="0">
301
+ <widget class="QLabel" name="label">
302
+ <property name="text">
303
+ <string/>
304
+ </property>
305
+ </widget>
306
+ </item>
307
+ </layout>
308
+ </item>
309
+ </layout>
310
+ </item>
311
+ </layout>
312
+ </item>
313
+ </layout>
314
+ </widget>
315
+ </item>
316
+ <item>
317
+ <widget class="QGroupBox" name="groupBox">
318
+ <property name="sizePolicy">
319
+ <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
320
+ <horstretch>0</horstretch>
321
+ <verstretch>0</verstretch>
322
+ </sizepolicy>
323
+ </property>
324
+ <property name="minimumSize">
325
+ <size>
326
+ <width>0</width>
327
+ <height>0</height>
328
+ </size>
329
+ </property>
330
+ <property name="title">
331
+ <string>System Management</string>
332
+ </property>
333
+ <layout class="QVBoxLayout" name="verticalLayout">
334
+ <property name="sizeConstraint">
335
+ <enum>QLayout::SetDefaultConstraint</enum>
336
+ </property>
337
+ <item>
338
+ <layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,0,0">
339
+ <item>
340
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
341
+ <item>
342
+ <widget class="QPushButton" name="_manage_estimate_geometry_button">
343
+ <property name="text">
344
+ <string>Manage geometry</string>
345
+ </property>
346
+ </widget>
347
+ </item>
348
+ <item>
349
+ <widget class="QPushButton" name="_change_system_type_button">
350
+ <property name="text">
351
+ <string>Change system type</string>
352
+ </property>
353
+ </widget>
354
+ </item>
355
+ <item>
356
+ <widget class="QPushButton" name="_manage_basestation_mode_button">
357
+ <property name="text">
358
+ <string>Set BS channel</string>
359
+ </property>
360
+ </widget>
361
+ </item>
362
+ </layout>
363
+ </item>
364
+ <item>
365
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
366
+ <item>
367
+ <widget class="QPushButton" name="_save_sys_config_button">
368
+ <property name="text">
369
+ <string>Save system config</string>
370
+ </property>
371
+ </widget>
372
+ </item>
373
+ <item>
374
+ <widget class="QPushButton" name="_load_sys_config_button">
375
+ <property name="text">
376
+ <string>Load system config</string>
377
+ </property>
378
+ </widget>
379
+ </item>
380
+ </layout>
381
+ </item>
382
+ <item>
383
+ <spacer name="verticalSpacer_2">
384
+ <property name="orientation">
385
+ <enum>Qt::Vertical</enum>
386
+ </property>
387
+ <property name="sizeHint" stdset="0">
388
+ <size>
389
+ <width>20</width>
390
+ <height>5</height>
391
+ </size>
392
+ </property>
393
+ </spacer>
394
+ </item>
395
+ </layout>
396
+ </item>
397
+ </layout>
398
+ </widget>
399
+ </item>
400
+ <item>
401
+ <spacer name="horizontalSpacer_2">
402
+ <property name="orientation">
403
+ <enum>Qt::Horizontal</enum>
404
+ </property>
405
+ <property name="sizeHint" stdset="0">
406
+ <size>
407
+ <width>40</width>
408
+ <height>20</height>
409
+ </size>
410
+ </property>
411
+ </spacer>
412
+ </item>
413
+ </layout>
414
+ </item>
415
+ </layout>
416
+ </item>
417
+ <item row="1" column="0">
418
+ <layout class="QVBoxLayout" name="_plot_layout">
419
+ <property name="sizeConstraint">
420
+ <enum>QLayout::SetMaximumSize</enum>
421
+ </property>
422
+ </layout>
423
+ </item>
424
+ </layout>
425
+ </item>
426
+ </layout>
427
+ </widget>
428
+ <resources/>
429
+ <connections/>
430
+ </ui>