// This file is part of arduino-cli. // // Copyright 2020 ARDUINO SA (http://www.arduino.cc/) // // This software is released under the GNU General Public License version 3, // which covers the main part of arduino-cli. // The terms of this license can be found at: // https://www.gnu.org/licenses/gpl-3.0.en.html // // You can be released from the requirements of the above licenses by purchasing // a commercial license. Buying such a license is mandatory if you want to // modify or otherwise use the software for commercial activities involving the // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. syntax = "proto3"; package cc.arduino.cli.commands; option go_package = "github.com/arduino/arduino-cli/rpc/commands"; import "commands/common.proto"; message UploadReq { // Arduino Core Service instance from the `Init` response. Instance instance = 1; // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). // If this field is not defined, the FQBN of the board attached to the sketch // via the `BoardAttach` method is used. string fqbn = 2; // Path where the sketch to be uploaded is stored. Unless the `import_file` // field is defined, the compiled binary is assumed to be at the location and // filename under this path where it is saved by the `Compile` method. string sketch_path = 3; // The port of the board. string port = 4; // Whether to turn on verbose output during the upload. bool verbose = 5; // After upload, verify that the contents of the memory on the board match the // uploaded binary. bool verify = 6; // When `import_file` is specified, it overrides the `import_dir` and `sketch_path` // params. string import_file = 7; // Custom path to a directory containing compiled files. When `import_dir` is // not specified, the standard build directory under `sketch_path` is used. string import_dir = 8; // The programmer to use for upload. If set an UploadUsingProgrammer is triggered // instead of a normal upload. The UploadUsingProgrammer call may also be used for // explicit error check. string programmer = 9; } message UploadResp { // The output of the upload process. bytes out_stream = 1; // The error output of the upload process. bytes err_stream = 2; } message UploadUsingProgrammerReq { // Arduino Core Service instance from the `Init` response. Instance instance = 1; // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). // If this field is not defined, the FQBN of the board attached to the sketch // via the `BoardAttach` method is used. string fqbn = 2; // Path where the sketch to be uploaded is stored. Unless the `import_file` // field is defined, the compiled binary is assumed to be at the location and // filename under this path where it is saved by the `Compile` method. string sketch_path = 3; // The port of the board. string port = 4; // Whether to turn on verbose output during the upload. bool verbose = 5; // After upload, verify that the contents of the memory on the board match the // uploaded binary. bool verify = 6; // When `import_file` is specified, it overrides the `import_dir` and `sketch_path` // params. string import_file = 7; // Custom path to a directory containing compiled files. When `import_dir` is // not specified, the standard build directory under `sketch_path` is used. string import_dir = 8; // The programmer to use for upload. string programmer = 9; } message UploadUsingProgrammerResp { // The output of the upload process. bytes out_stream = 1; // The error output of the upload process. bytes err_stream = 2; } message BurnBootloaderReq { // Arduino Core Service instance from the `Init` response. Instance instance = 1; // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). string fqbn = 2; // The port of the programmer used to program the bootloader. string port = 3; // Whether to turn on verbose output during the programming. bool verbose = 4; // After programming, verify the contents of the memory on the board match the // uploaded binary. bool verify = 5; // The programmer to use for burning bootloader. string programmer = 6; } message BurnBootloaderResp { // The output of the burn bootloader process. bytes out_stream = 1; // The error output of the burn bootloader process. bytes err_stream = 2; } message ListProgrammersAvailableForUploadReq { Instance instance = 1; string fqbn = 2; } message ListProgrammersAvailableForUploadResp { repeated Programmer programmers = 1; }