forked from Elara6331/infinitime
		
	Prevent sending of extra zero bytes during DFU
This commit is contained in:
		
							
								
								
									
										10
									
								
								dfu.go
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								dfu.go
									
									
									
									
									
								
							| @@ -346,8 +346,16 @@ func (dfu *DFU) stepSeven() error { | |||||||
| 	// While send is not done | 	// While send is not done | ||||||
| 	for !dfu.fwSendDone { | 	for !dfu.fwSendDone { | ||||||
| 		for i := 0; i < DFUPktRecvInterval; i++ { | 		for i := 0; i < DFUPktRecvInterval; i++ { | ||||||
|  | 			amtLeft := int(dfu.fwSize) - dfu.bytesSent | ||||||
|  | 			var segment []byte | ||||||
|  | 			// If amount left is less than segment size | ||||||
|  | 			if amtLeft < DFUSegmentSize { | ||||||
|  | 				// Create byte slice with amount left | ||||||
|  | 				segment = make([]byte, amtLeft) | ||||||
|  | 			} else { | ||||||
| 				// Create byte slice with segment size | 				// Create byte slice with segment size | ||||||
| 			segment := make([]byte, DFUSegmentSize) | 				segment = make([]byte, DFUSegmentSize) | ||||||
|  | 			} | ||||||
| 			// Write firmware image into slice | 			// Write firmware image into slice | ||||||
| 			n, err := dfu.fwImage.Read(segment) | 			n, err := dfu.fwImage.Read(segment) | ||||||
| 			// If EOF, send is done | 			// If EOF, send is done | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user