ADD mail box for gear device

This commit is contained in:
fastium
2025-01-03 20:22:23 +01:00
parent 62fd302d84
commit 4fb09c690c
4 changed files with 99 additions and 76 deletions

View File

@@ -63,6 +63,7 @@ class BikeSystem {
private:
// private methods
void init();
// Main Thread
void temperatureTask();
void displayTask1();
@@ -71,24 +72,26 @@ class BikeSystem {
// ISR Thread
void onReset();
void onGearUp();
void onGearDown();
void gearUpTask();
void gearDownTask();
void speedDistanceTask();
void resetTask();
//
// gear Thread
void gearTask();
// Speed / Distance Thread
void speedDistanceTask();
// GETTER - SETTER
uint8_t getCurrentGear();
uint8_t getCurrentGearSize();
uint32_t getCurrentSpeed();
uint32_t getCurrentDistance();
void setCurrentGear(uint8_t gear);
// Thread functions
void dispatch_isr_events();
void dispatch_events();
void loop_speed_distance_task();
void loop_gear_task();
// timer instance used for loggint task time and used by ResetDevice
std::chrono::microseconds _resetTime = std::chrono::microseconds::zero();
@@ -137,6 +140,7 @@ class BikeSystem {
// Mail
Mail<uint32_t, 16> _mailPedalDevice;
Mail<uint8_t, 16> _mailGearDevice;
// mutex for shared resource
Mutex _mutexGearSize;
@@ -148,6 +152,7 @@ class BikeSystem {
// Tread for isr events
Thread _isrEventThread;
Thread _speedDistanceThread;
Thread _gearTaskThread;
};
} // namespace multi_tasking