/**
* @author R<EFBFBD>mi Heredero
* @version. 0.0.0
* @date August 2023
* @file factory.h
*/
#ifndef FACTORY_H
#define FACTORY_H
#include <stdint.h>
#include <stdbool.h>
#include "../car.h"
#include "../can_message.h"
#include "../eeprom.h"
#include "../drive.h"
#include "../steering.h"
#include "../kartculator.h"
#include "../../board/led/led.h"
#include "../../board/button/button.h"
#include "../../middleware/alive.h"
#include "../../middleware/can_interface.h"
#include "../../middleware/blinker.h"
typedef struct {
LED l7_;
LED l8_;
ALIVE ALcontroller_;
ALIVE ALjoy_;
DRIVE drive_;
STEERING steering_;
} Factory;
void Factory_init();
void Factory_build();
void Factory_start();
//these are global getters for our objects
LED* l7();
LED* l8();
ALIVE* ALcontroller();
ALIVE* ALjoy();
DRIVE* drive();
STEERING* steering();
#endif