32ESPecial Version 1.00 (#9)
This release reworked the initialization code to provide more robust initialization, especially when no USB stick is present. It incorporates [Version 1.0 of SystemK](Software/SystemK#9). This is the first release for the [32ESPecial Blaster Kits](https://link.clubk.club/2025002). Co-authored-by: Joe Kearney <joe@clubk.club> Reviewed-on: #9
This commit is contained in:
parent
14ec8fe280
commit
e12ee17973
67 changed files with 1232 additions and 649 deletions
59
components/System_Events/System_Events.c
Normal file
59
components/System_Events/System_Events.c
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* This program source code file is part of the KTag project, a DIY laser tag
|
||||
* game with customizable features and wide interoperability.
|
||||
*
|
||||
* 🛡️ <https://ktag.clubk.club> 🃞
|
||||
*
|
||||
* Copyright © 2025 Joseph P. Kearney and the KTag developers.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it under
|
||||
* the terms of the GNU Affero General Public License as published by the Free
|
||||
* Software Foundation, either version 3 of the License, or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
||||
* details.
|
||||
*
|
||||
* There should be a copy of the GNU Affero General Public License in the LICENSE
|
||||
* file in the root of this repository. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "System_Events.h"
|
||||
|
||||
static EventGroupHandle_t The_System_Events = NULL;
|
||||
|
||||
static const char *TAG = "System Events";
|
||||
|
||||
void Initialize_System_Events(void)
|
||||
{
|
||||
if (The_System_Events == NULL)
|
||||
{
|
||||
The_System_Events = xEventGroupCreate();
|
||||
KLOG_INFO(TAG, "System Events initialized.");
|
||||
}
|
||||
}
|
||||
|
||||
EventGroupHandle_t Get_System_Events(void)
|
||||
{
|
||||
return The_System_Events;
|
||||
}
|
||||
|
||||
bool Wait_For_System_Event(EventBits_t event_bit, const char* timeout_message, uint32_t timeout_ms)
|
||||
{
|
||||
EventBits_t bits = xEventGroupWaitBits(
|
||||
The_System_Events,
|
||||
event_bit,
|
||||
pdFALSE,
|
||||
pdTRUE,
|
||||
pdMS_TO_TICKS(timeout_ms));
|
||||
|
||||
if ((bits & event_bit) == 0)
|
||||
{
|
||||
KLOG_ERROR(TAG, "%s", timeout_message);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue