diff --git a/usrc/board/public_board.cpp b/usrc/board/public_board.cpp index 2df44a5..605acfc 100644 --- a/usrc/board/public_board.cpp +++ b/usrc/board/public_board.cpp @@ -127,7 +127,18 @@ int PublicBoard::getBoardTypeId() { // return id; } } -int PublicBoard::getBoardId() { return IdMgr::ins().getBoardId(getBoardTypeId()); } +int PublicBoard::getBoardId() { + int boardIdoff = 0; + if (getBoardTypeId() == kH2O2SensorBoard) { + static ZGPIO id_from_machine; // 消毒机上的开关 + if (!id_from_machine.isInited()) { + id_from_machine.initAsInput(PE8, kxs_gpio_nopull, kxs_gpio_no_irq, false); + } + boardIdoff = id_from_machine.read() ? 1 : 2; + } + + return IdMgr::ins().getBoardId(getBoardTypeId()) + boardIdoff; +} namespace iflytop { bool isBoardType(int32_t val0) {