From d382f066165c8ec07a2693620b3f28807de1e5b0 Mon Sep 17 00:00:00 2001 From: travisutk Date: Fri, 26 Feb 2010 21:39:40 +0000 Subject: [PATCH] Bitfields in radioinfo git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@356 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- client/GoodFETCC.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/client/GoodFETCC.py b/client/GoodFETCC.py index 9468b42..7468834 100644 --- a/client/GoodFETCC.py +++ b/client/GoodFETCC.py @@ -24,6 +24,18 @@ class GoodFETCC(GoodFET): def CMDrs(self,args=[]): """Chip command to grab the radio state.""" self.SRF_radiostate(); + def SRF_bitfieldstr(self,bf): + name="unused"; + start=0; + stop=0; + access=""; + reset="0x00"; + description=""; + for e in bf.childNodes: + if e.localName=="Name" and e.childNodes: name= e.childNodes[0].nodeValue; + elif e.localName=="Start": start=e.childNodes[0].nodeValue; + elif e.localName=="Stop": stop=e.childNodes[0].nodeValue; + return "[%s:%s] %15s " % (start,stop,name); def SRF_radiostate(self): ident=self.CCident(); chip=self.CCversions.get(ident&0xFF00); @@ -36,6 +48,7 @@ class GoodFETCC(GoodFET): name="unknownreg"; address="0xdead"; description=""; + bitfields=""; for g in f.childNodes: if g.localName=="Name": name=g.childNodes[0].nodeValue; @@ -44,9 +57,12 @@ class GoodFETCC(GoodFET): elif g.localName=="Description": if g.childNodes: description=g.childNodes[0].nodeValue; + elif g.localName=="Bitfield": + bitfields+="%17s/* %10s */\n" % ("",self.SRF_bitfieldstr(g)); #print "SFRX(%10s, %s); /* %50s */" % (name,address, description); print "%-10s=0x%02x; /* %-50s */" % ( name,self.CCpeekdatabyte(eval(address)), description); + if bitfields!="": print bitfields.rstrip(); def CChaltcpu(self): """Halt the CPU.""" self.writecmd(self.APP,0x86,0,self.data); -- 2.20.1