Industrial
A complete catalog of Agent Skills (agentskills.io) for Zephyr RTOS development.
npx -y skills add beriberikix/zephyr-agent-skills --skill industrialAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Industrial communication protocols for Zephyr RTOS. Covers Modbus RTU (serial), Modbus TCP (Ethernet/Wi-Fi), and CANopen basics. Trigger when building factory automation controllers, industrial sensors, or medical equipment interfaces.
SKILL.md
3.2 KB, as published. Nobody here has run it
Zephyr Industrial Protocols
Build robust, industry-standard communication systems using Zephyr's modular industrial protocol stacks.
Core Workflows
1. Modbus RTU (Serial)
Implement serial-based industrial communication for meters, PLCs, and sensors.
- Reference: modbus_rtu.md
- Key Tools:
CONFIG_MODBUS, RS-485 DE/RE handling, Register Mapping.
2. Modbus TCP
Bridge industrial data over standard Ethernet or Wi-Fi networks.
- Reference: modbus_tcp.md
- Key Tools: Port 502, TCP/IP networking, Client/Server patterns.
3. CANopen Basics
Integrate with complex automation networks using the CANopenNode stack.
- Reference: canopen_basics.md
- Key Tools: Object Dictionary (OD), PDO/SDO, Network Management (NMT).
Quick Start (Modbus RTU Server)
# prj.conf
CONFIG_MODBUS=y
CONFIG_MODBUS_SERIAL=y
// Initialize a server on a serial device
const struct device *dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_modbus_serial));
struct modbus_iface_param param = {
.mode = MODBUS_MODE_RTU,
.server = { .node_addr = 1, .cb = &my_callbacks },
.serial = { .baud = 115200, .parity = UART_CFG_PARITY_NONE },
};
modbus_init_server(dev, param);
Professional Patterns (Reliability & Safety)
- RS-485 Hardware Handling: Always use the devicetree
uart-rs485property to handle transceiver direction signals automatically at the driver level. - Isolated Communication: Use galvanically isolated transceivers for both serial and CAN lines in factory environments to prevent damage from ground loops.
- Watchdog Integration: In industrial control, always pair your communication loops with the watchdog_reliability pattern (see specialized skill) to ensure the system enters a fail-safe state on protocol lockup.
Automation Tools
- modbus_register_lint.py: Validate register map CSV files for duplicate addresses and overlaps.
Examples & Templates
- modbus_register_map_template.csv: Starter register allocation sheet for Modbus projects.
Validation Checklist
- Modbus RTU request/response exchange succeeds against a known test slave/master.
- Modbus TCP endpoint responds on port 502 with correct register mappings.
- CANopen node transitions through expected NMT states during startup.
- Communication faults trigger safe retry or watchdog-protected recovery behavior.
Resources
- References:
modbus_rtu.md: Serial Modbus master/slave setup.modbus_tcp.md: Ethernet Modbus client/server patterns.canopen_basics.md: Object Dictionary and PDO mapping.
- Scripts:
modbus_register_lint.py: Register-map consistency checker.
- Assets:
modbus_register_map_template.csv: Register planning template.