diff --git a/stmhal/boards/HYDRABUS/mpconfigboard.h b/stmhal/boards/HYDRABUS/mpconfigboard.h index 18d1df19db4c3df63dd811f32ff97258139047ed..9a3f054520d675c166cf71dc7be6a5fa3776e122 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 c32e0d29e5922aaec1e7d5e3029ce60a80da8f92..6de5a72c055f602164814c77394a6d27f93052d8 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 977fabe4021a60aa3546a0081ddd5c17ddc74a48..d4645e84fb47aa560e2c68713e960885c34dc63b 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 048812748d69a4f8be109e79ddc1f1499ef314e9..fdb45f4652f94cafd6ebf0d17ece7e3ad9865ddb 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 5bb7f03b2fd10e4f2d74bc869ccfeb6046f7e273..4355d6531f90ea45786b24c1475abd2ef5f5918c 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 2e276947752fa910d794efc445ed2fa9c408bef9..9db330bff3ac96c49ce89451306f627de16f5943 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 82324a63869631b74dcfed7adf55d0d464d06eb1..920a4ad0b4ee08ac906da59f06e99622f3f06ecf 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 ddfe2c30a8f94f380c5ed9997726ea6de19aea90..8252b057a03db37fe7f1ce431ede173a1a80d99e 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 },