Skip to content

Latest commit

 

History

History
25 lines (22 loc) · 1.48 KB

README.md

File metadata and controls

25 lines (22 loc) · 1.48 KB

lint workflow rust workflow node.js workflow erlang workflow cpp workflow

Using this repository requires protobuf's protoc to be installed. The package to be installed differs per host platform.

Contributing

  • Protobuf message definitions live in either:
    • src/service/*.proto if only used in gRPC service definitions, or
    • src/*.proto if used by service-free code or shared across gRPC services
  • Avoid float in Protobufs because representations differ across hardware architectures
    • There are many floating point representations from IEEE, plus others
    • i.e., some range of interior digits are random per float spec
  • Frequency should use uint32 and should be in Hz
  • rssi or signal is always negative, thus use sint32 and is in deci-dbm (aka ddbm) which is dbm * 10
  • snr is signal-to-noise ratio and should be uint32
  • Fetch and share time in nanos, then truncate to appropriate granularity as needed
    • e.g., get from OS in nanos
  • Reject any PR unless units are documented inline within Protobuf definition
  • Document units of fields
  • When exceptions to the above occur, please explain why within comments