/*
 * printable.cpp
 *
 *  Created on: Aug 30, 2023
 *      Author: Dario
 */

#include <sta/debug/debug.hpp>
#include <tasks/can_task.hpp>
#include <sta/tacos/manager.hpp>
#include <sta/tacos/statemachine.hpp>
#include <sta/devices/stm32/gpio_pin.hpp>
#include <sta/rtos/debug/heap_stats.hpp>

#include <memory>

extern CAN_HandleTypeDef hcan1;

namespace sta
{
	namespace tacos
	{
		void onStatemachineInit()
		{

		}

		void onManagerInit()
		{
			// ###### Register different threads for different states here. ######

			// The dummy task runs for state 0.
			Manager::instance()->registerThread(std::make_shared<demo::CanTask>("CAN SPAM", &hcan1), {0});

			STA_DEBUG_PRINTF("The answer to everything is %d", 42);

			STA_DEBUG_HEAP_STATS();
		}
	} // namespace tacos
} // namespace sta

