mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/TACOS.git
synced 2025-06-12 01:25:59 +00:00
First (unsuccessful) tests, system events not working correctly
This commit is contained in:
parent
3c648b5e2f
commit
92525d790e
@ -11,6 +11,7 @@
|
|||||||
#include <sta/tacos/thread.hpp>
|
#include <sta/tacos/thread.hpp>
|
||||||
#include <sta/tacos/statemachine.hpp>
|
#include <sta/tacos/statemachine.hpp>
|
||||||
#include <sta/tacos/can_bus.hpp>
|
#include <sta/tacos/can_bus.hpp>
|
||||||
|
#include <sta/tacos/system/events.hpp>
|
||||||
|
|
||||||
#include <initializer_list>
|
#include <initializer_list>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
@ -26,7 +26,21 @@
|
|||||||
*
|
*
|
||||||
* @ingroup STA_RTOS_SysEvent
|
* @ingroup STA_RTOS_SysEvent
|
||||||
*/
|
*/
|
||||||
#define STA_TACOS_SYSTEM_EVENTS_STARTUP 0x100000U
|
|
||||||
|
#define STA_TACOS_EVENT_SYSTEM_MASK (0xFFFE0000U >> 1)
|
||||||
|
#define STA_TACOS_EVENT_TIMER_MASK (0x7FC00000U >> 1)
|
||||||
|
|
||||||
|
#define STA_TACOS_SYSTEM_EVENTS_STARTUP (0x01U << 30)
|
||||||
|
|
||||||
|
#define STA_TACOS_TICK_100_Hz (0x01U << 29)
|
||||||
|
#define STA_TACOS_TICK_50_Hz (0x01U << 28)
|
||||||
|
#define STA_TACOS_TOCK_50_Hz (0x01U << 27)
|
||||||
|
#define STA_TACOS_TICK_20_Hz (0x01U << 26)
|
||||||
|
#define STA_TACOS_TOCK_20_Hz (0x01U << 25)
|
||||||
|
#define STA_TACOS_TICK_10_Hz (0x01U << 24)
|
||||||
|
#define STA_TACOS_TOCK_10_Hz (0x01U << 23)
|
||||||
|
#define STA_TACOS_TICK_1_Hz (0x01U << 22)
|
||||||
|
#define STA_TACOS_TOCK_1_Hz (0x01U << 21)
|
||||||
|
|
||||||
|
|
||||||
namespace sta
|
namespace sta
|
||||||
@ -35,20 +49,6 @@ namespace sta
|
|||||||
{
|
{
|
||||||
namespace events
|
namespace events
|
||||||
{
|
{
|
||||||
enum class Types : uint32_t
|
|
||||||
{
|
|
||||||
STARTUP = (0x01 << 0x00),
|
|
||||||
TICK_100Hz = (0x01 << 0x01),
|
|
||||||
TICK_50Hz = (0x01 << 0x02),
|
|
||||||
TOCK_50Hz = (0x01 << 0x03),
|
|
||||||
TICK_20Hz = (0x01 << 0x04),
|
|
||||||
TOCK_20Hz = (0x01 << 0x05),
|
|
||||||
TICK_10Hz = (0x01 << 0x06),
|
|
||||||
TOCK_10Hz = (0x01 << 0x07),
|
|
||||||
TICK_1Hz = (0x01 << 0x08),
|
|
||||||
TOCK_1Hz = (0x01 << 0x09)
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Initialize system events.
|
* @brief Initialize system events.
|
||||||
*/
|
*/
|
||||||
|
@ -38,36 +38,36 @@ namespace sta
|
|||||||
tickTimer = new sta::RtosTimer([](void * args) {
|
tickTimer = new sta::RtosTimer([](void * args) {
|
||||||
uint32_t flags = 0x00;
|
uint32_t flags = 0x00;
|
||||||
|
|
||||||
flags |= (uint32_t)Types::TICK_100Hz;
|
flags |= STA_TACOS_TOCK_50_Hz;
|
||||||
|
|
||||||
if (tickCounter % 20 == 0) {
|
if (tickCounter % 20 == 0) {
|
||||||
flags |= (uint32_t)Types::TICK_50Hz;
|
flags |= STA_TACOS_TICK_50_Hz;
|
||||||
} else {
|
} else {
|
||||||
flags |= (uint32_t)Types::TOCK_50Hz;
|
flags |= STA_TACOS_TOCK_50_Hz;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tickCounter % 50 == 0) {
|
if (tickCounter % 50 == 0) {
|
||||||
flags |= (uint32_t)Types::TICK_20Hz;
|
flags |= STA_TACOS_TICK_20_Hz;
|
||||||
} else if (tickCounter % 25 == 0) {
|
} else if (tickCounter % 25 == 0) {
|
||||||
flags |= (uint32_t)Types::TOCK_20Hz;
|
flags |= STA_TACOS_TOCK_20_Hz;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tickCounter % 100) {
|
if (tickCounter % 100) {
|
||||||
flags |= (uint32_t)Types::TICK_10Hz;
|
flags |= STA_TACOS_TICK_10_Hz;
|
||||||
} else if (tickCounter % 50 == 0) {
|
} else if (tickCounter % 50 == 0) {
|
||||||
flags |= (uint32_t)Types::TOCK_10Hz;
|
flags |= STA_TACOS_TOCK_10_Hz;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tickCounter % 1000) {
|
if (tickCounter % 1000) {
|
||||||
flags |= (uint32_t)Types::TICK_1Hz;
|
flags |= STA_TACOS_TICK_1_Hz;
|
||||||
} else if (tickCounter % 500 == 0) {
|
} else if (tickCounter % 500 == 0) {
|
||||||
flags |= (uint32_t)Types::TOCK_1Hz;
|
flags |= STA_TACOS_TOCK_1_Hz;
|
||||||
}
|
}
|
||||||
|
|
||||||
tickCounter = (tickCounter + 10) % 1000;
|
tickCounter = (tickCounter + 10) % 1000;
|
||||||
|
|
||||||
signal(flags);
|
signal(flags);
|
||||||
systemEvents->clear(0xFFFFFFFF);
|
systemEvents->clear(STA_TACOS_EVENT_TIMER_MASK);
|
||||||
}, nullptr, true);
|
}, nullptr, true);
|
||||||
|
|
||||||
tickTimer->start(10);
|
tickTimer->start(10);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user