Devices
global
Devices.h
global
Code source
// Devices.h
#pragma once
//CREPP
#include "system/ISR_Handler.h"
#include "system/DualCore_Handler.h"
#include "data/DataStorage.h"
#include "drivers/ADS1115_Handler.h"
#include "drivers/PCA9685_Handler.h"
#include "drivers/PCF8574_Handler.h"
#include "drivers/DS3231_Handler.h"
#include "drivers/LED_Handler.h"
#include "drivers/Encoder.h"
#include "drivers/L293D_Handler.h"
#include "gnss/GNSS_Handler.h"
#include "tools/Buttons.h"
#include "tools/BME280.h"
#include "tools/Distance.h"
#include "tools/OLED.h"
#include "tools/Servo.h"
#include "tools/NRF24.h"
#include "tools/Motor.h"
#include "tools/Motor_Driver.h"
#include "tools/MPU6050.h"
#include "audio/AudioPlayer.h"
#include <tuple>
//namespace crepp = crepp;
namespace crepp::devices
{
extern crepp::drivers::ADS1115_Handler adc;
extern crepp::drivers::PCA9685_Handler pca;
extern crepp::drivers::PCF8574_Handler pcf;
extern crepp::drivers::DS3231_Handler ds3231;
extern crepp::drivers::LED_Handler leds;
extern crepp::drivers::Encoder encoder;
extern crepp::drivers::L293D_Handler l293d;
extern crepp::drivers::GNSS_Handler gnss;
extern crepp::tools::Buttons buttons;
extern crepp::tools::BME280 bme280;
extern crepp::tools::Distance hcsr04;
extern crepp::tools::Servo servo;
extern crepp::tools::OLED oled;
extern crepp::tools::NRF24 nrf24;
extern crepp::tools::Motor motor;
extern crepp::tools::Motor_Driver motorLeft;
extern crepp::tools::Motor_Driver motorRight;
extern crepp::tools::MPU6050 mpu6050;
extern crepp::data::DataStorage sd;
extern crepp::audio::AudioPlayer audio;
//extern crepp::system::System_Handler robot;
}
namespace crepp::devices
{
inline auto deviceList = std::tie(
adc,
pca,
pcf,
ds3231,
leds,
bme280,
hcsr04,
encoder,
servo,
motor,
l293d,
motorLeft,
motorRight,
nrf24,
oled,
mpu6050,
sd,
audio
);
}
namespace crepp::devices
{
template<typename T>
void callGetStatus(T& device)
{
device.getStatus();
}
}
namespace crepp
{
// inline auto& DualCore = system::DualCore_Handler::getInstance();
}
/**
* @namespace crepp
* @brief Espace de noms principal CREPP.
*/
/**
* @brief Accès simplifié au gestionnaire ISR.
*
* @details
* Alias utilisateur permettant d'écrire :
* @code
* crepp::ISR().attach(pin, callback, RISING);
* @endcode
*
* @return Référence vers le gestionnaire ISR.
*/
namespace crepp {
inline crepp::system::ISR_Handler& ISR() {
return crepp::system::ISR_Handler::getInstance();
}
}
// Dans Devices.h, ajouter: