1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/boards/hamilton/include/board.h
2024-07-12 15:02:43 +02:00

135 lines
3.0 KiB
C

/*
* Copyright (C) 2016 UC Berkeley
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup boards_hamilton
* @brief Support for the HamiltonIoT Hamilton board.
* @{
*
* @file
* @brief Board specific definitions for the Hamilton board
*
* @author Michael Andersen <m.andersen@cs.berkeley.edu>
* @author Hyung-Sin Kim <hs.kim@cs.berkeley.edu>
*/
#ifndef BOARD_H
#define BOARD_H
#include "cpu.h"
#include "periph_conf.h"
#include "periph_cpu.h"
#include "periph/gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @name xtimer configuration
* @{
*/
#define XTIMER_DEV TIMER_DEV(1)
#define XTIMER_CHAN (0)
/** @} */
/**
* @name AT86RF233 configuration
* @{
*/
#define AT86RF2XX_PARAM_SPI SPI_DEV(0)
#define AT86RF2XX_PARAM_SPI_CLK SPI_CLK_5MHZ
#define AT86RF2XX_PARAM_CS GPIO_PIN(PB, 31)
#define AT86RF2XX_PARAM_INT GPIO_PIN(PB, 0)
#define AT86RF2XX_PARAM_SLEEP GPIO_PIN(PA, 20)
#define AT86RF2XX_PARAM_RESET GPIO_PIN(PB, 15)
/** @} */
/**
* @name LED pin definitions and handlers
* @{
*/
#define LED0_PIN GPIO_PIN(0, 19)
#define LED0_PORT PORT->Group[0]
#define LED0_MASK (1 << 19)
#define LED0_ON (LED0_PORT.OUTCLR.reg = LED0_MASK)
#define LED0_OFF (LED0_PORT.OUTSET.reg = LED0_MASK)
#define LED0_TOGGLE (LED0_PORT.OUTTGL.reg = LED0_MASK)
/** @} */
/**
* @name Button pin definitions
* @{
*/
#define BTN0_PIN GPIO_PIN(0, 18)
#define BTN0_MODE GPIO_IN_PU
/** @} */
/**
* @name FXOS8700 configuration
* Note that another fxos8700 operation option, CONFIG_FXOS8700_USE_ACC_RAW_VALUES,
* need to be set according to the application purposes
* @{
*/
#define FXOS8700_PARAM_I2C I2C_DEV(0)
#define FXOS8700_PARAM_ADDR (0x1E)
#define FXOS8700_PARAM_RENEW_INTERVAL (1000000ul)
/** @} */
/**
* @name HDC1080 configuration
* @{
*/
#define HDC1000_PARAM_I2C I2C_DEV(0)
#define HDC1000_PARAM_ADDR (0x40)
#define HDC1000_PARAM_RES HDC1000_14BIT
#define HDC1000_PARAM_RENEW_INTERVAL (1000000ul)
/** @} */
/**
* @name EKMB (PIR motion sensor) configuration
* @{
*/
#define PIR_PARAM_GPIO GPIO_PIN(PA, 6)
#define PIR_PARAM_ACTIVE_HIGH (1)
/** @} */
/**
* @name PULSE_COUNTER configuration
* @{
*/
#define PULSE_COUNTER_GPIO BTN0_PIN
#define PULSE_COUNTER_GPIO_FLANK GPIO_FALLING
/** @} */
/**
* @name TMP00X configuration
* Note that two other tmp006 operation options, TMP00X_USE_LOW_POWER and
* TMP00X_USE_RAW_VALUES, need to be set according to the application purpose
* @{
*/
#define TMP00X_PARAM_I2C I2C_DEV(0)
#define TMP00X_PARAM_ADDR (0x44)
#define TMP00X_PARAM_RATE TMP00X_CONFIG_CR_AS2
/** @} */
/**
* @name ToDo: APDS9007 configuration
* @{
*/
/** @} */
#ifdef __cplusplus
}
#endif
#endif /* BOARD_H */
/** @} */