4. Check it works
Two checks finish the setup: CP Tools’ doctor checks your tools and the board, and the smoke test boots the board and reads its log.
-
Keep the board plugged in. Run the doctor from the project.
Terminal window cd ~/CrossPad. "$CROSSPAD_IDF_DIR/export.sh"python3 tools/app_manager.py doctorYou should see:
[OK ]on theBoard foundandToolsrows, theToolsrow readingESP-IDF ok, git ok, Python 3.…. On a new board the doctor also lists aUSB serial guardrow and ends with1 thing(s) to fix.: that row is the USB serial mode? safety prompt you answered with Allow in 3. Flash the board. Leave the guard on. Rows marked[ ? ], such asGitHub sign-inandLast update, are notes, not errors.If not: any other
[BAD]row: doctor reports things to fix -
Run the smoke test with the crosspad-hil from 1. Set up the toolchain. It resets the board and takes about 10 seconds.
Terminal window . ~/CrossPad/.venv/bin/activatecrosspad-hil run smokeecho $?You should see: a line ending in
HIL SMOKE: PASS, then0fromecho $?.If not: exit code
1means the smoke test found a problem in the boot log: smoke test prints MISSING MARKER, FATAL or BOOT LOOP. Exit code2means the connection (cable, port, setup): smoke test says No boot banner on the console port, or smoke test stops with NO_DEVICE or PORT_BUSY.
-
Keep the board plugged in. Run the doctor from the project.
Terminal window cd ~/CrossPad. "$CROSSPAD_IDF_DIR/export.sh"python3 tools/app_manager.py doctorYou should see:
[OK ]on theBoard foundandToolsrows, theToolsrow readingESP-IDF ok, git ok, Python 3.…. On a new board the doctor also lists aUSB serial guardrow and ends with1 thing(s) to fix.: that row is the USB serial mode? safety prompt you answered with Allow in 3. Flash the board. Leave the guard on. Rows marked[ ? ], such asGitHub sign-inandLast update, are notes, not errors.If not: any other
[BAD]row: doctor reports things to fix -
Run the smoke test with the crosspad-hil from 1. Set up the toolchain. It resets the board and takes about 10 seconds.
Terminal window . ~/CrossPad/.venv/bin/activatecrosspad-hil run smokeecho $?You should see: a line ending in
HIL SMOKE: PASS, then0fromecho $?.If not: exit code
1means the smoke test found a problem in the boot log: smoke test prints MISSING MARKER, FATAL or BOOT LOOP. Exit code2means the connection (cable, port, setup): smoke test says No boot banner on the console port, or smoke test stops with NO_DEVICE or PORT_BUSY.
-
Keep the board plugged in. Run the doctor from the project.
Terminal window Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force$env:IDF_TOOLS_PATH = "C:\CrossPad\.espressif". "$env:CROSSPAD_IDF_DIR\export.ps1"cd C:\CrossPad\firmwarepython tools\app_manager.py doctorYou should see:
[OK ]on theBoard foundandToolsrows, theToolsrow readingESP-IDF ok, git ok, Python 3.…. On a new board the doctor also lists aUSB serial guardrow and ends with1 thing(s) to fix.: that row is the USB serial mode? safety prompt you answered with Allow in 3. Flash the board. Leave the guard on. Rows marked[ ? ], such asGitHub sign-in,Last updateandWindows Defender, are notes, not errors.If not: any other
[BAD]row: doctor reports things to fix -
Run the smoke test with the crosspad-hil from 1. Set up the toolchain. It resets the board and takes about 10 seconds.
Terminal window C:\CrossPad\firmware\.venv\Scripts\Activate.ps1crosspad-hil run smoke$LASTEXITCODEYou should see: a line ending in
HIL SMOKE: PASS, then0from$LASTEXITCODE.If not: exit code
1means the smoke test found a problem in the boot log: smoke test prints MISSING MARKER, FATAL or BOOT LOOP. Exit code2means the connection (cable, port, setup): smoke test says No boot banner on the console port, or smoke test stops with NO_DEVICE or PORT_BUSY.
Optional Where the smoke report goes
Each run writes a report to hil_logs/smoke_…/report.json in the folder you ran it from. The terminal names it twice: [smoke] PASS exit=0 report=… right before the summary, and artifact[report]: hil_logs/smoke_…/report.json as the last line. Add --json for machine-readable output.
What next
Section titled “What next”Next: Build an app. Your toolchain and board are ready; the Build an app section takes you from a first screen to a published app, one small example app at a time.
- Start from the template: an empty app with your names, instead of a copied example
- Install and remove apps