Crates.io | pca9956b-api |
lib.rs | pca9956b-api |
version | 0.1.2 |
source | src |
created_at | 2019-04-06 14:33:43.184768 |
updated_at | 2020-05-25 09:19:56.710035 |
description | HTTP RESTful API and skeleton server/client implement for I2C bus control |
homepage | https://github.com/packom/pca9956b-api |
repository | https://github.com/packom/pca9956b-api |
max_upload_size | |
id | 126162 |
size | 936,300 |
pca9956b-api is an HTTP RESTful API designed to control a PCA9956B IC. This repo includes:
A fully-featured server implementation for Linux, in Rust, can be found at https://github.com/packom/pca9956b.
The text below was automatically generated by the openapi-generator.
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
This client/server was generated by the [openapi-generator] (https://openapi-generator.tech) project. By using the OpenAPI-Spec from a remote server, you can easily generate a server stub.
To see how to make this your own, look here:
API version: 0.1.2
Build date: 2020-05-25T09:11:52.903808Z[Etc/UTC]
This autogenerated project defines an API crate openapi_client
which contains:
Api
trait defining the API in Rust.Client
type which implements Api
and issues HTTP requests for each operation.Api
method for each operation.It also contains an example server and client which make use of openapi_client
:
openapi_client
router, and supplies a trivial implementation of Api
which returns failure
for every operation.openapi_client
client by passing appropriate
arguments on the command line.You can use the example server and client as a basis for your own code. See below for more detail on implementing a server.
Run examples with:
cargo run --example <example-name>
To pass in arguments to the examples, put them after --
, for example:
cargo run --example client -- --help
To run the server, follow these simple steps:
cargo run --example server
To run a client, follow one of the following simple steps:
cargo run --example client ClearError
cargo run --example client GetAddrEnabled
cargo run --example client GetAddrInfo
cargo run --example client GetAddrValue
cargo run --example client GetApi
cargo run --example client GetConfig
cargo run --example client GetCurrent
cargo run --example client GetError
cargo run --example client GetErrors
cargo run --example client GetFreq
cargo run --example client GetGroup
cargo run --example client GetLedCurrent
cargo run --example client GetLedError
cargo run --example client GetLedInfo
cargo run --example client GetLedInfoAll
cargo run --example client GetLedPwm
cargo run --example client GetLedState
cargo run --example client GetOffset
cargo run --example client GetOutputChange
cargo run --example client GetOverTemp
cargo run --example client GetPwm
cargo run --example client GetSleep
cargo run --example client Reset
cargo run --example client SetAddrEnabled
cargo run --example client SetAddrValue
cargo run --example client SetCurrent
cargo run --example client SetFreq
cargo run --example client SetLedCurrent
cargo run --example client SetLedPwm
cargo run --example client SetOffset
cargo run --example client SetPwm
cargo run --example client SetSleep
The examples can be run in HTTPS mode by passing in the flag --https
, for example:
cargo run --example server -- --https
This will use the keys/certificates from the examples directory. Note that the
server chain is signed with CN=localhost
.
The generated library has a few optional features that can be activated through Cargo.
server
client
conversions
See https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section for how to use features in your Cargo.toml
.
All URIs are relative to http://localhost
Method | HTTP request | Description |
---|---|---|
clear_error | POST /pca9956b/{busId}/{addr}/error/clear | |
get_addr_enabled | GET /pca9956b/{busId}/{addr}/addr/{num}/enabled | |
get_addr_info | GET /pca9956b/{busId}/{addr}/addr/{num} | |
get_addr_value | GET /pca9956b/{busId}/{addr}/addr/{num}/addr | |
get_api | GET /pca9956b/api | |
get_config | GET /pca9956b/{busId}/{addr}/config | |
get_current | GET /pca9956b/{busId}/{addr}/current | |
get_error | GET /pca9956b/{busId}/{addr}/error | |
get_errors | POST /pca9956b/{busId}/{addr}/errors | |
get_freq | GET /pca9956b/{busId}/{addr}/freq | |
get_group | GET /pca9956b/{busId}/{addr}/group | |
get_led_current | GET /pca9956b/{busId}/{addr}/led/{led}/current | |
get_led_error | GET /pca9956b/{busId}/{addr}/led/{led}/error | |
get_led_info | GET /pca9956b/{busId}/{addr}/led/{led} | |
get_led_info_all | GET /pca9956b/{busId}/{addr}/led | |
get_led_pwm | GET /pca9956b/{busId}/{addr}/led/{led}/pwm | |
get_led_state | GET /pca9956b/{busId}/{addr}/led/{led}/state | |
get_offset | GET /pca9956b/{busId}/{addr}/offset | |
get_output_change | GET /pca9956b/{busId}/{addr}/outputChange | |
get_over_temp | GET /pca9956b/{busId}/{addr}/overTemp | |
get_pwm | GET /pca9956b/{busId}/{addr}/pwm | |
get_sleep | GET /pca9956b/{busId}/{addr}/sleep | |
reset | POST /pca9956b/{busId}/reset | |
set_addr_enabled | POST /pca9956b/{busId}/{addr}/addr/{num}/enabled/{enabled} | |
set_addr_value | POST /pca9956b/{busId}/{addr}/addr/{num}/addr/{addrVal} | |
set_config | POST /pca9956b/{busId}/{addr}/config | |
set_current | POST /pca9956b/{busId}/{addr}/current/{current} | |
set_freq | POST /pca9956b/{busId}/{addr}/freq/{freq} | |
set_group | POST /pca9956b/{busId}/{addr}/group/{group} | |
set_led_current | POST /pca9956b/{busId}/{addr}/led/{led}/current/{current} | |
set_led_error | POST /pca9956b/{busId}/{addr}/led/{led}/error/{error} | |
set_led_info | POST /pca9956b/{busId}/{addr}/led/{led} | |
set_led_info_all | POST /pca9956b/{busId}/{addr}/led | |
set_led_pwm | POST /pca9956b/{busId}/{addr}/led/{led}/pwm/{pwm} | |
set_led_state | POST /pca9956b/{busId}/{addr}/led/{led}/state/{state} | |
set_offset | POST /pca9956b/{busId}/{addr}/offset/{offset} | |
set_output_change | POST /pca9956b/{busId}/{addr}/outputChange/{outputChange} | |
set_pwm | POST /pca9956b/{busId}/{addr}/pwm/{pwm} | |
set_sleep | POST /pca9956b/{busId}/{addr}/sleep/{sleep} |
Endpoints do not require authorization.