-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.arduino.mk
171 lines (116 loc) · 4.67 KB
/
Makefile.arduino.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
FQBN ?=
PORT ?=
TESTS ?=
$(info FQBN : $(FQBN))
$(info PORT : $(PORT))
TESTS_NEEDS_SENSOR=-DTEST_TLx493D_A1B6_NEEDS_SENSOR \
-DTEST_TLx493D_A2B6_NEEDS_SENSOR \
-DTEST_TLx493D_A2BW_NEEDS_SENSOR \
-DTEST_TLx493D_P2B6_NEEDS_SENSOR \
-DTEST_TLx493D_W2B6_NEEDS_SENSOR \
-DTEST_TLx493D_W2BW_NEEDS_SENSOR \
-DTEST_TLx493D_P3B6_NEEDS_SENSOR \
-DTEST_TLx493D_P3I8_NEEDS_SENSOR
TESTS_NO_SENSOR=-DTEST_TLx493D_A1B6 \
-DTEST_TLx493D_A2B6 \
-DTEST_TLx493D_A2BW \
-DTEST_TLx493D_P2B6 \
-DTEST_TLx493D_W2B6 \
-DTEST_TLx493D_W2BW \
-DTEST_TLx493D_P3B6 \
-DTEST_TLx493D_P3I8
A1B6_needsSensor: TESTS=-DTEST_TLx493D_A1B6 -DTEST_TLx493D_A1B6_NEEDS_SENSOR
A1B6: TESTS=-DTEST_TLx493D_A1B6
A2B6_needsSensor: TESTS=-DTEST_TLx493D_A2B6 -DTEST_TLx493D_A2B6_NEEDS_SENSOR
A2B6: TESTS=-DTEST_TLx493D_A2B6
A2BW_needsSensor: TESTS=-DTEST_TLx493D_A2BW -DTEST_TLx493D_A2BW_NEEDS_SENSOR
A2BW: TESTS=-DTEST_TLx493D_A2BW
P2B6_needsSensor: TESTS=-DTEST_TLx493D_P2B6 -DTEST_TLx493D_P2B6_NEEDS_SENSOR
P2B6: TESTS=-DTEST_TLx493D_P2B6
W2B6_needsSensor: TESTS=-DTEST_TLx493D_W2B6 -DTEST_TLx493D_W2B6_NEEDS_SENSOR
W2B6: TESTS=-DTEST_TLx493D_W2B6
W2BW_needsSensor: TESTS=-DTEST_TLx493D_W2BW -DTEST_TLx493D_W2BW_NEEDS_SENSOR
W2BW: TESTS=-DTEST_TLx493D_W2BW
P3B6_needsSensor: TESTS=-DTEST_TLx493D_P3B6 -DTEST_TLx493D_P3B6_NEEDS_SENSOR
P3B6: TESTS=-DTEST_TLx493D_P3B6
P3I8_needsSensor: TESTS=-DTEST_TLx493D_P3I8 -DTEST_TLx493D_P3I8_NEEDS_SENSOR
P3I8: TESTS=-DTEST_TLx493D_P3I8
A1B6_needsSensor A1B6 \
A2B6_needsSensor A2B6 \
A2BW_needsSensor A2BW \
P2B6_needsSensor P2B6 \
W2B6_needsSensor W2B6 \
W2BW_needsSensor W2BW \
P3B6_needsSensor P3B6 \
P3I8_needsSensor P3I8: unity flash
test_all: TESTS=$(TESTS_NEEDS_SENSOR) $(TESTS_NO_SENSOR)
test_needsSensor: TESTS=$(TESTS_NEEDS_SENSOR) $(TEST_COMMON_NEEDS_SENSOR)
test: TESTS=$(TESTS_NO_SENSOR)
test_all \
test_needsSensor \
test: unity flash
EXAMPLES = iic_c_style iic iic_with_wakeup 3iic 3iic_equal iic_ext_addr spi
# $(EXAMPLES): arduino compile
### Arduino targets
clean:
-rm -rf build/*
arduino: clean
-mkdir build
find src -name '*.[hc]*' -print -exec cp {} build \;
iic_ext_addr: arduino
cp examples/read_iic_a1b6_extended_addresses/read_iic_a1b6_extended_addresses.ino build/build.ino
iic_c_style: arduino
cp examples/read_iic_sensor_c_style/read_iic_sensor_c_style.ino build/build.ino
spi: arduino
cp examples/read_spi_sensor/read_spi_sensor.ino build/build.ino
iic: arduino
cp examples/read_iic_sensor/read_iic_sensor.ino build/build.ino
iic_with_wakeup: arduino
cp examples/read_iic_sensor_with_wakeup/read_iic_sensor_with_wakeup.ino build/build.ino
3iic: arduino
cp examples/read_3_different_iic_sensors/read_3_different_iic_sensors.ino build/build.ino
3iic_equal: arduino
cp examples/read_3_equal_iic_sensors/read_3_equal_iic_sensors.ino build/build.ino
unity: arduino
find ../../unity/Unity-master -name '*.[hc]' \( -path '*extras*' -a -path '*src*' -or -path '*src*' -a \! -path '*example*' \) -exec \cp {} build \;
find test/unit/src -name '*.[hc]*' -a \! -path '*mtb*' -exec \cp {} build \;
cp test/unit/src/framework/arduino/Test_main.ino build/build.ino
compile:
ifeq ($(FQBN),)
$(error "Must set variable FQBN in order to be able to compile Arduino sketches !")
else
arduino-cli.exe compile --clean --log --warnings all --fqbn $(FQBN) \
--build-property compiler.c.extra_flags="\"-DUNITY_INCLUDE_CONFIG_H=1\"" \
--build-property compiler.cpp.extra_flags="$(TESTS)" \
build
# --build-property compiler.c.extra_flags="\"-DUNITY_INCLUDE_CONFIG_H=1\"" \
endif
upload:
ifeq ($(PORT),)
$(error "Must set variable PORT (Windows port naming convention, ie COM16) in order to be able to flash Arduino sketches !")
endif
ifeq ($(FQBN),)
$(error "Must set variable FQBN in order to be able to flash Arduino sketches !")
else
arduino-cli.exe upload -p $(PORT) --fqbn $(FQBN) build
endif
flash: compile upload
monitor:
ifeq ($(PORT),)
$(error "Must set variable PORT (Windows port naming convention, ie COM16) in order to be able to flash Arduino sketches !")
endif
ifeq ($(FQBN),)
$(error "Must set variable FQBN in order to be able to flash Arduino sketches !")
else
arduino-cli.exe monitor -c baudrate=115200 -p $(PORT) --fqbn $(FQBN)
endif
# For WSL and Windows :
# download arduino-cli.exe from : https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip
prepare:
arduino-cli.exe core update-index
arduino-cli.exe core install Infineon:xmc
arduino-cli.exe core update-index
arduino-cli.exe core search Infineon
arduino-cli.exe core list
arduino-cli.exe board listall
arduino-cli.exe board listall Infineon