Dagger
Search

esp-idf

The idf.py command-line tool provides a front-end to easily manage your project builds, deployment, debugging and more. It manages CMake, Ninja and esptool.py.

Installation

dagger install github.com/alanmosely/daggerverse/esp-idf@v0.0.2

Entrypoint

Return Type
EspIdf !
Example
dagger -m github.com/alanmosely/daggerverse/esp-idf@e9ccd9158f2e38b031364f2473270e2cfafd6cca call \
func (m *myModule) example() *EspIdf  {
	return dag.
			EspIdf()
}
@function
def example() -> dag.EspIdf:
	return (
		dag.esp_idf()
	)
@func()
example(): EspIdf {
	return dag
		.espIdf()
}

Types

EspIdf 🔗

run() 🔗

Execute idf.py from the official Espressif IDF Docker image

Example usage: dagger call run –project_dir . –image_version “v5.2”

Return Type
String !
Arguments
NameTypeDefault ValueDescription
projectDirDirectory !-The directory containing the ESP-IDF project
imageVersionString !"v5.1"The version of the Espressif IDF Docker image to use
idfArgs[String ! ] !["build"]The arguments to pass to idf.py
Example
dagger -m github.com/alanmosely/daggerverse/esp-idf@e9ccd9158f2e38b031364f2473270e2cfafd6cca call \
 run --project-dir DIR_PATH --image-version string --idf-args string1 --idf-args string2
func (m *myModule) example(ctx context.Context, projectDir *Directory, imageVersion string, idfArgs []string) string  {
	return dag.
			EspIdf().
			Run(ctx, projectDir, imageVersion, idfArgs)
}
@function
async def example(project_dir: dagger.Directory, image_version: str, idf_args: List[str]) -> str:
	return await (
		dag.esp_idf()
		.run(project_dir, image_version, idf_args)
	)
@func()
async example(projectDir: Directory, imageVersion: string, idfArgs: string[]): Promise<string> {
	return dag
		.espIdf()
		.run(projectDir, imageVersion, idfArgs)
}