From fb7f14deb73698d8950aa3c8e6e6c1b96ac3fa41 Mon Sep 17 00:00:00 2001 From: Milan Ventil Toman Date: Wed, 4 Nov 2020 14:19:53 +0100 Subject: [PATCH] Rx function moved into the CC1101, RAM savings implemented --- WiFi.mpy | Bin 1596 -> 1596 bytes WiFi.py | 28 ++++++++-------- cc1101_davis.mpy | Bin 8066 -> 8434 bytes cc1101_davis.py | 65 ++++++++++++++++++++++++++++-------- davis_decode.mpy | Bin 3755 -> 3755 bytes davis_decode.py | 24 +++++++------- main.py | 84 ++++++++++++++++------------------------------- 7 files changed, 107 insertions(+), 94 deletions(-) diff --git a/WiFi.mpy b/WiFi.mpy index 0d6dfb8a14bb6e4d123402d3c75f62f3a7c5e80a..0bee824e8797a570c94fe0401a0d4cf9b2587dce 100644 GIT binary patch delta 211 zcmdnPvxjFwC?osCuuMjdjR%AnJ(74_GK&+Fax(MM6&wSS1RRq~GRqQ6KwM8hw;;zP zeuO+kfEP)LV?c|8k%p>#gVJOvrUhb2!p`}5d8t4nfZ9v)6*BYEiV~A1Utm&`N)it# zsssw_>FFs{*DB=Z7o{qcWag$8CruV$7GpG?tj^rQm^66#gYsl4rUhcf!p`}5d8t4nfZ9v)6*BYEiV}+_Utm&`Di#kZ zsssw_>FFs{*DB=Z7o{qcWag$87f%*o7GpG-tj^rQSUh 0: - print("Trying... {} more times".format(_timeout)) + print(b"Trying... {} more times".format(_timeout)) utime.sleep_ms(1001) _timeout -= 1 else: - print("Out of retrys") + print(b"Out of retrys") return False network_config = self.sta.ifconfig() return network_config @@ -64,7 +66,7 @@ class NetSet(object): else: return False except Exception as e: - print("ERROR: Network configuration failed with: {}".format(e)) + print(b"ERROR: Network configuration failed with: {}".format(e)) return False def connectAp(self): @@ -88,10 +90,10 @@ class NetSet(object): print(b"WARNING: Fucked up option, make it better") except Exception as e: if _DEBUG: - print("WARNING: Errors in INFRA config, still going for AP") + print(b"WARNING: Errors in INFRA config, still going for AP") return False if _DEBUG: - print("CONFIG DICT: {}".format(self.config_dict)) + print(b"CONFIG DICT: {}".format(self.config_dict)) self._SSID = self.config_dict['_SSID'] self._PASS = self.config_dict['_PASS'] self._TIMEOUT = int(self.config_dict['_TIMEOUT']) diff --git a/cc1101_davis.mpy b/cc1101_davis.mpy index f4ab9026a6bdf7364e4bd11bc96ec9dfd84f43a5..1e84f098e760d36ab69d9f6b5c39d62a07449060 100644 GIT binary patch delta 998 zcmZuwU2M}<6u#F=T6yN5Oo@ChQ=BQ2`(P{wJC?D*TavMXzeF~{&kr8)KHBM2|HwB#sO6W`0}U>i+Kv(sTsNlwX*EY<2mbSYa2v>a1O+L;r$ip;>s6@F*j*xJiv z50eeHiEOd^ttiKSTqv#LY}Ry34NbaS2g#VLrv?fD`4>*sRa=#drP)cY!Bf`=TpM}j zN@9+jb$8=N@{4=W-H~G~aIW2eKA+Q4p8cko=Xqdr#9AxkPe`)XeV`5*t2CO)`>`P& zG{)~NFK*=+Hb#D}?Zqkbuyz#xNRE4&@D&pCH0bFc#1F)=WPfTq%<;%xmg+iseCiU5 zB6$J-X-9ZBsaR&_%ooxxMz>e>$K%GoflWP1qsiq3Kecn2;_0{+UpycEbWdel_QscO zoUgsTBjNR*8Ek>4v#C?;3?UsgBDS&-F|I&>=a2HSkqI#x358+He7&JRzkWBkZh$tx z_&=rncopK`X$rI|up)sn{WSt)uP#1?g>Iwp0gT-FcMhn~ZY5iXCkO9bI8hGAL$HWQ)R`(zTcR*9XXW#kc+?yH5YxarP zf}zj;f+hae@M5Pjha?kId-#?lQpS)pEKwLOO|gNb zqRh`}UbEI-_#wKysY_G#povZow7>PF?O#=}-4_z7CM9R*PBdqKLmbM-1{h@4=Ln7H SNjQywkFerX-4w3~75xXX0~&4s delta 595 zcmez5*knIpi)M=lLja>>4{z(GR?gIfR*qKgR0kl*3&h5)>_Er~AyX$ld@K~0%pi0) zqO+kvpoNV=P_=IL~xKdJ+O4Ef5H?LxUP@{OP(TJI z;FFq{UXrodot=k^@xkN}!Cc0dlMe~{F}|NHC=@2qY?3V}RFs;S;#68xTq4-;U0u^i zSzX6+a-EPuqBg^kO$|=+4dF*O2s4T>)HXJlF&*0?!eArBmXTVqts&He(Tp*&@o7ZV zb?4jlk&!~|BEn`2kz0}(7#KQ*If^r@QX5^ggoKiFQ-Vv1@{>}9CopLmF$i&s2m+OD z5Eh*LK*)|!e6qZ-9i#5%IAK{v0g2+&lAzS|%;J*NqGI6*Dw7*U^w{+E88(PmZr&`S z&92bIAt}a{mQz}sA(xzNXlP&> 8) ^ (_buffer[i])]) % 65536 - # DEBUG print("CRC: {}".format(crc)) + crc = ((crc << 8) ^ self._CRC_TABLE[(crc >> 8) ^ (_buffer[i])]) % 65536 return crc def readRssi(self): @@ -395,3 +394,41 @@ class CC1101(object): else: error = value >> 1 return error + + def reverseBits(self, data): + data = "{:08b}".format(data) + z = "" + for i in range(len(data),0,-1): + z = z + (data[i-1]) + return int(z, 2) + + def rxPacket(self): + data_length = self.readRegister(self.CC1101_RXBYTES) + #data = "" + if data_length & 0x7f == 15: + data = bytearray(self.DAVIS_PACKET_LENGTH) + data = self.readBurst(self.CC1101_RXFIFO, self.DAVIS_PACKET_LENGTH) + self.rssi = self.readRssi() + self.lqi = self.readLQI() + freqEst = self.readStatus(self.CC1101_FREQEST) + freqError = self.calcFreqError(freqEst) + if DEBUG: + print(b"FERROR: {} (EST: {})".format(freqError, freqEst)) + print(b"FCOMP: {}".format(davis.freqComp)) + if self.freqComp[self.hopIndex] + freqEst <= 255: + self.freqComp[self.hopIndex] = self.freqComp[self.hopIndex] + freqEst + else: + self.freqComp[self.hopIndex] = 255 + self.flush() + self.hop() + self.rx() + data_int = [self.reverseBits(int(item)) for item in data] + crc = self.calcCrc(data_int[:8]) + if crc != 0x0000: + print(b"Corrupt data CRC: {}".format(crc)) + return False + else: + print(b"Data OK, CRC: {}".format(crc)) + return data_int + else: + return False diff --git a/davis_decode.mpy b/davis_decode.mpy index e30be792f4074bde9e960feb514d85252db2d98f..05051c6cd95e179b602e809020b8b3332d8816ea 100644 GIT binary patch delta 85 zcmZ22yIOWb29sbCU$Cp6i>IHvLWsYWLUnD@IHvLWsYWLUnEN