Skip to content

Commit f027cf4

Browse files
jeromecoutantadustm
authored andcommitted
Add new CAN API test MBED_A30
1 parent 6c1fc98 commit f027cf4

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
#include "mbed.h"
2+
#include "test_env.h"
3+
4+
#if !DEVICE_CAN
5+
#error [NOT_SUPPORTED] CAN not supported
6+
#endif
7+
8+
#if defined(TARGET_LPC1549)
9+
#define CAN_RD D9
10+
#define CAN_TD D8
11+
#elif defined(TARGET_LPC1768) || defined(TARGET_LPC4088)
12+
#define CAN_RD p9
13+
#define CAN_TD p10
14+
#elif defined(TARGET_B96B_F446VE)
15+
#define CAN_RD PD_0
16+
#define CAN_TD PD_1
17+
#elif defined(TARGET_VK_RZ_A1H)
18+
#define CAN_RD P5_9
19+
#define CAN_TD P5_10
20+
#elif defined(TARGET_NUCLEO_F042K6) || \
21+
defined(TARGET_NUCLEO_F072RB) || \
22+
defined(TARGET_NUCLEO_F091RC) || \
23+
defined(TARGET_NUCLEO_F302R8) || \
24+
defined(TARGET_NUCLEO_F303RE) || \
25+
defined(TARGET_NUCLEO_F303K8) || \
26+
defined(TARGET_NUCLEO_F334R8) || \
27+
defined(TARGET_NUCLEO_F412ZG) || \
28+
defined(TARGET_DISCO_F429ZI) || \
29+
defined(TARGET_NUCLEO_F446RE) || \
30+
defined(TARGET_NUCLEO_F746ZG) || \
31+
defined(TARGET_NUCLEO_L432KC) || \
32+
defined(TARGET_DISCO_L476VG) || \
33+
defined(TARGET_NUCLEO_L476RG)
34+
#define CAN_RD PA_11
35+
#define CAN_TD PA_12
36+
#elif defined(TARGET_NUCLEO_F103RB) || \
37+
defined(TARGET_NUCLEO_F207ZG) || \
38+
defined(TARGET_DISCO_F303VC) || \
39+
defined(TARGET_NUCLEO_F303ZE) || \
40+
defined(TARGET_NUCLEO_F412ZG) || \
41+
defined(TARGET_NUCLEO_F429ZI) || \
42+
defined(TARGET_NUCLEO_F439ZI) || \
43+
defined(TARGET_NUCLEO_F446ZE) || \
44+
defined(TARGET_DISCO_F469NI) || \
45+
defined(TARGET_DISCO_F746NG) || \
46+
defined(TARGET_NUCLEO_F756ZG) || \
47+
defined(TARGET_NUCLEO_F767ZI) || \
48+
defined(TARGET_DISCO_F769NI) || \
49+
defined(TARGET_NUCLEO_L486RG)
50+
#define CAN_RD PB_8
51+
#define CAN_TD PB_9
52+
#endif
53+
54+
int result = true;
55+
56+
void Check_CAN_Frequency(int CanFrequency)
57+
{
58+
printf("Init CAN at %d Hz\n", CanFrequency);
59+
60+
CAN can_object(CAN_RD, CAN_TD, CanFrequency);
61+
62+
#if !defined(TARGET_VK_RZ_A1H)
63+
can_object.mode(CAN::Reset);
64+
#endif
65+
66+
if (!can_object.mode(CAN::LocalTest)) {
67+
printf("CAN MODE_TEST_LOCAL failed\n");
68+
result = false;
69+
}
70+
}
71+
72+
int main()
73+
{
74+
MBED_HOSTTEST_TIMEOUT(20);
75+
MBED_HOSTTEST_SELECT(dev_null);
76+
MBED_HOSTTEST_DESCRIPTION(CAN API at different frequency);
77+
MBED_HOSTTEST_START("MBED_A30");
78+
79+
const int frequency_table[] = {10000, 50000, 100000, 500000, 1000000};
80+
for (uint32_t i = 0; i < sizeof(frequency_table)/sizeof(int); i++) {
81+
Check_CAN_Frequency(frequency_table[i]);
82+
}
83+
84+
MBED_HOSTTEST_RESULT(result);
85+
}

tools/tests.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,19 @@
339339
"automated": True,
340340
"peripherals": ["i2c_loop"]
341341
},
342+
{
343+
"id": "MBED_A30", "description": "CAN API",
344+
"source_dir": join(TEST_DIR, "mbed", "can_api"),
345+
"dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
346+
"automated": True,
347+
"mcu": ["LPC1549", "LPC1768","B96B_F446VE", "VK_RZ_A1H",
348+
"NUCLEO_F091RC", "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F207ZG",
349+
"NUCLEO_F303RE", "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE","NUCLEO_F446ZE",
350+
"DISCO_F469NI", "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG",
351+
"NUCLEO_F429ZI", "NUCLEO_F439ZI", "NUCLEO_F756ZG", "NUCLEO_L486RG",
352+
"DISCO_F746NG", "DISCO_L476VG", "NUCLEO_L476RG", "NUCLEO_L432KC",
353+
"DISCO_F769NI", "NUCLEO_F767ZI", "DISCO_F303VC", "NUCLEO_F412ZG"]
354+
},
342355
{
343356
"id": "MBED_BLINKY", "description": "Blinky",
344357
"source_dir": join(TEST_DIR, "mbed", "blinky"),

0 commit comments

Comments
 (0)