Repository navigation
v0.2.0
Date: 2026-10-29
Previous release: v0.1.1
Built on go-canopen v0.3.0 (was v0.2.0): LSS, MPDO, CiA 302 network
management and CANopen FD.
lss: an LSS master (CiA 305).switch(global),select
(selective, by LSS address),inquire(address and node-ID),
configure(node-ID, bit rate from the CiA 301 table, store),activate
(bit timing switch),identify(non-configured devices, or an address
range),fastscan(the addresses of every unconfigured device) and
assign-all(a node-ID for each, with--avoidand--store). A
refusal is exit 12 (lss_refused), no answer exit 5 (no_response).mpdo:configuremakes a TPDO or RPDO an MPDO in source or
destination address mode,scanneranddispatcherwrite the object
scanner and dispatcher lists,watchdecodes MPDOs (passive).boot: the CiA 302-2 network boot-up as a manager — slaves with their
DCF or concise DCF, expected identities, mandatory and optional slaves,
--lssfor the LSS step that gives unconfigured devices the node-ID of
the slave whose identity they have,--store,--no-start. The result
lists each slave's CiA 302 boot status; a failed slave is exit 1.cdcf convert,show,apply: concise DCFs (0x1F22) from DCFs
(PDOs in the CiA 301 sequence), listed, and written entry by entry.storeandrestore(0x1010/0x1011,--group,restore --reset);program download(CiA 302-3: stop, clear, image, flash
status, identification, start),program controlandprogram status.- CANopen FD:
--fd(and--brs) onsdo read/write/dump(USDO
client,--blockfor bulk downloads,--client-id),scan,nmt,
heartbeat watch,emcy watch(20-byte FD emergencies),sync,pdo show/map,dcf applyand the new commands.monitor --fdanddecode
now decode CAN FD frames: USDO requests and responses (--service usdo)
and FD emergencies; before, they skipped CAN FD frames. A USDO abort is
exit 11 with its SDO equivalent andusdoCode. simulate:--lss(an LSS slave; without--node-idit starts
unconfigured),--serial,--fd,--store FILE(store and restore,
LSS store) and--program(program download objects with an in-memory
program).- JSON: new result and record shapes in the schemas (additions only,
schemaVersion1.0); new error codeslss_refused,lss_conflict,
no_node_id,program_failed,boot_failed,mpdo_inactive.
Verification:
- In-process tests of every new command against go-canopen nodes on the
virtual bus with the race detector: LSS slaves (unconfigured and
configured, with and without a store), MPDO producer and consumer,
store/restore and program download devices, the CiA 302 boot-up with
and without the LSS step, CANopen FD nodes over USDO; JSON output
validated against the schemas; whole-module coverage ≥ 90 %. - End to end on vcan0 (Linux 7.0, CAN FD MTU): two unconfigured
simulate --lssprocesses found bylss fastscanand booted byboot --lss; asimulate --fdprocess operated over USDO (sdo read,nmt --wait,program download,scan) whilemonitor --fddecoded the
USDO traffic. - Interop: the existing suite against CANopenNode, Lely CANopen and
python canopen passes on the canopen-interop v0.2.0 images (pinned by
digest; contract 1.1 only adds things) in CI on amd64 and arm64. The
new commands have no interop scenarios yet.