mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Enable CAN on DISCO_F303VC
							parent
							
								
									ce9d2526f8
								
							
						
					
					
						commit
						f5f3dc8143
					
				| 
						 | 
				
			
			@ -20,7 +20,7 @@ CAN can1(PD_0, PD_1);
 | 
			
		|||
      defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE) || \
 | 
			
		||||
      defined(TARGET_DISCO_F429ZI)  || defined(TARGET_NUCLEO_F103RB) || \
 | 
			
		||||
      defined(TARGET_NUCLEO_F746ZG) || defined(TARGET_NUCLEO_L476RG) || \
 | 
			
		||||
      defined(TARGET_NUCLEO_L432KC)
 | 
			
		||||
      defined(TARGET_NUCLEO_L432KC) || defined(TARGET_DISCO_F303VC)
 | 
			
		||||
CAN can1(PA_11, PA_12);
 | 
			
		||||
#elif defined(TARGET_DISCO_F469NI) ||defined(TARGET_DISCO_F746NG)
 | 
			
		||||
CAN can1(PB_8, PB_9);
 | 
			
		||||
| 
						 | 
				
			
			@ -68,7 +68,7 @@ int main() {
 | 
			
		|||
     !defined(TARGET_NUCLEO_F303RE) && !defined(TARGET_NUCLEO_F303K8) && \
 | 
			
		||||
     !defined(TARGET_NUCLEO_F302R8) && !defined(TARGET_NUCLEO_F103RB) && \
 | 
			
		||||
     !defined(TARGET_DISCO_L476VG)  && !defined(TARGET_NUCLEO_L476RG) && \
 | 
			
		||||
     !defined(TARGET_NUCLEO_L432KC))
 | 
			
		||||
     !defined(TARGET_NUCLEO_L432KC)) && !defined(TARGET_DISCO_F303VC)
 | 
			
		||||
      printf("loop()\n");
 | 
			
		||||
        if(can2.read(msg)) {
 | 
			
		||||
            printmsg("Rx message:", &msg);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,7 @@ CAN can1(PD_0, PD_1);
 | 
			
		|||
      defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE) || \
 | 
			
		||||
      defined(TARGET_DISCO_F429ZI)  || defined(TARGET_NUCLEO_F103RB) || \
 | 
			
		||||
      defined(TARGET_NUCLEO_F746ZG) || defined(TARGET_NUCLEO_L476RG) || \
 | 
			
		||||
      defined(TARGET_NUCLEO_L432KC)
 | 
			
		||||
      defined(TARGET_NUCLEO_L432KC) || defined(TARGET_DISCO_F303VC)
 | 
			
		||||
CAN can1(PA_11, PA_12);
 | 
			
		||||
#elif defined(TARGET_DISCO_F469NI) || defined(TARGET_DISCO_F746NG)
 | 
			
		||||
CAN can1(PB_8, PB_9);
 | 
			
		||||
| 
						 | 
				
			
			@ -63,7 +63,7 @@ void send() {
 | 
			
		|||
     !defined(TARGET_NUCLEO_F303RE) && !defined(TARGET_NUCLEO_F303K8) && \
 | 
			
		||||
     !defined(TARGET_NUCLEO_F302R8) && !defined(TARGET_NUCLEO_F103RB) && \
 | 
			
		||||
     !defined(TARGET_DISCO_L476VG)  && !defined(TARGET_NUCLEO_L476RG) && \
 | 
			
		||||
     !defined(TARGET_NUCLEO_L432KC))
 | 
			
		||||
     !defined(TARGET_NUCLEO_L432KC) && !defined(TARGET_DISCO_F303VC))
 | 
			
		||||
