Because the ESP-IDF supports [runtime log level control](https://docs.espressif.com/projects/esp-idf/en/v5.5.2/esp32s3/api-reference/system/log.html#log-level-control), SystemK required some tweak to take full advantage of this.
This PR makes the following changes to SystemK:
- On the ESP32 platform, the highest logging level *compiled in* to the app is now controlable by Kconfig, as "SystemK maximum log level".
- [Protocols.c](272618d49d/Protocols/Protocols.c) was refactored, and the `DEBUG_PACKET_[EN/DE]CODE` #defines were renamed to make it clear that they now only apply to the PSoC platform.
- Some decoding warnings in the Test Protocol were downgraded to debug, since they were a nuisance most of the time.
Co-authored-by: Joe Kearney <joe@clubk.club>
Reviewed-on: #10
The [Rapid Fire](#6) change *significantly altered how we played the game, and it was not as fun. We're reverting this change until we have better ideas.
Co-authored-by: Joe Kearney <joe@clubk.club>
Reviewed-on: #7
After much testing (and releasing of magic smoke), we determined that when the *Dubuque Protocol* is being employed, a holdoff of 100ms is sufficient to keep the IR LEDs alive in the 2024B "Far Horizon" barrel board.
We tested with both [TSAL6100](https://www.vishay.com/en/product/81009/) and [VSLY5940](https://www.vishay.com/en/product/84240/) LEDs at 25°C ambient.
Note that at the time of writing, [the 2020TPC cannot receive these tags](Software/2020TPC-SW#3).
Co-authored-by: Joe Kearney <joe@clubk.club>
Reviewed-on: #6
At Mike's request, I added better feedback (lights and sounds) for reentry after being tagged out.
The UX now mimics the countdown at the beginning of the game (with the accompanying boop-boop-boop-boop-boop-BEEP sounds), which should help new players understand what is going on.
Co-authored-by: Joe Kearney <joe@clubk.club>
Reviewed-on: #4
Until we have menus implemented to change protocols, the Dubuque Protocol will be the default.
Fixes Management/KTag_Project_Management#5
Co-authored-by: Joe Kearney <joe@clubk.club>
Reviewed-on: #3
This was done to support the new KTag Konfigurator app, which Jack created for his Senior Design project.
Co-authored-by: Joe Kearney <joe@clubk.club>
Reviewed-on: #2
With the advent of the new State Machine, there is opportunity in the *Configuring* state for a player to select his team by pressing the *Accessory* button. The Mobile App or IR remote can also be used, as before.

I also consolidated some duplicated code into `Set_Team_With_Audio_Feedback()`.
Co-authored-by: Joe Kearney <joe@clubk.club>
Reviewed-on: #1