totalsync-webinterface 0.1.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 (32) hide show
  1. totalsync_webinterface/__init__.py +8 -0
  2. totalsync_webinterface/camera.py +163 -0
  3. totalsync_webinterface/curses_interface.py +142 -0
  4. totalsync_webinterface/fake_picamera.py +81 -0
  5. totalsync_webinterface/packet.py +194 -0
  6. totalsync_webinterface/pin_sheet.py +101 -0
  7. totalsync_webinterface/serial_dummy.py +92 -0
  8. totalsync_webinterface/serial_dump.py +66 -0
  9. totalsync_webinterface/teensy_commander.py +490 -0
  10. totalsync_webinterface/web/CanvasCamera.js +33 -0
  11. totalsync_webinterface/web/CanvasPlot.js +71 -0
  12. totalsync_webinterface/web/favicon.ico +0 -0
  13. totalsync_webinterface/web/index.html +31 -0
  14. totalsync_webinterface/web/interface.js +342 -0
  15. totalsync_webinterface/web/reconnecting-websocket/LICENSE.txt +21 -0
  16. totalsync_webinterface/web/reconnecting-websocket/README.md +149 -0
  17. totalsync_webinterface/web/reconnecting-websocket/package.json +19 -0
  18. totalsync_webinterface/web/reconnecting-websocket/reconnecting-websocket.js +365 -0
  19. totalsync_webinterface/web/style.css +165 -0
  20. totalsync_webinterface/web/webgl-plot/LICENSE +21 -0
  21. totalsync_webinterface/web/webgl-plot/README.md +184 -0
  22. totalsync_webinterface/web/webgl-plot/dist/webglplot.esm.js +619 -0
  23. totalsync_webinterface/web/webgl-plot/package.json +42 -0
  24. totalsync_webinterface/web_interface.py +268 -0
  25. totalsync_webinterface/websocket_server/LICENSE +21 -0
  26. totalsync_webinterface/websocket_server/__init__.py +1 -0
  27. totalsync_webinterface/websocket_server/websocket_server.py +377 -0
  28. totalsync_webinterface-0.1.1.dist-info/METADATA +41 -0
  29. totalsync_webinterface-0.1.1.dist-info/RECORD +32 -0
  30. totalsync_webinterface-0.1.1.dist-info/WHEEL +4 -0
  31. totalsync_webinterface-0.1.1.dist-info/entry_points.txt +2 -0
  32. totalsync_webinterface-0.1.1.dist-info/licenses/LICENSE +676 -0
