From 6dba992182af9b3a73711958de2eeeb33b7f69f6 Mon Sep 17 00:00:00 2001 From: Damien George Date: Sun, 5 Oct 2014 18:05:26 +0100 Subject: [PATCH] stmhal: Add config option to disable/enable CAN driver. --- stmhal/boards/HYDRABUS/mpconfigboard.h | 1 + stmhal/boards/NETDUINO_PLUS_2/mpconfigboard.h | 1 + stmhal/boards/PYBV10/mpconfigboard.h | 1 + stmhal/boards/PYBV3/mpconfigboard.h | 1 + stmhal/boards/PYBV4/mpconfigboard.h | 1 + stmhal/boards/STM32F4DISC/mpconfigboard.h | 1 + stmhal/can.c | 4 ++++ stmhal/modpyb.c | 2 ++ 8 files changed, 12 insertions(+) diff --git a/stmhal/boards/HYDRABUS/mpconfigboard.h b/stmhal/boards/HYDRABUS/mpconfigboard.h index 18d1df19db..9a3f054520 100644 --- a/stmhal/boards/HYDRABUS/mpconfigboard.h +++ b/stmhal/boards/HYDRABUS/mpconfigboard.h @@ -16,6 +16,7 @@ #define MICROPY_HW_ENABLE_I2C1 (1) #define MICROPY_HW_ENABLE_SPI1 (1) #define MICROPY_HW_ENABLE_SPI3 (1) +#define MICROPY_HW_ENABLE_CAN (0) // USRSW/UBTN (Needs Jumper UBTN) is pulled low. Pressing the button makes the input go high. #define MICROPY_HW_USRSW_PIN (pin_A0) diff --git a/stmhal/boards/NETDUINO_PLUS_2/mpconfigboard.h b/stmhal/boards/NETDUINO_PLUS_2/mpconfigboard.h index c32e0d29e5..6de5a72c05 100644 --- a/stmhal/boards/NETDUINO_PLUS_2/mpconfigboard.h +++ b/stmhal/boards/NETDUINO_PLUS_2/mpconfigboard.h @@ -20,6 +20,7 @@ #define MICROPY_HW_ENABLE_I2C1 (0) #define MICROPY_HW_ENABLE_SPI1 (0) #define MICROPY_HW_ENABLE_SPI3 (0) +#define MICROPY_HW_ENABLE_CAN (0) // USRSW is pulled low. Pressing the button makes the input go high. #define MICROPY_HW_USRSW_PIN (pin_B11) diff --git a/stmhal/boards/PYBV10/mpconfigboard.h b/stmhal/boards/PYBV10/mpconfigboard.h index 977fabe402..d4645e84fb 100644 --- a/stmhal/boards/PYBV10/mpconfigboard.h +++ b/stmhal/boards/PYBV10/mpconfigboard.h @@ -17,6 +17,7 @@ #define MICROPY_HW_ENABLE_I2C1 (1) #define MICROPY_HW_ENABLE_SPI1 (1) #define MICROPY_HW_ENABLE_SPI3 (0) +#define MICROPY_HW_ENABLE_CAN (1) // USRSW has no pullup or pulldown, and pressing the switch makes the input go low #define MICROPY_HW_USRSW_PIN (pin_B3) diff --git a/stmhal/boards/PYBV3/mpconfigboard.h b/stmhal/boards/PYBV3/mpconfigboard.h index 048812748d..fdb45f4652 100644 --- a/stmhal/boards/PYBV3/mpconfigboard.h +++ b/stmhal/boards/PYBV3/mpconfigboard.h @@ -16,6 +16,7 @@ #define MICROPY_HW_ENABLE_I2C1 (1) #define MICROPY_HW_ENABLE_SPI1 (1) #define MICROPY_HW_ENABLE_SPI3 (0) +#define MICROPY_HW_ENABLE_CAN (1) // USRSW has no pullup or pulldown, and pressing the switch makes the input go low #define MICROPY_HW_USRSW_PIN (pin_A13) diff --git a/stmhal/boards/PYBV4/mpconfigboard.h b/stmhal/boards/PYBV4/mpconfigboard.h index 5bb7f03b2f..4355d6531f 100644 --- a/stmhal/boards/PYBV4/mpconfigboard.h +++ b/stmhal/boards/PYBV4/mpconfigboard.h @@ -16,6 +16,7 @@ #define MICROPY_HW_ENABLE_I2C1 (1) #define MICROPY_HW_ENABLE_SPI1 (1) #define MICROPY_HW_ENABLE_SPI3 (0) +#define MICROPY_HW_ENABLE_CAN (1) // USRSW has no pullup or pulldown, and pressing the switch makes the input go low #define MICROPY_HW_USRSW_PIN (pin_B3) diff --git a/stmhal/boards/STM32F4DISC/mpconfigboard.h b/stmhal/boards/STM32F4DISC/mpconfigboard.h index 2e27694775..9db330bff3 100644 --- a/stmhal/boards/STM32F4DISC/mpconfigboard.h +++ b/stmhal/boards/STM32F4DISC/mpconfigboard.h @@ -16,6 +16,7 @@ #define MICROPY_HW_ENABLE_I2C1 (1) #define MICROPY_HW_ENABLE_SPI1 (1) #define MICROPY_HW_ENABLE_SPI3 (0) +#define MICROPY_HW_ENABLE_CAN (1) // USRSW is pulled low. Pressing the button makes the input go high. #define MICROPY_HW_USRSW_PIN (pin_A0) diff --git a/stmhal/can.c b/stmhal/can.c index 82324a6386..920a4ad0b4 100644 --- a/stmhal/can.c +++ b/stmhal/can.c @@ -42,6 +42,8 @@ #include "can.h" #include "pybioctl.h" +#if MICROPY_HW_ENABLE_CAN + /// \moduleref pyb /// \class CAN - controller area network communication bus /// @@ -451,3 +453,5 @@ const mp_obj_type_t pyb_can_type = { .stream_p = &can_stream_p, .locals_dict = (mp_obj_t)&pyb_can_locals_dict, }; + +#endif // MICROPY_HW_ENABLE_CAN diff --git a/stmhal/modpyb.c b/stmhal/modpyb.c index ddfe2c30a8..8252b057a0 100644 --- a/stmhal/modpyb.c +++ b/stmhal/modpyb.c @@ -523,7 +523,9 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_I2C), (mp_obj_t)&pyb_i2c_type }, { MP_OBJ_NEW_QSTR(MP_QSTR_SPI), (mp_obj_t)&pyb_spi_type }, { MP_OBJ_NEW_QSTR(MP_QSTR_UART), (mp_obj_t)&pyb_uart_type }, +#if MICROPY_HW_ENABLE_CAN { MP_OBJ_NEW_QSTR(MP_QSTR_CAN), (mp_obj_t)&pyb_can_type }, +#endif { MP_OBJ_NEW_QSTR(MP_QSTR_ADC), (mp_obj_t)&pyb_adc_type }, { MP_OBJ_NEW_QSTR(MP_QSTR_ADCAll), (mp_obj_t)&pyb_adc_all_type },