This crate provides data-types defined by the VDA5050 standard.

Overview

github docs.rs crates.io

VDA5050 Types

This crate provides data-types for the rust programming language defined by the VDA5050 standard. VDA5050 is an open standard for communication between AGV fleets and a central master control.

Usage

  1. Add a dependency on this crate to your project's Cargo.toml:

    [dependencies]
    vda5050-types = { version = "0.2.0", features = ["v2_0"] }
  2. Use the types provided by the crate:

    use vda5050_types::v2_0::common::{Action, BlockingType};
    use vda5050_types::v2_0::instant_actions::InstantActions;
    
    fn main() {
        let action = InstantActions {
            header_id: 0,
            timestamp: Utc::now(),
            version: String::from("2"),
            manufacturer: String::from("Fubar Co."),
            serial_number: String::from("1234"),
            instant_actions: vec![
                Action {
                    action_type: String::from("pick"),
                    action_id: String::from("pick-1"),
                    action_description: None,
                    blocking_type: BlockingType::Soft,
                    action_parameters: vec![],
                }
            ],
        };
    }

License

Licensed using the MIT.

Contributing

All contributions are welcome. Any contribution intentionally submitted for inclusion in this crate by you, as defined in the MIT license, shall be licensed without any additional terms or conditions.

You might also like...
Rust crate to retrieve public IP address and geolocation data. 🦀
Rust crate to retrieve public IP address and geolocation data. 🦀

🔎 Public IP Address Lookup and Geolocation Information public-ip-address is a simple Rust library for performing public IP lookups from over a dozen

A black-box raw calldata decoder using only calldata to guess types and parse parameters.
A black-box raw calldata decoder using only calldata to guess types and parse parameters.

Calldata Decoder A black-box raw calldata decoder using only calldata. Based off the topics discussed in DeGatchi's article, Reverse The EVM: Raw Call

Avalanche primitive types in Rust (experimental)

AvalancheGo Compatibility Crate Version(s) AvalancheGo Version(s) Protocol Version v0.0.134-155 v1.9.2,v1.9.3 19 v0.0.156-176 v1.9.4 20 v0.0.177-200 v

Simple shared types for multi-threaded Rust programs

Keep Calm (and call Clone) Simple shared types for multi-threaded Rust programs: keepcalm gives you permission to simplify your synchronization code i

🐺 Starknet Rust types 🦀

types-rs 🐺 Starknet Rust types 🦀 This repository is an initiative by a group of maintainers to address the fragmentation in the Starknet Rust ecosys

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Demonstrates Solana data account versioning used in supporting the Solana Cookbook article: Account Data Versioning
Demonstrates Solana data account versioning used in supporting the Solana Cookbook article: Account Data Versioning

versioning-solana This repo demonstrates ONE rudimentary way to upgrade/migrate account data changes with solana program changes. What is data version

reth-indexer reads directly from the reth db and indexes the data into a postgres database all decoded with a simple config file and no extra setup alongside exposing a API ready to query the data.
reth-indexer reads directly from the reth db and indexes the data into a postgres database all decoded with a simple config file and no extra setup alongside exposing a API ready to query the data.

reth-indexer reth-indexer reads directly from the reth db and indexes the data into a postgres database all decoded with a simple config file and no e

Built on the Substrate-based runtime, this repository develops the Paralink Network, a cross-chain Oracle platform for secure and scalable data integration. Our goal is to create a robust infrastructure that ensures efficient and reliable data transmission across blockchain networks.
Comments
  • Multi Type ActionParameterValue

    Multi Type ActionParameterValue

    I had a problem with single type of action parameters because for initPosition at least you need float, so I checked a bit and I found this solution but I am not rust expert so just suggestion :)

    /// ActionParameter Object
    #[serde_with::skip_serializing_none]
    #[derive(Serialize, Deserialize, Clone)]
    #[serde(rename_all = "camelCase")]
    pub struct ActionParameter {
        /// The key of the action parameter. For example, duration, direction, signal.
        pub key: String,
        /// The value of the action parameter. For example: 103.2, "left", true, [1, 2, 3].
        pub value: ActionParameterValue,
    }
    
    /// Enum to represent the possible types for the value of an action parameter.
    #[derive(Serialize, Deserialize, Clone, Debug)]
    #[serde(untagged)]
    pub enum ActionParameterValue {
        /// Represents an integer value.
        Int(i32),
        Float(f64),
        /// Represents a string value.
        Str(String),
    }
    

    https://github.com/kKdH/vda5050-types-rs/blob/16e0289c4a2550951412925fa8dc392616e37e3e/src/action.rs#L48C16-L48C22

    opened by bekirbostanci 2
Releases(v0.2.0)
Owner
Elmar Schug
Elmar Schug
EXPERIMENTAL: Bitcoin Core Prometheus exporter based on User-Space, Statically Defined Tracing and eBPF.

bitcoind-observer An experimental Prometheus metric exporter for Bitcoin Core based on Userspace, Statically Defined Tracing and eBPF. This demo is ba

0xB10C 24 Nov 8, 2022
A guide for Mozilla's developers and data scientists to analyze and interpret the data gathered by our data collection systems.

Mozilla Data Documentation This documentation was written to help Mozillians analyze and interpret data collected by our products, such as Firefox and

Mozilla 75 Dec 1, 2022
The Metaplex NFT-standard Swiss Army Knife tool.

Metaboss The Solana Metaplex NFT 'Swiss Army Knife' tool. Current supported features: Decode NFT mint account metadata Get a list of mint accounts for

Samuel Vanderwaal 576 Jan 6, 2023
DIP721 - An Internet Computer Non-fungible Token Standard

DIP721 - Introduction DIP721 is an ERC-721 style non-fungible token standard built mirroring its Ethereum counterpart and adapting it to the Internet

Psychedelic 48 Nov 24, 2022
Unified directories for different use cases of an application, providing standard directories for local development, when run as service or when run by a user.

UniDirs Unified directories for different use cases of an application, providing standard directories for local development, when run as service or wh

Dominik Nakamura 3 Sep 30, 2022
A new, simple NFT standard for Solana

New Solana NFT Standard Current Issues The current NFT spec is pretty bad for a few reasons: every NFT requires multiple accounts (3+) the token accou

null 38 Oct 20, 2022
Parses coin lists according to the coin list standard.

coinlist Parses coin lists according to the coin list standard. License The coinlist crate is licensed under the Apache 2.0 License. Contribution Unle

The Moving Company 2 Jul 10, 2022
The Hybrid Public Key Encryption (HPKE) standard in Python

Hybrid PKE The Hybrid Public Key Encryption (HPKE) standard in Python. hybrid_pke = hpke-rs ➕ PyO3 This library provides Python bindings to the hpke-r

Cape Privacy 4 Nov 7, 2022
An implementation of the SecureFrame standard

Secure Frame (SFrame) This library is an implementation of draft-ietf-sframe-enc-latest and provides and end-to-end encryption mechanism for media fra

GoTo Open Source 2 Dec 18, 2022
Modern, lightweight & standard-compliant bitcoin wallet runtime & cli without rust-bitcoin dependencies

Bitcoin protocol command-line wallet & tools Modern, minimalistic & standard-compliant cold wallet from LNP/BP Standards Association. Contributing Con

BP: Bitcoin protocol 3 Jul 31, 2023