Difference between revisions of "Protobuf notes"
From Wiki at Neela Nurseries
m (Add link to FindNanopb.cmake example file found on chromium.googlesource.com.) |
m (Add protobuf.dev links.) |
||
Line 1: | Line 1: | ||
+ | |||
+ | Introduction: | ||
+ | |||
+ | * https://protobuf.dev/getting-started/cpptutorial/ | ||
+ | * https://protobuf.dev/programming-guides/proto3/ | ||
+ | |||
+ | == [[#top|^]] References To Sort == | ||
+ | |||
Protobuf references, somewhat arbitrary starting point yet introduces some key topics of Protobuf standard and use cases: | Protobuf references, somewhat arbitrary starting point yet introduces some key topics of Protobuf standard and use cases: | ||
Line 30: | Line 38: | ||
. . . It appears that the integer values which message elements are assigned as tantamount to key names in JSON. | . . . It appears that the integer values which message elements are assigned as tantamount to key names in JSON. | ||
− | == [#top|^] Nanopb == | + | == [[#top|^]] Nanopb == |
2022-01-08 Saturday | 2022-01-08 Saturday |
Revision as of 23:34, 3 October 2024
Introduction:
^ References To Sort
Protobuf references, somewhat arbitrary starting point yet introduces some key topics of Protobuf standard and use cases:
- https://www.crankuptheamps.com/blog/posts/2017/10/12/protobuf-battle-of-the-syntaxes/
- https://www.educative.io/edpresso/what-is-the-difference-between-protocol-buffers-and-json
JSON supported data types:
First Protobuf .proto file, compiles using `protoc-c`, part of a package available with Ubuntu 20.04:
// syntax = "proto3"; syntax = "proto2"; // Notes: // $ protoc-c --c_out=. ./first.proto message sensorUpdates { required int32 message_id = 1; optional float vrms = 2; }
. . . It appears that the integer values which message elements are assigned as tantamount to key names in JSON.
^ Nanopb
2022-01-08 Saturday
- https://github.com/nanopb/nanopb/blob/master/generator/proto/nanopb.proto
- https://jpa.kapsi.fi/nanopb/docs/whats_new.html
- https://jpa.kapsi.fi/nanopb/docs/
Cmake script to locate Nanopb headers and sources: