diff --git a/cores/arduino/WInterrupts.c b/cores/arduino/WInterrupts.c index bab81f2a80..6ea0f333a8 100644 --- a/cores/arduino/WInterrupts.c +++ b/cores/arduino/WInterrupts.c @@ -17,6 +17,7 @@ */ #include "WInterrupts.h" +#include "Arduino.h" #ifdef __cplusplus extern "C" { diff --git a/cores/arduino/WInterrupts.h b/cores/arduino/WInterrupts.h index a76588e940..ce09703880 100644 --- a/cores/arduino/WInterrupts.h +++ b/cores/arduino/WInterrupts.h @@ -19,7 +19,7 @@ #ifndef _WIRING_INTERRUPTS_ #define _WIRING_INTERRUPTS_ -#include "Arduino.h" +#include #ifdef __cplusplus extern "C" { diff --git a/cores/arduino/board.h b/cores/arduino/board.h index 0f06edbf57..b1787550c4 100644 --- a/cores/arduino/board.h +++ b/cores/arduino/board.h @@ -21,20 +21,6 @@ #include "usb_interface.h" #endif //USBCON -/* Define attribute */ -#if defined ( __GNUC__ ) /* GCC CS3 */ - #define WEAK __attribute__ ((weak)) -#elif defined ( __ICCARM__ ) /* IAR Ewarm 5.41+ */ - #define WEAK __weak -#endif - -/* Define NO_INIT attribute */ -#if defined ( __GNUC__ ) - #define NO_INIT -#elif defined ( __ICCARM__ ) - #define NO_INIT __no_init -#endif - void init( void ) ; #endif /* _BOARD_H_ */ diff --git a/cores/arduino/pins_arduino.h b/cores/arduino/pins_arduino.h index 15a639402e..723fe2d0a4 100644 --- a/cores/arduino/pins_arduino.h +++ b/cores/arduino/pins_arduino.h @@ -18,7 +18,8 @@ #ifndef _PINS_ARDUINO_H_ #define _PINS_ARDUINO_H_ -// API compatibility +#include "PeripheralPins.h" +#include "pins_arduino_common.h" #include "variant.h" #ifdef __cplusplus @@ -29,7 +30,8 @@ extern "C" { * Libc porting layers */ #if defined ( __GNUC__ ) /* GCC CS3 */ -# include /** RedHat Newlib minimal stub */ +#include /** RedHat Newlib minimal stub */ +#define WEAK __attribute__ ((weak)) #endif #define NOT_AN_INTERRUPT NC // -1 diff --git a/cores/arduino/pins_arduino_common.h b/cores/arduino/pins_arduino_common.h new file mode 100644 index 0000000000..2467499583 --- /dev/null +++ b/cores/arduino/pins_arduino_common.h @@ -0,0 +1,50 @@ +/* + * Common pins Arduino definition + * + * Copyright (C) 2017, STMicroelectronics - All Rights Reserved + * Author: Frederic Pillon for STMicroelectronics. + * + * License type: GPLv2 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see + * . + */ +#ifndef _PINS_ARDUINO_COMMON_H_ +#define _PINS_ARDUINO_COMMON_H_ + +// Arduino digital pin alias +// GPIO port (A to K) * 16 pins: 176 +enum { + D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, + D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, + D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, + D30, D31, D32, D33, D34, D35, D36, D37, D38, D39, + D40, D41, D42, D43, D44, D45, D46, D47, D48, D49, + D50, D51, D52, D53, D54, D55, D56, D57, D58, D59, + D60, D61, D62, D63, D64, D65, D66, D67, D68, D69, + D70, D71, D72, D73, D74, D75, D76, D77, D78, D79, + D80, D81, D82, D83, D84, D85, D86, D87, D88, D89, + D90, D91, D92, D93, D94, D95, D96, D97, D98, D99, + D100, D101, D102, D103, D104, D105, D106, D107, D108, D109, + D110, D111, D112, D113, D114, D115, D116, D117, D118, D119, + D120, D121, D122, D123, D124, D125, D126, D127, D128, D129, + D130, D131, D132, D133, D134, D135, D136, D137, D138, D139, + D140, D141, D142, D143, D144, D145, D146, D147, D148, D149, + D150, D151, D152, D153, D154, D155, D156, D157, D158, D159, + D160, D161, D162, D163, D164, D165, D166, D167, D168, D169, + D170, D171, D172, D173, D174, D175, + DMAX +}; + +#endif /*_PINS_ARDUINO_COMMON_H_*/ + diff --git a/cores/arduino/stm32/analog.c b/cores/arduino/stm32/analog.c index 6511a23c3c..89df6025fd 100644 --- a/cores/arduino/stm32/analog.c +++ b/cores/arduino/stm32/analog.c @@ -47,7 +47,6 @@ * @{ */ #include "stm32_def.h" -#include "hw_config.h" #include "analog.h" #include "timer.h" #include "PinAF_STM32F1.h" diff --git a/cores/arduino/stm32/clock.c b/cores/arduino/stm32/clock.c index 170975da13..9317f98c88 100644 --- a/cores/arduino/stm32/clock.c +++ b/cores/arduino/stm32/clock.c @@ -47,7 +47,6 @@ * @{ */ #include "stm32_def.h" -#include "hw_config.h" #ifdef __cplusplus extern "C" { diff --git a/cores/arduino/stm32/interrupt.c b/cores/arduino/stm32/interrupt.c index a7cb584e67..745c61fcb3 100644 --- a/cores/arduino/stm32/interrupt.c +++ b/cores/arduino/stm32/interrupt.c @@ -47,7 +47,6 @@ * @{ */ #include "stm32_def.h" -#include "hw_config.h" #include "interrupt.h" #ifdef __cplusplus diff --git a/cores/arduino/stm32/spi_com.c b/cores/arduino/stm32/spi_com.c index 8268f59fb4..2da86dd20f 100644 --- a/cores/arduino/stm32/spi_com.c +++ b/cores/arduino/stm32/spi_com.c @@ -47,7 +47,6 @@ * @{ */ #include "stm32_def.h" -#include "hw_config.h" #include "spi_com.h" #include "PinAF_STM32F1.h" diff --git a/cores/arduino/stm32/timer.c b/cores/arduino/stm32/timer.c index 13aa859f42..0a5080e7b1 100644 --- a/cores/arduino/stm32/timer.c +++ b/cores/arduino/stm32/timer.c @@ -47,7 +47,6 @@ * @{ */ #include "stm32_def.h" -#include "hw_config.h" #include "timer.h" #include "digital_io.h" #include "clock.h" diff --git a/cores/arduino/stm32/twi.c b/cores/arduino/stm32/twi.c index bd5c1deb49..f2022752cc 100644 --- a/cores/arduino/stm32/twi.c +++ b/cores/arduino/stm32/twi.c @@ -48,7 +48,6 @@ * @{ */ #include "stm32_def.h" -#include "hw_config.h" #include "twi.h" #include "PinAF_STM32F1.h" diff --git a/cores/arduino/stm32/uart.c b/cores/arduino/stm32/uart.c index 717ea693be..33d2f53cbc 100644 --- a/cores/arduino/stm32/uart.c +++ b/cores/arduino/stm32/uart.c @@ -46,11 +46,8 @@ /** @addtogroup STM32F4xx_System_Private_Includes * @{ */ -#include "hw_config.h" #include "uart.h" -#include "digital_io.h" -#include "interrupt.h" -#include "variant.h" +#include "Arduino.h" #include "PinAF_STM32F1.h" #ifdef __cplusplus diff --git a/cores/arduino/stm32/uart_emul.c b/cores/arduino/stm32/uart_emul.c index cc392ebbba..1078e1bc95 100644 --- a/cores/arduino/stm32/uart_emul.c +++ b/cores/arduino/stm32/uart_emul.c @@ -46,11 +46,10 @@ /** @addtogroup STM32F4xx_System_Private_Includes * @{ */ -#include "hw_config.h" #include "uart_emul.h" #include "digital_io.h" #include "interrupt.h" -#include "variant.h" +#include "Arduino.h" #if defined(TIM1_BASE) && defined(UART_EMUL_RX) && defined(UART_EMUL_TX) #ifdef __cplusplus diff --git a/cores/arduino/wiring.h b/cores/arduino/wiring.h index d622caa4bf..128c75c3f8 100644 --- a/cores/arduino/wiring.h +++ b/cores/arduino/wiring.h @@ -57,6 +57,4 @@ extern "C"{ #define clockCyclesToMicroseconds(a) ( ((a) * 1000L) / (SystemCoreClock / 1000L) ) #define microsecondsToClockCycles(a) ( (a) * (SystemCoreClock / 1000000L) ) - - #endif /* _WIRING_H_ */ diff --git a/cores/arduino/wiring_constants.h b/cores/arduino/wiring_constants.h index cccfe4eb72..1fede61f63 100644 --- a/cores/arduino/wiring_constants.h +++ b/cores/arduino/wiring_constants.h @@ -25,30 +25,6 @@ extern "C"{ #include -// Arduino digital pin alias -// GPIO port (A to K) * 16 pins: 176 -enum { - D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, - D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, - D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, - D30, D31, D32, D33, D34, D35, D36, D37, D38, D39, - D40, D41, D42, D43, D44, D45, D46, D47, D48, D49, - D50, D51, D52, D53, D54, D55, D56, D57, D58, D59, - D60, D61, D62, D63, D64, D65, D66, D67, D68, D69, - D70, D71, D72, D73, D74, D75, D76, D77, D78, D79, - D80, D81, D82, D83, D84, D85, D86, D87, D88, D89, - D90, D91, D92, D93, D94, D95, D96, D97, D98, D99, - D100, D101, D102, D103, D104, D105, D106, D107, D108, D109, - D110, D111, D112, D113, D114, D115, D116, D117, D118, D119, - D120, D121, D122, D123, D124, D125, D126, D127, D128, D129, - D130, D131, D132, D133, D134, D135, D136, D137, D138, D139, - D140, D141, D142, D143, D144, D145, D146, D147, D148, D149, - D150, D151, D152, D153, D154, D155, D156, D157, D158, D159, - D160, D161, D162, D163, D164, D165, D166, D167, D168, D169, - D170, D171, D172, D173, D174, D175, - DEND -}; - #define HIGH 0x1 #define LOW 0x0 diff --git a/libraries/SPI/src/SPI.h b/libraries/SPI/src/SPI.h index 81f876afb6..ab57273eb1 100644 --- a/libraries/SPI/src/SPI.h +++ b/libraries/SPI/src/SPI.h @@ -12,7 +12,7 @@ #ifndef _SPI_H_INCLUDED #define _SPI_H_INCLUDED -#include "variant.h" +#include "Arduino.h" #include // SPI_HAS_TRANSACTION means SPI has diff --git a/libraries/Wire/Wire.h b/libraries/Wire/Wire.h index d9536c0113..8250524569 100644 --- a/libraries/Wire/Wire.h +++ b/libraries/Wire/Wire.h @@ -24,7 +24,7 @@ #include #include "Stream.h" -#include "variant.h" +#include "Arduino.h" #define BUFFER_LENGTH 32