fixed remote PitHold, added persistant boardID

This commit is contained in:
2025-03-03 20:41:12 +01:00
parent 508f5f32e4
commit 06a286eadd
4 changed files with 113 additions and 98 deletions

View File

@@ -9,13 +9,15 @@ void pollInput (){
switchRUMBLE.poll();
switchPIT.poll();
buttonSTARTvar = buttonSTART.singleClick();
buttonSTARTforced = buttonSTART.longPress();
buttonPAUSEvar = buttonPAUSE.singleClick();
buttonPITvar = buttonPIT.singleClick();
buttonPIThold = buttonPIT.on();
buttonRESETvar = buttonRESET.longPress();
// only set the var if the button was actually pushed or released, to prevent overriding data from the remote
if (buttonSTART.singleClick() || buttonSTART.longPress() || buttonPAUSE.singleClick() || buttonPIT.singleClick() || buttonPIT.switched() || buttonRESET.longPress()) {
buttonSTARTvar = buttonSTART.singleClick();
buttonSTARTforced = buttonSTART.longPress();
buttonPAUSEvar = buttonPAUSE.singleClick();
buttonPITvar = buttonPIT.singleClick();
buttonPIThold = buttonPIT.on();
buttonRESETvar = buttonRESET.longPress();
}
// if (buttonREDTEAM.pushed()) {
// buttonREDTEAMvar = true;
// if (ARENA_READY && !REDTEAM_READY) {

View File

@@ -78,15 +78,8 @@ typedef struct struct_message_Clock {
struct_message_Clock sendClockDATA;
// send config, pilot buttons:
uint8_t broadcastAddressREDTEAMbutton[] = {0x48, 0x27, 0xE2, 0x5D, 0xB6, 0x84};
uint8_t broadcastAddressBLUETEAMbutton[] = {0x48, 0x27, 0xE2, 0x5D, 0xB6, 0x84};
// struct for pilot button data:
typedef struct struct_message_TEAMButton {
bool REDTEAMButtonLED;
bool BLUETEAMButtonLED;
} struct_message_TEAMButton;
struct_message_TEAMButton sendTEAMButtonDATA;
uint8_t broadcastAddressREDTEAMbutton[] = {0x84, 0xFC, 0xE6, 0xC7, 0x27, 0x14};
uint8_t broadcastAddressBLUETEAMbutton[] = {0x84, 0xFC, 0xE6, 0xC7, 0x1A, 0x02};
esp_now_peer_info_t peerInfo;
@@ -285,10 +278,10 @@ void loop() {
openPITmanually();
}
// automatic pit release
if (FightCountDown[0].remaining() == PITreleaseTime && switchPIT.on() && buttonPIThold == false) {
if (FightCountDown[0].remaining() <= PITreleaseTime && FightCountDown[0].remaining() != 0 && !switchRUMBLE.on() && switchPIT.on() && buttonPIThold == false) {
openPIT();
}
if (rumbleTIME.elapsed() == PITreleaseTime && switchPIT.on() && buttonPIThold == false) {
if (rumbleTIME.elapsed() >= PITreleaseTime && switchRUMBLE.on() && switchPIT.on() && buttonPIThold == false) {
openPIT();
}
// reset button logic