Skip to content

Add positional hold-trigger regions for Morse behaviors - #1037

Open
colonelpanic8 wants to merge 2 commits into
rmk-rs:mainfrom
colonelpanic8:feat/morse-hold-trigger-on-release
Open

Add positional hold-trigger regions for Morse behaviors#1037
colonelpanic8 wants to merge 2 commits into
rmk-rs:mainfrom
colonelpanic8:feat/morse-hold-trigger-on-release

Conversation

@colonelpanic8

Copy link
Copy Markdown
Contributor

Summary

  • add hold_trigger_key_positions and reusable [layout.regions] aliases to Morse configuration
  • apply positional filtering before the decision mode so excluded same-hand keys resolve the pending Morse key as a tap, including when the new key is itself a modifier
  • add opt-in hold_trigger_on_release for same-hand chording without permitting excluded keys to activate a hold
  • validate region names and coordinates, deduplicate expanded positions, and size generated capacities automatically

This replaces rigid hand-only suppression with layout-defined position sets while preserving existing configurations.

Verification

  • rmk-config: 90 unit tests and 6 integration tests
  • positional simulator scenarios: 5 passed
  • on-release simulator scenarios: 7 passed
  • cargo fmt --all --check
  • cargo clippy -p rmk-config --all-targets -- -D warnings
  • downstream Glove80 left and right firmware builds

Completes positional hold-tap with ZMK's companion setting: keys outside
`hold_trigger_key_positions` produce the tap when they are *released* rather
than when they are pressed.

Deciding on press means pressing a second same-hand modifier settles the first
as a tap, so same-hand modifier combinations are unreachable however the
position list is written. Deferring to the release keeps both behaviors: a next
key that is only tapped still settles the tap-hold as a tap, while a next key
that is held leaves the hold reachable.

On press an excluded key is buffered rather than resolving the tap-hold, which
also keeps the two in typing order once the decision lands; its release then
runs the same check the press path would have. The profile override sits in
bits 63-62, leaving the word 8 bytes wide.

`on_release_tapped_key_settles_as_tap_unchanged` is the invariance control: its
trace is identical with the setting off, which is the point -- the deferral must
not change the tapped case. The held case is what the setting buys, and it
fails without it.
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown

Size Report

