@@ -125,53 +125,53 @@ def program_file(self, chip, file_name, verbose=False, verify=True):
125125
126126 # create a file state dictionary
127127 file_state = {"line" : 0 , "ext_addr" : 0 , "eof" : False }
128- file_state ["f" ] = open (file_name , "r" )
128+ with open (file_name , "r" ) as file_state [ # pylint: disable=unspecified-encoding
129+ "f"
130+ ]:
131+ page_size = chip ["page_size" ]
129132
130- page_size = chip ["page_size" ]
131-
132- for page_addr in range (0 , chip ["flash_size" ], page_size ):
133- if verbose :
134- print ("Programming page $%04X..." % page_addr , end = "" )
135- page_buffer = bytearray (page_size )
136- for b in range (page_size ):
137- page_buffer [b ] = 0xFF # make an empty page
138-
139- read_hex_page (file_state , page_addr , page_size , page_buffer )
140-
141- if all (v == 255 for v in page_buffer ):
133+ for page_addr in range (0 , chip ["flash_size" ], page_size ):
142134 if verbose :
143- print ("skipping" )
144- continue
135+ print ("Programming page $%04X..." % page_addr , end = "" )
136+ page_buffer = bytearray (page_size )
137+ for b in range (page_size ):
138+ page_buffer [b ] = 0xFF # make an empty page
145139
146- # print("From HEX file: ", page_buffer)
147- self ._flash_page (bytearray (page_buffer ), page_addr , page_size )
140+ read_hex_page (file_state , page_addr , page_size , page_buffer )
148141
149- if not verify :
150- if verbose :
151- print ("done! " )
152- continue
142+ if all ( v == 255 for v in page_buffer ) :
143+ if verbose :
144+ print ("skipping " )
145+ continue
153146
154- if verbose :
155- print ("Verifying page @ $%04X" % page_addr )
156- read_buffer = bytearray (page_size )
157- self .read (page_addr , read_buffer )
158- # print("From memory: ", read_buffer)
147+ # print("From HEX file: ", page_buffer)
148+ self ._flash_page (bytearray (page_buffer ), page_addr , page_size )
159149
160- if page_buffer != read_buffer :
161- if verbose :
162- # pylint: disable=line-too-long
163- print (
164- "Verify fail at address %04X\n Page should be: %s\n But contains: %s"
165- % (page_addr , page_buffer , read_buffer )
166- )
167- # pylint: enable=line-too-long
168- self .end ()
169- return False
150+ if not verify :
151+ if verbose :
152+ print ("done!" )
153+ continue
170154
171- if file_state ["eof" ]:
172- break # we're done, bail!
155+ if verbose :
156+ print ("Verifying page @ $%04X" % page_addr )
157+ read_buffer = bytearray (page_size )
158+ self .read (page_addr , read_buffer )
159+ # print("From memory: ", read_buffer)
160+
161+ if page_buffer != read_buffer :
162+ if verbose :
163+ # pylint: disable=line-too-long
164+ print (
165+ "Verify fail at address %04X\n Page should be: %s\n But contains: %s"
166+ % (page_addr , page_buffer , read_buffer )
167+ )
168+ # pylint: enable=line-too-long
169+ self .end ()
170+ return False
171+
172+ if file_state ["eof" ]:
173+ break # we're done, bail!
173174
174- file_state ["f" ].close ()
175175 self .end ()
176176 return True
177177
@@ -185,40 +185,40 @@ def verify_file(self, chip, file_name, verbose=False):
185185
186186 # create a file state dictionary
187187 file_state = {"line" : 0 , "ext_addr" : 0 , "eof" : False }
188- file_state ["f" ] = open (file_name , "r" )
188+ with open (file_name , "r" ) as file_name [ # pylint: disable=unspecified-encoding
189+ "f"
190+ ]:
191+ page_size = chip ["page_size" ]
192+ clock_speed = getattr (chip , "clock_speed" , _FAST_CLOCK )
193+ self .begin (clock = clock_speed )
194+ for page_addr in range (0x0 , chip ["flash_size" ], page_size ):
195+ page_buffer = bytearray (page_size )
196+ for b in range (page_size ):
197+ page_buffer [b ] = 0xFF # make an empty page
198+
199+ read_hex_page (file_state , page_addr , page_size , page_buffer )
189200
190- page_size = chip ["page_size" ]
191- clock_speed = getattr (chip , "clock_speed" , _FAST_CLOCK )
192- self .begin (clock = clock_speed )
193- for page_addr in range (0x0 , chip ["flash_size" ], page_size ):
194- page_buffer = bytearray (page_size )
195- for b in range (page_size ):
196- page_buffer [b ] = 0xFF # make an empty page
197-
198- read_hex_page (file_state , page_addr , page_size , page_buffer )
199-
200- if verbose :
201- print ("Verifying page @ $%04X" % page_addr )
202- read_buffer = bytearray (page_size )
203- self .read (page_addr , read_buffer )
204- # print("From memory: ", read_buffer)
205- # print("From file : ", page_buffer)
206-
207- if page_buffer != read_buffer :
208201 if verbose :
209- # pylint: disable=line-too-long
210- print (
211- "Verify fail at address %04X\n Page should be: %s\n But contains: %s"
212- % (page_addr , page_buffer , read_buffer )
213- )
214- # pylint: enable=line-too-long
215- self .end ()
216- return False
217-
218- if file_state ["eof" ]:
219- break # we're done, bail!
202+ print ("Verifying page @ $%04X" % page_addr )
203+ read_buffer = bytearray (page_size )
204+ self .read (page_addr , read_buffer )
205+ # print("From memory: ", read_buffer)
206+ # print("From file : ", page_buffer)
207+
208+ if page_buffer != read_buffer :
209+ if verbose :
210+ # pylint: disable=line-too-long
211+ print (
212+ "Verify fail at address %04X\n Page should be: %s\n But contains: %s"
213+ % (page_addr , page_buffer , read_buffer )
214+ )
215+ # pylint: enable=line-too-long
216+ self .end ()
217+ return False
218+
219+ if file_state ["eof" ]:
220+ break # we're done, bail!
220221
221- file_state ["f" ].close ()
222222 self .end ()
223223 return True
224224
0 commit comments