void read() {
 | 
			
		||||
    CANMessage msg;
 | 
			
		||||
    printf("rx()\n");
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,7 @@ int main() {
 | 
			
		|||
     !defined(TARGET_NUCLEO_F303RE) && !defined(TARGET_NUCLEO_F303K8) && \
 | 
			
		||||
     !defined(TARGET_NUCLEO_F302R8) && !defined(TARGET_NUCLEO_F103RB) && \
 | 
			
		||||
     !defined(TARGET_DISCO_L476VG)  && !defined(TARGET_NUCLEO_L476RG) && \
 | 
			
		||||
     !defined(TARGET_NUCLEO_L432KC))
 | 
			
		||||
     !defined(TARGET_NUCLEO_L432KC) && !defined(TARGET_DISCO_F303VC))
 | 
			
		||||
    can2.attach(&read);
 | 
			
		||||
#endif
 | 
			
		||||
    while(1) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,7 +24,8 @@ CAN can1(PA_11, PA_12);
 | 
			
		|||
#elif defined(TARGET_DISCO_F469NI)  || defined(TARGET_DISCO_F746NG)  || \
 | 
			
		||||
      defined(TARGET_NUCLEO_F446ZE) || defined(TARGET_NUCLEO_F103RB) || \
 | 
			
		||||
      defined(TARGET_NUCLEO_F207ZG) || defined(TARGET_NUCLEO_F303ZE) || \
 | 
			
		||||
      defined(TARGET_DISCO_F769NI) || defined(TARGET_NUCLEO_F767ZI)
 | 
			
		||||
      defined(TARGET_DISCO_F769NI) || defined(TARGET_NUCLEO_F767ZI)  || \
 | 
			
		||||
      defined(TARGET_DISCO_F303VC)
 | 
			
		||||
CAN can1(PB_8, PB_9);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,6 +81,10 @@ typedef enum {
 | 
			
		|||
    PWM_17 = (int)TIM17_BASE
 | 
			
		||||
} PWMName;
 | 
			
		||||
 | 
			
		||||
