vending-machine-control

Control WM800 vending machine lower boards over serial with protocol frames.

Updated Jun 2, 2026
One-click install
npx skills add https://github.com/fxp/vending-protocol --skill vending-machine-control
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vending-machine-control
Source: https://github.com/fxp/vending-protocol/tree/main/devices/vending-machine-control
Command: npx skills add https://github.com/fxp/vending-protocol --skill vending-machine-control

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyserial, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill helps you safely control a WM800 / 某星XX800 vending machine lower board over serial when the official documentation is wrong, incomplete, or inconsistent with real firmware.

Core Features & Use Cases

  • Safe connection and verification: Probe the device address, confirm 9600 8N1 communication, and validate that the board responds before sending any motion command.
  • Operational machine control: Query status, inspect sensors, scan lanes, reset the controller, open the pickup door, and trigger dispense flows with real-world guardrails.
  • Firmware-aware troubleshooting: Avoid known broken commands, handle unsolicited reports correctly, and recover from long-running operations or stalled states.
  • Use case: An engineer can connect to a live machine, verify the board, discover the lane layout, and execute a controlled dispense without relying on misleading CSV documentation.

Quick Start

Ask the assistant to use this skill to connect to your WM800 machine, verify the serial link, and walk you through a safe status check before any movement command.

Frequently Asked Questions about vending-machine-control

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control a WM800 vending machine lower board over serial when the official documentation is wrong?

To control a WM800 vending machine over serial, you can use this Skill to send and parse protocol frames that apply real-world guardrails, bypassing incomplete CSV documentation to safely manage 9600 8N1 communication and dispense execution.

How does serial protocol framing work for vending machine dispense control?

Serial protocol framing for vending machine dispense control works by sending structured frames with address probing and CRC-tolerant validation over a 9600 8N1 connection, ensuring the controller board safely acknowledges commands before executing any motor movements.

Can I execute a safe dispense flow on WM800 hardware using pyserial?

Yes, you can execute a safe dispense flow on WM800 hardware using pyserial by probing the device address, querying sensors, scanning lanes, and triggering dispense operations with built-in long-operation timeout recovery and firmware blacklist handling.

Why does my vending machine controller stall during long-running operations?

Your vending machine controller may stall during long-running operations due to unhandled unsolicited reports or known broken firmware commands. This Skill provides long-operation timeout recovery and correctly ACKs unsolicited reports to resolve stalled states.

What is the best way to troubleshoot WM800 firmware inconsistencies during status inspection?

The best way to troubleshoot WM800 firmware inconsistencies during status inspection is to use firmware-aware protocol analysis that avoids known broken commands, validates board responses, and relies on real hardware behavior rather than misleading documentation.

How to scan lanes and query sensors on a WM800 vending machine before triggering a dispense?

To scan lanes and query sensors on a WM800 vending machine, establish a verified 9600 8N1 serial link, probe the device address, and inspect the controller status to map the lane layout before sending any movement commands.