Repository navigation
fix(ixxat): preserve controller start epoch and clock metadata - #2118
timothyanderson096-ocdealcheck wants to merge 2 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review
Retrying the automated review that could not complete on the unchanged PR
head.
On Mon, 26 Oct 2026 21:52:42 -0700, "chatgpt-codex-connector[bot]" < ***@***.***> wrote:
chatgpt-codex-connector[bot] left a comment (hardbyte/python-can#2118) <!--
codex-pull-request-review-summary --> <!-- codex-review-state:v1
{"code_review":{"commit_sha":"70c558ce3faa31bcdb4bf5b54797dfc5fa9881be","has_any_findings":null,"has_unresolved_findings":null,"status":"running"},"security_review":{"commit_sha":null,"has_any_findings":null,"has_unresolved_findings":null,"status":null}}
--> ## Codex Review Summary This comment shows the latest Codex review
activity on this pull request. | Review | Status | Commit | Review trigger
| | --- | --- | --- | --- | | 📝 **Code Review** | 🔄 **Running** since
<relative-time
datetime="2026-10-27T04:52:15.779593Z">2026-10-27T04:52:15.779593Z</relative-time>
| `70c558c` | PR opened | <details> <summary>ℹ️ About Codex in
GitHub</summary> <br/> [Your team has set up Codex to review pull requests
in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews
are triggered when you - Open a pull request for review - Mark a draft as
ready - Comment ***@***.*** review" or ***@***.*** security review". Codex reacts
with 👀 while any review is running, comments if it has suggestions, and
reacts with 👍 once all reviews finish with no findings. </details> --
Reply to this email directly or view it on GitHub:
#2118 (comment)
You are receiving this because you authored the thread. Message ID:
***@***.***>
|
|
Codex Review: Something went wrong. Try again later by commenting “@codex review”. ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
There are two ixxat test files already, no need for a third one.
There was a problem hiding this comment.
Moved the parameterized timestamp regressions into test/test_interface_ixxat.py and removed the third test file in 7d3e01c. Both classic CAN and CAN FD cases are preserved.
Focused checks on Linux / CPython 3.12.14: 22 passed, 7 existing hardware-dependent skips. The moved fixtures, helpers and assertions are unchanged; Black and the configured Ruff checks pass.
Timothy Anderson — Spotted Ridge Engineering / OC Labs · GDN
timothyanderson096@gmail.com
Move the parameterized classic CAN and CAN FD clock regressions into the existing IXXAT interface test module and remove the separate timestamp test file.
Summary of Changes
Correct the controller-start epoch midpoint in both IXXAT backends. Retain START ticks and TIMEOVR metadata during the existing bounded startup drain; process clock metadata in nonblocking FD reads; and keep ERROR/TIMEOVR messages out of the FD START branch.
Related Issues / Pull Requests
Closes #2103. Thanks to @MelansonTech for the hardware report and arithmetic/dispatch diagnosis. Open #1611 is a broader VCI4 replacement that still returns relative timestamps; its discussion and linked MattWoodhead#1 discussion were inspected. #1901 changes bus-state naming, not clock conversion. This patch repairs the current legacy backends.
The VCI C-API manual v1.5, printed pp.97–99, describes START-relative ticks, TIMEOVR wrap counts in dwMsgId and undefined TIMEOVR data bytes. Tests use the repository's actual CANMSG/CANMSG2 ctypes structures with mocked VCI calls.
Type of Change
Checklist
Additional Notes
Current validation — 12 November 2026 (Brisbane), commit
7d3e01c6a193464af268e393b1eb8546791362d2:test/test_interface_ixxat.py; removedtest/test_ixxat_timestamps.py. Both classic CAN and CAN FD remain covered.Earlier bug-fix validation:
Validation recorded on 25 October 2026, CPython 3.13.16 / Linux:
On 27 October, public head
70c558ce3faa31bcdb4bf5b54797dfc5fa9881be, treeb051d7b935d33c0b0e4e894ddcdaccbbbc1089c4, was restored exactly from tested cleanb12e285091cc13b6d4b2280527ad38c4d60d7098on unchanged mainb4f82ab. Original/refresh archive hashes, original/final XML, independent review and identical full-suite failure sets were checked. Tests were not rerun during publication.Linux software tests do not establish native Windows VCI/physical-adapter behavior, other runtime/OS matrices or exact epoch accuracy beyond the midpoint estimate. Startup data discard and its bounded drain remain; external controller restarts are not recalibrated. The import scaffold supplies HRESULT only when absent, preserving the native Windows definition.
Prepared with AI assistance and independent inspection.
Timothy Anderson — Spotted Ridge Engineering / OC Labs
Independent software verification · GDN (Global Decision Network)
timothyanderson096@gmail.com · Engineering evidence