JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6158
  • Score
    100M100P100Q125130F
  • License Apache-2.0

Helium protobuf definitions compiled to JS with TypeScript types

Package Exports

  • @helium/proto
  • @helium/proto/build/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@helium/proto) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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