From: travisutk Date: Fri, 26 Feb 2010 21:39:40 +0000 (+0000) Subject: Bitfields in radioinfo X-Git-Url: http://git.rot13.org/?p=goodfet;a=commitdiff_plain;h=d382f066165c8ec07a2693620b3f28807de1e5b0;hp=f4d6dd6f31d98ff8ca5356a32fce900a2cfee2dd Bitfields in radioinfo git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@356 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- 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);