\r
def writeFlash(self, flashData):\r
#Set load addr to 0, in case we have more then 64k flash we need to enable the address extension\r
- flashSize = self.chip['pageSize'] * 2 * self.chip['pageCount']\r
+ pageSize = self.chip['pageSize'] * 2\r
+ flashSize = pageSize * self.chip['pageCount']\r
if flashSize > 0xFFFF:\r
self.sendMessage([0x06, 0x80, 0x00, 0x00, 0x00])\r
else:\r
self.sendMessage([0x06, 0x00, 0x00, 0x00, 0x00])\r
\r
- loadCount = (len(flashData) + 0xFF) / 0x100\r
+ loadCount = (len(flashData) + pageSize - 1) / pageSize\r
for i in xrange(0, loadCount):\r
- recv = self.sendMessage([0x13, 0x01, 0x00, 0xc1, 0x0a, 0x40, 0x4c, 0x20, 0x00, 0x00] + flashData[(i * 0x100):(i * 0x100 + 0x100)])\r
+ recv = self.sendMessage([0x13, pageSize >> 8, pageSize & 0xFF, 0xc1, 0x0a, 0x40, 0x4c, 0x20, 0x00, 0x00] + flashData[(i * pageSize):(i * pageSize + pageSize)])\r
if self.progressCallback != None:\r
self.progressCallback(i + 1, loadCount*2)\r
\r