forked from speeduino/speeduino
-
Notifications
You must be signed in to change notification settings - Fork 0
/
platformio.ini
206 lines (186 loc) · 6.7 KB
/
platformio.ini
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/page/projectconf.html
[env:megaatmega2560]
platform=atmelavr
board=megaatmega2560
framework=arduino
build_unflags = -Os
build_flags = -DUSE_LIBDIVIDE -O3 -ffast-math -fshort-enums -funroll-loops -Wall -Wextra -std=c99
; Note that fp64lib is only used by unit tests. It isn't referenced by the firmware & will be
; ignored.
lib_deps = EEPROM, Time, fp64lib, simplyatomic
;test_build_project_src = true
test_build_src = yes
debug_tool = simavr
test_ignore = test_table3d_native
;This environment is the same as the above, however compiles for 6 channels of fuel and 3 channels of ignition
[env:megaatmega2560-6-3]
extends = env:megaatmega2560
build_flags = ${env:megaatmega2560.build_flags} -DINJ_CHANNELS=6 -DIGN_CHANNELS=3
;As the above, however compiles for 8 channels of fuel and only a single ignition channel
[env:megaatmega2560-8-1]
extends = env:megaatmega2560
build_flags = ${env:megaatmega2560.build_flags} -DINJ_CHANNELS=8 -DIGN_CHANNELS=1
[env:megaatmega2560_sim_unittest]
extends = env:megaatmega2560
build_src_flags = ${env:megaatmega2560.build_src_flags} -DSIMULATOR
[env:megaatmega2560_sim_unittest_windows]
extends = env:megaatmega2560_sim_unittest
build_type = test
platform_packages =
platformio/tool-simavr
test_speed = 9600
upload_protocol = custom
upload_command =
test_testing_command =
${platformio.packages_dir}/tool-simavr/bin/simavr
-m
atmega2560
-f
16000000L
${platformio.build_dir}/${this.__env__}/firmware.elf
[env:megaatmega2560_sim_unittest_ubuntu]
; PlatformIO SimAvr package doesn't run in Ubuntu:
; error while loading shared libraries: libsimavr.so.1: cannot open shared object file: No such file or directory
;
; So instead we manually install SimAVR ('sudo apt-get install -y simavr')
; and run the unit tests using that instead.
extends = env:megaatmega2560_sim_unittest_windows
test_testing_command =
simavr
-m
atmega2560
-f
16000000L
${platformio.build_dir}/${this.__env__}/firmware.elf
[env:megaatmega2561]
extends = env:megaatmega2560
board=ATmega2561
[env:teensy35]
;platform=teensy
platform=https://github.com/platformio/platform-teensy.git
board=teensy35
framework=arduino
lib_deps = EEPROM, FlexCAN_T4, Time, SimplyAtomic
test_build_src = yes
test_ignore = test_table3d_native
extra_scripts = post:post_extra_script.py
[env:teensy36]
;platform=teensy
platform=https://github.com/platformio/platform-teensy.git
board=teensy36
framework=arduino
lib_deps = EEPROM, FlexCAN_T4, Time, SimplyAtomic
test_build_src = yes
test_ignore = test_table3d_native
[env:teensy41]
;platform=teensy
platform=https://github.com/platformio/platform-teensy.git
board=teensy41
framework=arduino
lib_deps = EEPROM, FlexCAN_T4, Time, SimplyAtomic
test_build_src = yes
test_ignore = test_table3d_native
;STM32 Official core
[env:black_F407VE]
platform = ststm32
;platform = https://github.com/platformio/platform-ststm32.git
framework = arduino
;board = genericSTM32F407VET6
board = black_f407ve
; RTC library fixed to 1.2.0, because in newer than that the RTC fails to keep up time. At least up to 1.3.7 version
lib_deps = stm32duino/STM32duino RTC @ 1.2.0, greiman/SdFat, SimplyAtomic
board_build.core = stm32
build_flags = -DUSE_LIBDIVIDE -std=gnu++11 -UBOARD_MAX_IO_PINS -DENABLE_HWSERIAL2 -DENABLE_HWSERIAL3 -DUSBCON -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DHAL_CAN_MODULE_ENABLED -DSERIAL_TX_BUFFER_SIZE=128 -DSERIAL_RX_BUFFER_SIZE=128
upload_protocol = dfu
debug_tool = stlink
monitor_speed = 115200
;STM32 Official core
[env:BlackPill_F401CC]
platform = ststm32
framework = arduino
board = blackpill_f401cc
lib_deps = stm32duino/STM32duino RTC @ 1.2.0, SimplyAtomic
board_build.core = stm32
build_flags = -DUSE_LIBDIVIDE -std=gnu++11 -UBOARD_MAX_IO_PINS -DUSBCON -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DHAL_DAC_MODULE_DISABLED -DHAL_ETH_MODULE_DISABLED -DHAL_SD_MODULE_DISABLED -DHAL_QSPI_MODULE_DISABLED
upload_protocol = dfu
debug_tool = stlink
monitor_speed = 115200
;STM32 Official core
[env:BlackPill_F411CE_UART]
platform = ststm32
framework = arduino
board = blackpill_f411ce
lib_deps = stm32duino/STM32duino RTC @ 1.2.0, SimplyAtomic
board_build.core = stm32
build_flags = -DUSE_LIBDIVIDE -O3 -std=gnu++11 -UBOARD_MAX_IO_PINS
upload_protocol = dfu
debug_tool = stlink
monitor_speed = 115200
;STM32 Official core
[env:BlackPill_F411CE_USB]
platform = ststm32
framework = arduino
board = blackpill_f411ce
lib_deps = stm32duino/STM32duino RTC @ 1.2.0, SimplyAtomic
board_build.core = stm32
build_flags = -DUSE_LIBDIVIDE -O3 -std=gnu++11 -UBOARD_MAX_IO_PINS -DUSBCON -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC
upload_protocol = dfu
debug_tool = stlink
monitor_speed = 115200
[env:bluepill_f103c8]
platform = ststm32
framework = arduino
; framework-arduinoststm32
board = bluepill_f103c8_128k
lib_deps = EEPROM, stm32duino/STM32duino RTC @ 1.2.0, SimplyAtomic
;build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11 -Os -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,-Map,output.map
build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11 -Os -DCORE_STM32_OFFICIAL -UBOARD_MAX_IO_PINS
;SAMD21
[env:samd21]
platform = atmelsam
framework = arduino
board = zeroUSB
;lib_deps = cmaglie/FlashStorage @ ^1.0.0
;build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11 -DUSE_SPI_EEPROM
build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11
upload_protocol = sam-ba
;SAME51
[env:same51]
platform = atmelsam
framework = arduino
board = adafruit_feather_m4_can
;lib_deps = cmaglie/FlashStorage @ ^1.0.0
;build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11 -DUSE_SPI_EEPROM
build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11
upload_protocol = sam-ba
[env:custom_monitor_speedrate]
monitor_speed = 115200
[platformio]
src_dir=speeduino
default_envs = megaatmega2560
; local.ini is ignored via .gitignore
; This allows developers to make private/local PIO configuration changes without
; triggering Git changes in their dev tooling (E.g. VS Code)
extra_configs = local.ini
;The following lines are for testing / experimentation only. Comment the line above to try them out
;default_envs = black_F407VE
;default_envs = teensy35
;default_envs = teensy40
;env_default = LaunchPad_tm4c1294ncpdt
;env_default = genericSTM32F103RB
;env_default = bluepill_f103c8
[env:native]
platform = native
build_flags = -DUSE_LIBDIVIDE -std=gnu++11
debug_build_flags = -std=gnu++11 -O0 -g3
test_ignore = test_misc2, test_misc, test_decoders, test_schedules, test_fuel
debug_test = test_table3d_native
build_type = debug