Skip to content
Development
Skill

/canopen-integration

Use when integrating, configuring, or debugging CANopen nodes, object dictionaries, NMT, SDO, PDO, heartbeat, SYNC, EMCY, EDS/DCF files, or CANopenNode-style stacks

From plugin
aix-skills
3976 skills

Claude Code

$ npx -y skills add easyzoom/aix-skills --skill canopen-integration --agent claude-code

SKILL.md

canopen-integration.SKILL.md
name: canopen-integration
description: Use when integrating, configuring, or debugging CANopen nodes, object dictionaries, NMT, SDO, PDO, heartbeat, SYNC, EMCY, EDS/DCF files, or CANopenNode-style stacks

CANopen Integration

Overview

Use this skill to debug CANopen by separating raw CAN bring-up, node identity, object dictionary, NMT state, SDO configuration, PDO mapping, heartbeat, and application semantics. CANopen cannot work reliably until raw CAN timing works.

When To Use

Use this skill when:

  • The user is adding or debugging CANopen master/slave nodes, object

dictionaries, EDS/DCF files, PDOs, SDOs, NMT, heartbeat, SYNC, or EMCY.

  • The issue involves missing PDOs, SDO aborts, node state, heartbeat timeout,

wrong COB-IDs, mapping errors, or network management.

  • The implementation uses CANopenNode, a vendor stack, or a custom CANopen layer.

Do not use this skill for low-level CAN bit timing or transceiver bring-up. Use `canbus-integration` first when raw CAN frames are not proven.

First Questions

Ask for:

  • CANopen stack, node ID, bitrate, raw CAN evidence, and network topology.
  • Object dictionary entries, EDS/DCF, PDO mapping, COB-IDs, and NMT state.
  • Master tool or peer node, SDO abort codes, heartbeat settings, and logs.
  • Whether SYNC, TIME, EMCY, LSS, or boot-up messages are required.
  • Exact frame capture from a CAN analyzer if available.

Debug Workflow

1. Prove raw CAN. Confirm bitrate, sample point, transceiver, termination, and error counters.

1. Prove node identity. Check node ID, boot-up message, NMT state, heartbeat producer/consumer, and expected COB-IDs.

1. Validate object dictionary. Confirm index/subindex types, access rights, defaults, persistence, and application backing storage.

1. Debug SDO first. Use SDO reads/writes to verify OD entries before enabling PDO mapping.

1. Debug PDO mapping. Check mapping parameters, transmission type, inhibit/event timers, SYNC, and payload length.

1. Add safety behavior. Handle heartbeat loss, EMCY, bus-off recovery, and safe outputs explicitly.

Common Failures

  • Raw CAN works only at another bitrate or with missing termination.
  • Node ID conflicts with another node or creates unexpected COB-IDs.
  • OD type/access flags do not match the master expectation.
  • PDO mapping is changed while the PDO is enabled.
  • Heartbeat consumer timeout is shorter than realistic bus or boot timing.
  • Application updates OD values without atomicity or endian consistency.

Verification

Before claiming CANopen works:

  • State bitrate, node ID, stack, NMT state, and object dictionary source.
  • Confirm boot-up, heartbeat, and SDO read/write of key OD entries.
  • Confirm PDO mapping and timing with a CAN trace.
  • Confirm heartbeat timeout, EMCY, or bus-off behavior if safety-related.

Example

User:

CANopen 主站读 SDO 返回 abort。

Agent:

1. Captures the abort code, index/subindex, node ID, and COB-ID. 1. Checks OD type, access rights, and backing variable. 1. Verifies raw CAN and NMT state before changing application logic.

Read more
@easyzoom
Ships withaix-skills

AIX Skills is a public collection of Agent Skills, templates, and references for building repeatable AI workflows.

Stars on GitHub

Momentum

stars in total
39
Star history of easyzoom/aix-skills on GitHub, a chart by star-history.com

Other skills on aix-skills.

8051-mcu-debug

8051-mcu-debug

Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers,…

@easyzoom@easyzoomInstall Skill
avem-integration

avem-integration

Use when integrating, evaluating, configuring, or debugging Avem embedded C framework modules, event-driven components, drivers,…

@easyzoom@easyzoomInstall Skill
ble-gatt-integration

ble-gatt-integration

Use when integrating, designing, or debugging BLE GATT services, characteristics, descriptors, MTU, notifications, indications,…

@easyzoom@easyzoomInstall Skill
bootloader-debug

bootloader-debug

Use when debugging embedded bootloaders, application jumps, vector table offsets, firmware upgrade flow, OTA state, image…

@easyzoom@easyzoomInstall Skill
canbus-integration

canbus-integration

Use when integrating, porting, configuring, or debugging CAN bus libraries, CANBus-Triple, MCP2515, CAN frames, bit timing,…

@easyzoom@easyzoomInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about canopen-integration.

Which coding agents can use canopen-integration?
canopen-integration installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.