X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2FGoodFETCC.py;h=e2f28e69fb8f7baa0fe9b575d061d555871e5955;hp=9b07a2827a4dac65e951be82ae050eea39e88783;hb=49a1632a34edd4744b1b798b152dfa4101bcd393;hpb=fc8ff13bd2ee78c191c2442d71715a1b044acc1b diff --git a/client/GoodFETCC.py b/client/GoodFETCC.py index 9b07a28..e2f28e6 100644 --- a/client/GoodFETCC.py +++ b/client/GoodFETCC.py @@ -106,6 +106,17 @@ class GoodFETCC(GoodFET): self.data=[adr&0xff, (adr&0xff00)>>8]; self.writecmd(0x30,0x91, 2, self.data); return ord(self.data[0]); + def CCpeekirambyte(self,adr): + """Read the contents of IRAM at an address.""" + self.data=[adr&0xff]; + self.writecmd(0x30,0x02, 1, self.data); + return ord(self.data[0]); + def CCpokeirambyte(self,adr,val): + """Write the contents of IRAM at an address.""" + self.data=[adr&0xff, val&0xff]; + self.writecmd(0x30,0x02, 2, self.data); + return ord(self.data[0]); + def CCpokedatabyte(self,adr,val): """Write a byte to data memory.""" self.data=[adr&0xff, (adr&0xff00)>>8, val]; @@ -118,14 +129,23 @@ class GoodFETCC(GoodFET): """Check the status.""" self.writecmd(0x30,0x84,0,None); return ord(self.data[0]) - CCstatusbits={0x80 : "erased", + #Same as CC2530 + CCstatusbits={0x80 : "erase_busy", 0x40 : "pcon_idle", 0x20 : "cpu_halted", 0x10 : "pm0", 0x08 : "halt_status", 0x04 : "locked", 0x02 : "oscstable", - 0x01 : "overflow"}; + 0x01 : "overflow" + }; + CCconfigbits={0x20 : "soft_power_mode", #new for CC2530 + 0x08 : "timers_off", + 0x04 : "dma_pause", + 0x02 : "timer_suspend", + 0x01 : "sel_flash_info_page" #stricken from CC2530 + }; + def CCstatusstr(self): """Check the status as a string.""" status=self.CCstatus();