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.
55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
/** draft 001 of the MAPEM-PDU-Descriptions module for TS 103 831 V2.2.1 integrating:
|
|
* initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]
|
|
*/
|
|
-- Note: the above information will be deleted before publication
|
|
|
|
--! @options: no-fields-header
|
|
|
|
MAPEM-PDU-Descriptions {
|
|
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) mapem (1) version2 (2)
|
|
}
|
|
|
|
DEFINITIONS AUTOMATIC TAGS ::=
|
|
|
|
BEGIN
|
|
|
|
IMPORTS
|
|
|
|
/**
|
|
* Includes from ETSI-ITS-DSRC
|
|
*/
|
|
MapData
|
|
FROM ETSI-ITS-DSRC {
|
|
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) major-version-2 (2) minor-version-1 (1)
|
|
}
|
|
WITH SUCCESSORS
|
|
|
|
/**
|
|
* Include ETSI TS 102 894-2 (ETSI-ITS-CDD)
|
|
*/
|
|
ItsPduHeader
|
|
FROM ETSI-ITS-CDD {
|
|
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-1 (1)
|
|
}
|
|
WITH SUCCESSORS;
|
|
|
|
/**
|
|
* Map (lane topology) extended Message
|
|
* This DF includes DEs for the MAPEM: protocolVersion, the MAPEM message type identifier `messageID`,
|
|
* the station identifier `stationID` of the originating ITS-S and the Map data from ETSI-ITS-DSRC.
|
|
*
|
|
* @field header: The DE `protocolVersion` is used to select the appropriate protocol decoder at the receiving ITS-S.
|
|
* It shall be set to 2.
|
|
* The DE `messageID` shall be mapem(5).
|
|
* @field map: contains the MAP data as defined in ETSI-ITS-DSRC.
|
|
*
|
|
* @category: Basic Information
|
|
* @revision: V1.3.1
|
|
*/
|
|
MAPEM ::= SEQUENCE {
|
|
header ItsPduHeader,
|
|
map MapData
|
|
}
|
|
|
|
END
|