jack
ecab3d81b1
fix: resolve CSV data truncation in save_to_csv by correctly identifying column widths and remove redundant logic in ZWaferParser
2026-07-04 16:46:44 -07:00
jack
9e28a25695
refactor: implement thread-safe hardware operations, port caching, and refined state management in the device controller
2026-07-02 22:33:44 -07:00
jack
0d5cf9e4ff
test: add device controller test
2026-06-30 13:24:19 -07:00
jack
831457941a
test: add comprehensive test suite for visualization and comparison modules
2026-06-25 13:49:25 -07:00
jack
62ce5a9c37
feat: implement DTW comparison, add data segmentation and persistence, and update QML UI for file imports and graphing.
2026-06-23 21:38:45 -07:00
jack
7206334a27
feat: implement slot_error_boundary decorator and add unit tests for session and device controllers
2026-06-18 21:01:37 -07:00
jack
e545c245d7
feat: implement cluster averaging pipeline, UI controls
2026-06-15 15:02:55 -07:00
jack
5b186df888
feat(serialcomm): implement stream auto-detection, fallback baudrate, and virtual port discovery
...
- Add automatic format detection (binary, ASCII hex dump, or text line) in StreamReader based on stream preambles.
- Implement fallback to 115200 baudrate when 888888 ioctl fails (critical for macOS PTYs).
- Parse binary streams (X family) with little-endian sequence/length headers and Modbus CRC-16 checks.
- Discover and prioritize virtual serial ports (from running socat instances) in enumerate_ports using lsof.
- Update FakeTransport to mock read() and readline() calls for unit test compatibility.
2026-06-15 11:11:00 -07:00
jack
72334795da
refactor: reorganize backend modules into sub-packages for models, data, visualization, wafer, and controllers
2026-06-11 12:15:00 -07:00
jack
b9f8032203
Refactor code structure for improved readability and maintainability
2026-06-11 11:57:46 -07:00
jack
9cd3170e8a
Replay Tabs:
...
- Add stability detection and threshold classification features with corresponding tests
2026-06-04 13:25:11 -07:00
Jack.Le
e306db6816
Add SettingsTab, StatusTab, DataTab and wire up DeviceController
...
- SettingsTab: chamber ID, master CSV mapping (families A-Z), wafer
behavior toggle, light/dark mode toggle, Edit CSV Metadata dialog
- StatusTab: connection status card, wafer info, activity log (blank
until Detect Wafer fires from the side rail)
- DataTab: empty state, ready for parsed data
- HomePage: side rail buttons dispatch device actions and jump to
Status tab; selectedSideActionIndex defaults to -1 on startup
- DeviceController registered as QML context property in main.py
- LocalSettings: added status persistence fields
- Theme: added subheadingColor and disabledText
- Added serialcomm/ package and backend data/graph modules
- gitignore: restore clean version
2026-05-28 15:49:07 -07:00