From 521b294f07f1e0c0cfbb76b505dc13b50c89288f Mon Sep 17 00:00:00 2001 From: travisutk Date: Thu, 27 May 2010 15:43:05 +0000 Subject: [PATCH] More of a Radio client. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@574 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- client/GoodFETCC.py | 8 ++++++++ client/GoodFETNRF.py | 2 +- client/goodfet.rf | 17 +++++++++++++---- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/client/GoodFETCC.py b/client/GoodFETCC.py index 672c1af..b4ce51f 100644 --- a/client/GoodFETCC.py +++ b/client/GoodFETCC.py @@ -16,6 +16,10 @@ import xml.dom.minidom; class GoodFETCC(GoodFET): """A GoodFET variant for use with Chipcon 8051 Zigbee SoC.""" APP=0x30; + + + + smartrfpath="/opt/smartrf7"; def loadsymbols(self): try: self.SRF_loadsymbols(); @@ -68,6 +72,10 @@ class GoodFETCC(GoodFET): print "%-10s=0x%02x; /* %-50s */" % ( name,self.CCpeekdatabyte(eval(address)), description); if bitfields!="": print bitfields.rstrip(); + def RF_getrssi(self): + """Returns the received signal strenght, from 0 to 1.""" + rssireg=self.symbols.get("RSSI"); + return self.CCpeekdatabyte(rssireg); def SRF_loadsymbols(self): ident=self.CCident(); chip=self.CCversions.get(ident&0xFF00); diff --git a/client/GoodFETNRF.py b/client/GoodFETNRF.py index 82cfbb4..6d07171 100644 --- a/client/GoodFETNRF.py +++ b/client/GoodFETNRF.py @@ -147,7 +147,7 @@ class GoodFETNRF(GoodFET): return None; def RF_carrier(self): """Hold a carrier wave on the present frequency.""" - # Set CONT_WAVE, PLL_LOCK, and 0dBm in RF_SETUP + # Set CONT_WAVE, PLL_LOCK, and 0dBm in RF_SETUP self.poke(0x06,8+10+4+2); packetlen=16; diff --git a/client/goodfet.rf b/client/goodfet.rf index d65fc14..7b66efd 100755 --- a/client/goodfet.rf +++ b/client/goodfet.rf @@ -8,7 +8,7 @@ import binascii; import array; import time; -from GoodFETNRF import GoodFETNRF; +from GoodFETRadio import GoodFETRadio; from intelhex import IntelHex; from GoodFET import GoodFET, getClient; @@ -16,6 +16,7 @@ if(len(sys.argv)==1): print "Usage: %s [driver|verb] verb [objects]\n" % sys.argv[0]; print "driver:= cc | nrf"; #msp430 print "verb:= info"; + print " rs|radioinfo"; print " test"; print " regs"; print " sniff"; @@ -24,10 +25,18 @@ if(len(sys.argv)==1): driver=sys.argv[1]; print "Using driver %s" % driver; -#client=eval("%s()" % driver); -client=getClient(driver); -client.serInit(); +client=GoodFETRadio(getClient(driver)); client.start(); + + + + + +if sys.argv[2]=='test': + client.test(); +if sys.argv[2]=='rssi': + rssireg=client.getrssi(); + print "RSSI=%04x" % rssireg; client.stop(); -- 2.20.1