electricui-embedded
Protobuf
electricui-embedded | Protobuf | |
---|---|---|
17 | 174 | |
57 | 63,731 | |
- | 0.6% | |
0.0 | 10.0 | |
almost 2 years ago | 1 day ago | |
C | C++ | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
electricui-embedded
-
Exporting Arduino output as .csv file
We have an MIT licensed protocol and Arduino library that makes it really easy to transfer data to the UI, and components for real-time line or scatter plots.
-
Python GUI app for my embedded project
It includes an MIT licensed binary protocol that handles framing, checksums and multiple messageIDs. Standard C types are zero-configuration, just send them from hardware and the UI knows how to decode it. You can mark variables with some macros and get read/write capability in very little code. Assuming you're communicating over usb-serial, it should be very easy to get started. Here's the 'Arduino blinking led' firmware as an example.
-
Library for sending messages to and from Arduino over USB port
We have an MIT licensed protocol and Arduino library, which provides framing, checksums, multiple messageIDs, query / set / call function behaviour, type information, ack packets, 1kB payload sizes by default and offset packets for sending larger data. There's a write up of the protocol here. I'm unsure how you've developed your stand alone program, but if you implement the 'host' side of the protocol, the Arduino library will take care of everything else.
- What’s everyone is using for framing and serialising data
-
Arduino to PC Serial Protocol Library
If it's just the protocol you want, we have an open source, MIT licensed protocol available on GitHub. It comes with an Arduino library that you can install in a couple of clicks.
- How to store data from serial monitor?
-
Serial data plotting SW
As a continuation of my other comment, Electric UI's binary protocol makes sending different data at different intervals pretty trivial. It's intended for serial comms, but of course can be sent over ethernet just as well.
-
arduino serial UI
It has an MIT licensed binary protocol that handles framing and checksums which works well over serial. There are several Arduino firmware examples in that repo.
- Flexible protocol for control/configuration of an embedded device?
-
GUI options
While it is transport and protocol agnostic, it comes with a 'batteries included' binary protocol for serial comms to get up and running quickly. The protocol handles framing, multiple message IDs, acks and checksums.
Protobuf
-
Hitting every branch on the way down
It's because they changed the versioning format: https://github.com/protocolbuffers/protobuf/releases?page=5
But I suppose old version still receive bugfixes.
-
Reverse Engineering Protobuf Definitions from Compiled Binaries
For at least 4 years protobuf has had decent support for self-describing messages (very similar to avro) as well as reflection
https://github.com/protocolbuffers/protobuf/blob/main/src/go...
Xgooglers trying to make do on the cheap will just create a Union of all their messages and include the message def in a self-describing message pattern. Super-sensitive network I/O can elide the message def (empty buffer) and any for RecordIO clone well file compression takes care of the definition.
Definitely useful to be able to dig out old defs but protobuf maintainers have surprisingly added useful features so you don’t have to.
Bonus points tho for extracting the protobuf defs that e.g. Apple bakes into their binaries.
- Show HN: AuthWin – Authenticator App for Windows
-
Create Production-Ready SDKs With gRPC Gateway
gRPC Gateway is a protoc plugin that reads gRPC service definitions and generates a reverse proxy server that translates a RESTful JSON API into gRPC.
-
Create Production-Ready SDKs with Goa
To use more recent versions of protoc in future applications, you can download them from the Protobuf repository.
-
Roll your own auth with Rust and Protobuf
Use the Protobuf CLI protoc and the plugin protoc-gen-tonic.
-
Add extra stuff to a “standard” encoding? Sure, why not
> didn’t find any standard for separating protobuf messages
The fact that protobufs are not self-delimiting is an endless source of frustration, but I know of 2 standards:
- SerializeDelimited* is part of the protobuf library: https://github.com/protocolbuffers/protobuf/blob/main/src/go...
- Riegeli is "a file format for storing a sequence of string records, typically serialized protocol buffers. It supports dense compression, fast decoding, seeking, detection and optional skipping of data corruption, filtering of proto message fields for even faster decoding, and parallel encoding": https://github.com/google/riegeli
-
Block YouTube Ads on AppleTV by Decrypting and Stripping Ads from Profobuf
It looks like it is in fact universal. Just glancing at the code here, it looks like the tool searches any arbitrary file for bytes that look like encoded protobuf descriptors, specifically looking for bytes that are plausibly the beginning of a FileDescriptorProto message defined here:
https://github.com/protocolbuffers/protobuf/blob/main/src/go...
This takes advantage of the fact that such descriptors are commonly compiled into programs that use protobuf. The descriptors are usually embedded as constant byte arrays. That said, not all protobuf implementations embed the descriptors and those that do often have an option to inhibit such embedding (at the expense of losing some dynamic introspection features).
- How to learn to use protoc in 21 easily infuriating steps
-
What's involved in protobuf encoding?
Not much. You can check the source code in https://github.com/protocolbuffers/protobuf. For example, for serializing a boolean in C#: https://github.com/protocolbuffers/protobuf/blob/main/csharp/src/Google.Protobuf/WritingPrimitives.cs#L165. Strings and objects are a bit more complicated, but it is all about turning the data into its byte representation.
What are some alternatives?
Avalonia - Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
FlatBuffers - FlatBuffers: Memory Efficient Serialization Library
PlotJuggler - The Time Series Visualization Tool that you deserve.
SBE - Simple Binary Encoding (SBE) - High Performance Message Codec
Serial-Studio - Multi-purpose serial data visualization & processing program
MessagePack - MessagePack implementation for C and C++ / msgpack.org[C/C++]
rpmsg-lite - RPMsg implementation for small MCUs
cereal - A C++11 library for serialization
protocol - Documentation of the Firmata protocol.
Apache Parquet - Apache Parquet
protocol - Specification of the Farcaster Protocol
Bond - Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.