board_common.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2014 Freie Universität Berlin, Hinnerk van Bruinehsen
3  * SPDX-FileCopyrightText: 2016 Laurent Navet <laurent.navet@gmail.com>
4  * SPDX-FileCopyrightText: 2017 Thomas Perrot <thomas.perrot@tupi.fr>
5  * SPDX-License-Identifier: LGPL-2.1-only
6  */
7 
8 #pragma once
9 
24 #include "cpu.h"
25 #include "arduino_pinmap.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
38 #define STDIO_UART_BAUDRATE (9600U)
45 #ifdef CPU_ATMEGA328P
46 #define LED0_PIN GPIO_PIN(1, 5)
47 #define LED0_MASK (1 << DDB5)
48 #define LED0_ON (PORTB |= LED0_MASK)
49 #define LED0_OFF (PORTB &= ~LED0_MASK)
50 #define LED0_TOGGLE (PORTB ^= LED0_MASK)
51 #endif
52 
53 #ifdef CPU_ATMEGA32U4
54 #define LED0_PIN GPIO_PIN(2, 7)
55 #define LED0_MASK (1 << DDC7)
56 #define LED1_PIN GPIO_PIN(1, 0)
57 #define LED1_MASK (1 << DDB0)
58 #define LED2_PIN GPIO_PIN(3, 5)
59 #define LED2_MASK (1 << DDD5)
60 #endif
61 
62 #ifdef CPU_ATMEGA2560
63 #define LED0_PIN GPIO_PIN(1, 7)
64 #define LED0_MASK (1 << DDB7)
65 #define LED0_ON (PORTB |= LED0_MASK)
66 #define LED0_OFF (PORTB &= ~LED0_MASK)
67 #define LED0_TOGGLE (PORTB ^= LED0_MASK)
68 #endif
69 
70 #ifdef CPU_ATMEGA32U4
71 #define LED0_ON (PORTC |= LED0_MASK)
72 #define LED0_OFF (PORTC &= ~LED0_MASK)
73 #define LED0_TOGGLE (PORTC ^= LED0_MASK)
74 #define LED1_OFF (PORTB |= LED1_MASK)
75 #define LED1_ON (PORTB &= ~LED1_MASK)
76 #define LED1_TOGGLE (PORTB ^= LED1_MASK)
77 #define LED2_OFF (PORTD |= LED2_MASK)
78 #define LED2_ON (PORTD &= ~LED2_MASK)
79 #define LED2_TOGGLE (PORTD ^= LED2_MASK)
80 #endif
87 #define LED_PANIC LED0_ON
94 #define CPU_ATMEGA_CLK_SCALE_INIT CPU_ATMEGA_CLK_SCALE_DIV1
101 #define XTIMER_WIDTH (16)
102 #define XTIMER_HZ (250000UL)
103 #define XTIMER_BACKOFF (40)
110 #define CONFIG_ZTIMER_USEC_TYPE ZTIMER_TYPE_PERIPH_TIMER
111 #define CONFIG_ZTIMER_USEC_DEV (TIMER_DEV(0))
112 #define CONFIG_ZTIMER_USEC_FREQ (250000LU)
113 #define CONFIG_ZTIMER_USEC_WIDTH (16)
114 #ifndef CONFIG_ZTIMER_USEC_ADJUST_SET
115 #define CONFIG_ZTIMER_USEC_ADJUST_SET (128)
116 #endif
117 #ifndef CONFIG_ZTIMER_USEC_ADJUST_SLEEP
118 #define CONFIG_ZTIMER_USEC_ADJUST_SLEEP (116)
119 #endif
122 #ifdef __cplusplus
123 }
124 #endif
125 
Compatibility wrapper for arduino_iomap.h.