-
Notifications
You must be signed in to change notification settings - Fork 101
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
remoteio release 2.22631.1 Sun 29 Dec 2024 08:52:22 PM PST
Added support for transporting Remote I/O Protocol messages over ZeroMQ.
- Loading branch information
Showing
1 changed file
with
83 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 <[email protected]>"] | ||
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" | ||
|