6AR-PENDANT is a JavaFX-based touchscreen control interface designed for a 6-axis robotic arm. It serves as the main pendant UI, allowing users to manually jog axes, run programs, monitor logs, and configure IO and system settings.
- Manual Control: Jog each axis of the robot in both directions.
- Program Execution: Run predefined movement sequences or commands.
- IO Management: View and control digital inputs and outputs.
- System Settings: Configure runtime parameters.
- Real-time Logs: Monitor system messages and events.
- Full GUI Shell: Includes side/top/bottom navigation bars.
- SPI Communication: Interfaces with backend logic via SPI messaging.
This project is structured as a JavaFX application and contains the following key controllers:
| Controller Class | Description |
|---|---|
MainTabsController |
Manages tab navigation between different views. |
MoveAxisTabController |
Handles manual jog movements per axis. |
RunTabController |
Starts/stops automated sequences. |
IOControlsTabController |
Displays and toggles IO pins. |
SettingsTabController |
Configures system settings. |
LogsTabController |
Logs and displays runtime events. |
TopBarController |
UI control for the top navigation section. |
BottomBarController |
UI control for the bottom bar (status/messages/etc). |
SideBarController |
Manages main side navigation. |
ControllerCommunicator |
Handles backend communication and SPI messaging. |
SPIMessageCallback |
Callback interface for handling SPI message responses. |
MessageContext & nested types |
Central messaging model for communication events. |
- Java 17 or higher
- JavaFX SDK (17+)
- Maven or Gradle (recommended)
- A touchscreen (optional but intended for use)
git clone https://github.com/fabien-prog/6AR-PENDANT.git
cd 6AR-PENDANTmvn javafx:runOr build and run manually:
mvn clean package
java -jar target/6ar-pendant.jarSystem settings can be accessed via the Settings tab. IO configurations and runtime preferences should be defined in your backend or robot controller.
This interface is designed to run on a Raspberry Pi (e.g., as part of the pendant hardware). Consider enabling kiosk mode for a full-screen experience.
- Network-based upload of G-code or movement files
- Real-time feedback from motors and sensors
- Authentication / access control for settings
Maintained by @fabien-prog
Feel free to open an issue or PR to contribute or request a feature!
MIT License. See LICENSE file for details.