//*****************************************************************************
///
/// @file IDigitalUnusedPin.h
/// @brief The interface for Digital Output port drivers
///
/// @author eric
///
//*****************************************************************************
#ifndef IFM_HARDWARE_IDIGITALUNUSEDPIN_H
#define IFM_HARDWARE_IDIGITALUNUSEDPIN_H
#include <stdint.h>
#include <stdbool.h>
#ifdef __cplusplus
extern "C"
{
#endif
//*****************************************************************************
/// @brief Interface for digital unused pin drivers.
/// @details This interface contains virtual void methods necessary for the
/// implementing component to communicate with other components.
///
/// @note This class contains virtual void method definitions and therefore
/// it cannot be instantiated.
///
//*****************************************************************************
typedef struct IDigitalUnusedPin
{
// no member here
} IDigitalUnusedPin;
#ifdef __cplusplus
}
#endif
#endif //IFM_HARDWARE_IDIGITALUNUSEDPIN_H
//*****************************************************************************
///
/// @file IDigitalOutputPin.h
/// @brief The interface for Digital Output Pin drivers
///
/// @author eric
///
//*****************************************************************************
#ifndef IFM_HARDWARE_IDIGITALOUTPUTPIN_H
#define IFM_HARDWARE_IDIGITALOUTPUTPIN_H
#include <stdbool.h>
#ifdef __cplusplus
extern "C"
{
#endif
//*****************************************************************************
/// @brief Interface for digital output pin drivers.
/// @details This interface contains virtual void methods necessary for the
/// implementing component to communicate with other components.
///
/// @note This class contains virtual void method definitions and therefore
/// it cannot be instantiated.
///
//*****************************************************************************
typedef struct IDigitalOutputPin
{
void (*SetActivation)(bool iActive);
void (*Toggle)(void);
bool (*IsActivated)(void);
} IDigitalOutputPin;
#ifdef __cplusplus
}
#endif
#endif // IFM_HARDWARE_IDIGITALOUTPUTPIN_H
#ifndef COMMON_H
#define COMMON_H
#ifdef __cplusplus
extern "C"
{
#endif
#define MAX(x, y) (((x) > (y)) ? (x) : (y))
#define MIN(x, y) (((x) < (y)) ? (x) : (y))
#ifdef __cplusplus
}
#endif
#endif // COMMMON_H