Subversion Repositories freemyipod

Rev

Rev 341 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 341 Rev 342
Line 115... Line 115...
115
        self.lib.monitorcommand(struct.pack("IIII", 7, addr, len(data), 0), "III", (None, None, None))
115
        self.lib.monitorcommand(struct.pack("IIII", 7, addr, len(data), 0), "III", (None, None, None))
116
        return self.lib.dev.dout(data)
116
        return self.lib.dev.dout(data)
117
    
117
    
118
    def getversioninfo(self):
118
    def getversioninfo(self):
119
        """ This returns the emBIOS version and device information. """
119
        """ This returns the emBIOS version and device information. """
120
        return self.lib.monitorcommand(struct.pack("IIII", 1, 0, 0, 0), "IBBBBI", ("revision", "majorv", "minorv", "patchv", "swtypeid", "hwtypeid"))
120
        resp = self.lib.monitorcommand(struct.pack("IIII", 1, 0, 0, 0), "IBBBBI", ("revision", "majorv", "minorv", "patchv", "swtypeid", "hwtypeid"))
-
 
121
        self.lib.dev.version.revision = resp.revision
-
 
122
        self.lib.dev.version.majorv = resp.majorv
-
 
123
        self.lib.dev.version.minorv = resp.minorv
-
 
124
        self.lib.dev.version.patchv = resp.patchv
-
 
125
        self.lib.dev.swtypeid = resp.swtypeid
-
 
126
        self.lib.dev.hwtypeid = resp.hwtypeid
-
 
127
        return resp
121
    
128
    
122
    def getpacketsizeinfo(self):
129
    def getpacketsizeinfo(self):
123
        """ This returns the emBIOS max packet size information.
130
        """ This returns the emBIOS max packet size information.
124
            It also sets the properties of the device object accordingly.
131
            It also sets the properties of the device object accordingly.
125
        """
132
        """
Line 130... Line 137...
130
        self.lib.dev.packetsizelimit['dout'] = resp.doutmax
137
        self.lib.dev.packetsizelimit['dout'] = resp.doutmax
131
        return resp
138
        return resp
132
    
139
    
133
    def getusermemrange(self):
140
    def getusermemrange(self):
134
        """ This returns the memory range the user has access to. """
141
        """ This returns the memory range the user has access to. """
135
        return self.lib.monitorcommand(struct.pack("IIII", 1, 2, 0, 0), "III", ("lower", "upper", None))
142
        resp = self.lib.monitorcommand(struct.pack("IIII", 1, 2, 0, 0), "III", ("lower", "upper", None))
-
 
143
        self.lib.dev.usermem.lower = resp.lower
-
 
144
        self.lib.dev.usermem.upper = resp.upper
-
 
145
        return resp
136
    
146
    
137
    def reset(self, force=False):
147
    def reset(self, force=False):
138
        """ Reboot the device """
148
        """ Reboot the device """
139
        if force:
149
        if force:
140
            return self.lib.monitorcommand(struct.pack("IIII", 2, 0, 0, 0))
150
            return self.lib.monitorcommand(struct.pack("IIII", 2, 0, 0, 0))
Line 529... Line 539...
529
        self.timeout = 100
539
        self.timeout = 100
530
 
540
 
531
        self.connect()
541
        self.connect()
532
        self.findEndpoints()
542
        self.findEndpoints()
533
        
543
        
-
 
544
        
-
 
545
        # Device properties
534
        self.packetsizelimit = {}
546
        self.packetsizelimit = {}
535
        self.packetsizelimit['cout'] = None
547
        self.packetsizelimit['cout'] = None
536
        self.packetsizelimit['cin'] = None
548
        self.packetsizelimit['cin'] = None
537
        self.packetsizelimit['dout'] = None
549
        self.packetsizelimit['dout'] = None
538
        self.packetsizelimit['din'] = None
550
        self.packetsizelimit['din'] = None
-
 
551
        
-
 
552
        self.version.revision = None
-
 
553
        self.version.majorv = None
-
 
554
        self.version.minorv = None
-
 
555
        self.version.patchv = None
-
 
556
        self.swtypeid = None
-
 
557
        self.hwtypeid = None
-
 
558
        
-
 
559
        self.usermem.lower = None
-
 
560
        self.usermem.upper = None
539
    
561
    
540
    def __del__(self):
562
    def __del__(self):
541
        self.disconnect()
563
        self.disconnect()
542
    
564
    
543
    def findEndpoints(self):
565
    def findEndpoints(self):