third_party.pigweed.src/pw_arduino_build/arduino.gni
Anthony DiGirolamo 9147aa0128 Arduino: main function wrapper
- Remove simple_printing_main_arduino.cc which used loop() and setup()
- Rename main() in arduino core sources to ArduinoMain()
- Define setup() and loop() in arduino_main_wrapper.cc and call pigweed
  main() in setup() after pw_arduino_Init();
- Switch to pw_unit_test_MAIN = "$dir_pw_unit_test:simple_printing_main"
  in //targets/arduino/target_toolchains.gni
- Add pw_arduino_build/public/pw_arduino_build/init.h facade
- Documentation!
- Fix bug in arduinobuilder.py when using an arduino core which uses
  only one sub-core folder.

Change-Id: I94630b25f6c914ef46bdb9c32e6ddb5154690045
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/18640
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Anthony DiGirolamo <tonymd@google.com>
2020-09-25 23:05:41 +00:00

58 lines
1.7 KiB
Plaintext

# Copyright 2020 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
# gn-format disable
import("//build_overrides/pigweed.gni")
declare_args() {
# Expected args for an Arduino build:
arduino_core_name = "teensy"
arduino_package_name = "teensy/avr"
arduino_board = "teensy40"
# Menu options should be a list of strings.
arduino_menu_options = [
"menu.usb.serial",
"menu.keys.en-us",
]
# Enable/disable Arduino builds via group("arduino").
# Set to the full path of ./third_party/arduino
dir_pw_third_party_arduino = ""
}
arduino_builder_script =
get_path_info("py/pw_arduino_build/arduinobuilder.py", "abspath")
_arduino_core_path =
rebase_path("../third_party/arduino/cores/$arduino_core_name")
_compiler_path_override =
rebase_path(getenv("_PW_ACTUAL_ENVIRONMENT_ROOT") + "/cipd/pigweed/bin")
arduino_global_args = [
"--arduino-package-path",
_arduino_core_path,
"--arduino-package-name",
arduino_package_name,
"--compiler-path-override",
_compiler_path_override,
"show",
"--delimit-with-newlines",
"--build-path",
rebase_path(root_build_dir),
"--board",
arduino_board,
"--menu-options",
]
arduino_global_args += arduino_menu_options