asn1/ Three tests assert exact bytes - CamEncodeGoldenTest, DenmAirReceiveTest and SpatemUperCodecTest - and their expected values came from asn1tools compiled against ETSI modules that existed only as an untracked working copy on one machine. A golden-byte fixture nobody else can regenerate is a fixture nobody can safely touch, so the modules are now in the repo. Only the seven .asn files those tests need are copied, 576 KB of a 4.2 MB checkout; the upstream Rust parser is not used by this project at all. Verified sufficient in isolation: copied into an empty directory, all three specs compile and reproduce the committed golden CAM bytes byte-identically. Source is consider it GmbH's C-ITS-Parser (github.com/consider-it/C-ITS-Parser) at f457426, MIT licensed - LICENSE is retained alongside as that requires. The schemas themselves are ETSI's standard definitions; upstream's contribution is assembling them into a compilable set. asn1/README.md records the provenance, which module pairs with which message, and the rule that matters: never regenerate a golden fixture from this project's own encoder, because sharing a mistake between encoder and decoder is exactly the failure these files exist to catch. Doc references in the codecs and tests now point at asn1/ instead of the untracked checkout, and C-ITS-Parser/ is gitignored so the working copy beside the project is never picked up. Untracked local state - .idea/deploymentTargetSelector.xml rewrites itself on every deploy, so it has been showing as modified in essentially every commit. Along with deviceManager.xml, appInsightsSettings.xml and studiobot.xml it is per-machine state, not project configuration. - obu-firmware/sdkconfig.old is ESP-IDF build output - it is the previous sdkconfig, rewritten on every build. sdkconfig.defaults remains tracked, since that is the configuration actually chosen. All five stay on disk; only the tracking is removed. Also ignores .claude/settings.local.json, which is per-machine, while leaving the skills beside it committable as project knowledge.
41 lines
1.2 KiB
Plaintext
41 lines
1.2 KiB
Plaintext
*.iml
|
|
.gradle/
|
|
/local.properties
|
|
/.idea/caches
|
|
/.idea/libraries
|
|
/.idea/modules.xml
|
|
/.idea/workspace.xml
|
|
/.idea/navEditor.xml
|
|
/.idea/assetWizardSettings.xml
|
|
.DS_Store
|
|
build/
|
|
captures/
|
|
.externalNativeBuild
|
|
.cxx
|
|
local.properties
|
|
*.hprof
|
|
*.jks
|
|
*.keystore
|
|
secrets.properties
|
|
|
|
# --- local IDE state, not project configuration -------------------------------
|
|
# Which device you last deployed to, your emulator list, and Studio's assistant
|
|
# settings are per-machine. deploymentTargetSelector.xml in particular rewrites
|
|
# itself on every run, so tracking it means a dirty tree after every deploy.
|
|
/.idea/deploymentTargetSelector.xml
|
|
/.idea/deviceManager.xml
|
|
/.idea/appInsightsSettings.xml
|
|
/.idea/studiobot.xml
|
|
|
|
# ESP-IDF rewrites sdkconfig on every build and keeps the previous one here.
|
|
# sdkconfig.defaults is the real, intentional configuration; these two are output.
|
|
sdkconfig.old
|
|
|
|
# Claude Code local settings (permissions, per-machine). The skills alongside it
|
|
# are project knowledge and may be committed deliberately.
|
|
.claude/settings.local.json
|
|
|
|
# Third-party working copies kept beside the project, not part of it. The ASN.1
|
|
# modules this project actually needs are vendored under asn1/ instead.
|
|
/C-ITS-Parser/
|