Example main PR Diff .text .data .bss
use_config/nrf52832_ble 397.6 KiB 398.0 KiB +0.09% ⬆️ +344 0 +48
use_config/nrf52840_ble 439.6 KiB 440.2 KiB +0.13% ⬆️ +568 0 +48
use_config/nrf52840_ble_split (central) 500.8 KiB 501.9 KiB +0.23% ⬆️ +1144 0 +48
use_config/nrf52840_ble_split (peripheral) 318.8 KiB 318.8 KiB +0.00% ⬆️ +4 0 0
use_config/pi_pico_w_ble 672.7 KiB 673.4 KiB +0.10% ⬆️ +660 0 +48
use_config/rp2040 146.3 KiB 147.0 KiB +0.48% ⬆️ +676 0 +48
use_config/rp2040_split (central) 159.9 KiB 160.6 KiB +0.40% ⬆️ +616 0 +48
use_config/rp2040_split (peripheral) 27.9 KiB 27.9 KiB +0.00% 0 0 0
use_config/stm32f1 62.6 KiB 62.9 KiB +0.51% ⬆️ +280 0 +48
use_config/stm32h7 100.4 KiB 100.8 KiB +0.33% ⬆️ +300 0 +48
use_rust/nrf52832_ble 385.2 KiB 385.5 KiB +0.08% ⬆️ +268 0 +48
use_rust/nrf52840_ble 435.2 KiB 435.6 KiB +0.08% ⬆️ +316 0 +48
use_rust/nrf52840_ble_split (central) 504.3 KiB 504.9 KiB +0.13% ⬆️ +640 0 +48
use_rust/nrf52840_ble_split (peripheral) 316.4 KiB 316.4 KiB +0.00% ⬆️ +12 0 0
use_rust/pi_pico_w_ble 672.1 KiB 672.6 KiB +0.07% ⬆️ +472 0 +48
use_rust/rp2040 145.6 KiB 146.2 KiB +0.44% ⬆️ +620 0 +48
use_rust/rp2040_split (central) 158.4 KiB 159.1 KiB +0.43% ⬆️ +664 0 +48
use_rust/rp2040_split (peripheral) 28.2 KiB 28.2 KiB +0.00% 0 0 0
use_rust/stm32f1 61.9 KiB 62.2 KiB +0.51% ⬆️ +280 0 +48
use_rust/stm32h7 119.7 KiB 119.7 KiB +0.00% ⬇️ -56 0 +48
use_config/nrf52832_ble — 397.6 KiB → 398.0 KiB (+0.09% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 365216	   8620	  33672	 407508	  637d4	rmk-nrf52832

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 364872	   8620	  33624	 407116	  6364c	rmk-nrf52832

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1% +5.32Ki  [ = ]       0    .debug_str
  +0.1% +2.83Ki  [ = ]       0    .debug_info
  +0.4% +2.45Ki  [ = ]       0    .debug_loc
  +0.3% +1.13Ki  [ = ]       0    .strtab
  +0.2%    +604  [ = ]       0    .debug_line
  +0.3%    +384  [ = ]       0    .symtab
  +0.1%    +328  +0.1%    +328    .text
  +0.1%    +312  [ = ]       0    .debug_ranges
  +0.3%    +152  [ = ]       0    .debug_frame
  +0.2%     +80  [ = ]       0    .debug_aranges
  [ = ]       0  +0.1%     +48    .bss
  +0.0%     +16  +0.0%     +16    .rodata
   +18%     +11  [ = ]       0    [Unmapped]
  +0.2% +13.6Ki  +0.1%    +392    TOTAL
use_config/nrf52840_ble — 439.6 KiB → 440.2 KiB (+0.13% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 398468	   8628	  43712	 450808	  6e0f8	rmk-nrf52840

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 397900	   8628	  43664	 450192	  6de90	rmk-nrf52840

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1% +3.10Ki  [ = ]       0    .debug_str
  +0.1% +2.79Ki  [ = ]       0    .debug_info
  +0.1%   +1018  [ = ]       0    .debug_loc
  +0.2%    +873  [ = ]       0    .strtab
  +0.2%    +616  [ = ]       0    .debug_line
  +0.2%    +552  +0.2%    +552    .text
  +0.3%    +448  [ = ]       0    .symtab
  +0.1%    +240  [ = ]       0    .debug_ranges
  +0.4%    +216  [ = ]       0    .debug_frame
  +0.2%    +112  [ = ]       0    .debug_aranges
  [ = ]       0  +0.1%     +48    .bss
  +0.0%     +16  +0.0%     +16    .rodata
   +20%     +10  [ = ]       0    [Unmapped]
  +0.1% +9.89Ki  +0.1%    +616    TOTAL
use_config/nrf52840_ble_split (central) — 500.8 KiB → 501.9 KiB (+0.23% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 456400	   8684	  48904	 513988	  7d7c4	central

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 455256	   8684	  48856	 512796	  7d31c	central

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1% +3.46Ki  [ = ]       0    .debug_str
  +0.1% +3.22Ki  [ = ]       0    .debug_info
  +0.1% +1.11Ki  [ = ]       0    .debug_loc
  +0.3% +1.10Ki  +0.3% +1.10Ki    .text
  +0.2%    +918  [ = ]       0    .strtab
  +0.2%    +800  [ = ]       0    .debug_line
  +0.2%    +624  [ = ]       0    .debug_ranges
  +0.3%    +416  [ = ]       0    .symtab
  +0.4%    +216  [ = ]       0    .debug_frame
  +0.2%    +112  [ = ]       0    .debug_aranges
  [ = ]       0  +0.1%     +48    .bss
  +0.0%     +16  +0.0%     +16    .rodata
  +8.2%      +4  [ = ]       0    [Unmapped]
  +0.1% +11.9Ki  +0.2% +1.16Ki    TOTAL
use_config/nrf52840_ble_split (peripheral) — 318.8 KiB → 318.8 KiB (+0.00% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 292812	   8500	  25184	 326496	  4fb60	peripheral

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 292808	   8500	  25184	 326492	  4fb5c	peripheral

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +920  [ = ]       0    .debug_str
  +0.0%    +661  [ = ]       0    .debug_info
  +0.1%     +24  [ = ]       0    .debug_aranges
  +0.0%     +16  [ = ]       0    .strtab
  +0.0%      +6  [ = ]       0    .debug_line
  +0.0%      +4  +0.0%      +4    .text
 -13.0%      -7  [ = ]       0    [Unmapped]
  +0.0% +1.59Ki  +0.0%      +4    TOTAL
use_config/pi_pico_w_ble — 672.7 KiB → 673.4 KiB (+0.10% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 635760	      0	  53752	 689512	  a8568	rmk-pi-pico-w

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 635100	      0	  53704	 688804	  a82a4	rmk-pi-pico-w

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.2% +3.77Ki  [ = ]       0    .debug_info
  +0.1% +2.95Ki  [ = ]       0    .debug_str
  +0.1% +1.46Ki  [ = ]       0    .debug_loc
  +0.2%    +715  [ = ]       0    .debug_line
  +0.2%    +704  [ = ]       0    .strtab
  +0.2%    +644  +0.2%    +644    .text
  +0.2%    +160  [ = ]       0    .symtab
  +0.0%     +80  [ = ]       0    .debug_ranges
  +0.2%     +68  [ = ]       0    .debug_frame
  [ = ]       0  +0.1%     +48    .bss
  +0.1%     +40  [ = ]       0    .debug_aranges
  +0.0%     +16  +0.0%     +16    .rodata
   +25%     +13  [ = ]       0    [Unmapped]
  +0.9%      +8  [ = ]       0    .defmt
  +0.1% +10.6Ki  +0.1%    +708    TOTAL
use_config/rp2040 — 146.3 KiB → 147.0 KiB (+0.48% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 136556	      0	  13956	 150512	  24bf0	rmk-rp2040

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 135880	      0	  13908	 149788	  2491c	rmk-rp2040

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.3% +4.54Ki  [ = ]       0    .debug_str
  +0.4% +3.55Ki  [ = ]       0    .debug_info
  +0.4% +1.27Ki  [ = ]       0    .debug_loc
  +0.8%    +943  [ = ]       0    .strtab
  +0.5%    +766  [ = ]       0    .debug_line
  +0.6%    +660  +0.6%    +660    .text
  +0.5%    +160  [ = ]       0    .symtab
  +0.1%     +88  [ = ]       0    .debug_ranges
  +0.4%     +68  [ = ]       0    .debug_frame
  [ = ]       0  +0.4%     +48    .bss
  +0.2%     +40  [ = ]       0    .debug_aranges
  +0.1%     +16  +0.1%     +16    .rodata
  +1.9%      +8  [ = ]       0    .defmt
 -15.4%      -6  [ = ]       0    [Unmapped]
  +0.3% +12.0Ki  +0.5%    +724    TOTAL
use_config/rp2040_split (central) — 159.9 KiB → 160.6 KiB (+0.40% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 149528	      0	  14908	 164436	  28254	central

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 148912	      0	  14860	 163772	  27fbc	central

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.3% +3.46Ki  [ = ]       0    .debug_info
  +0.1% +2.07Ki  [ = ]       0    .debug_str
  +0.5% +1.86Ki  [ = ]       0    .debug_loc
  +0.5%    +690  [ = ]       0    .strtab
  +0.4%    +669  [ = ]       0    .debug_line
  +0.5%    +600  +0.5%    +600    .text
  +0.6%    +224  [ = ]       0    .symtab
  +0.4%     +68  [ = ]       0    .debug_frame
  [ = ]       0  +0.3%     +48    .bss
  +0.1%     +48  [ = ]       0    .debug_ranges
  +0.2%     +40  [ = ]       0    .debug_aranges
  +0.1%     +16  +0.1%     +16    .rodata
 -12.1%      -8  [ = ]       0    [Unmapped]
  +0.2% +9.68Ki  +0.4%    +664    TOTAL
use_config/rp2040_split (peripheral) — 27.9 KiB → 27.9 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  25696	     60	   2804	  28560	   6f90	peripheral

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  25696	     60	   2804	  28560	   6f90	peripheral

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1%    +515  [ = ]       0    .debug_str
  +0.0%     +72  [ = ]       0    .debug_info
  +0.2%     +24  [ = ]       0    .debug_aranges
  -5.9%      -3  [ = ]       0    [Unmapped]
  -0.0%      -4  [ = ]       0    .strtab
  +0.0%    +604  [ = ]       0    TOTAL
use_config/stm32f1 — 62.6 KiB → 62.9 KiB (+0.51% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  58024	     28	   6384	  64436	   fbb4	rmk-stm32f1

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  57744	     28	   6336	  64108	   fa6c	rmk-stm32f1

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.4% +3.50Ki  [ = ]       0    .debug_str
  +0.5% +2.87Ki  [ = ]       0    .debug_info
  +0.5%    +706  [ = ]       0    .debug_loc
  +0.4%    +386  [ = ]       0    .debug_line
  +0.6%    +294  [ = ]       0    .strtab
  +0.5%    +280  +0.5%    +280    .text
  +0.5%     +96  [ = ]       0    .symtab
  +0.7%     +88  [ = ]       0    .debug_frame
  [ = ]       0  +0.8%     +48    .bss
  +0.1%     +40  [ = ]       0    .debug_ranges
  +0.4%     +24  [ = ]       0    .debug_aranges
 -34.8%     -24  [ = ]       0    [Unmapped]
  +0.4% +8.22Ki  +0.5%    +328    TOTAL
use_config/stm32h7 — 100.4 KiB → 100.8 KiB (+0.33% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  94736	    264	   8176	 103176	  19308	rmk-stm32h7

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  94436	    264	   8128	 102828	  191ac	rmk-stm32h7

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.3% +2.87Ki  [ = ]       0    .debug_info
  +0.1% +2.63Ki  [ = ]       0    .debug_str
  +0.5%    +650  [ = ]       0    .debug_line
  +0.4%    +635  [ = ]       0    .debug_loc
  +0.4%    +284  +0.4%    +284    .text
  +0.4%    +239  [ = ]       0    .strtab
  +0.6%    +176  [ = ]       0    .symtab
  +0.8%    +120  [ = ]       0    .debug_frame
  [ = ]       0  +0.6%     +48    .bss
  +0.1%     +40  [ = ]       0    .debug_aranges
  +0.1%     +40  [ = ]       0    .debug_ranges
   +65%     +22  [ = ]       0    [Unmapped]
  +0.1%     +16  +0.1%     +16    .rodata
  +0.2% +7.67Ki  +0.3%    +348    TOTAL
use_rust/nrf52832_ble — 385.2 KiB → 385.5 KiB (+0.08% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 352500	   8620	  33608	 394728	  605e8	rmk-nrf52832

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 352232	   8620	  33560	 394412	  604ac	rmk-nrf52832

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.2% +2.87Ki  [ = ]       0    .debug_info
  +0.1% +2.56Ki  [ = ]       0    .debug_str
  +0.1%    +649  [ = ]       0    .debug_loc
  +0.1%    +422  [ = ]       0    .debug_line
  +0.1%    +252  +0.1%    +252    .text
  +0.1%    +224  [ = ]       0    .strtab
  +0.1%    +144  [ = ]       0    .symtab
  +0.2%    +104  [ = ]       0    .debug_frame
  [ = ]       0  +0.1%     +48    .bss
  +0.1%     +32  [ = ]       0    .debug_aranges
  +0.0%     +24  [ = ]       0    .debug_ranges
  +0.0%     +16  +0.0%     +16    .rodata
 -25.8%     -16  [ = ]       0    [Unmapped]
  +0.1% +7.24Ki  +0.1%    +316    TOTAL
use_rust/nrf52840_ble — 435.2 KiB → 435.6 KiB (+0.08% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 396456	   8628	  40952	 446036	  6ce54	rmk-nrf52840

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 396140	   8628	  40904	 445672	  6cce8	rmk-nrf52840

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.2% +3.36Ki  [ = ]       0    .debug_info
  +0.1% +2.83Ki  [ = ]       0    .debug_str
  +0.2% +1.26Ki  [ = ]       0    .debug_loc
  +0.2%    +796  [ = ]       0    .strtab
  +0.1%    +490  [ = ]       0    .debug_line
  +0.1%    +300  +0.1%    +300    .text
  +0.2%    +256  [ = ]       0    .symtab
  +0.1%    +192  [ = ]       0    .debug_ranges
  +0.3%    +136  [ = ]       0    .debug_frame
  +0.2%     +72  [ = ]       0    .debug_aranges
  [ = ]       0  +0.1%     +48    .bss
  +0.0%     +16  +0.0%     +16    .rodata
  +8.3%      +4  [ = ]       0    [Unmapped]
  +0.1% +9.66Ki  +0.1%    +364    TOTAL
use_rust/nrf52840_ble_split (central) — 504.3 KiB → 504.9 KiB (+0.13% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 457512	   8684	  50872	 517068	  7e3cc	central

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 456872	   8684	  50824	 516380	  7e11c	central

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1% +3.85Ki  [ = ]       0    .debug_str
  +0.1% +3.51Ki  [ = ]       0    .debug_info
  +0.3% +1.03Ki  [ = ]       0    .debug_line
  +0.1%   +1007  [ = ]       0    .debug_loc
  +0.2%    +863  [ = ]       0    .strtab
  +0.2%    +624  +0.2%    +624    .text
  +0.2%    +320  [ = ]       0    .symtab
  +0.1%    +232  [ = ]       0    .debug_ranges
  +0.3%    +168  [ = ]       0    .debug_frame
  +0.2%     +88  [ = ]       0    .debug_aranges
  [ = ]       0  +0.1%     +48    .bss
  +0.0%     +16  +0.0%     +16    .rodata
  +0.9%      +8  [ = ]       0    .defmt
  -0.5%     -39  [ = ]       0    .debug_abbrev
  +0.1% +11.6Ki  +0.1%    +688    TOTAL
use_rust/nrf52840_ble_split (peripheral) — 316.4 KiB → 316.4 KiB (+0.00% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 290552	   8500	  24952	 324004	  4f1a4	peripheral

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 290540	   8500	  24952	 323992	  4f198	peripheral

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0% +1.02Ki  [ = ]       0    .debug_str
  +0.1%    +895  [ = ]       0    .debug_info
  +0.0%    +102  [ = ]       0    .debug_line
  +0.1%     +24  [ = ]       0    .debug_aranges
   +38%     +19  [ = ]       0    [Unmapped]
  +0.0%     +12  +0.0%     +12    .text
  +0.0%      +4  [ = ]       0    .strtab
  -0.0%     -10  [ = ]       0    .debug_loc
  +0.0% +2.04Ki  +0.0%     +12    TOTAL
use_rust/pi_pico_w_ble — 672.1 KiB → 672.6 KiB (+0.07% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 635324	      0	  53432	 688756	  a8274	rmk-pi-pico-w

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 634852	      0	  53384	 688236	  a806c	rmk-pi-pico-w

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.2% +3.76Ki  [ = ]       0    .debug_info
  +0.1% +3.70Ki  [ = ]       0    .debug_str
  +0.1% +1.23Ki  [ = ]       0    .debug_loc
  +0.2%    +785  [ = ]       0    .strtab
  +0.1%    +569  [ = ]       0    .debug_line
  +0.1%    +460  +0.1%    +460    .text
  +0.5%    +384  [ = ]       0    .symtab
  +0.2%     +68  [ = ]       0    .debug_frame
  [ = ]       0  +0.1%     +48    .bss
  +0.1%     +40  [ = ]       0    .debug_aranges
  +0.0%     +32  [ = ]       0    .debug_ranges
  +0.0%     +12  +0.0%     +12    .rodata
  +0.9%      +8  [ = ]       0    .defmt
   +16%      +7  [ = ]       0    [Unmapped]
  +0.1% +11.0Ki  +0.1%    +520    TOTAL
use_rust/rp2040 — 145.6 KiB → 146.2 KiB (+0.44% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 135932	      0	  13796	 149728	  248e0	rmk-rp2040

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 135312	      0	  13748	 149060	  24644	rmk-rp2040

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.4% +3.57Ki  [ = ]       0    .debug_info
  +0.2% +2.96Ki  [ = ]       0    .debug_str
  +0.5% +1.43Ki  [ = ]       0    .debug_loc
  +0.6%    +695  [ = ]       0    .strtab
  +0.4%    +674  [ = ]       0    .debug_line
  +0.5%    +604  +0.5%    +604    .text
  +0.5%    +160  [ = ]       0    .symtab
  +0.1%     +88  [ = ]       0    .debug_ranges
  +0.4%     +68  [ = ]       0    .debug_frame
  [ = ]       0  +0.4%     +48    .bss
  +0.2%     +40  [ = ]       0    .debug_aranges
  +0.1%     +16  +0.1%     +16    .rodata
  +1.9%      +8  [ = ]       0    .defmt
 -14.3%      -9  [ = ]       0    [Unmapped]
  +0.3% +10.2Ki  +0.4%    +668    TOTAL
use_rust/rp2040_split (central) — 158.4 KiB → 159.1 KiB (+0.43% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 148276	      0	  14652	 162928	  27c70	central

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 147612	      0	  14604	 162216	  279a8	central

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.3% +5.34Ki  [ = ]       0    .debug_str
  +0.3% +3.54Ki  [ = ]       0    .debug_info
  +0.4% +1.48Ki  [ = ]       0    .debug_loc
  +0.7%    +930  [ = ]       0    .strtab
  +0.5%    +648  +0.5%    +648    .text
  +0.3%    +638  [ = ]       0    .debug_line
  +0.5%    +192  [ = ]       0    .symtab
  +0.1%     +88  [ = ]       0    .debug_ranges
  +0.4%     +68  [ = ]       0    .debug_frame
  [ = ]       0  +0.4%     +48    .bss
  +0.2%     +40  [ = ]       0    .debug_aranges
  +0.1%     +16  +0.1%     +16    .rodata
   +17%      +9  [ = ]       0    [Unmapped]
  +0.3% +12.9Ki  +0.4%    +712    TOTAL
use_rust/rp2040_split (peripheral) — 28.2 KiB → 28.2 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  25796	     60	   3068	  28924	   70fc	peripheral

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  25796	     60	   3068	  28924	   70fc	peripheral

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1%    +515  [ = ]       0    .debug_str
  +0.0%     +72  [ = ]       0    .debug_info
  +0.2%     +24  [ = ]       0    .debug_aranges
  +2.1%      +1  [ = ]       0    [Unmapped]
  -0.0%      -4  [ = ]       0    .strtab
  +0.0%    +608  [ = ]       0    TOTAL
use_rust/stm32f1 — 61.9 KiB → 62.2 KiB (+0.51% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  57360	     28	   6320	  63708	   f8dc	rmk-stm32f1

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  57080	     28	   6272	  63380	   f794	rmk-stm32f1

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.4% +3.56Ki  [ = ]       0    .debug_str
  +0.5% +2.86Ki  [ = ]       0    .debug_info
  +0.5%    +679  [ = ]       0    .debug_loc
  +0.4%    +391  [ = ]       0    .debug_line
  +0.7%    +302  [ = ]       0    .strtab
  +0.5%    +280  +0.5%    +280    .text
  +0.5%     +96  [ = ]       0    .symtab
  +0.7%     +88  [ = ]       0    .debug_frame
  [ = ]       0  +0.8%     +48    .bss
  +0.1%     +40  [ = ]       0    .debug_ranges
  +0.5%     +24  [ = ]       0    .debug_aranges
   +18%     +11  [ = ]       0    [Unmapped]
  +0.5% +8.28Ki  +0.5%    +328    TOTAL
use_rust/stm32h7 — 119.7 KiB → 119.7 KiB (+0.00% ⬇️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 108128	    320	  14076	 122524	  1de9c	rmk-stm32h7

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 108184	    320	  14028	 122532	  1dea4	rmk-stm32h7

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1% +3.05Ki  [ = ]       0    .debug_str
  +0.3% +2.96Ki  [ = ]       0    .debug_info
  +0.2%    +509  [ = ]       0    .debug_loc
  +0.2%    +382  [ = ]       0    .debug_line
  +0.3%    +224  [ = ]       0    .debug_ranges
  +0.2%    +169  [ = ]       0    .strtab
  +0.4%     +72  [ = ]       0    .debug_frame
  +0.2%     +64  [ = ]       0    .symtab
  [ = ]       0  +0.4%     +48    .bss
  +0.1%     +40  [ = ]       0    .debug_aranges
  +0.2%     +14  [ = ]       0    .debug_abbrev
 -10.9%      -6  [ = ]       0    [Unmapped]
  -0.1%     -56  -0.1%     -56    .text
  +0.2% +7.39Ki  -0.0%      -8    TOTAL

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