Files
TransparentBox-V1/src/base/task.h
2026-05-20 18:42:51 +02:00

72 lines
1.4 KiB
C++

// Copyright (C) 2026 Hector van der Aa <hector@h3cx.dev>
// Copyright (C) 2026 Association Exergie <association.exergie@gmail.com>
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include <inttypes.h>
#include <Arduino.h>
namespace module {
enum Id : uint8_t {
Cmd,
Config,
Gps,
Lcd,
Battery,
Thermocouple,
Telemetry,
LapCounter,
InjectionCounter,
Count,
Null,
All,
};
} // namespace module
namespace task {
enum Type : uint8_t {
Null,
DisplayGpsDebug,
DisplayDriverPrimary,
DisplayMsgGpsFix,
DisplayMsgTrackDetectOk,
DisplayMsgConfigNoTracks,
DisplayMsgBatteryLow,
DisplayMsgEngineTempLow,
DisplayMsgEngineTempHigh,
DisplayMsgLapCounterStart,
DisplayMsgLapCounterLapTime,
DisplayMsgCorruptedConfig,
DisplayMsgCorruptedTrack,
ConfigTrackDetect,
ConfigWriteTempTrack,
ConfigTrackDelete,
ConfigReset,
ConfigVbatCalSet,
ConfigVbatSetLow,
ConfigTengSetLow,
ConfigTengSetHigh,
ConfigTengSetOffset,
BatteryCal,
TelemetrySendLapPacket,
AllConfigUpdated,
AllTrackLoaded,
AllStartLineTriggered,
AllGpsFixOk,
};
} // namespace task
struct Task {
Task(module::Id target = module::Null,
task::Type type = task::Null,
uint32_t data = 0)
: target_(target), type_(type), data_(data) {}
module::Id target_;
task::Type type_;
uint32_t data_;
};