remoteio 2.22631.1 (#1345)

Added support for transporting Remote I/O Protocol messages
over ZeroMQ.
This commit is contained in:
pmunts
2024-12-30 10:53:16 -08:00
committed by GitHub
parent 91887edaaa
commit c1a87fdfdb
+83
View File
@@ -0,0 +1,83 @@
name = "remoteio"
version = "2.22631.1"
description = "Remote I/O Protocol Client Library for GNAT Ada"
website = "https://github.com/pmunts/libsimpleio"
authors = ["Philip Munts"]
maintainers = ["Philip Munts <phil@munts.net>"]
maintainers-logins = ["pmunts"]
licenses = "BSD-1-Clause"
long-description = """
This crate contains a subset of the [**Linux Simple I/O
Library**](https://github.com/pmunts/libsimpleio) Ada packages that are
relevant for building [**Remote I/O
Protocol**](http://git.munts.com/libsimpleio/doc/RemoteIOProtocol.pdf)
client programs.
This crate can be built for Linux, MacOS, or Windows targets.
The **Remote I/O Protocol** is a lightweight message protocol for
performing remote I/O operations. The protocol is implemented using a
request/reply pattern, where the master device (*e.g.* a Linux computer)
transmits an I/O request in a 64-byte message to the slave device
(*e.g.* a single chip microcontroller). The slave device performs the
requested I/O operation and returns an I/O response in a 64-byte message
back to the master device.
The protocol is kept as simple as possible (exactly one 64-byte request
message and one 64- byte response message) to allow using low end single
chip microcontrollers such as the
[PIC16F1455](https://www.microchip.com/en-us/product/PIC16F1455) for the
slave device. Although particularly suited for USB raw HID devices, this
protocol can use any transport mechanism that can reliably transmit and
receive 64-byte messages.
"""
tags = ["embedded", "linux", "remoteio", "adc", "dac", "gpio", "i2c", "motor",
"pwm", "sensor", "serial", "servo", "spi", "stepper"]
project-files = ["remoteio.gpr"]
[available."case(os)"]
'linux|macos|windows' = true
"..." = false
# Linux needs libhidapi and libusb crates
[[depends-on]]
[depends-on."case(os)"."linux"]
libhidapi = "*"
[[depends-on]]
[depends-on."case(os)"."linux"]
libusb = "*"
# macOS needs hidapi and libusb crates
[[depends-on]]
[depends-on."case(distribution)"."homebrew|macports"]
libhidapi = "*"
[[depends-on]]
[depends-on."case(distribution)"."homebrew|macports"]
libusb = "*"
[[actions."case(os)".linux]]
type = "post-fetch"
command = ["sh", "-c", "./postfetch.linux"]
[[actions."case(os)".macos]]
type = "post-fetch"
command = ["sh", "-c", "./postfetch.macos"]
[[actions."case(os)".windows]]
type = "post-fetch"
command = ["sh", "-c", "./postfetch.windows"]
[origin]
hashes = [
"sha256:8542159aef7154aeb4bb8f98d7e39aa37eb8e8e32c2dd3ac25f0ee43b7d5ee5b",
"sha512:636c0219c1ea8308f5f7c06c024737761e9c03fb3cc4fa5c0e5567f95ff11553bd7950685fed3e333ae4e71a01b2d5a52d0a9748c707646ef811ed428c333e05",
]
url = "https://raw.githubusercontent.com/pmunts/alire-crates/c9004f97fe87eb70d1d68dfe4bc9895e62012211/remoteio/remoteio-2.22631.1.tbz2"