FALSE value on the function above does not necessarily mean all of the occlusion sensors' reading is below the threshold. It can be one of them is below the threshold. This function makes sure all of them are below the threshold.
On the DG side, I move this function into Alarm Management module. I find it better than individually handle them one by one and it still gives flexibility in case we need to handle another persistent alarm differently.
I know, but the clearing occurs before the mode gets this signal (see signalAlarmUserActionInitiated() in AlarmMgmt.c). So you don't need to clear it again here.
Is half fill appropriate for both reservoirs? I think we need a TODO here to determine the fill volume we want for each reservoir and I believe they will be different in the end so we probably need two #defines here.
I see that you nicely put the _keyboard.setVisible(true) in the TextEntry component. Don't you think it would be better to put _keyboard.setVisible(false) on onEnteredPressed in the TextEntry component as well, somewehere next to the lines below?