Use int
This commit is contained in:
@@ -322,7 +322,7 @@ func (drv *companionDriver) handleRXData(b []byte) {
|
||||
var (
|
||||
now = time.Now().UTC()
|
||||
snr = float64(b[0]) / 4
|
||||
rssi = int8(b[1])
|
||||
rssi = int(b[1])
|
||||
)
|
||||
|
||||
// Decode raw
|
||||
|
||||
@@ -267,19 +267,22 @@ func (drv *repeaterDriver) handleRXData(line string) {
|
||||
return // nothing to do!
|
||||
}
|
||||
|
||||
/* companion/repeater time isn't reliable, as they often don't have an RTC:
|
||||
when, err := time.Parse("15:04:05 - 02/3/2006", strings.TrimSpace(line[:21]))
|
||||
if err != nil {
|
||||
Logger.Warnf("meshcore: corrupt raw packet: %v", err)
|
||||
}
|
||||
*/
|
||||
|
||||
var (
|
||||
when = time.Now()
|
||||
snr float64
|
||||
rssi int8
|
||||
rssi int
|
||||
data []byte
|
||||
)
|
||||
if drv.hasSNR {
|
||||
snr = float64(b[0]) / 4
|
||||
rssi = int8(b[1])
|
||||
rssi = int(b[1])
|
||||
data = b[2:]
|
||||
if drv.rawPackets != nil {
|
||||
select {
|
||||
@@ -325,9 +328,9 @@ func (drv *repeaterDriver) handleRX(line string) {
|
||||
for _, part := range strings.Split(line, " ") {
|
||||
switch {
|
||||
case strings.HasPrefix(part, "SNR="):
|
||||
snr, _ = strconv.Atoi(part[3:])
|
||||
snr, _ = strconv.Atoi(part[4:])
|
||||
case strings.HasPrefix(part, "RSSI="):
|
||||
rssi, _ = strconv.Atoi(part[4:])
|
||||
rssi, _ = strconv.Atoi(part[5:])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,7 +340,7 @@ func (drv *repeaterDriver) handleRX(line string) {
|
||||
Time: drv.lastFrameAt,
|
||||
Protocol: protocol.MeshCore,
|
||||
SNR: float64(snr),
|
||||
RSSI: int8(rssi),
|
||||
RSSI: rssi,
|
||||
Raw: drv.lastFrame,
|
||||
}:
|
||||
default:
|
||||
@@ -350,7 +353,7 @@ func (drv *repeaterDriver) handleRX(line string) {
|
||||
packet := new(Packet)
|
||||
if err := packet.UnmarshalBytes(drv.lastFrame); err == nil {
|
||||
packet.SNR = float64(snr)
|
||||
packet.RSSI = int8(rssi)
|
||||
packet.RSSI = rssi
|
||||
select {
|
||||
case drv.packets <- packet:
|
||||
default:
|
||||
|
||||
@@ -21,11 +21,14 @@ type Packet struct {
|
||||
SNR float64 `json:"snr"`
|
||||
|
||||
// RSSI is the received signal strength indicator (in dBm).
|
||||
RSSI int8 `json:"rssi"`
|
||||
RSSI int `json:"rssi"`
|
||||
|
||||
// Raw bytes (optional).
|
||||
Raw []byte `json:"raw,omitempty"`
|
||||
|
||||
// Version for this packet.
|
||||
Version int `json:"version"`
|
||||
|
||||
// RouteType is the type of route for this packet.
|
||||
RouteType RouteType `json:"route_type"`
|
||||
|
||||
@@ -111,7 +114,7 @@ func (packet *Packet) MarshalBytes() []byte {
|
||||
data [1 + 4 + 1 + maxPathSize + maxPayloadSize]byte
|
||||
offset int
|
||||
)
|
||||
data[offset] = byte(packet.RouteType&0x03) | byte((packet.PayloadType&0x0f)<<2)
|
||||
data[offset] = byte(packet.RouteType&0x03) | byte((packet.PayloadType&0x0f)<<2) | byte((packet.Version&0x03)<<6)
|
||||
offset += 1
|
||||
|
||||
if packet.RouteType.HasTransportCodes() {
|
||||
@@ -138,6 +141,7 @@ func (packet *Packet) UnmarshalBytes(data []byte) error {
|
||||
|
||||
packet.RouteType = RouteType(data[0] & 0x03)
|
||||
packet.PayloadType = PayloadType((data[0] >> 2) & 0x0f)
|
||||
packet.Version = int((data[0] >> 6) & 0x03)
|
||||
offset := 1
|
||||
|
||||
if packet.RouteType.HasTransportCodes() {
|
||||
@@ -187,7 +191,7 @@ func (packet *Packet) Hash() []byte {
|
||||
func (packet *Packet) MarshalJSON() ([]byte, error) {
|
||||
return json.Marshal(struct {
|
||||
SNR float64 `json:"snr"`
|
||||
RSSI int8 `json:"rssi"`
|
||||
RSSI int `json:"rssi"`
|
||||
RouteType RouteType `json:"route_type"`
|
||||
PayloadType PayloadType `json:"payload_type"`
|
||||
TransportCodes []uint16 `json:"transport_codes,omitempty"`
|
||||
|
||||
Reference in New Issue
Block a user