typedef enum {
 | 
			
		||||
    CAN_1 = (int)CAN_BASE
 | 
			
		||||
} CANName;
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -342,3 +342,13 @@ const PinMap PinMap_SPI_SSEL[] = {
 | 
			
		|||
    {PD_15, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI2)},
 | 
			
		||||
    {NC,    NC,    0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const PinMap PinMap_CAN_RD[] = {
 | 
			
		||||
    {PA_11, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN)},
 | 
			
		||||
    {NC,    NC,    0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const PinMap PinMap_CAN_TD[] = {
 | 
			
		||||
    {PA_12, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN)},
 | 
			
		||||
    {NC,    NC,    0}
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -840,7 +840,7 @@ typedef struct
 | 
			
		|||
#define UART5               ((USART_TypeDef *) UART5_BASE)
 | 
			
		||||
#define I2C1                ((I2C_TypeDef *) I2C1_BASE)
 | 
			
		||||
#define I2C2                ((I2C_TypeDef *) I2C2_BASE)
 | 
			
		||||
#define CAN                 ((CAN_TypeDef *) CAN_BASE)
 | 
			
		||||
#define CAN1                ((CAN_TypeDef *) CAN_BASE)
 | 
			
		||||
#define PWR                 ((PWR_TypeDef *) PWR_BASE)
 | 
			
		||||
#define DAC                 ((DAC_TypeDef *) DAC_BASE)
 | 
			
		||||
#define DAC1                ((DAC_TypeDef *) DAC1_BASE)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,6 +66,11 @@ struct dac_s {
 | 
			
		|||
    uint32_t channel;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct can_s {
 | 
			
		||||
    CANName can;
 | 
			
		||||
    int index;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#include "common_objects.h"
 | 
			
		||||
#include "gpio_object.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1125,7 +1125,7 @@
 | 
			
		|||
        "extra_labels": ["STM", "STM32F3", "STM32F303", "STM32F303VC"],
 | 
			
		||||
        "macros": ["RTC_LSI=1", "TRANSACTION_QUEUE_SIZE_SPI=2"],
 | 
			
		||||
        "supported_toolchains": ["GCC_ARM"],
 | 
			
		||||
        "device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES"],
 | 
			
		||||
        "device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES"],
 | 
			
		||||
        "device_name": "STM32F303VC"
 | 
			
		||||
    },
 | 
			
		||||
    "DISCO_F334C8": {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -117,8 +117,9 @@ Wiring:
 | 
			
		|||
     * NUCLEO_F746ZG: (RX=PA_11, TX=PA_12)
 | 
			
		||||
     * DISCO_F746NG:  (RX=PB_8, TX=PB_9)
 | 
			
		||||
     * DISCO_L476VG:  (RX=PA_11, TX=PA_12)
 | 
			
		||||
     * NUCLEO_L476RG:  (RX=PA_11, TX=PA_12)
 | 
			
		||||
     * NUCLEO_L432KC:  (RX=PA_11, TX=PA_12)
 | 
			
		||||
     * NUCLEO_L476RG: (RX=PA_11, TX=PA_12)
 | 
			
		||||
     * NUCLEO_L432KC: (RX=PA_11, TX=PA_12)
 | 
			
		||||
     * DISCO_F303VC:  (RX=PA_11, TX=PA_12)
 | 
			
		||||
 | 
			
		||||
"""
 | 
			
		||||
TESTS = [
 | 
			
		||||
| 
						 | 
				
			
			@ -323,7 +324,7 @@ TESTS = [
 | 
			
		|||
        "NUCLEO_F303RE", "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE","NUCLEO_F446ZE",
 | 
			
		||||
        "DISCO_F469NI", "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG",
 | 
			
		||||
        "DISCO_F746NG", "DISCO_L476VG", "NUCLEO_L476RG", "NUCLEO_L432KC",
 | 
			
		||||
        "DISCO_F769NI", "NUCLEO_F767ZI"]
 | 
			
		||||
        "DISCO_F769NI", "NUCLEO_F767ZI", "DISCO_F303VC"]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "id": "MBED_A28", "description": "CAN loopback test",
 | 
			
		||||
| 
						 | 
				
			
			@ -335,9 +336,9 @@ TESTS = [
 | 
			
		|||
        "NUCLEO_F303RE", "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F303ZE", "NUCLEO_F446RE","NUCLEO_F446ZE",
 | 
			
		||||
        "DISCO_F469NI", "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG",
 | 
			
		||||
        "DISCO_F746NG", "DISCO_L476VG", "NUCLEO_L476RG", "NUCLEO_L432KC",
 | 
			
		||||
        "DISCO_F769NI", "NUCLEO_F767ZI"]
 | 
			
		||||
        "DISCO_F769NI", "NUCLEO_F767ZI", "DISCO_F303VC"]
 | 
			
		||||
    },
 | 
			
		||||
	{
 | 
			
		||||
    {
 | 
			
		||||
        "id": "MBED_A29", "description": "i2c_master_slave_asynch",
 | 
			
		||||
        "source_dir": join(TEST_DIR, "mbed", "i2c_master_slave_asynch"),
 | 
			
		||||
        "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
 | 
			
		||||
| 
						 | 
				
			
			@ -605,7 +606,7 @@ TESTS = [
 | 
			
		|||
                "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE",
 | 
			
		||||
                "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE","NUCLEO_F446ZE", "DISCO_F469NI", "NUCLEO_F207ZG",
 | 
			
		||||
                "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG", "DISCO_F746NG",
 | 
			
		||||
                "NUCLEO_L476RG", "NUCLEO_L432KC"]
 | 
			
		||||
                "NUCLEO_L476RG", "NUCLEO_L432KC", "DISCO_F303VC"]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "id": "MBED_30", "description": "CAN network test using interrupts",
 | 
			
		||||
| 
						 | 
				
			
			@ -615,7 +616,7 @@ TESTS = [
 | 
			
		|||
                "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE",
 | 
			
		||||
                "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE", "NUCLEO_F446ZE", "DISCO_F469NI",
 | 
			
		||||
                "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG", "DISCO_F746NG",
 | 
			
		||||
                "NUCLEO_L476RG", "NUCLEO_L432KC"]
 | 
			
		||||
                "NUCLEO_L476RG", "NUCLEO_L432KC", "DISCO_F303VC"]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "id": "MBED_31", "description": "PWM LED test",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue