{
  "date": "2026-10-16",
  "hardware": "Connected ESP32-C3 revision v0.4; single-chip roles=AB loopback",
  "cpu_frequency_mhz": 160,
  "esp_idf_version": "5.4",
  "compiler_optimization": "CONFIG_COMPILER_OPTIMIZATION_DEBUG=y",
  "power_management_enabled": false,
  "runs_per_environment": 5,
  "hardware_reset": "USB serial/JTAG hard reset before each run",
  "simulator_reset": "Fresh simulator process for each run",
  "flash_verification": "esptool verify_flash: digest matched for the entire 250208-byte merged instrumented image",
  "measurement": "Unsigned 32-bit esp_cpu_get_cycle_count() difference across each phase; no wrap occurs in these short phases.",
  "boundaries": {
    "i2c": "Entry to a_i2c through final STOP, before its printf; includes waits and interrupts.",
    "spi": "Entry to a_spi through four spi_frame calls, before its printf; includes inter-frame waits and interrupts.",
    "can1": "can_frame for arbitration frame inside existing critical section, before can_report.",
    "can2": "can_frame for retry frame inside existing critical section, before can_report."
  },
  "limitations": [
    "Workload phase cycle totals, not per-instruction traces.",
    "Busy-wait delays use the same cycle counter; similar totals do not establish instruction timing accuracy.",
    "Counter-read overhead retained; not calibrated or subtracted.",
    "New instrumented binary; do not combine its cycle counts with the older GPIO capture as one run.",
    "Five resets of one board; not variation across boards, voltage, or temperature.",
    "Hardware USB reset and simulator fresh boot differ; startup is excluded from phase measurements.",
    "Local simulator executable, not hosted service."
  ],
  "simulator_executable_sha256": "bdc5be333c90b475af4ffccdce6d01fcdd4a7844f265c34652a1d9b1cc2d7685",
  "translation_library_sha256": "412b236a7c0107348f2919a2f65442232a0f20ddf1d479c70b20c48dd1159d39",
  "files": {
    "compare-cycles.py": "74be466ab0db3dd568522dc47162ce555df5eb3139b99988b39d1c2e4f2050e6",
    "firmware-source/CMakeLists.txt": "5938351366e40d9a42f7f9f87331063c4d13c845a9e0170274150eae9a16b3f7",
    "firmware-source/main/CMakeLists.txt": "ee00dd688eb792bc3cc2d2c3d880393dcfcf72155069f6d2e4279dd2fb8ed0c3",
    "firmware-source/main/bitbang_bus.c": "8037ee8abf399785ab6d037995607d3964a8666b52b6e7637a0eaa5b125a63f1",
    "firmware-source/sdkconfig": "92e2bc64a9241589911c2ecaf8db8588328ba741b5cb4801148e66a664d1dfe9",
    "firmware-source/sdkconfig.defaults": "60bba92f937779f639ea4f74f10ccd03d44dc7b2080578ab051c612553901392",
    "firmware.bin": "7cf2972fe297dfccdc65834d8d22e55b5a5820fbf097a82fac3c0b016c829b24",
    "hardware-1.txt": "f507a24487274c68f75935f5159e47a5b47668c97a805ea883a5c2e46f1891ba",
    "hardware-2.txt": "f507a24487274c68f75935f5159e47a5b47668c97a805ea883a5c2e46f1891ba",
    "hardware-3.txt": "f507a24487274c68f75935f5159e47a5b47668c97a805ea883a5c2e46f1891ba",
    "hardware-4.txt": "f507a24487274c68f75935f5159e47a5b47668c97a805ea883a5c2e46f1891ba",
    "hardware-5.txt": "f507a24487274c68f75935f5159e47a5b47668c97a805ea883a5c2e46f1891ba",
    "result.json": "cc85f477a54df59d85e5982217b6c47d1d82087e22eb5286af78f9dbf42cd4c5",
    "simulator-1.txt": "cc0808869a9bd28087c424aff27943f080f1734f80754a8bff64e856076cd74f",
    "simulator-2.txt": "311c533b943e4e4b62aa4c9f37ec418f1c1471c74ae05280b737643bf69f76a7",
    "simulator-3.txt": "a614943c4a09cfdf0f4d9cc59d36531ae3ae19f078ffdea17fa714bcdb033f3c",
    "simulator-4.txt": "dbd13859f0e776d2f409ddc6249b38dc39805dbae085e297389bff4a9f37c23b",
    "simulator-5.txt": "03424ff01bfa267e885ae0e1d537628c5b72a42363fd5117b695a3e55927cc98"
  }
}
