Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

6AR-PENDANT

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.


✨ Features

  • 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.

📁 Project Structure

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.

⚡ Requirements

  • Java 17 or higher
  • JavaFX SDK (17+)
  • Maven or Gradle (recommended)
  • A touchscreen (optional but intended for use)

🚀 Getting Started

Clone the Repository

git clone https://github.com/fabien-prog/6AR-PENDANT.git
cd 6AR-PENDANT

Run via Maven (Example)

mvn javafx:run

Or build and run manually:

mvn clean package
java -jar target/6ar-pendant.jar

⚙ Configuration

System settings can be accessed via the Settings tab. IO configurations and runtime preferences should be defined in your backend or robot controller.


🛠️ Deployment

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.


📈 Future Improvements

  • Network-based upload of G-code or movement files
  • Real-time feedback from motors and sensors
  • Authentication / access control for settings

✉ Contact

Maintained by @fabien-prog

Feel free to open an issue or PR to contribute or request a feature!


✍ License

MIT License. See LICENSE file for details.

About

6AR-PENDANT is a touchscreen interface built with JavaFX to control a 6-axis robot. It lets users jog axes, run programs, monitor system logs, manage IO, and adjust settings — all from an intuitive, tabbed UI designed for embedded devices like the Raspberry Pi.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages