From 275f0874a1029aac4229762323e00d0c9a5d7f87 Mon Sep 17 00:00:00 2001 From: Dan Jacques Date: Thu, 19 Apr 2018 18:43:47 -0400 Subject: [PATCH] add features section --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index 3d39701..cd37833 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,31 @@ This powers PixelProxy, software which has been observed driving 15,000+ pixels at 40 FPS on a single Raspberry Pi without coming close to hitting any hardware constraints. +## Capabilities + +**gopushpixels** is a set of Go packages offering a fully-featured PixelPusher +interface, which can: + +* Passively discover devices and maintain a registry of active devices. +* Automatically generate stubs to interact with discovered devices. +* Generate, manipulate, and capture pixel buffers. +* Efficiently route pixel data to devices by group/controller or ID. +* Offers a man-in-the-middle proxy capability, which can: + * Intercept, inspect, record, and modify PixelPusher data. + * Advertise as fake PixelPusher devices, to interface with generation + software. +* Collect operational metrics using [Prometheus](https://prometheus.io/) + client integration. +* Support for several hardware devices, configurations, layouts, and software + versions. +* Facilities to record and replay pixel data. +* A low-overhead file format to store pixel data: + * Data can be associated with local or physical devices. + * Smaller files can be merged together. + * Optional compression support. +* Perform both generation and parsing of PixelPusher's protocol, allowing + simulation of PixelPusher devices. + ## Packages **gopushpixels** includes a set of core packages, which expose basic device