fix LNAGain setting
fix sending bytearray fix autorxrestart add option OokPeakThreshDec
This commit is contained in:
parent
a3a7e60403
commit
b3f24766b0
1 changed files with 10 additions and 12 deletions
22
rfm69.py
22
rfm69.py
|
@ -251,11 +251,10 @@ class Rfm69(threading.Thread):
|
||||||
config[RegTemp1] = 0x01
|
config[RegTemp1] = 0x01
|
||||||
config[RegTemp2] = 0x00
|
config[RegTemp2] = 0x00
|
||||||
config[RegTestLna] = 0x1B
|
config[RegTestLna] = 0x1B
|
||||||
config[RegTestDagc] = 0x30
|
config[RegTestDagc] = 0x30 #low beta 0
|
||||||
config[RegTestAfc] = 0x00
|
config[RegTestAfc] = 0x00
|
||||||
|
|
||||||
config[RegPacketConfig1] = 0x00 #Fixed length, CRC off, no adr
|
config[RegPacketConfig1] = 0x00 #Fixed length, CRC off, no adr
|
||||||
config[RegPacketConfig2] = 0 #1<<AutoRxRestartOn
|
|
||||||
|
|
||||||
for key in config:
|
for key in config:
|
||||||
self.__WriteReg(key, config[key])
|
self.__WriteReg(key, config[key])
|
||||||
|
@ -304,17 +303,13 @@ class Rfm69(threading.Thread):
|
||||||
return temp[1:]
|
return temp[1:]
|
||||||
|
|
||||||
def WriteFifoBurst(self, data):
|
def WriteFifoBurst(self, data):
|
||||||
self.__spi.xfer2([0x80] + data)
|
self.__spi.xfer2([0x80] + list(data))
|
||||||
|
|
||||||
def ReadRegWord(self, reg):
|
def ReadRegWord(self, reg):
|
||||||
temp = self.__spi.xfer2([reg & 0x7F, 0x00, 0x00])
|
temp = self.__spi.xfer2([reg & 0x7F, 0x00, 0x00])
|
||||||
return (temp[1] << 8) | (temp[2])
|
return (temp[1] << 8) | (temp[2])
|
||||||
|
|
||||||
def ReadRssiValue(self):
|
def ReadRssiValue(self):
|
||||||
self.__WriteReg(RegRssiConfig, 1<<0)
|
|
||||||
r = self.ReadReg(RegRssiConfig)
|
|
||||||
while ((r & (1<<1)) == 0):
|
|
||||||
r = self.ReadReg(RegRssiConfig)
|
|
||||||
return self.ReadReg(RegRssiValue)
|
return self.ReadReg(RegRssiValue)
|
||||||
|
|
||||||
def ModeStandBy(self):
|
def ModeStandBy(self):
|
||||||
|
@ -387,7 +382,7 @@ class Rfm69(threading.Thread):
|
||||||
self.__WriteRegWord(RegPreambleMsb, value)
|
self.__WriteRegWord(RegPreambleMsb, value)
|
||||||
|
|
||||||
elif key == "LnaGain":
|
elif key == "LnaGain":
|
||||||
self.__SetReg(RegLna, 0x03, value)
|
self.__SetReg(RegLna, 0x07, value)
|
||||||
|
|
||||||
elif key == "RssiThresh":
|
elif key == "RssiThresh":
|
||||||
th = -(value * 2)
|
th = -(value * 2)
|
||||||
|
@ -411,6 +406,9 @@ class Rfm69(threading.Thread):
|
||||||
elif key == "OokFixedThresh":
|
elif key == "OokFixedThresh":
|
||||||
self.__WriteReg(RegOokFix, value)
|
self.__WriteReg(RegOokFix, value)
|
||||||
|
|
||||||
|
elif key == "OokPeakThreshDec":
|
||||||
|
self.__SetReg(RegOokPeak, 7<<0, value)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print("Unrecognized option >>" + key + "<<")
|
print("Unrecognized option >>" + key + "<<")
|
||||||
|
|
||||||
|
@ -526,7 +524,7 @@ class Rfm69(threading.Thread):
|
||||||
self.__SetDioMapping(2, 1) #DIO2 -> DATA
|
self.__SetDioMapping(2, 1) #DIO2 -> DATA
|
||||||
self.__mutex.acquire()
|
self.__mutex.acquire()
|
||||||
while True:
|
while True:
|
||||||
self.__WriteReg(RegPayloadLength, 0) #unlimited lendth
|
self.__WriteReg(RegPayloadLength, 0) #unlimited length
|
||||||
self.__WriteReg(RegFifoThresh, self.__fifothresh)
|
self.__WriteReg(RegFifoThresh, self.__fifothresh)
|
||||||
if self.__syncsize > 0:
|
if self.__syncsize > 0:
|
||||||
self.__SetDioMapping(0, DIO0_PM_SYNC) #DIO0 -> SyncAddress
|
self.__SetDioMapping(0, DIO0_PM_SYNC) #DIO0 -> SyncAddress
|
||||||
|
@ -547,12 +545,12 @@ class Rfm69(threading.Thread):
|
||||||
|
|
||||||
def ReceivePacket(self, length):
|
def ReceivePacket(self, length):
|
||||||
self.__StartRx()
|
self.__StartRx()
|
||||||
afc = self.ReadReg(RegAfcMsb) << 8
|
|
||||||
afc = afc | self.ReadReg(RegAfcLsb)
|
|
||||||
|
|
||||||
result = self.ReadFifoWait(length)
|
result = self.ReadFifoWait(length)
|
||||||
|
|
||||||
rssi = -self.ReadReg(RegRssiValue) / 2
|
rssi = -self.ReadReg(RegRssiValue) / 2
|
||||||
|
afc = self.ReadReg(RegAfcMsb) << 8
|
||||||
|
afc = afc | self.ReadReg(RegAfcLsb)
|
||||||
|
|
||||||
if afc >= 0x8000:
|
if afc >= 0x8000:
|
||||||
afc = afc - 0x10000
|
afc = afc - 0x10000
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue