graph LR
AYAB_Application_Interface["AYAB Application Interface"]
AYAB_Command_Action_Handler["AYAB Command & Action Handler"]
AYAB_Communication_Stack["AYAB Communication Stack"]
AYAB_Data_Configuration["AYAB Data & Configuration"]
AYAB_Application_Interface -- "Issues Commands" --> AYAB_Command_Action_Handler
AYAB_Application_Interface -- "Initiates Communication" --> AYAB_Communication_Stack
AYAB_Application_Interface -- "Utilizes Data" --> AYAB_Data_Configuration
AYAB_Command_Action_Handler -- "Sends Machine Commands" --> AYAB_Communication_Stack
AYAB_Command_Action_Handler -- "Queries Machine Specs" --> AYAB_Data_Configuration
AYAB_Communication_Stack -- "Delivers Hardware Responses" --> AYAB_Application_Interface
click AYAB_Application_Interface href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/AYABInterface/AYAB_Application_Interface.md" "Details"
click AYAB_Command_Action_Handler href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/AYABInterface/AYAB_Command_Action_Handler.md" "Details"
click AYAB_Communication_Stack href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/AYABInterface/AYAB_Communication_Stack.md" "Details"
click AYAB_Data_Configuration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/AYABInterface/AYAB_Data_Configuration.md" "Details"
The AYABInterface library provides a robust, layered architecture for controlling the AYAB knitting machine. At its highest level, the AYAB Application Interface serves as the primary entry point for external applications, translating user intentions into machine-executable commands. These commands are then processed by the AYAB Command & Action Handler, which encapsulates the specific logic for various knitting operations. All interactions with the physical AYAB shield are managed by the comprehensive AYAB Communication Stack, which handles everything from low-level serial communication and message protocol encoding/decoding to state-machine driven message sequencing. Complementing these core operational components, the AYAB Data & Configuration module provides essential services for managing machine model specifications, transforming knitting pattern data, and handling needle positions, ensuring the system can adapt to different machine types and knitting requirements. This clear separation of concerns facilitates maintainability, extensibility, and a well-defined data flow for controlling the AYAB hardware.
AYAB Application Interface [Expand]
The primary entry point for external applications to interact with the AYAB knitting machine, orchestrating high-level operations and user commands.
Related Classes/Methods:
AYAB Command & Action Handler [Expand]
Translates abstract user commands into concrete, machine-executable actions, encapsulating the logic for various machine operations.
Related Classes/Methods:
AYAB Communication Stack [Expand]
Manages the entire lifecycle of communication with the AYAB shield, including connection, message queuing, protocol handling (encoding/decoding), and state management.
Related Classes/Methods:
AYABInterface/communication/__init__.pyAYABInterface/communication/host_messages.pyAYABInterface/communication/hardware_messages.pyAYABInterface/communication/states.pyAYABInterface/serial.py
AYAB Data & Configuration [Expand]
Stores and provides detailed specifications for AYAB machine models, offers utility functions for data transformation, and manages knitting pattern and needle position data.
Related Classes/Methods: