Bug/fwd 802 fix fetch all#6
Conversation
- Type - Frame Type - Data Type ID - Priority - Mode - Anonymous - First/last tail - Computed CRC - CRC match - Payload data 2. Point pydronecan to branch 'Flytrex_1_0_26' 3. Increment flytrex version to 0.0.2
2. Fix a bug that caused the parameters to get scrambled when 'fetch all' button was pressed during previous parameters fetch. In addition, a 'stop' caption was added during the parameters fetch
There was a problem hiding this comment.
Pull request overview
This PR updates the GUI “Fetch All” configuration-parameter workflow to support toggling the operation (Fetch ↔ Stop) and to better isolate in-flight callbacks using a fetch session concept.
Changes:
- Add fetch session state (
_fetch_in_progress,_fetch_session_id) and a stop-capable fetch button flow. - Route all parameter index requests through a helper (
_request_param_index) and gate callback handling by session id. - Bump
__flytrex_version__from0.0.1to0.0.2.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
dronecan_gui_tool/widgets/node_properties.py |
Implements stop-capable “Fetch All” with session tracking and refactors request/callback handling. |
dronecan_gui_tool/version.py |
Increments __flytrex_version__. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
2. bus_monitor: consolidate frame tail-byte validation in transfer decoder: Introduce shared helpers for tail-byte presence and payload extraction without tail byte. Use the shared validation path in tail diagnostics, payload reconstruction, and CRC reporting. Fail fast with DecodingFailedException when a recovered transfer contains a frame without a tail byte.
…including which frame lacks a tail byte
2. Rename local variable
feature/ParseDataBytes
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| for i, frame in enumerate(frames): | ||
| if not _frame_has_tail_byte(frame): | ||
| raise DecodingFailedException('Frame at index {} is missing tail byte'.format(i)) |
There was a problem hiding this comment.
This validation loop should occur before calling tr.from_frames() to fail fast. Currently, if validation fails after tr = Transfer() is created, the Transfer object is unnecessarily allocated.
No description provided.