freq comp added

This commit is contained in:
2020-06-02 14:54:47 +02:00
parent a3cd89ec10
commit 372c4d235f
3 changed files with 36 additions and 3 deletions

Binary file not shown.

View File

@@ -358,6 +358,8 @@ class CC1101(object):
self.hopIndex += 1 # Increment the index
if (self.hopIndex > 4): # 5 EU frequencies
self.hopIndex = 0
present = self.readRegister(self.CC1101_FSCTRL0)
print("Present value: {}, WRITING {} TO CC1101_FSCTRL0 / {}".format(present, self.freqComp[self.hopIndex], self.CC1101_FSCTRL0))
self.writeRegister(self.CC1101_FSCTRL0, self.freqComp[self.hopIndex])
self.setFrequency(self.hopIndex) # Set the frequency.
@@ -388,3 +390,9 @@ class CC1101(object):
def readLQI(self):
return self.readRegister(self.CC1101_RXFIFO) & 0x7F
def calcFreqError(self, value):
if value >= 128:
error = (value - 256) >> 1
else:
error = value >> 1
return error

31
main.py
View File

@@ -4,7 +4,20 @@ import utime
import WiFi
gc.collect()
#_SSID = 'BastArt'
#_PASS = '3 litry Kvasaru!'
#_TIMEOUT = 15
_DEBUG = False
#
#_INFLUX_HOST = '192.168.1.2'
#_INFLUX_PORT = '8086'
#_INFLUX_USER = 'ventil'
#_INFLUX_PASS = '3 litry Kvasaru!'
#
#_INF_DB_WEATHER = 'weather'
#_INF_DB_STATUS = 'status'
#_INF_DB_RAW = 'raw'
wifi_con = WiFi.NetSet('infra')
wifi_con.readNetworkConfig()
@@ -25,6 +38,7 @@ decoder = davis_decode.davisDecoder(
wifi_con._INF_DB_RAW)
# Main receive loop
interpacket_time = 0
while True:
data_length = davis.readRegister(davis.CC1101_RXBYTES)
data = ""
@@ -32,6 +46,14 @@ while True:
data = davis.readBurst(davis.CC1101_RXFIFO, 10)
rssi = davis.readRssi()
lqi = davis.readLQI()
freqEst = davis.readStatus(davis.CC1101_FREQEST)
freqError = davis.calcFreqError(freqEst)
print("FERROR: {} (EST: {})".format(freqError, freqEst))
print("FCOMP: {}".format(davis.freqComp))
if davis.freqComp[davis.hopIndex] + freqEst <= 255:
davis.freqComp[davis.hopIndex] = davis.freqComp[davis.hopIndex] + freqEst
else:
davis.freqComp[davis.hopIndex] = 255
hop = davis.hopIndex
davis.flush()
davis.hop()
@@ -49,12 +71,13 @@ while True:
data_int[6],
data_int[7],
data_int[8],
data_int[8],)
print("{_data:60} HOP: {_hop:<5} RSSI: {_rssi:<5} LQI: {_lqi:<5}".format(
data_int[9])
print("{_data:60} HOP: {_hop:<5} RSSI: {_rssi:<5} LQI: {_lqi:<5} {_last}s since".format(
_rssi=rssi,
_hop=hop,
_data=data_prn,
_lqi=lqi))
_lqi=lqi,
_last=interpacket_time / 10))
if _DEBUG:
print("Header: {} Wind: {}".format(header, decoder.wind))
print("{}: {}/{} ({})".format(
@@ -84,6 +107,8 @@ while True:
print("DATA SEND: {}".format(data_sent.status_code))
else:
print("DATA SEND FAIL: {}".format(data_sent))
interpacket_time = 0
else:
interpacket_time += 1
utime.sleep_ms(100)
gc.collect()