/*
AMiRo-LLD is a compilation of low-level hardware drivers for the Autonomous Mini Robot (AMiRo) platform.
Copyright (C) 2016..2019 Thomas Schöpping et al.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
#ifndef AMIROLLD_H
#define AMIROLLD_H
/**
* @brief AMIRO-LLD identification macro.
*/
#define _AMIRO_LLD_
/**
* @name AMiRo-LLD version and relase information.
* @{
*/
/**
* @brief Realease type of this version.
* @note Possible values are "pre-alpha", "alpha", "beta", "release candidate", and "release".
*/
#define AMIRO_LLD_RELEASE_TYPE "release"
/**
* @brief The AMiRo-LLD major version.
* @note Changes of the major version imply incompatibilities.
*/
#define AMIRO_LLD_VERSION_MAJOR 1
/**
* @brief The AMiRo-LLD minor version.
* @note A higher minor version implies new functionalty, but all old interfaces are still available.
*/
#define AMIRO_LLD_VERSION_MINOR 0
/**
* @brief The AMiRo-LLD patch level.
*/
#define AMIRO_LLD_VERSION_PATCH 0
/**
* @brief The periphery abstraction layer interface required major version.
* @note Any other major version is assumed to be incompatible.
*/
#define PERIPHAL_REQUIRED_MAJOR 1
/**
* @brief The periphery abstraction layer interface required minor version.
* @note Higher minor version values are assumed to be compatible, too.
*/
#define PERIPHAL_REQUIRED_MINOR 0
/** @} */
#include
#if !defined(_AMIRO_LLD_CFG_)
#error "invalid AMiRo-LLD configuration file"
#endif
#if (AMIRO_LLD_CFG_VERSION_MAJOR != AMIRO_LLD_VERSION_MAJOR) || (AMIRO_LLD_CFG_VERSION_MINOR < AMIRO_LLD_VERSION_MINOR)
#error "incompatible AMiRo-LLD configuration file"
#endif
#include
#if !defined(PERIPHAL_VERSION_MAJOR) || !defined(PERIPHAL_VERSION_MINOR)
#error "invalid periphAL implementation"
#endif
#if (PERIPHAL_VERSION_MAJOR != PERIPHAL_REQUIRED_MAJOR) || (PERIPHAL_VERSION_MINOR < PERIPHAL_REQUIRED_MINOR)
#error "incompatible periphAL implementation"
#endif
#endif /* AMIROLLD_H */