Learning outcomes
After completing the Embedded32 two-week module, students should be able to:
CAN and framing
- Explain the difference between standard (11-bit) and extended (29-bit) CAN identifiers.
- Send and receive classic CAN frames using
@embedded32/canmock drivers. - Implement a simple acceptance filter by CAN ID.
J1939
- Parse a 29-bit J1939 identifier into priority, PGN, and source address.
- Decode catalog PGNs to human-readable names using
@embedded32/j1939. - Build a J1939 CAN ID from logical fields.
- Describe PDU1 vs PDU2 at a conceptual level.
Simulation
- Wire multiple ECU simulators to a shared virtual CAN bus.
- Identify which source address originated a given PGN.
- Relate simulation output to a simplified vehicle profile (
basic-truck).
Diagnostics
- Explain the purpose of DM1 active fault broadcasts.
- Extract MIL status and SPN/FMI from a synthetic DM1 payload.
- Write a short diagnostic summary identifying the affected ECU.
Professional practice
- Run repository verification commands (
npm run build,npm run test:labs). - State the limitations of an educational J1939 subset versus production tooling.
Not claimed as outcomes
Students are not expected to:
- Certify compliance with SAE J1939 conformance tests
- Operate production HIL or safety-critical systems
- Use Embedded32 as a replacement for professional CAN analyzer hardware