File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change 2
2
![ rust workflow] ( https://github.com/helium/proto/actions/workflows/rust.yml/badge.svg )
3
3
![ node.js workflow] ( https://github.com/helium/proto/actions/workflows/node.yml/badge.svg )
4
4
![ erlang workflow] ( https://github.com/helium/proto/actions/workflows/erlang.yml/badge.svg )
5
+
6
+ ## Contributing
7
+
8
+ - Avoid ` float ` in Protobufs because representations differ across hardware architectures
9
+ + There are many floating point representations from IEEE, plus others
10
+ + i.e., some range of interior digits are random per float spec
11
+ - Frequency should use ` uint32 ` and should be in Hz
12
+ - rssi or signal is always negative, thus use ` sint32 ` and is in deci-dbm (aka ` ddbm ` ) which is ` dbm * 10 `
13
+ - snr is signal-to-noise ratio and should be ` uint32 `
14
+ - Fetch and share time in nanos, then truncate to appropriate granularity as needed
15
+ + e.g., get from OS in nanos
16
+ - Reject any PR unless units are documented inline within Protobuf definition
17
+ - Document units of fields
18
+ - When exceptions to the above occur, please explain * why* within comments
You can’t perform that action at this time.
0 commit comments