Skip to content

Rework the notion of Epoch#449

Merged
ivmarkov merged 14 commits into
project-chip:mainfrom
sysgrok:more-handlers
May 22, 2026
Merged

Rework the notion of Epoch#449
ivmarkov merged 14 commits into
project-chip:mainfrom
sysgrok:more-handlers

Conversation

@ivmarkov
Copy link
Copy Markdown
Contributor

@ivmarkov ivmarkov commented May 16, 2026

(This PR started with the introduction of the Software Diagnostics cluster handler, which currently I cannot remove, as it is intermingled with the rest, but that's a small code change anyway.)

===

The important change here is the retirement of the Epoch type-alias from the rs-matter codebase.

The Epoch (= fn() -> core::time::Duration) did have the semantics of a piece of code returning the current time since the Unix epoch.

However, and in 99% of the cases, we needed a much weaker semantics - i.e. to measure some duration between a previous event, and a current event, where both events did happen during the current MCU boot cycle.

This is perfectly doable by just utilizing embassy_time::Instant::now() whose semantics is anyway "monotonic time since boot", so most of the call-sites using Epoch were just switched to embassy_time::Instant::now().

The few call-sites that did need a wall-clock (not even a monotonic btw) - these are primarily certificate validation call-sites - are now switched to a wholly-new infrastructure that revolves around the TimeSync cluster, which is now implemented.

Out of the box, rs-matter (and its TimeSync cluster handler) now does support:

  • Reporting on and setting a UTC timestamp with Matter epoch semantics, including persistence of this timestamp
  • Optional registration of a Trusted Time Source, as well as refreshing the UTC timestamp from this trusted time source

NB: To reduce the flash-code-size price of the new time-sync infrastructure, the endpoints::with_XXX_sys root-endpoint handler-builders had to be rewritten to work upside-down:

  • Rather than taking the user-handler and wrapping it inside its own handler-chain
  • ... these now return the root-endpoint handler that the user has to wrap with its own handler-chain

This allowed to combine multiple non-async handlers together before wrapping them with Async(...) which reduces the code-bloat generated by the compiler async state machinery.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a stub implementation of the Software Diagnostics cluster, allowing the project to pass conformance tests TC_DGSW_2_1 and TC_DGSW_2_2. The changes include the new cluster handler, its integration into the root endpoint, and updates to the integration test runner. Additionally, the long-read and subscription tests were refactored to use a set-based path verification approach for better maintainability. Feedback was provided regarding the loss of data value verification in these tests, suggesting the use of a map or a subset of checks to ensure data correctness alongside path coverage.

Comment thread rs-matter/tests/data_model/long_reads.rs
@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from 2418d1d to 934bff0

Increases above 0.2%:

platform target config section 2418d1d 934bff0 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436614 437868 1254 0.3
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354704 356604 1900 0.5
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332840 334076 1236 0.4
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 860195 862955 2760 0.3
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1985504 1991056 5552 0.3
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1912336 1918536 6200 0.3
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3353392 3368424 15032 0.4
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section 2418d1d 934bff0 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436614 437868 1254 0.3
RAM 70944 71080 136 0.2
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354704 356604 1900 0.5
RAM 66660 66724 64 0.1
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332840 334076 1236 0.4
RAM 66428 66492 64 0.1
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 860195 862955 2760 0.3
RAM 71258 71362 104 0.1
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1985504 1991056 5552 0.3
RAM 60616 60616 0 0.0
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1912336 1918536 6200 0.3
RAM 59776 59776 0 0.0
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3353392 3368424 15032 0.4
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 845784 845784 0 0.0
RAM 2856 2856 0 0.0

@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from 2418d1d to 8c26500

Increases above 0.2%:

platform target config section 2418d1d 8c26500 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436614 439982 3368 0.8
RAM 70944 71224 280 0.4
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354704 358492 3788 1.1
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332840 335592 2752 0.8
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 860195 867163 6968 0.8
RAM 71258 71466 208 0.3
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1985504 2020496 34992 1.8
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1912336 1946920 34584 1.8
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3353392 3395408 42016 1.3
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section 2418d1d 8c26500 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436614 439982 3368 0.8
RAM 70944 71224 280 0.4
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354704 358492 3788 1.1
RAM 66660 66788 128 0.2
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332840 335592 2752 0.8
RAM 66428 66556 128 0.2
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 860195 867163 6968 0.8
RAM 71258 71466 208 0.3
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1985504 2020496 34992 1.8
RAM 60616 60616 0 0.0
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1912336 1946920 34584 1.8
RAM 59776 59776 0 0.0
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3353392 3395408 42016 1.3
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 845784 845784 0 0.0
RAM 2856 2856 0 0.0

@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from 2418d1d to 49a8d33

Increases above 0.2%:

platform target config section 2418d1d 49a8d33 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat RAM 70944 71176 232 0.3
x86_64-unknown-linux-gnu infologs-optz-ltofat RAM 71258 71466 208 0.3
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1985504 2011536 26032 1.3
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1912336 1940232 27896 1.5
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section 2418d1d 49a8d33 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436614 436032 -582 -0.1
RAM 70944 71176 232 0.3
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354704 354112 -592 -0.2
RAM 66660 66740 80 0.1
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332840 331908 -932 -0.3
RAM 66428 66508 80 0.1
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 860195 861467 1272 0.1
RAM 71258 71466 208 0.3
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1985504 2011536 26032 1.3
RAM 60616 60616 0 0.0
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1912336 1940232 27896 1.5
RAM 59776 59776 0 0.0
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3353392 3312464 -40928 -1.2
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 845784 845784 0 0.0
RAM 2856 2856 0 0.0

@ivmarkov ivmarkov force-pushed the more-handlers branch 2 times, most recently from d31ff74 to 7f223ee Compare May 18, 2026 06:14
@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from 7d96427 to 650f7d5

Increases above 0.2%:

platform target config section 7d96427 650f7d5 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 445060 8708 2.0
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 360324 5904 1.7
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 338176 5488 1.6
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 873203 13536 1.6
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2044456 57352 2.9
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1973648 59728 3.1
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 847336 2007048 1159712 136.9
RAM 2856 5472 2616 91.6
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section 7d96427 650f7d5 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 445060 8708 2.0
RAM 70944 71040 96 0.1
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 360324 5904 1.7
RAM 66660 66604 -56 -0.1
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 338176 5488 1.6
RAM 66428 66372 -56 -0.1
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 873203 13536 1.6
RAM 71258 71354 96 0.1
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2044456 57352 2.9
RAM 60616 60328 -288 -0.5
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1973648 59728 3.1
RAM 59776 59488 -288 -0.5
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3355296 3353368 -1928 -0.1
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 847336 2007048 1159712 136.9
RAM 2856 5472 2616 91.6

@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from da2d79e to bead23c

Increases above 0.2%:

platform target config section da2d79e bead23c change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 445360 9008 2.1
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 360492 6072 1.7
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 338548 5860 1.8
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 873539 13872 1.6
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2041640 54536 2.7
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1970832 56912 3.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2004360 54000 2.8
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section da2d79e bead23c change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 445360 9008 2.1
RAM 70944 71040 96 0.1
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 360492 6072 1.7
RAM 66660 66604 -56 -0.1
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 338548 5860 1.8
RAM 66428 66372 -56 -0.1
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 873539 13872 1.6
RAM 71258 71362 104 0.1
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2041640 54536 2.7
RAM 60616 60312 -304 -0.5
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1970832 56912 3.0
RAM 59776 59480 -296 -0.5
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3355296 3351320 -3976 -0.1
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2004360 54000 2.8
RAM 5472 5472 0 0.0

@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from da2d79e to 7c6cd69

Increases above 0.2%:

platform target config section da2d79e 7c6cd69 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 445360 9008 2.1
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 360492 6072 1.7
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 338548 5860 1.8
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 873539 13872 1.6
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2041640 54536 2.7
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1970832 56912 3.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2004360 54000 2.8
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section da2d79e 7c6cd69 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 445360 9008 2.1
RAM 70944 71040 96 0.1
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 360492 6072 1.7
RAM 66660 66604 -56 -0.1
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 338548 5860 1.8
RAM 66428 66372 -56 -0.1
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 873539 13872 1.6
RAM 71258 71362 104 0.1
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2041640 54536 2.7
RAM 60616 60312 -304 -0.5
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1970832 56912 3.0
RAM 59776 59480 -296 -0.5
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3355296 3351320 -3976 -0.1
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2004360 54000 2.8
RAM 5472 5472 0 0.0

@ivmarkov ivmarkov changed the title Software Diagnostics cluster & more TimeSync cluster handler, remove the Epoch type lias May 19, 2026
@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from da2d79e to ceb98ab

Increases above 0.2%:

platform target config section da2d79e ceb98ab change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 446326 9974 2.3
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 361240 6820 1.9
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 339376 6688 2.0
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 874403 14736 1.7
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2043160 56056 2.8
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1972128 58208 3.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2005744 55384 2.8
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section da2d79e ceb98ab change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 446326 9974 2.3
RAM 70944 71056 112 0.2
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 361240 6820 1.9
RAM 66660 66628 -32 -0.0
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 339376 6688 2.0
RAM 66428 66396 -32 -0.0
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 874403 14736 1.7
RAM 71258 71370 112 0.2
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2043160 56056 2.8
RAM 60616 60344 -272 -0.4
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1972128 58208 3.0
RAM 59776 59512 -264 -0.4
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3355296 3352256 -3040 -0.1
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2005744 55384 2.8
RAM 5472 5472 0 0.0

@ivmarkov ivmarkov force-pushed the more-handlers branch 2 times, most recently from d73b27c to 042e676 Compare May 20, 2026 11:11
@ivmarkov ivmarkov changed the title TimeSync cluster handler, remove the Epoch type lias Rework the notion of Epoch May 20, 2026
@ivmarkov
Copy link
Copy Markdown
Contributor Author

/gemini review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request implements the Software Diagnostics and Time Synchronization clusters in rs-matter. It introduces a robust mechanism for tracking Last-Known-Good UTC Time, including persistence and build-time seeding, and adds a TimeSyncClient for time synchronization. The code changes also refactor the system handler registration to be more modular using builders. I have kept the review comment regarding the manual Debug and defmt::Format implementations in NocHandler, as it suggests a cleaner, more idiomatic approach.

Comment thread rs-matter/src/dm/clusters/noc.rs Outdated
@ivmarkov ivmarkov marked this pull request as ready for review May 20, 2026 11:46
@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from da2d79e to d611cd4

Increases above 0.2%:

platform target config section da2d79e d611cd4 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 447492 11140 2.6
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 362560 8140 2.3
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 340232 7544 2.3
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 875971 16304 1.9
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2046760 59656 3.0
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1975440 61520 3.2
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2009552 59192 3.0
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section da2d79e d611cd4 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 447492 11140 2.6
RAM 70944 71080 136 0.2
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 362560 8140 2.3
RAM 66660 66652 -8 -0.0
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 340232 7544 2.3
RAM 66428 66420 -8 -0.0
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 875971 16304 1.9
RAM 71258 71394 136 0.2
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2046760 59656 3.0
RAM 60616 60368 -248 -0.4
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1975440 61520 3.2
RAM 59776 59536 -240 -0.4
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3355296 3355664 368 0.0
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2009552 59192 3.0
RAM 5472 5472 0 0.0

@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from da2d79e to f7acce4

Increases above 0.2%:

platform target config section da2d79e f7acce4 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 447586 11234 2.6
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 362456 8036 2.3
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 340180 7492 2.3
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 876035 16368 1.9
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2046440 59336 3.0
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1974496 60576 3.2
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2009168 58808 3.0
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section da2d79e f7acce4 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 447586 11234 2.6
RAM 70944 71056 112 0.2
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 362456 8036 2.3
RAM 66660 66628 -32 -0.0
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 340180 7492 2.3
RAM 66428 66396 -32 -0.0
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 876035 16368 1.9
RAM 71258 71386 128 0.2
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2046440 59336 3.0
RAM 60616 60368 -248 -0.4
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1974496 60576 3.2
RAM 59776 59536 -240 -0.4
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3355296 3355216 -80 -0.0
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2009168 58808 3.0
RAM 5472 5472 0 0.0

@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from da2d79e to 5396a16

Increases above 0.2%:

platform target config section da2d79e 5396a16 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 447586 11234 2.6
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 362480 8060 2.3
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 340148 7460 2.2
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 876035 16368 1.9
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2046440 59336 3.0
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1974480 60560 3.2
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2009168 58808 3.0
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section da2d79e 5396a16 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 447586 11234 2.6
RAM 70944 71064 120 0.2
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 362480 8060 2.3
RAM 66660 66628 -32 -0.0
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 340148 7460 2.2
RAM 66428 66396 -32 -0.0
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 876035 16368 1.9
RAM 71258 71386 128 0.2
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2046440 59336 3.0
RAM 60616 60368 -248 -0.4
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1974480 60560 3.2
RAM 59776 59536 -240 -0.4
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3355296 3355232 -64 -0.0
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2009168 58808 3.0
RAM 5472 5472 0 0.0

@github-actions
Copy link
Copy Markdown

PR #449: Size comparison from da2d79e to 4d1b3a2

Increases above 0.2%:

platform target config section da2d79e 4d1b3a2 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 446958 10606 2.4
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 361512 7092 2.0
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 339308 6620 2.0
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 875171 15504 1.8
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2054272 67168 3.4
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1981304 67384 3.5
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3355296 3365008 9712 0.3
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2016984 66624 3.4
Full report (8 builds for (core), dimmable-light, onoff-light, onoff-light-bt, speaker)
platform target config section da2d79e 4d1b3a2 change % change
(core) riscv32imac-unknown-none-elf infodefmt-optz-ltofat FLASH 436352 446958 10606 2.4
RAM 70944 71064 120 0.2
thumbv6m-none-eabi infodefmt-optz-ltofat FLASH 354420 361512 7092 2.0
RAM 66660 66628 -32 -0.0
thumbv7em-none-eabi infodefmt-optz-ltofat FLASH 332688 339308 6620 2.0
RAM 66428 66396 -32 -0.0
x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 859667 875171 15504 1.8
RAM 71258 71386 128 0.2
dimmable-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1987104 2054272 67168 3.4
RAM 60616 60368 -248 -0.4
onoff-light x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1913920 1981304 67384 3.5
RAM 59776 59536 -240 -0.4
onoff-light-bt x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 3355296 3365008 9712 0.3
RAM 5776 5776 0 0.0
speaker x86_64-unknown-linux-gnu infologs-optz-ltofat FLASH 1950360 2016984 66624 3.4
RAM 5472 5472 0 0.0

@ivmarkov ivmarkov merged commit 6c53af6 into project-chip:main May 22, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant