Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Protocol Documentation

Table of Contents

Top

cc/arduino/cli/commands/v1/common.proto

Board

FieldTypeLabelDescription
namestringName used to identify the board to humans.
fqbnstringFully qualified board name used to identify the board to machines. The FQBN is only available for installed boards.

DownloadProgress

FieldTypeLabelDescription
startDownloadProgressStartSent when a download is started.
updateDownloadProgressUpdateProgress updates for a download.
endDownloadProgressEndSent when a download is finished or failed.

DownloadProgressEnd

FieldTypeLabelDescription
successboolTrue if the download is successful.
messagestringInfo or error message, depending on the value of 'success'. Some examples: "File xxx already downloaded" or "Connection timeout".

DownloadProgressStart

FieldTypeLabelDescription
urlstringURL of the download.
labelstringThe label to display on the progress bar.

DownloadProgressUpdate

FieldTypeLabelDescription
downloadedint64Size of the downloaded portion of the file.
total_sizeint64Total size of the file being downloaded.

HelpResources

FieldTypeLabelDescription
onlinestringA URL provided by the author of the platform's package, intended to point to their online help service.

InstalledPlatformReference

FieldTypeLabelDescription
idstringPlatform ID (e.g.,arduino:avr).
versionstringVersion of the platform.
install_dirstringInstallation directory of the platform.
package_urlstring3rd party platform URL.

Instance

FieldTypeLabelDescription
idint32The ID of the instance.

MissingProgrammerError

MissingProgrammerError is a status error detail that is returned whenthe operation can not be completed due to a missing programmer argument.

MonitorPortConfiguration

FieldTypeLabelDescription
settingsMonitorPortSettingrepeatedThe port configuration parameters.

MonitorPortSetting

FieldTypeLabelDescription
setting_idstringThe setting identifier.
valuestringThe setting value.

Platform

Platform is a structure containing all the information about a singleplatform release.

FieldTypeLabelDescription
metadataPlatformMetadataGeneric information about a platform.
releasePlatformReleaseInformation about a specific release of a platform.

PlatformMetadata

PlatformMetadata contains generic information about a platform (notcorrelated to a specific release).

FieldTypeLabelDescription
idstringPlatform ID (e.g.,arduino:avr).
maintainerstringMaintainer of the platform's package.
websitestringA URL provided by the author of the platform's package, intended to point to their website.
emailstringEmail of the maintainer of the platform's package.
manually_installedboolIf true this Platform has been installed manually in the user' sketchbook hardware folder.
deprecatedboolTrue if the latest release of this Platform has been deprecated.
indexedboolIf true the platform is indexed.

PlatformRelease

PlatformRelease contains information about a specific release of a platform.

FieldTypeLabelDescription
namestringName used to identify the platform to humans (e.g., "Arduino AVR Boards").
versionstringVersion of the platform release.
typesstringrepeatedType of the platform.
installedboolTrue if the platform is installed.
boardsBoardrepeatedList of boards provided by the platform. If the platform is installed, this is the boards listed in the platform's boards.txt. If the platform is not installed, this is an arbitrary list of board names provided by the platform author for display and may not match boards.txt.
helpHelpResourcesA URL provided by the author of the platform's package, intended to point to their online help service.
missing_metadataboolThis field is true if the platform is missing installation metadata (this happens if the platform has been installed with the legacy Arduino IDE <=1.8.x). If the platform miss metadata and it's not indexed through a package index, it may fail to work correctly in some circumstances, and it may need to be reinstalled. This should be evaluated only when the PlatformRelease isInstalled otherwise is an undefined behaviour.
deprecatedboolTrue this release is deprecated.
compatibleboolTrue if the platform dependencies are available for the current OS/ARCH. This also means that the platform is installable.

PlatformSummary

PlatformSummary is a structure containing all the information abouta platform and all its available releases.

FieldTypeLabelDescription
metadataPlatformMetadataGeneric information about a platform.
releasesPlatformSummary.ReleasesEntryrepeatedMaps version to the corresponding PlatformRelease.
installed_versionstringThe installed version of the platform, or empty string if none installed.
latest_versionstringThe latest available version of the platform that can be installable, or empty if none available.

PlatformSummary.ReleasesEntry

FieldTypeLabelDescription
keystring
valuePlatformRelease

Programmer

FieldTypeLabelDescription
platformstringPlatform name.
idstringProgrammer ID.
namestringProgrammer name.

Sketch

FieldTypeLabelDescription
main_filestringAbsolute path to a main sketch files.
location_pathstringAbsolute path to folder that contains main_file.
other_sketch_filesstringrepeatedList of absolute paths to other sketch files.
additional_filesstringrepeatedList of absolute paths to additional sketch files.
root_folder_filesstringrepeatedList of absolute paths to supported files in the sketch root folder, main file excluded.
default_fqbnstringDefault FQBN set in project file (sketch.yaml).
default_portstringDefault Port set in project file (sketch.yaml).
default_protocolstringDefault Protocol set in project file (sketch.yaml).
profilesSketchProfilerepeatedList of profiles present in the project file (sketch.yaml).
default_profileSketchProfileDefault profile set in the project file (sketch.yaml).
default_programmerstringDefault Programmer set in project file (sketch.yaml).
default_port_configMonitorPortConfigurationDefault Port configuration set in project file (sketch.yaml).

SketchProfile

FieldTypeLabelDescription
namestringName of the profile.
fqbnstringFQBN used by the profile.
programmerstringProgrammer used by the profile.
portstringDefault Port in this profile.
port_configMonitorPortConfigurationDefault Port configuration set in project file (sketch.yaml).
protocolstringDefault Protocol in this profile.

TaskProgress

FieldTypeLabelDescription
namestringDescription of the task.
messagestringAdditional information about the task.
completedboolWhether the task is complete.
percentfloatAmount in percent of the task completion (optional).

Top

cc/arduino/cli/commands/v1/port.proto

Port

Port represents a board port that may be used to upload or to monitor a board.

FieldTypeLabelDescription
addressstringAddress of the port (e.g.,/dev/ttyACM0).
labelstringThe port label to show on the GUI (e.g. "ttyACM0").
protocolstringProtocol of the port (e.g.,serial,network, ...).
protocol_labelstringA human friendly description of the protocol (e.g., "Serial Port (USB)").
propertiesPort.PropertiesEntryrepeatedA set of properties of the port.
hardware_idstringThe hardware ID (serial number) of the board attached to the port.

Port.PropertiesEntry

FieldTypeLabelDescription
keystring
valuestring

Top

cc/arduino/cli/commands/v1/board.proto

BoardDetailsRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
fqbnstringThe fully qualified board name of the board you want information about (e.g.,arduino:avr:uno).
do_not_expand_build_propertiesboolIf set to true the returned build properties will be left unexpanded, with the variables placeholders exactly as defined in the platform.

BoardDetailsResponse

FieldTypeLabelDescription
fqbnstringThe fully qualified board name of the board.
namestringName used to identify the board to humans (e.g., Arduino Uno).
versionstringInstalled version of the board's platform.
properties_idstringThe board ID component of the FQBN (e.g.,uno).
aliasstringBoard alias that can be used as a more user friendly alternative to the FQBN.
officialboolWhether this is an official or 3rd party board.
pinoutstringURL of the board's pinout documentation.
packagePackageData about the package that contains the board's platform.
platformBoardPlatformData about the board's platform.
tools_dependenciesToolsDependenciesrepeatedTool dependencies of the board.
config_optionsConfigOptionrepeatedThe board's custom configuration options.
programmersProgrammerrepeatedList of programmers supported by the board.
identification_propertiesBoardIdentificationPropertiesrepeatedIdentifying information for the board (e.g., USB VID/PID).
build_propertiesstringrepeatedBoard build properties used for compiling.
default_programmer_idstringDefault programmer for the board.

BoardIdentificationProperties

FieldTypeLabelDescription
propertiesBoardIdentificationProperties.PropertiesEntryrepeatedA set of properties that must all be matched to identify the board.

BoardIdentificationProperties.PropertiesEntry

FieldTypeLabelDescription
keystring
valuestring

BoardIdentifyRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
propertiesBoardIdentifyRequest.PropertiesEntryrepeatedA set of properties to search (can be taken from a Port message).
use_cloud_api_for_unknown_board_detectionboolIf set to true, when a board cannot be identified using the installed platforms, the cloud API will be called to detect the board.

BoardIdentifyRequest.PropertiesEntry

FieldTypeLabelDescription
keystring
valuestring

BoardIdentifyResponse

FieldTypeLabelDescription
boardsBoardListItemrepeatedList of matching boards (they may have an FQBN with options set).

BoardListAllRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
search_argsstringrepeatedThe search query to filter the board list by.
include_hidden_boardsboolSet to true to get also the boards marked as "hidden" in the platform.

BoardListAllResponse

FieldTypeLabelDescription
boardsBoardListItemrepeatedList of installed boards.

BoardListItem

FieldTypeLabelDescription
namestringThe name for use when identifying the board to a human.
fqbnstringThe fully qualified board name. Used to identify the board to a machine.
is_hiddenboolIf the board is marked as "hidden" in the platform.
platformPlatformPlatform this board belongs to.

BoardListRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
timeoutint64Search for boards for the given time (in milliseconds).
fqbnstringThe fully qualified board name of the board you want information about (e.g.,arduino:avr:uno).
skip_cloud_api_for_board_detectionboolIf set to true, when a board cannot be identified using the installed platforms, the cloud API will not be called to detect the board.

BoardListResponse

FieldTypeLabelDescription
portsDetectedPortrepeatedList of ports and the boards detected on those ports.
warningsstringrepeatedWarning messages or errors coming from the discoveries.

BoardListWatchRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
skip_cloud_api_for_board_detectionboolIf set to true, when a board cannot be identified using the installed platforms, the cloud API will not be called to detect the board.

BoardListWatchResponse

FieldTypeLabelDescription
event_typestringEvent type as received from the serial discovery tool.
portDetectedPortInformation about the port.
errorstringEventual errors when detecting connected boards.

BoardPlatform

FieldTypeLabelDescription
architecturestringArchitecture of the platform (e.g.,avr).
categorystringCategory of the platform. Set toContributed for 3rd party platforms.
urlstringDownload URL of the platform archive file.
archive_filenamestringFile name of the platform archive.
checksumstringChecksum of the platform archive.
sizeint64File size of the platform archive.
namestringName used to identify the platform to humans.

BoardSearchRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
search_argsstringThe search query to filter the board list by.
include_hidden_boardsboolSet to true to get also the boards marked as "hidden" in installed platforms.

BoardSearchResponse

FieldTypeLabelDescription
boardsBoardListItemrepeatedList of installed and installable boards.

ConfigOption

FieldTypeLabelDescription
optionstringID of the configuration option. For identifying the option to machines.
option_labelstringName of the configuration option for identifying the option to humans.
valuesConfigValuerepeatedPossible values of the configuration option.

ConfigValue

FieldTypeLabelDescription
valuestringThe configuration option value.
value_labelstringLabel to identify the configuration option to humans.
selectedboolWhether the configuration option is selected.

DetectedPort

FieldTypeLabelDescription
matching_boardsBoardListItemrepeatedThe possible boards attached to the port.
portPortThe port details.

Help

FieldTypeLabelDescription
onlinestringURL for getting online help.

Package

FieldTypeLabelDescription
maintainerstringMaintainer of the package.
urlstringThe URL of the platforms index file (e.g.,https://downloads.arduino.cc/packages/package_index.json).
website_urlstringA URL provided by the package author, intended to point to their website.
emailstringEmail address of the package maintainer.
namestringPackage vendor name.
helpHelpResources for getting help about using the package.

Systems

FieldTypeLabelDescription
checksumstringChecksum of the tool archive.
hoststringOperating system identifier.
archive_filenamestringFile name of the tool archive.
urlstringDownload URL of the tool archive.
sizeint64File size of the tool archive.

ToolsDependencies

FieldTypeLabelDescription
packagerstringVendor name of the package containing the tool definition.
namestringTool name.
versionstringTool version.
systemsSystemsrepeatedData for the operating system-specific builds of the tool.

Top

cc/arduino/cli/commands/v1/lib.proto

DownloadResource

FieldTypeLabelDescription
urlstringDownload URL of the library archive.
archive_filenamestringFilename of the library archive.
checksumstringChecksum of the library archive.
sizeint64File size of the library archive.
cache_pathstringThe directory under the staging subdirectory of the data directory the library archive file will be downloaded to.

GitLibraryInstallRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
urlstringURL to the repository containing the library.
overwriteboolSet to true to overwrite an already installed library with the same name. Defaults to false.

GitLibraryInstallResponse

FieldTypeLabelDescription
task_progressTaskProgressDescription of the current stage of the installation.
resultGitLibraryInstallResponse.ResultInstallation result.

GitLibraryInstallResponse.Result

Empty message, reserved for future expansion.

InstalledLibrary

FieldTypeLabelDescription
libraryLibraryInformation about the library.
releaseLibraryReleaseWhen theupdatable field of theLibraryList request is set totrue, this will contain information on the latest version of the library in the libraries index.

Library

FieldTypeLabelDescription
namestringLibrary name (value ofname field in library.properties).
authorstringValue of theauthor field in library.properties.
maintainerstringValue of themaintainer field in library.properties.
sentencestringValue of thesentence field in library.properties.
paragraphstringValue of theparagraph field in library.properties.
websitestringValue of theurl field in library.properties.
categorystringValue of thecategory field in library.properties.
architecturesstringrepeatedValue of thearchitectures field in library.properties.
typesstringrepeatedThe type categories of the library. Possible values:Arduino,Partner,Recommended,Contributed,Retired.
install_dirstringThe path of the library directory.
source_dirstringThe location of the library's source files.
utility_dirstringThe location of the library'sutility directory.
container_platformstringIflocation isplatform_builtin orreferenced_platform_builtin, the identifying string for the platform containing the library (e.g.,arduino:avr@1.8.2).
dot_a_linkageboolValue of thedot_a_linkage field in library.properties.
precompiledboolValue of theprecompiled field in library.properties.
ld_flagsstringValue of theldflags field in library.properties.
is_legacyboolA library.properties file is not present in the library's root directory.
versionstringValue of theversion field in library.properties.
licensestringValue of thelicense field in library.properties.
propertiesLibrary.PropertiesEntryrepeatedThe data from the library's library.properties file, including unused fields.
locationLibraryLocationThe location type of the library installation.
layoutLibraryLayoutThe library format type.
examplesstringrepeatedThe example sketches provided by the library.
provides_includesstringrepeatedValue of theincludes field in library.properties or, if missing, the list of include files available on the library source root directory.
compatible_withLibrary.CompatibleWithEntryrepeatedMap of FQBNs that specifies if library is compatible with this library.
in_developmentboolThis value is set to true if the library is in development and should not be treated as read-only. This status is determined by the presence of a.development file in the library root directory.

Library.CompatibleWithEntry

FieldTypeLabelDescription
keystring
valuebool

Library.PropertiesEntry

FieldTypeLabelDescription
keystring
valuestring

LibraryDependency

FieldTypeLabelDescription
namestringLibrary name of the dependency.
version_constraintstringVersion constraint of the dependency.

LibraryDependencyStatus

FieldTypeLabelDescription
namestringThe name of the library dependency.
version_requiredstringThe required version of the library dependency.
version_installedstringVersion of the library dependency currently installed.

LibraryDownloadRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
namestringName of the library.
versionstringThe version of the library to download.

LibraryDownloadResponse

FieldTypeLabelDescription
progressDownloadProgressProgress of the library download.
resultLibraryDownloadResponse.ResultDownload result.

LibraryDownloadResponse.Result

Empty message, reserved for future expansion.

LibraryInstallRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
namestringName of the library.
versionstringThe version of the library to install.
no_depsboolSet to true to skip installation of specified library's dependencies, defaults to false.
no_overwriteboolSet to true to skip installation if a different version of the library or one of its dependencies is already installed, defaults to false.
install_locationLibraryInstallLocationInstall the library and dependencies in the specified location.

LibraryInstallResponse

FieldTypeLabelDescription
progressDownloadProgressProgress of the library download.
task_progressTaskProgressDescription of the current stage of the installation.
resultLibraryInstallResponse.ResultDownload result.

LibraryInstallResponse.Result

Empty message, reserved for future expansion.

LibraryListRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
allboolWhether to include built-in libraries (from platforms and the Arduino IDE) in the listing.
updatableboolWhether to list only libraries for which there is a newer version than the installed version available in the libraries index.
namestringIf set filters out the libraries not matching name.
fqbnstringBy setting this field all duplicate libraries are filtered out leaving only the libraries that will be used to compile for the specified board FQBN.

LibraryListResponse

FieldTypeLabelDescription
installed_librariesInstalledLibraryrepeatedList of installed libraries.

LibraryRelease

FieldTypeLabelDescription
authorstringValue of theauthor field in library.properties.
versionstringValue of theversion field in library.properties.
maintainerstringValue of themaintainer field in library.properties.
sentencestringValue of thesentence field in library.properties.
paragraphstringValue of theparagraph field in library.properties.
websitestringValue of theurl field in library.properties.
categorystringValue of thecategory field in library.properties.
architecturesstringrepeatedValue of thearchitectures field in library.properties.
typesstringrepeatedThe type categories of the library, as defined in the libraries index. Possible values:Arduino,Partner,Recommended,Contributed,Retired.
resourcesDownloadResourceInformation about the library archive file.
licensestringValue of thelicense field in library.properties.
provides_includesstringrepeatedValue of theincludes field in library.properties.
dependenciesLibraryDependencyrepeatedThe names of the library's dependencies, as defined by the 'depends' field of library.properties.

LibraryResolveDependenciesRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
namestringName of the library.
versionstringThe version of the library to check dependencies of. If no version is specified, dependencies of the newest version will be listed.
do_not_update_installed_librariesboolIf true the computed solution will try to keep exising libraries at their current version.

LibraryResolveDependenciesResponse

FieldTypeLabelDescription
dependenciesLibraryDependencyStatusrepeatedDependencies of the library.

LibrarySearchRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
omit_releases_detailsboolSet to true to not populate the releases field in the response (may save a lot of bandwidth/CPU).
search_argsstringKeywords for the search.

LibrarySearchResponse

FieldTypeLabelDescription
librariesSearchedLibraryrepeatedThe results of the search.
statusLibrarySearchStatusWhether the search yielded results.

LibraryUninstallRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
namestringName of the library.
versionstringThe version of the library to uninstall.

LibraryUninstallResponse

FieldTypeLabelDescription
task_progressTaskProgressDescription of the current stage of the uninstallation.
resultLibraryUninstallResponse.ResultUninstall result.

LibraryUninstallResponse.Result

Empty message, reserved for future expansion.

LibraryUpgradeAllRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.

LibraryUpgradeAllResponse

FieldTypeLabelDescription
progressDownloadProgressProgress of the downloads of files needed for the upgrades.
task_progressTaskProgressDescription of the current stage of the upgrade.
resultLibraryUpgradeAllResponse.ResultUpgrade result.

LibraryUpgradeAllResponse.Result

Empty message, reserved for future expansion.

LibraryUpgradeRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
namestringName of the library.
no_depsboolSet to true to skip installation of specified library's dependencies, defaults to false.

LibraryUpgradeResponse

FieldTypeLabelDescription
progressDownloadProgressProgress of the library download.
task_progressTaskProgressDescription of the current stage of the installation.
resultLibraryUpgradeResponse.ResultDownload result.

LibraryUpgradeResponse.Result

Empty message, reserved for future expansion.

SearchedLibrary

FieldTypeLabelDescription
namestringLibrary name.
releasesSearchedLibrary.ReleasesEntryrepeatedThe index data for the available versions of the library. The key of the map is the library version.
latestLibraryReleaseThe index data for the latest version of the library.
available_versionsstringrepeatedThe available versions of this library.

SearchedLibrary.ReleasesEntry

FieldTypeLabelDescription
keystring
valueLibraryRelease

ZipLibraryInstallRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
pathstringPath to the archived library.
overwriteboolSet to true to overwrite an already installed library with the same name. Defaults to false.

ZipLibraryInstallResponse

FieldTypeLabelDescription
task_progressTaskProgressDescription of the current stage of the installation.
resultZipLibraryInstallResponse.ResultInstallation result.

ZipLibraryInstallResponse.Result

Empty message, reserved for future expansion.

LibraryInstallLocation

Represent a library installation location.

NameNumberDescription
LIBRARY_INSTALL_LOCATION_USER0In thelibraries subdirectory of the user directory (sketchbook). This is the default if not specified.
LIBRARY_INSTALL_LOCATION_BUILTIN1In the configured 'builtin.libraries' directory.

LibraryLayout

Represent the library layout.

NameNumberDescription
LIBRARY_LAYOUT_FLAT0Library is in the 1.0 Arduino library format.
LIBRARY_LAYOUT_RECURSIVE1Library is in the 1.5 Arduino library format.

LibraryLocation

Represent the location of the library.

NameNumberDescription
LIBRARY_LOCATION_BUILTIN0In the configured 'builtin.libraries' directory.
LIBRARY_LOCATION_USER1In thelibraries subdirectory of the user directory (sketchbook).
LIBRARY_LOCATION_PLATFORM_BUILTIN2In thelibraries subdirectory of a platform.
LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN3WhenLibraryLocation is used in a context where a board is specified, this indicates the library is in thelibraries subdirectory of a platform referenced by the board's platform.
LIBRARY_LOCATION_UNMANAGED4Outside thelibraries folders managed by the CLI.

LibrarySearchStatus

Represent the result of the library search.

NameNumberDescription
LIBRARY_SEARCH_STATUS_FAILED0No search results were found.
LIBRARY_SEARCH_STATUS_SUCCESS1Search results were found.

Top

cc/arduino/cli/commands/v1/compile.proto

BuilderResult

FieldTypeLabelDescription
build_pathstringThe compiler build path.
used_librariesLibraryrepeatedThe libraries used in the build.
executable_sections_sizeExecutableSectionSizerepeatedThe size of the executable split by sections.
board_platformInstalledPlatformReferenceThe platform where the board is defined.
build_platformInstalledPlatformReferenceThe platform used for the build (if referenced from the board platform).
build_propertiesstringrepeatedBuild properties used for compiling.
diagnosticsCompileDiagnosticrepeatedCompiler errors and warnings.

CompileDiagnostic

FieldTypeLabelDescription
severitystringSeverity of the diagnostic.
messagestringThe explanation of the diagnostic (it may be multiple preformatted lines).
filestringThe file containing the diagnostic.
lineint64The line of the diagnostic if available (starts from 1).
columnint64The column of the diagnostic if available (starts from 1).
contextCompileDiagnosticContextrepeatedThe context where this diagnostic is found (it may be multiple files that represents a chain of includes, or a text describing where the diagnostic is found).
notesCompileDiagnosticNoterepeatedAnnotations or suggestions to the diagnostic made by the compiler.

CompileDiagnosticContext

FieldTypeLabelDescription
messagestringThe message describing the context reference.
filestringThe file of the context reference.
lineint64The line of the context reference.
columnint64The column of the context reference.

CompileDiagnosticNote

FieldTypeLabelDescription
messagestringThe message describing the compiler note.
filestringThe file of the compiler note.
lineint64The line of the compiler note.
columnint64The column of the compiler note.

CompileRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
fqbnstringFully Qualified Board Name, e.g.:arduino:avr:uno. If this field is not defined, the FQBN of the board attached to the sketch via theBoardAttach method is used.
sketch_pathstringThe path where the sketch is stored.
show_propertiesboolJust get the build properties and do not run the full compile.
preprocessboolPrint preprocessed code to stdout instead of compiling.
build_cache_pathstringDeprecated. Builds of core and sketches are saved into this path to be cached and reused.
build_pathstringPath to use to store the files used for the compilation. If omitted, a directory will be created in the operating system's default temporary path.
build_propertiesstringrepeatedList of custom build properties.
warningsstringUsed to tell gcc which warning level to use. The level names are: "none", "default", "more" and "all".
verboseboolTurns on verbose mode.
quietboolSuppresses almost every output.
jobsint32The max number of concurrent compiler instances to run (asmake -jx). If jobs is set to 0, it will use the number of available CPUs as the maximum.
librariesstringrepeatedA list of paths to directories containing a collection of libraries.
optimize_for_debugboolOptimize compile output for debug, not for release.
export_dirstringOptional: save the build artifacts in this directory, the directory must exist.
cleanboolOptional: cleanup the build folder and do not use any previously cached build.
create_compilation_database_onlyboolWhen set totrue only the compilation database will be produced and no actual build will be performed.
source_overrideCompileRequest.SourceOverrideEntryrepeatedThis map (source file -> new content) let the builder use the provided content instead of reading the corresponding file on disk. This is useful for IDE that have unsaved changes in memory. The path must be relative to the sketch directory. Only files from the sketch are allowed.
export_binariesbooloptionalWhen set totrue the compiled binary will be copied to the export directory.
librarystringrepeatedA list of paths to single libraries root directory.
keys_keychainstringThe path where to search for the custom signing key name and the encrypt key name.
sign_keystringThe name of the custom key to use for signing during the compile process.
encrypt_keystringThe name of the custom key to use for encrypting during the compile process.
skip_libraries_discoveryboolIf set to true the build will skip the library discovery process and will use the same libraries of latest build. Enabling this flag may produce a wrong output and should not be used in regular compiles unless there is a very specific reason to do so. This flag is mainly provided for usage in language servers to optimize the build speed in some particular cases.
do_not_expand_build_propertiesboolIf set to true the returned build properties will be left unexpanded, with the variables placeholders exactly as defined in the platform.
build_cache_extra_pathsstringrepeatedSearch for precompiled cores in the given paths and use them if found. This search is performed after the standard build_cache directory.

CompileRequest.SourceOverrideEntry

FieldTypeLabelDescription
keystring
valuestring

CompileResponse

FieldTypeLabelDescription
out_streambytesThe output of the compilation process (stream).
err_streambytesThe error output of the compilation process (stream).
progressTaskProgressCompletions reports of the compilation process (stream).
resultBuilderResultThe compilation result.

ExecutableSectionSize

FieldTypeLabelDescription
namestringThe name of the section.
sizeint64The used size of the section in bytes.
max_sizeint64The maximum size of the section in bytes.

InstanceNeedsReinitializationError

Top

cc/arduino/cli/commands/v1/core.proto

AlreadyAtLatestVersionError

AlreadyAtLatestVersionError is returned when an upgrade is not possiblebecause already at latest version.

PlatformDownloadRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
platform_packagestringVendor name of the platform (e.g.,arduino).
architecturestringArchitecture name of the platform (e.g.,avr).
versionstringPlatform version to download.

PlatformDownloadResponse

FieldTypeLabelDescription
progressDownloadProgressProgress of the downloads of platform and tool files.
resultPlatformDownloadResponse.ResultThe download result.

PlatformDownloadResponse.Result

Empty message, reserved for future expansion.

PlatformInstallRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
platform_packagestringVendor name of the platform (e.g.,arduino).
architecturestringArchitecture name of the platform (e.g.,avr).
versionstringPlatform version to install.
skip_post_installboolSet to true to not run (eventual) post install scripts for trusted platforms.
no_overwriteboolSet to true to skip installation if a different version of the platform is already installed.
skip_pre_uninstallboolSet to true to not run (eventual) pre uninstall scripts for trusted platforms when performing platform upgrades.

PlatformInstallResponse

FieldTypeLabelDescription
progressDownloadProgressProgress of the downloads of the platform and tool files.
task_progressTaskProgressDescription of the current stage of the installation.
resultPlatformInstallResponse.ResultThe installation result.

PlatformInstallResponse.Result

Empty message, reserved for future expansion.

PlatformLoadingError

PlatformSearchRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
search_argsstringKeywords for the search.
manually_installedboolWhether to show manually installed platforms.false causes to skip manually installed platforms.

PlatformSearchResponse

FieldTypeLabelDescription
search_outputPlatformSummaryrepeatedResults of the search.

PlatformUninstallRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
platform_packagestringVendor name of the platform (e.g.,arduino).
architecturestringArchitecture name of the platform (e.g.,avr).
skip_pre_uninstallboolSet to true to not run (eventual) pre uninstall scripts for trusted platforms.

PlatformUninstallResponse

FieldTypeLabelDescription
task_progressTaskProgressDescription of the current stage of the uninstall.
resultPlatformUninstallResponse.ResultThe uninstall result.

PlatformUninstallResponse.Result

Empty message, reserved for future expansion.

PlatformUpgradeRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
platform_packagestringVendor name of the platform (e.g.,arduino).
architecturestringArchitecture name of the platform (e.g.,avr).
skip_post_installboolSet to true to not run (eventual) post install scripts for trusted platforms.
skip_pre_uninstallboolSet to true to not run (eventual) pre uninstall scripts for trusted platforms when performing platform upgrades.

PlatformUpgradeResponse

FieldTypeLabelDescription
progressDownloadProgressProgress of the downloads of the platform and tool files.
task_progressTaskProgressDescription of the current stage of the upgrade.
resultPlatformUpgradeResponse.ResultThe upgrade result.

PlatformUpgradeResponse.Result

FieldTypeLabelDescription
platformPlatformThe upgraded platform.

Top

cc/arduino/cli/commands/v1/debug.proto

DebugGCCToolchainConfiguration

Configurations specific for the 'gcc' toolchain.

DebugOpenOCDServerConfiguration

Configuration specific for the 'openocd` server.

FieldTypeLabelDescription
pathstringPath to openocd.
scripts_dirstringPath to openocd scripts.
scriptsstringrepeatedList of scripts to execute by openocd.

DebugRequest

The top-level message sent by the client for theDebug method.MultipleDebugRequest messages can be sent but the first messagemust contain aGetDebugConfigRequest message to initialize the debugsession. All subsequent messages must contain bytes to be sent to the debugsession and must not contain aGetDebugConfigRequest message.

Content must be either a debug session config or data to be sent.

FieldTypeLabelDescription
debug_requestGetDebugConfigRequestProvides information to the debug that specifies which is the target. The firstDebugRequest message must contain aGetDebugConfigRequest message.
databytesThe data to be sent to the target being monitored.
send_interruptboolSet this to true to send and Interrupt signal to the debugger process.

DebugResponse

The streaming response may contain chunks of data from the debugger or anerror.

FieldTypeLabelDescription
databytesIncoming data from the debugger tool.
resultDebugResponse.ResultDebugging result.

DebugResponse.Result

FieldTypeLabelDescription
errorstringIncoming error output from the debugger tool.

GetDebugConfigRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
fqbnstringFully qualified board name of the board in use (e.g.,arduino:samd:mkr1000). If this is omitted, the FQBN attached to the sketch will be used.
sketch_pathstringPath to the sketch that is running on the board. The compiled executable is expected to be located under this path.
portPortPort of the debugger (optional).
interpreterstringWhich GDB command interpreter to use.
import_dirstringDirectory containing the compiled executable. Ifimport_dir is not specified, the executable is assumed to be in{sketch_path}/build/{fqbn}/.
programmerstringThe programmer to use for debugging.
debug_propertiesstringrepeatedList of custom debug properties.

GetDebugConfigResponse

FieldTypeLabelDescription
executablestringThe executable binary to debug.
toolchainstringThe toolchain type used for the build (for example "gcc").
toolchain_pathstringThe toolchain directory.
toolchain_prefixstringThe toolchain architecture prefix (for example "arm-none-eabi").
serverstringThe GDB server type used to connect to the programmer/board (for example "openocd").
server_pathstringThe GDB server directory.
toolchain_configurationgoogle.protobuf.AnyExtra configuration parameters wrt toolchain.
server_configurationgoogle.protobuf.AnyExtra configuration parameters wrt GDB server.
custom_configsGetDebugConfigResponse.CustomConfigsEntryrepeatedCustom debugger configurations (not handled directly by Arduino CLI but provided for 3rd party plugins/debuggers). The map keys identifies which 3rd party plugin/debugger is referred, the map string values contains a JSON configuration for it.
svd_filestringthe SVD file to use.
programmerstringThe programmer specified in the request.

GetDebugConfigResponse.CustomConfigsEntry

FieldTypeLabelDescription
keystring
valuestring

IsDebugSupportedRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
fqbnstringFully qualified board name of the board in use (e.g.,arduino:samd:mkr1000).
portPortPort of the debugger (optional).
interpreterstringWhich GDB command interpreter to use.
programmerstringThe programmer to use for debugging.
debug_propertiesstringrepeatedList of custom debug properties.

IsDebugSupportedResponse

FieldTypeLabelDescription
debugging_supportedboolTrue if debugging is supported.
debug_fqbnstringThis is the same FQBN given in the IsDebugSupportedRequest but cleaned up of the board options that do not affect the debugger configuration. It may be used by clients/IDE to group slightly different boards option selections under the same debug configuration.

Top

cc/arduino/cli/commands/v1/monitor.proto

EnumerateMonitorPortSettingsRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
port_protocolstringThe port protocol to enumerate settings.
fqbnstringThe board FQBN we are trying to connect to. This is optional, and it's needed to disambiguate if more than one platform provides the pluggable monitor for a given port protocol.

EnumerateMonitorPortSettingsResponse

FieldTypeLabelDescription
settingsMonitorPortSettingDescriptorrepeatedA list of descriptors of the settings that may be changed for the monitor port.

MonitorPortOpenRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
portPortPort to open, must be filled only on the first request.
fqbnstringThe board FQBN we are trying to connect to. This is optional, and it's needed to disambiguate if more than one platform provides the pluggable monitor for a given port protocol.
port_configurationMonitorPortConfigurationPort configuration, optional, contains settings of the port to be applied.

MonitorPortSettingDescriptor

FieldTypeLabelDescription
setting_idstringThe setting identifier.
labelstringA human-readable label of the setting (to be displayed on the GUI).
typestringThe setting type (at the moment only "enum" is avaiable).
enum_valuesstringrepeatedThe values allowed on "enum" types.
valuestringThe selected or default value.

MonitorRequest

FieldTypeLabelDescription
open_requestMonitorPortOpenRequestOpen request, it must be the first incoming message.
tx_databytesData to send to the port.
updated_configurationMonitorPortConfigurationPort configuration, contains settings of the port to be changed.
closeboolClose message, set to true to gracefully close a port (this ensure that the gRPC streaming call is closed by the daemon AFTER the port has been successfully closed).

MonitorResponse

FieldTypeLabelDescription
errorstringEventual errors dealing with monitor port.
rx_databytesData received from the port.
applied_settingsMonitorPortConfigurationSettings applied to the port, may be returned after a port is opened (to report the default settings) or after a new port_configuration is sent (to report the new settings applied).
successboolA message with this field set to true is sent as soon as the port is succesfully opened.

Top

cc/arduino/cli/commands/v1/settings.proto

Configuration

Configuration to apply to the given instance.Any missing field will be kept at the default value.

FieldTypeLabelDescription
directoriesConfiguration.DirectoriesThe directories configuration.
networkConfiguration.NetworkThe network configuration.
sketchConfiguration.SketchThe sketch configuration.
build_cacheConfiguration.BuildCacheThe build cache configuration.
board_managerConfiguration.BoardManagerThe board manager configuration.
daemonConfiguration.DaemonThe daemon configuration.
outputConfiguration.OutputThe console output configuration.
loggingConfiguration.LoggingThe logging configuration.
libraryConfiguration.LibraryThe library configuration.
updaterConfiguration.UpdaterThe updater configuration.
localestringoptionalThe language locale to use.

Configuration.BoardManager

FieldTypeLabelDescription
additional_urlsstringrepeatedAdditional URLs to be used for the board manager.

Configuration.BuildCache

FieldTypeLabelDescription
compilations_before_purgeuint64The minimum number of compilations before the cache is purged.
ttl_secsuint64Time to live of the cache in seconds.

Configuration.Daemon

FieldTypeLabelDescription
portstringThe TCP port of the daemon.

Configuration.Directories

FieldTypeLabelDescription
datastringData directory.
userstringUser directory.
downloadsstringDownloads directory.
builtinConfiguration.Directories.BuiltinoptionalThe directory where the built-in resources are installed.

Configuration.Directories.Builtin

FieldTypeLabelDescription
librariesstringoptionalThe directory where the built-in libraries are installed.

Configuration.Library

FieldTypeLabelDescription
enable_unsafe_installboolSet to true to enable library installation from zip archives or git repositories.

Configuration.Logging

FieldTypeLabelDescription
levelstringThe logging level.
formatstringThe logging format.
filestringoptionalThe logging file.

Configuration.Network

FieldTypeLabelDescription
extra_user_agentstringoptionalExtra user-agent information to be appended in network requests.
proxystringoptionalThe proxy to use for network requests.

Configuration.Output

FieldTypeLabelDescription
no_colorboolSet to true to disable coloring of the output.

Configuration.Sketch

FieldTypeLabelDescription
always_export_binariesboolSet to true to always export binaries to the sketch directory.

Configuration.Updater

FieldTypeLabelDescription
enable_notificationboolSet to true to enable notifications for updates.

ConfigurationGetRequest

ConfigurationGetResponse

FieldTypeLabelDescription
configurationConfigurationThe current configuration.

ConfigurationOpenRequest

FieldTypeLabelDescription
encoded_settingsstringThe encoded settings.
settings_formatstringThe format of the encoded settings, allowed values are "json" and "yaml".

ConfigurationOpenResponse

FieldTypeLabelDescription
warningsstringrepeatedWarnings that occurred while opening the configuration (e.g. unknown keys, or invalid values).

ConfigurationSaveRequest

FieldTypeLabelDescription
settings_formatstringThe format of the encoded settings, allowed values are "json" and "yaml".

ConfigurationSaveResponse

FieldTypeLabelDescription
encoded_settingsstringThe encoded settings.

SettingsEnumerateRequest

SettingsEnumerateResponse

FieldTypeLabelDescription
entriesSettingsEnumerateResponse.EntryrepeatedThe list of key/value pairs.

SettingsEnumerateResponse.Entry

FieldTypeLabelDescription
keystringThe key.
typestringThe key type.

SettingsGetValueRequest

FieldTypeLabelDescription
keystringThe key to get.
value_formatstringThe format of the encoded_value (default is "json", allowed values are "json" and "yaml).

SettingsGetValueResponse

FieldTypeLabelDescription
encoded_valuestringThe value of the key (encoded).

SettingsSetValueRequest

FieldTypeLabelDescription
keystringThe key to change.
encoded_valuestringThe new value (encoded), no objects, only scalar or array of scalars are allowed.
value_formatstringThe format of the encoded_value (default is "json", allowed values are "json", "yaml" and "cli").

SettingsSetValueResponse

Top

cc/arduino/cli/commands/v1/upload.proto

BurnBootloaderRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
fqbnstringFully qualified board name of the target board (e.g.,arduino:avr:uno).
portPortThe port of the programmer used to program the bootloader.
verboseboolWhether to turn on verbose output during the programming.
verifyboolAfter programming, verify the contents of the memory on the board match the uploaded binary.
programmerstringThe programmer to use for burning bootloader.
dry_runboolIf set to true, the actual upload will not be performed but a trace output will be printed stdout. This is for debugging purposes.
user_fieldsBurnBootloaderRequest.UserFieldsEntryrepeatedUser provided fields usually used by upload tools that need authentication or in any case fields that can be customized by the user at upload time and cannot be known previously. For more info:https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields
upload_propertiesstringrepeatedList of custom upload properties.

BurnBootloaderRequest.UserFieldsEntry

FieldTypeLabelDescription
keystring
valuestring

BurnBootloaderResponse

FieldTypeLabelDescription
out_streambytesThe output of the burn bootloader process.
err_streambytesThe error output of the burn bootloader process.

ListProgrammersAvailableForUploadRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
fqbnstringFully qualified board name of the target board (e.g.,arduino:avr:uno).

ListProgrammersAvailableForUploadResponse

FieldTypeLabelDescription
programmersProgrammerrepeatedList of programmers supported by the board.

ProgrammerIsRequiredForUploadError

SupportedUserFieldsRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
fqbnstringFully qualified board name of the target board (e.g.,arduino:avr:uno).
protocolstringProtocol that will be used to upload, this information is necessary to pick the right upload tool for the board specified with the FQBN.

SupportedUserFieldsResponse

FieldTypeLabelDescription
user_fieldsUserFieldrepeatedUser fields supported by board specified in SupportedUserFieldsRequest. If board doesn't support any field it will be empty.

UploadRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
fqbnstringFully 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 theBoardAttach method is used.
sketch_pathstringPath where the sketch to be uploaded is stored. Unless theimport_file field is defined, the compiled binary is assumed to be at the location and filename under this path where it is saved by theCompile method.
portPortThe port of the board.
verboseboolWhether to turn on verbose output during the upload.
verifyboolAfter upload, verify that the contents of the memory on the board match the uploaded binary.
import_filestringWhenimport_file is specified, it overrides theimport_dir andsketch_path params.
import_dirstringCustom path to a directory containing compiled files. Whenimport_dir is not specified, the standard build directory undersketch_path is used.
programmerstringThe 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.
dry_runboolIf set to true, the actual upload will not be performed but a trace output will be printed stdout. This is for debugging purposes.
user_fieldsUploadRequest.UserFieldsEntryrepeatedUser provided fields usually used by upload tools that need authentication or in any case fields that can be customized by the user at upload time and cannot be known previously. For more info:https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields
upload_propertiesstringrepeatedList of custom upload properties.

UploadRequest.UserFieldsEntry

FieldTypeLabelDescription
keystring
valuestring

UploadResponse

FieldTypeLabelDescription
out_streambytesThe output of the upload process.
err_streambytesThe error output of the upload process.
resultUploadResultThe upload result.

UploadResult

FieldTypeLabelDescription
updated_upload_portPortWhen a board requires a port disconnection to perform the upload, this field returns the port where the board reconnects after the upload.

UploadUsingProgrammerRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from theInit response.
fqbnstringFully 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 theBoardAttach method is used.
sketch_pathstringPath where the sketch to be uploaded is stored. Unless theimport_file field is defined, the compiled binary is assumed to be at the location and filename under this path where it is saved by theCompile method.
portPortThe port of the board.
verboseboolWhether to turn on verbose output during the upload.
verifyboolAfter upload, verify that the contents of the memory on the board match the uploaded binary.
import_filestringWhenimport_file is specified, it overrides theimport_dir andsketch_path params.
import_dirstringCustom path to a directory containing compiled files. Whenimport_dir is not specified, the standard build directory undersketch_path is used.
programmerstringThe programmer to use for upload.
dry_runboolIf set to true, the actual upload will not be performed but a trace output will be printed stdout. This is for debugging purposes.
user_fieldsUploadUsingProgrammerRequest.UserFieldsEntryrepeatedUser provided fields usually used by upload tools that need authentication or in any case fields that can be customized by the user at upload time and cannot be known previously. For more info:https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields
upload_propertiesstringrepeatedList of custom upload properties.

UploadUsingProgrammerRequest.UserFieldsEntry

FieldTypeLabelDescription
keystring
valuestring

UploadUsingProgrammerResponse

FieldTypeLabelDescription
out_streambytesThe output of the upload process.
err_streambytesThe error output of the upload process.

UserField

FieldTypeLabelDescription
tool_idstringId of the tool that supports this field.
namestringName used internally to store and retrieve this field.
labelstringLabel is the text shown to the user when they need to input this field.
secretboolTrue if the value of the field must not be shown when typing, for example when the user inputs a network password.

Top

cc/arduino/cli/commands/v1/commands.proto

ArchiveSketchRequest

FieldTypeLabelDescription
sketch_pathstringAbsolute path to Sketch file or folder containing Sketch file.
archive_pathstringAbsolute path to archive that will be created or folder that will contain it.
include_build_dirboolSpecifies if build directory should be included in the archive.
overwriteboolAllows to override an already existing archive.

ArchiveSketchResponse

CheckForArduinoCLIUpdatesRequest

FieldTypeLabelDescription
force_checkboolForce the check, even if the configuration says not to check for updates.

CheckForArduinoCLIUpdatesResponse

FieldTypeLabelDescription
newest_versionstringThe latest version of Arduino CLI available, if bigger than the current version.

CleanDownloadCacheDirectoryRequest

FieldTypeLabelDescription
instanceInstanceThe Arduino Core Service instance.

CleanDownloadCacheDirectoryResponse

CreateRequest

CreateResponse

FieldTypeLabelDescription
instanceInstanceAn Arduino Core instance.

DestroyRequest

FieldTypeLabelDescription
instanceInstanceThe Arduino Core Service instance to destroy.

DestroyResponse

FailedInstanceInitError

FieldTypeLabelDescription
reasonFailedInstanceInitReasonspecific cause of the error.
messagestringexplanation of the error.

IndexUpdateReport

FieldTypeLabelDescription
index_urlstringThe URL of the index that was updated.
statusIndexUpdateReport.StatusThe result of the index update.

InitRequest

FieldTypeLabelDescription
instanceInstanceAn Arduino Core instance.
profilestringProfile to use.
sketch_pathstringThe path where the sketch is stored.

InitResponse

FieldTypeLabelDescription
init_progressInitResponse.ProgressThe initialization progress.
errorgoogle.rpc.StatusThe error in case the initialization failed.
profileSketchProfileSelected profile information.

InitResponse.Progress

FieldTypeLabelDescription
download_progressDownloadProgressProgress of the downloads of platforms and libraries index files.
task_progressTaskProgressDescribes the current stage of the initialization.

LoadSketchRequest

FieldTypeLabelDescription
sketch_pathstringAbsolute path to single sketch file or a sketch folder.

LoadSketchResponse

FieldTypeLabelDescription
sketchSketchThe loaded sketch.

NewSketchRequest

FieldTypeLabelDescription
sketch_namestringNew sketch name.
sketch_dirstringOptional: create a Sketch in this directory (used as "Sketchbook" directory). Default Sketchbook directory "directories.User" is used if sketch_dir is empty.
overwriteboolSpecificies if an existing .ino sketch should be overwritten.

NewSketchResponse

FieldTypeLabelDescription
main_filestringAbsolute path to a main sketch file.

SetSketchDefaultsRequest

FieldTypeLabelDescription
sketch_pathstringAbsolute path to Sketch file or folder containing Sketch file.
default_fqbnstringThe desired value for default_fqbn in project file (sketch.yaml).
default_port_addressstringThe desired value for default_port in project file (sketch.yaml).
default_port_protocolstringThe desired value for default_protocol in project file (sketch.yaml).
default_programmerstringThe desired value for default_programmer in project file (sketch.yaml).

SetSketchDefaultsResponse

FieldTypeLabelDescription
default_fqbnstringThe value of default_fqnn that has been written in project file (sketch.yaml).
default_port_addressstringThe value of default_port that has been written in project file (sketch.yaml).
default_port_protocolstringThe value of default_protocol that has been written in project file (sketch.yaml).
default_programmerstringThe value of default_programmer that has been written in project file (sketch.yaml).

UpdateIndexRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
ignore_custom_package_indexesboolIf set to true user defined package indexes will not be updated.
update_if_older_than_secsint64Only perform index update if the index file is older than this value in seconds.

UpdateIndexResponse

FieldTypeLabelDescription
download_progressDownloadProgressProgress of the package index download.
resultUpdateIndexResponse.ResultThe result of the index update.

UpdateIndexResponse.Result

FieldTypeLabelDescription
updated_indexesIndexUpdateReportrepeatedThe result of the packages index update.

UpdateLibrariesIndexRequest

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
update_if_older_than_secsint64Only perform index update if the index file is older than this value in seconds.

UpdateLibrariesIndexResponse

FieldTypeLabelDescription
download_progressDownloadProgressProgress of the libraries index download.
resultUpdateLibrariesIndexResponse.ResultThe result of the index update.

UpdateLibrariesIndexResponse.Result

FieldTypeLabelDescription
libraries_indexIndexUpdateReportThe result of the libraries index update.

VersionRequest

VersionResponse

FieldTypeLabelDescription
versionstringThe version of Arduino CLI in use.

FailedInstanceInitReason

Represent the reason why an instance initialization failed.

NameNumberDescription
FAILED_INSTANCE_INIT_REASON_UNSPECIFIED0FAILED_INSTANCE_INIT_REASON_UNSPECIFIED the error reason is not specialized.
FAILED_INSTANCE_INIT_REASON_INVALID_INDEX_URL1INVALID_INDEX_URL a package index url is malformed.
FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR2FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR failure encountered while loading an index.
FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR3FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR failure encountered while loading a tool.
FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR4FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR failure encountered while downloading an index.

IndexUpdateReport.Status

The status represents the result of the index update.

NameNumberDescription
STATUS_UNSPECIFIED0The status of the index update is unspecified.
STATUS_UPDATED1The index has been successfully updated.
STATUS_ALREADY_UP_TO_DATE2The index was already up to date.
STATUS_FAILED3The index update failed.
STATUS_SKIPPED4The index update was skipped.

ArduinoCoreService

The main Arduino Platform service API.

Method NameRequest TypeResponse TypeDescription
CreateCreateRequestCreateResponseCreate a new Arduino Core instance.
InitInitRequestInitResponse streamInitializes an existing Arduino Core instance by loading platforms and libraries.
DestroyDestroyRequestDestroyResponseDestroy an instance of the Arduino Core Service.
UpdateIndexUpdateIndexRequestUpdateIndexResponse streamUpdate package index of the Arduino Core Service.
UpdateLibrariesIndexUpdateLibrariesIndexRequestUpdateLibrariesIndexResponse streamUpdate libraries index.
VersionVersionRequestVersionResponseGet the version of Arduino CLI in use.
NewSketchNewSketchRequestNewSketchResponseCreate a new Sketch.
LoadSketchLoadSketchRequestLoadSketchResponseReturns all files composing a Sketch.
ArchiveSketchArchiveSketchRequestArchiveSketchResponseCreates a zip file containing all files of specified Sketch.
SetSketchDefaultsSetSketchDefaultsRequestSetSketchDefaultsResponseSets the sketch default FQBN and Port Address/Protocol in the sketch project file (sketch.yaml). These metadata can be retrieved using LoadSketch.
BoardDetailsBoardDetailsRequestBoardDetailsResponseRequests details about a board.
BoardListBoardListRequestBoardListResponseList the boards currently connected to the computer.
BoardListAllBoardListAllRequestBoardListAllResponseList all the boards provided by installed platforms.
BoardSearchBoardSearchRequestBoardSearchResponseSearch boards in installed and not installed Platforms.
BoardIdentifyBoardIdentifyRequestBoardIdentifyResponseIdentify a board using the given properties.
BoardListWatchBoardListWatchRequestBoardListWatchResponse streamList boards connection and disconnected events.
CompileCompileRequestCompileResponse streamCompile an Arduino sketch.
PlatformInstallPlatformInstallRequestPlatformInstallResponse streamDownload and install a platform and its tool dependencies.
PlatformDownloadPlatformDownloadRequestPlatformDownloadResponse streamDownload a platform and its tool dependencies to thestaging/packages subdirectory of the data directory.
PlatformUninstallPlatformUninstallRequestPlatformUninstallResponse streamUninstall a platform as well as its tool dependencies that are not used by other installed platforms.
PlatformUpgradePlatformUpgradeRequestPlatformUpgradeResponse streamUpgrade an installed platform to the latest version.
UploadUploadRequestUploadResponse streamUpload a compiled sketch to a board.
UploadUsingProgrammerUploadUsingProgrammerRequestUploadUsingProgrammerResponse streamUpload a compiled sketch to a board using a programmer.
SupportedUserFieldsSupportedUserFieldsRequestSupportedUserFieldsResponseReturns the list of users fields necessary to upload to that board using the specified protocol.
ListProgrammersAvailableForUploadListProgrammersAvailableForUploadRequestListProgrammersAvailableForUploadResponseList programmers available for a board.
BurnBootloaderBurnBootloaderRequestBurnBootloaderResponse streamBurn bootloader to a board.
PlatformSearchPlatformSearchRequestPlatformSearchResponseSearch for a platform in the platforms indexes.
LibraryDownloadLibraryDownloadRequestLibraryDownloadResponse streamDownload the archive file of an Arduino library in the libraries index to the staging directory.
LibraryInstallLibraryInstallRequestLibraryInstallResponse streamDownload and install an Arduino library from the libraries index.
LibraryUpgradeLibraryUpgradeRequestLibraryUpgradeResponse streamUpgrade a library to the newest version available.
ZipLibraryInstallZipLibraryInstallRequestZipLibraryInstallResponse streamInstall a library from a Zip File.
GitLibraryInstallGitLibraryInstallRequestGitLibraryInstallResponse streamDownload and install a library from a git url.
LibraryUninstallLibraryUninstallRequestLibraryUninstallResponse streamUninstall an Arduino library.
LibraryUpgradeAllLibraryUpgradeAllRequestLibraryUpgradeAllResponse streamUpgrade all installed Arduino libraries to the newest version available.
LibraryResolveDependenciesLibraryResolveDependenciesRequestLibraryResolveDependenciesResponseList the recursive dependencies of a library, as defined by thedepends field of the library.properties files.
LibrarySearchLibrarySearchRequestLibrarySearchResponseSearch the Arduino libraries index for libraries.
LibraryListLibraryListRequestLibraryListResponseList the installed libraries.
MonitorMonitorRequest streamMonitorResponse streamOpen a monitor connection to a board port.
EnumerateMonitorPortSettingsEnumerateMonitorPortSettingsRequestEnumerateMonitorPortSettingsResponseReturns the parameters that can be set in the MonitorRequest calls.
DebugDebugRequest streamDebugResponse streamStart a debug session and communicate with the debugger tool.
IsDebugSupportedIsDebugSupportedRequestIsDebugSupportedResponseDetermine if debugging is suported given a specific configuration.
GetDebugConfigGetDebugConfigRequestGetDebugConfigResponseQuery the debugger information given a specific configuration.
CheckForArduinoCLIUpdatesCheckForArduinoCLIUpdatesRequestCheckForArduinoCLIUpdatesResponseCheck for updates to the Arduino CLI.
CleanDownloadCacheDirectoryCleanDownloadCacheDirectoryRequestCleanDownloadCacheDirectoryResponseClean the download cache directory (where archives are downloaded).
ConfigurationSaveConfigurationSaveRequestConfigurationSaveResponseWrites the settings currently stored in memory in a YAML file.
ConfigurationOpenConfigurationOpenRequestConfigurationOpenResponseRead the settings from a YAML file.
ConfigurationGetConfigurationGetRequestConfigurationGetResponseGet the current configuration.
SettingsEnumerateSettingsEnumerateRequestSettingsEnumerateResponseEnumerate all the keys/values pairs available in the configuration.
SettingsGetValueSettingsGetValueRequestSettingsGetValueResponseGet a single configuration value.
SettingsSetValueSettingsSetValueRequestSettingsSetValueResponseSet a single configuration value.

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)

[8]ページ先頭

©2009-2025 Movatter.jp