mirror of
https://github.com/pybricks/pybricks-code.git
synced 2026-09-12 09:36:27 +00:00
firmware: fix flashing on Android
Hubs that don't use the minimum chunk size will fail on Android since it defaults to the smallest possible MTU. Issue: https://github.com/pybricks/support/issues/403
This commit is contained in:
committed by
David Lechner
parent
56c739fa08
commit
ce8f59e0c2
@@ -55,6 +55,7 @@ import {
|
||||
import { RootState } from '../reducers';
|
||||
import { defined, maybe } from '../utils';
|
||||
import { fmod, sumComplement32 } from '../utils/math';
|
||||
import { isAndroid } from '../utils/os';
|
||||
import {
|
||||
FailToFinishReasonType,
|
||||
FlashFirmwareActionType,
|
||||
@@ -376,8 +377,9 @@ function* flashFirmware(action: FlashFirmwareFlashAction): Generator {
|
||||
yield* disconnectAndCancel();
|
||||
}
|
||||
|
||||
// 14 is "safe" size for all hubs
|
||||
const maxDataSize = MaxProgramFlashSize.get(info.hubType) || 14;
|
||||
// 14 is "safe" size for all hubs and Android
|
||||
const maxDataSize =
|
||||
(!isAndroid() && MaxProgramFlashSize.get(info.hubType)) || 14;
|
||||
|
||||
for (let count = 1, offset = 0; ; count++) {
|
||||
const payload = firmware.slice(offset, offset + maxDataSize);
|
||||
|
||||
Reference in New Issue
Block a user