2013-08-04 13:38:53 +00:00
|
|
|
/*
|
2015-03-24 07:55:18 +00:00
|
|
|
ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
|
2013-08-04 13:38:53 +00:00
|
|
|
|
2015-03-24 07:55:18 +00:00
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
2013-08-04 13:38:53 +00:00
|
|
|
|
2015-03-24 07:55:18 +00:00
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
2013-08-04 13:38:53 +00:00
|
|
|
|
2015-03-24 07:55:18 +00:00
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
2013-08-04 13:38:53 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @file hal.h
|
|
|
|
* @brief HAL subsystem header.
|
|
|
|
*
|
|
|
|
* @addtogroup HAL
|
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _HAL_H_
|
|
|
|
#define _HAL_H_
|
|
|
|
|
|
|
|
#include "osal.h"
|
|
|
|
#include "board.h"
|
|
|
|
#include "halconf.h"
|
|
|
|
|
|
|
|
#include "hal_lld.h"
|
|
|
|
|
|
|
|
/* Abstract interfaces.*/
|
|
|
|
#include "hal_streams.h"
|
|
|
|
#include "hal_channels.h"
|
2014-11-27 13:48:59 +00:00
|
|
|
#include "hal_files.h"
|
2013-08-12 16:44:22 +00:00
|
|
|
#include "hal_ioblock.h"
|
|
|
|
#include "hal_mmcsd.h"
|
2013-08-04 13:38:53 +00:00
|
|
|
|
2013-08-05 14:08:52 +00:00
|
|
|
/* Shared headers.*/
|
2015-12-17 16:11:31 +00:00
|
|
|
#include "hal_buffers.h"
|
2013-08-05 14:08:52 +00:00
|
|
|
#include "hal_queues.h"
|
|
|
|
|
2013-08-04 13:38:53 +00:00
|
|
|
/* Normal drivers.*/
|
|
|
|
#include "pal.h"
|
|
|
|
#include "adc.h"
|
|
|
|
#include "can.h"
|
2014-03-09 11:55:46 +00:00
|
|
|
#include "dac.h"
|
2013-08-12 16:13:20 +00:00
|
|
|
#include "ext.h"
|
2013-08-12 16:01:07 +00:00
|
|
|
#include "gpt.h"
|
2013-08-17 15:32:41 +00:00
|
|
|
#include "i2c.h"
|
2014-02-16 09:12:08 +00:00
|
|
|
#include "i2s.h"
|
2013-08-04 13:38:53 +00:00
|
|
|
#include "icu.h"
|
2014-07-05 16:09:29 +00:00
|
|
|
#include "mac.h"
|
|
|
|
#include "mii.h"
|
2013-08-04 13:38:53 +00:00
|
|
|
#include "pwm.h"
|
2014-06-06 14:19:28 +00:00
|
|
|
#include "rtc.h"
|
2013-08-04 13:38:53 +00:00
|
|
|
#include "serial.h"
|
2013-09-20 10:49:21 +00:00
|
|
|
#include "sdc.h"
|
2013-08-04 13:38:53 +00:00
|
|
|
#include "spi.h"
|
2013-08-12 16:55:13 +00:00
|
|
|
#include "uart.h"
|
2013-08-25 09:37:34 +00:00
|
|
|
#include "usb.h"
|
2015-12-03 13:49:06 +00:00
|
|
|
#include "wdg.h"
|
2013-08-04 13:38:53 +00:00
|
|
|
|
2014-11-04 10:51:23 +00:00
|
|
|
/*
|
|
|
|
* The ST driver is a special case, it is only included if the OSAL is
|
|
|
|
* configured to require it.
|
|
|
|
*/
|
|
|
|
#if OSAL_ST_MODE != OSAL_ST_MODE_NONE
|
|
|
|
#include "st.h"
|
|
|
|
#endif
|
|
|
|
|
2013-08-04 13:38:53 +00:00
|
|
|
/* Complex drivers.*/
|
2013-08-12 16:44:22 +00:00
|
|
|
#include "mmc_spi.h"
|
2013-08-25 09:37:34 +00:00
|
|
|
#include "serial_usb.h"
|
2013-08-04 13:38:53 +00:00
|
|
|
|
2014-11-16 11:03:31 +00:00
|
|
|
/* Community drivers.*/
|
2015-03-08 21:19:58 +00:00
|
|
|
#if defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
|
|
|
|
#if (HAL_USE_COMMUNITY == TRUE) || defined(__DOXYGEN__)
|
2014-11-16 11:03:31 +00:00
|
|
|
#include "hal_community.h"
|
|
|
|
#endif
|
2015-03-08 21:19:58 +00:00
|
|
|
#endif
|
2014-11-16 11:03:31 +00:00
|
|
|
|
2013-08-04 13:38:53 +00:00
|
|
|
/*===========================================================================*/
|
|
|
|
/* Driver constants. */
|
|
|
|
/*===========================================================================*/
|
|
|
|
|
2015-03-13 09:53:02 +00:00
|
|
|
/**
|
2015-04-06 09:29:12 +00:00
|
|
|
* @brief ChibiOS/HAL identification macro.
|
2015-03-13 09:53:02 +00:00
|
|
|
*/
|
2015-04-06 09:29:12 +00:00
|
|
|
#define _CHIBIOS_HAL_
|
2015-03-13 09:53:02 +00:00
|
|
|
|
2015-04-06 09:29:12 +00:00
|
|
|
/**
|
|
|
|
* @brief Stable release flag.
|
|
|
|
*/
|
|
|
|
#define CH_HAL_STABLE 0
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @name ChibiOS/HAL version identification
|
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
/**
|
|
|
|
* @brief HAL version string.
|
|
|
|
*/
|
2015-12-20 11:48:16 +00:00
|
|
|
#define HAL_VERSION "4.0.0dev"
|
2015-03-13 09:53:02 +00:00
|
|
|
|
2015-04-06 09:29:12 +00:00
|
|
|
/**
|
|
|
|
* @brief HAL version major number.
|
|
|
|
*/
|
2015-12-20 11:48:16 +00:00
|
|
|
#define CH_HAL_MAJOR 4
|
2015-04-06 09:29:12 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief HAL version minor number.
|
|
|
|
*/
|
2015-12-20 11:48:16 +00:00
|
|
|
#define CH_HAL_MINOR 0
|
2015-04-06 09:29:12 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief HAL version patch number.
|
|
|
|
*/
|
2015-09-26 07:12:22 +00:00
|
|
|
#define CH_HAL_PATCH 0
|
2015-03-13 09:53:02 +00:00
|
|
|
/** @} */
|
|
|
|
|
2013-09-20 11:03:22 +00:00
|
|
|
/**
|
|
|
|
* @name Return codes
|
|
|
|
* @{
|
|
|
|
*/
|
2015-03-13 09:53:02 +00:00
|
|
|
#define HAL_SUCCESS false
|
|
|
|
#define HAL_FAILED true
|
2013-09-20 11:03:22 +00:00
|
|
|
/** @} */
|
|
|
|
|
2013-08-04 13:38:53 +00:00
|
|
|
/*===========================================================================*/
|
|
|
|
/* Driver pre-compile time settings. */
|
|
|
|
/*===========================================================================*/
|
|
|
|
|
|
|
|
/*===========================================================================*/
|
|
|
|
/* Derived constants and error checks. */
|
|
|
|
/*===========================================================================*/
|
|
|
|
|
|
|
|
/*===========================================================================*/
|
|
|
|
/* Driver data structures and types. */
|
|
|
|
/*===========================================================================*/
|
|
|
|
|
|
|
|
/*===========================================================================*/
|
|
|
|
/* Driver macros. */
|
|
|
|
/*===========================================================================*/
|
|
|
|
|
|
|
|
/*===========================================================================*/
|
|
|
|
/* External declarations. */
|
|
|
|
/*===========================================================================*/
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
void halInit(void);
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* _HAL_H_ */
|
|
|
|
|
|
|
|
/** @} */
|