Expand description
§Pilatus Framework
A modular, extendable application framework which is currently used for industrial and computervision projects. The core is not limited to engineering, but should suite other projects with autonomous configurable subsystems which interact with one another.
§Features
- Run asynchronous actors which communicate via message passing
- Switch between different sets of actor configurations without restarting the application using the built in recipe management
- Adding new extension don’t require changes in the core.
- Easily expose core functionality through apis like http, websockets, opcua
- Multi-platform (Linux, OSX, Windows), multi-architecture (x64, arm)
§Modules
Currently, just a few modules are publicly available
- Axum: Collects web-routes from other modules an serves them on a single http port
- Engineering: Working with images and other engineering-related stuff like angles, matrices
- Emulation of camera
- Leptos frontend available at pilatus-leptos (beta)
- Opencv integration at pilatus-opencv
- GigE/Ueye-Camera via aravis: Discovery, settings gige-params, image streams pilatus-aravis
Some extensions which are implemented, but not (yet) publicly available:
- Image-Coordinates to 3D: Intrinsic calibration assistant, calibration plate management, origin determination
- Matching: Find shapes in images, which can be teached entirely in the web-ui (inkl. collision-detection if part has to be grippable by robot)
- Halcon: perform image analysis using hdpl-procedures, manage licenses, rust-bindings
- Various Feeder-Hardware: Anyfeeder, Aflex, Flexibowl, …
- OpcUA: Let other modules define OpcUA endpoints
Reach out if you need such functionality
Modules§
Macros§
- unstable_
pub - Macro to conditionally make structs and enums public based on the
unstablefeature flag.
Structs§
- Abort
Registration - In contrast to futures::stream::AbortableRegistration, this could be used to cancel multiple tasks
- AddFile
Message - Delete
File Message - Device
Config - Device
With Same IdExists - Duplicate
Name Error - Duplicate
Recipe Raw - Duplicate
Recipe Wrapper - Encoded
Image - Entry
Item - Fallback
Logo - File
Service - File
Service Builder - Generic
Config - Devices can recive typed configs for e.g. MagicConstants like timeouts or socket addresses In pilatus it is parsed from all JSON-Files in the root (typically the same folder as the executable) Configuration never changes during runtime. Use settings if this is needed.
- GetFile
Message - Import
Recipes Options - Init
Recipe Listener - Invalid
Logo Height - Irreversible
Error - List
Active Recipes Item - List
Files Message - Logo
Dimension - Logo
Query - Logo
Service - Maybe
Var - NameRaw
- Name
Wrapper - NotApplied
Error - Once
Extractor - Parameter
Update - Percentage
Raw - Percentage
Wrapper - Recipe
- Recipe
Already Exists Error - Recipe
Id - Recipe
Metadata Raw - Recipe
Metadata Wrapper - Recipes
- Relative
Directory Path - Relative
Directory Path Buf - Relative
File Path - Contains Alphanumeric characters only plus - and _. File must contain exactly one dot (.) File always starts with the folder name (never ./)
- Relative
Range Raw - Non-Empty Range
- Relative
Range Wrapper - Settings
- System
Shutdown - System
Terminator - Tracing
Config - Tracing
Console Config - Tracing
File Config - Tracing
Terminal Config - Tracing
Topic - Transaction
Options - Typed
File Service Builder - Uncommitted
Changes Error - Unknown
Device Error - Unknown
Recipe Error - Untyped
Device Params With Variables - Every Object with a key __var is guaranteed not to contain any other key and a string as value If UntypedDeviceParamsWithVariables is constructible anyway, this is a bug.
- Untyped
Device Params Without Variables - Update
Params Message - Variable
- Variable
Conflict - Variable
Error - Variables
Enums§
- Import
Recipe Error - Into
Merge Strategy - Relative
DirPath Error - Relative
File Path Error - Remove
Recipe Error - SetActive
Error - Transaction
Error - Update
Params Message Error
Traits§
- Entry
Reader - Entry
Writer - File
Service Ext - File
Service Trait - Importer
Trait - Logo
Service Trait - PinReader
- RawVariable
- Recipe
Exporter Trait - Recipe
Importer Trait - Recipe
Service Trait - Register
File Handlers Extension - Validator