X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2FGoodFETCC.py;h=b70013137d8e52782b6ad5ea3da11f778270ae3d;hp=093709d589c737a4e6e91a07aade22d9db1b4e10;hb=d3dd9b72ba6d3335cbae4ef560a25e9f707a4435;hpb=c8bfdc4d07ad8331f3ca1db80185637b455ddf1b diff --git a/client/GoodFETCC.py b/client/GoodFETCC.py index 093709d..b700131 100644 --- a/client/GoodFETCC.py +++ b/client/GoodFETCC.py @@ -82,6 +82,15 @@ class GoodFETCC(GoodFET): 0xA500:"CC2530", #page 52 of SWRU191 0xB500:"CC2531", 0xFF00:"CCmissing"}; + CCpagesizes={0x01: 1024, #"CC1110", + 0x85: 2048, #"CC2430", + 0x89: 2048, #"CC2431", + 0x81: 1024, #"CC2510", + 0x91: 1024, #"CC2511", + 0xA5: 2048, #"CC2530", #page 52 of SWRU191 + 0xB5: 2048, #"CC2531", + 0xFF: 0 } #"CCmissing"}; + def CCidentstr(self): ident=self.CCident(); chip=self.CCversions.get(ident&0xFF00); @@ -92,6 +101,17 @@ class GoodFETCC(GoodFET): chip=ord(self.data[0]); rev=ord(self.data[1]); return (chip<<8)+rev; + def CCpagesize(self): + """Get a chipcon's ID.""" + self.writecmd(0x30,0x8B,0,None); + chip=ord(self.data[0]); + size=self.CCpagesizes.get(chip); + if(size<10): + print "ERROR: Pagesize undefined."; + print "chip=%02x" %chip; + sys.exit(1); + #return 2048; + return size; def CCgetPC(self): """Get a chipcon's PC.""" self.writecmd(0x30,0x83,0,None);