@@ -0,0 +1,41 @@
1
+ Metadata-Version: 2.5
2
+ Name: totalsync-webinterface
3
+ Version: 0.1.1
4
+ Summary: TotalSync acquisition: serial reader, live browser interface and recorder
5
+ Author: Ronny Eichler
6
+ Author-email: Morgane Audrain <morganeaudrain@gmail.com>
7
+ License-Expression: GPL-3.0-or-later
8
+ License-File: LICENSE
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Topic :: Scientific/Engineering
13
+ Requires-Python: >=3.11
14
+ Requires-Dist: cobs
15
+ Requires-Dist: numpy
16
+ Requires-Dist: pyserial
17
+ Requires-Dist: pyzmq
18
+ Requires-Dist: windows-curses; platform_system == 'Windows'
19
+ Provides-Extra: extras
20
+ Requires-Dist: pyglet; extra == 'extras'
21
+ Requires-Dist: sounddevice; extra == 'extras'
22
+ Description-Content-Type: text/markdown
23
+
24
+ # totalsync-webinterface
25
+
26
+ Acquisition side of [TotalSync](https://github.com/fpbattaglia/totalsync): reads packets from a
27
+ Teensy 4.1 running the TotalSync firmware over USB serial, records them, and serves a
28
+ live view of all 42 digital/analog channels plus 8 state variables to the browser at
29
+ 1 kHz.
30
+
31
+ Installs the `totalsync` command. See the
32
+ [installation guide](../../docs/installation.md) and
33
+ [running instructions](../../docs/pin-usage.md).
34
+
35
+ ```bash
36
+ totalsync --pinsheet docs/pinSheet_2026.json
37
+ totalsync -D # simulated Teensy, no hardware needed
38
+ ```
39
+
40
+ Needs `tkinter` for its startup dialogs, which is stdlib but not pip-installable — see
41
+ the installation guide if your Python build lacks it.
@@ -0,0 +1,32 @@
1
+ totalsync_webinterface/__init__.py,sha256=5w90qeE3V4pyBuHfmO-R25AcgXW7hyvOAo5a2tjTKOk,339
2
+ totalsync_webinterface/camera.py,sha256=cQVvY6NrRbF9LP-gHdE7Xk59C2y56NzEfI31e7FLnNU,5836
3
+ totalsync_webinterface/curses_interface.py,sha256=k6oWNeAiDJlyAuicFSz_z9UFi1XbaNsUj9dMjUyKTKI,4834
4
+ totalsync_webinterface/fake_picamera.py,sha256=wRZkEcJv97qAOm4MxQjZGyAyLSW5dxb_3AdwY4p4BRA,1818
5
+ totalsync_webinterface/packet.py,sha256=IjFK0cknSZaty9J5vOS7mNZs2_gxUb4irSZD0exWrs0,6591
6
+ totalsync_webinterface/pin_sheet.py,sha256=gA7QlVlEo51vh_DP-rdEdj8jXTsE4xoFWnFfwHjHKUQ,4270
7
+ totalsync_webinterface/serial_dummy.py,sha256=HuT7iX5IOaTbMtEMcP1E6C-g4m6MGYUL7XdPd_49gAM,2771
8
+ totalsync_webinterface/serial_dump.py,sha256=NnM939cKFSN2uluV5ksrTtL1yPCmg5BTQnGlyGm9DX0,2681
9
+ totalsync_webinterface/teensy_commander.py,sha256=AbBuv4fxzdEvAiSXN4UgkBoezGhQl9GnBzH76wAerOA,18227
10
+ totalsync_webinterface/web_interface.py,sha256=P5Z_wf4Eo0O4mBFYEksp3aH0SzcKlfe5A7LnTwsnfxE,11348
11
+ totalsync_webinterface/web/CanvasCamera.js,sha256=Wv4QdzmgMY_lDeVl_735u9b2iMaOXmko_fJxnnmX5q0,934
12
+ totalsync_webinterface/web/CanvasPlot.js,sha256=qJ3xtrJNuopOkdDReWIWCR41v63SVA6ViogSO9xPjTs,2637
13
+ totalsync_webinterface/web/favicon.ico,sha256=3qul96Dp7hAWdvXrbcygBJnWytnL0WfYotqhDOtracM,16714
14
+ totalsync_webinterface/web/index.html,sha256=uQVebNHQB8VsKN8BTAnk8ulK7z1pZVeRbv0QAa9a7yQ,1096
15
+ totalsync_webinterface/web/interface.js,sha256=i7b6wX3uQwjPwYdvkSpy_BGowjOjCPvzEStNduNgRDs,12008
16
+ totalsync_webinterface/web/style.css,sha256=NZgB6Nx8vOaZ027pZcMI89KUDi75CJenHNopZ2MPlms,3208
17
+ totalsync_webinterface/web/reconnecting-websocket/LICENSE.txt,sha256=lSJGiRlSfr9tXAVsEWsxW286FaCYsbLSAteEqI3DQco,1074
18
+ totalsync_webinterface/web/reconnecting-websocket/README.md,sha256=L7hGmHeV9F0J62rhcSHt8priGOXcavpluF5bi3v59G8,4608
19
+ totalsync_webinterface/web/reconnecting-websocket/package.json,sha256=ug8l3xEYKWqp3-g_uexrb9bEd3ifi4gOiLgTtDgkRVo,668
20
+ totalsync_webinterface/web/reconnecting-websocket/reconnecting-websocket.js,sha256=dZUwx6mz5ns9LM7oUbRQv9VBYxQO6QoTe6MYM-sgYKE,14429
21
+ totalsync_webinterface/web/webgl-plot/LICENSE,sha256=ZOQb7tW5McU6SiZgV7nDQ2-QhqNXeJAl5nL08ec8xhg,1071
22
+ totalsync_webinterface/web/webgl-plot/README.md,sha256=qMG_18BOePGoJwaPDXgKrRex6Mds9BnXGblbSiE7XIA,6162
23
+ totalsync_webinterface/web/webgl-plot/package.json,sha256=BZxsr612J1C-vbY4sin8gZzhQWJn7L9KRJeOa5F4gJU,1076
24
+ totalsync_webinterface/web/webgl-plot/dist/webglplot.esm.js,sha256=IvMs2uKlx0KivvRhPNRshBcImzNDagn1Sa3s0K5rLm0,18865
25
+ totalsync_webinterface/websocket_server/LICENSE,sha256=Ix5JvbJc2mg-eufJe-Ew1m5m4rURduV-zW3Na83dcsc,1090
26
+ totalsync_webinterface/websocket_server/__init__.py,sha256=Cd7pUe9PK10cgyXkDi3cOocXRk1WPHQO___23Qf6FC8,32
27
+ totalsync_webinterface/websocket_server/websocket_server.py,sha256=CxuMGICVR10yViC4D2IFQzwC08Tcp7u4xy7mK-6QkGU,12147
28
+ totalsync_webinterface-0.1.1.dist-info/METADATA,sha256=nZM-MhMBuVuotcfetI-3abo0uLwOMgSKUY5q1USuUBg,1512
29
+ totalsync_webinterface-0.1.1.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
30
+ totalsync_webinterface-0.1.1.dist-info/entry_points.txt,sha256=znQuoVNLXJAGHzdeL5j80fjHc7zI2c00C92tVDSHvNI,80
31
+ totalsync_webinterface-0.1.1.dist-info/licenses/LICENSE,sha256=hE6U9IYsVR54pF7TyLQsf9LSjAuBOWvUwpS7VMdN5CU,35130
32
+ totalsync_webinterface-0.1.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ totalsync = totalsync_webinterface.teensy_commander:cli_entry