AtMega CAN Bootloader
Well documented CAN-based bootloader for AtMega processors
loaderconfiguration.h
Go to the documentation of this file.
1 /*
2  * <copyright>
3  * Copyright (c) 2014: Tuomas Huuki / Proximia, http://proximia.fi/
4  *
5  * This file is free software; you can redistribute it and/or modify
6  * it under the terms of either the GNU General Public License version 2
7  * or the GNU Lesser General Public License version 2.1, both as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * Lesser GNU General Public License for more details.
14  *
15  * You should have received a copy of the (Lesser) GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  * </copyright>
18  */
19 
20 /* $Id$ */
21 
36 #include <avr/io.h>
37 
38 #ifndef LOADERCONFIGURATION_H_
39 #define LOADERCONFIGURATION_H_
40 
48 #define CAN_BAUDRATE 250
49 
60 #define CANRS_PORT PORTD
61 #define CANRS_DDR DDRD
62 #define CANRS_PIN PIND0
63 
72 #define CAN_PORT_IN PINC
73 #define CAN_PORT_DIR DDRC
74 #define CAN_PORT_OUT PORTC
75 #define CAN_INPUT_PIN 2
76 #define CAN_OUTPUT_PIN 3
77 
87 #define NB_MOB 6
88 #define NB_RX_MOB 4
89 
98 #define FILTER_CAN_DEBUG
99 
111 #define BL_VERSION_MAJOR 0
112 #define BL_VERSION_MINOR 1
113 #define BL_VERSION_BUILD 0
125 #define NODETYPEDEF 0x00
138 #define SPM_MAXPAGES (FLASHEND / SPM_PAGESIZE)
139 
147 #define EEPROM_BOOTLOADER_ENABLE_ADDRESS (uint8_t *)(0)
148 #define EEPROM_BOOTLOADER_ENABLE_ADDRESS_LEN 1
149 #define EEPROM_NODEID_ADDRESS (uint8_t *)(EEPROM_BOOTLOADER_ENABLE_ADDRESS + EEPROM_BOOTLOADER_ENABLE_ADDRESS_LEN)
150 #define EEPROM_NODEID_ADDRESS_LEN 1
151 
153 #endif /* LOADERCONFIGURATION_H_ */