Fix BMI270 firmware upload crash (#453)

* Fix BMI270 firmware upload crash

* Undo bmi270fw.h changes
This commit is contained in:
gorbit99
2025-05-31 18:12:47 +02:00
committed by GitHub
parent 3a3c318b0d
commit df17b31b59

View File

@@ -258,6 +258,7 @@ struct BMI270 {
Regs::InitCtrl::reg,
Regs::InitCtrl::valueStartInit
);
auto* firmware_buffer = new uint8_t[RegisterInterface::MaxTransactionLength];
for (uint16_t pos = 0; pos < sizeof(bmi270_firmware);) {
// tell the device current position
@@ -273,13 +274,11 @@ struct BMI270 {
static_cast<size_t>(sizeof(bmi270_firmware) - pos),
RegisterInterface::MaxTransactionLength
);
m_RegisterInterface.writeBytes(
Regs::InitData,
burstWrite,
const_cast<uint8_t*>(bmi270_firmware + pos)
);
memcpy_P(firmware_buffer, bmi270_firmware + pos, burstWrite);
m_RegisterInterface.writeBytes(Regs::InitData, burstWrite, firmware_buffer);
pos += burstWrite;
}
delete[] firmware_buffer;
m_RegisterInterface.writeReg(Regs::InitCtrl::reg, Regs::InitCtrl::valueEndInit);
delay(140);