— Agriculture ISO-11783 Virtual Terminal Designer
The experimental graphical editor for designing a Virtual Terminal (VT) for everyone - from hobbyists to industry!
AgIsoTerminalDesigner simplifies creating and editing object pools for ISOBUS terminals by providing a graphical interface, enabling anyone to design their own virtual terminal interfaces.
This project is under active development. While some features may not yet be fully supported or fully compliant with AEF standards, improvements are ongoing.
- Web version for easy access
- Load and save object pools from/to files
- Navigate through the object pool tree
- Use hyperlinks to navigate to referenced objects
- Render active mask and current selection in a preview window
- Limit selecting macro's and object references to allowed types only.
The list below outlines some of the features and improvements that are planned to be implemented in the future. The order is a good indication of the priority.
- Add the remaining objects for configuration and rendering.
- Display a preview of the active soft key mask.
- Allow changing VT version and adjust object pool configuration/rendering accordingly.
- Implement the ability to give objects custom names.
- Add a colour picker for colour attributes.
- Add a search bar to quickly find objects.
- Show a pop-up when creating a new object for initial configuration.
If you have any suggestions or would like to contribute, feel free to open an issue or submit a pull request!
The lists below only apply to version 3 of the VT specification. There are 3 stages of development for each object: Not Started [ ⚪ ], In Progress [ 🟡 ], and Completed [ 🟢 ]. Open an issue if you would like to prioritize a specific object, or even better, submit a pull request to help implement it!
- 🟡 WorkingSet (missing language codes)
- 🟢 DataMask
- 🟢 AlarmMask
- 🟢 Container
- 🟢 SoftKeyMask
- 🟢 Key
- 🟡 Button (missing options, keycode, border colour)
- 🟢 InputBoolean
- 🟢 InputString
- 🟢 InputNumber
- 🟢 InputList
- 🟢 OutputString
- 🟢 OutputNumber
- 🟡 OutputList
- 🟡 OutputLine
- 🟡 OutputRectangle
- 🟡 OutputEllipse
- 🟡 OutputPolygon
- 🟡 OutputMeter
- 🟡 OutputLinearBarGraph
- 🟡 OutputArchedBarGraph
- 🟡 PictureGraphic (missing loading images from file)
- 🟡 NumberVariable
- 🟡 StringVariable
- 🟡 FontAttributes
- 🟡 LineAttributes
- 🟡 FillAttributes
- 🟡 InputAttributes
- 🟢 ObjectPointer
- 🟡 Macro
- 🟡 Auxiliary Function Type 2
- 🟡 Auxiliary Input Type 2
- 🟡 Auxiliary Control Designator Type 2 Object Pointer
- 🟢 WorkingSet
- 🟡 DataMask (missing soft key mask)
- 🟡 AlarmMask (missing soft key mask)
- 🟢 Container
- ⚪ SoftKeyMask
- 🟡 Key
- 🟢 Button
- ⚪ InputBoolean
- ⚪ InputString
- ⚪ InputNumber
- ⚪ InputList
- 🟡 OutputString
- ⚪ OutputNumber
- ⚪ OutputList
- ⚪ OutputLine
- 🟡 OutputRectangle
- ⚪ OutputEllipse
- ⚪ OutputPolygon
- ⚪ OutputMeter
- ⚪ OutputLinearBarGraph
- ⚪ OutputArchedBarGraph
- 🟢 PictureGraphic
- 🟢 ObjectPointer
- ⚪ Auxiliary Function Type 2
- ⚪ Auxiliary Input Type 2
- ⚪ Auxiliary Control Designator Type 2 Object Pointer
- Rust toolchain (stable)
- (optional)
libgtk-3-dev
for building the native version on Linux - (optional) Trunk for building the web version
cargo run --release
trunk serve --release
Then open your browser at http://localhost:8080
.
This project is still a work in progress, and contributions are appreciated! Feel free to open issues or submit pull requests to help improve the project.
Because this software is licensed under the GPL v3.0, you may not include this software in any closed source software, nor link to it in any way from closed source software.
This project is not associated with the Agricultural Industry Electronics Foundation (AEF) in any way.
This project is not associated with the International Organization for Standardization (ISO) in any way.
Don't ask us to share the ISO standards with you. We can't. You have to buy them from ISO. We don't have the right to share them with you.
This software was not created to compete with any commercial or open-source software. It was created to help hobbyists and professionals alike learn about and experiment with ISOBUS.