Skip to content

chore(main): release 1.0.0 - #99

Open
embedded-releaser-app[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--e-foc
Open

chore(main): release 1.0.0#99
embedded-releaser-app[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--e-foc

Conversation

@embedded-releaser-app

@embedded-releaser-app embedded-releaser-app Bot commented Mar 7, 2026

Copy link
Copy Markdown

🤖 I have created a release beep boop

1.0.0 (2026-08-24)

⚠ BREAKING CHANGES

  • raw kp/ki/kd are no longer accepted anywhere in the FOC API; loops are tuned by closed-loop bandwidth in rad/s.

Features

Bug Fixes

  • Fix hw configuration (#74) (e00421e)
  • Implement verified remediation findings from audit (#236) (4416c85)

This PR was generated with Release Please. See documentation.

@gabrielfrasantos

gabrielfrasantos commented Mar 7, 2026

Copy link
Copy Markdown
Contributor

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Max errors Warnings Elapsed time
✅ ACTION actionlint 9 0 0 0.25s
✅ CPP clang-format 293 9 0 0 11.05s
✅ DOCKERFILE hadolint 1 0 0 0.17s
✅ JSON jsonlint 18 0 0 0.16s
✅ JSON prettier 18 9 0 0 3.75s
⚠️ MARKDOWN markdownlint 47 0 20 0 2.98s
✅ MARKDOWN markdown-table-formatter 47 2 0 0 0.47s
✅ REPOSITORY betterleaks yes no no 0.97s
✅ REPOSITORY checkov yes no no 30.64s
✅ REPOSITORY git_diff yes no no 0.09s
✅ REPOSITORY grype yes no no 75.81s
✅ REPOSITORY ls-lint yes no no 0.08s
✅ REPOSITORY osv-scanner yes no no 2.46s
✅ REPOSITORY secretlint yes no no 12.36s
✅ REPOSITORY syft yes no no 4.78s
✅ REPOSITORY trivy yes no no 12.02s
✅ REPOSITORY trivy-sbom yes no no 0.34s
✅ REPOSITORY trufflehog yes no no 5.18s
⚠️ SPELL lychee 168 1 0 6.73s
✅ YAML prettier 25 4 0 0 0.93s
✅ YAML v8r 25 0 0 6.46s
✅ YAML yamllint 25 0 0 1.02s

Detailed Issues

⚠️ SPELL / lychee - 1 error
📝 Summary
---------------------
🔍 Total..........157
🔗 Unique..........94
✅ Successful.....137
⏳ Timeouts.........0
🔀 Redirected......20
👻 Excluded........19
❓ Unknown..........0
🚫 Errors...........1
⛔ Unsupported......1

Errors in CHANGELOG.md
[404] https://github.com/embedded-pro/e-foc/compare/v0.0.1...v1.0.0 (at 3:4) | Rejected status code: 404 Not Found

Hint: Followed 20 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.
Hint: You can configure accepted/rejected response codes with `-a` or `--accept`
⚠️ MARKDOWN / markdownlint - 20 errors
.claude/agents/reviewer.md:23 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
documentation/architecture/system.md:375:401 error MD013/line-length Line length [Expected: 400; Actual: 467]
documentation/architecture/system.md:377:401 error MD013/line-length Line length [Expected: 400; Actual: 467]
documentation/architecture/system.md:378:401 error MD013/line-length Line length [Expected: 400; Actual: 467]
documentation/architecture/system.md:379:401 error MD013/line-length Line length [Expected: 400; Actual: 467]
documentation/booklet/README.md:56 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
documentation/design/foc-position.md:156:171 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-position.md:164:45 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-position.md:164:72 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-position.md:164:108 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-position.md:164:172 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-transforms.md:184:88 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-transforms.md:184:227 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-transforms.md:237:138 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-transforms.md:238:138 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-transforms.md:239:138 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-transforms.md:240:138 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-transforms.md:241:138 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-transforms.md:242:138 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
documentation/design/foc-transforms.md:243:138 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]

Notices

⚠️ Your configuration references items that have been removed from MegaLinter and are ignored: REPOSITORY_GITLEAKS, REPOSITORY_KICS. See Removed linters to find their replacements.

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@10.0.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,CPP_CLANG_FORMAT,DOCKERFILE_HADOLINT,JSON_JSONLINT,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_BETTERLEAKS,REPOSITORY_GRYPE,REPOSITORY_LS_LINT,REPOSITORY_OSV_SCANNER,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is provided by OX Security
Show us your support by starring ⭐ the repository

@github-actions

github-actions Bot commented Mar 7, 2026

Copy link
Copy Markdown
Contributor

🏎️ Cycle Analysis Results

Worst case (position) | EK-TM4C1294XL

CPU Utilization Budget

Loop Rate Available Cycles Min Usage Max Usage Status
1 kHz 120000 1640 (1.4%) 2031 (1.7%) 🟢 OK
10 kHz 12000 1640 (13.7%) 2031 (16.9%) 🟢 OK
20 kHz 6000 1640 (27.3%) 2031 (33.9%) 🟢 OK
Click to expand full details

Cycle Estimation Report

Target: EK-TM4C1294XL | Build: RelWithDebInfo | Clock: 120 MHz
Path: ADC ISR → FOC Position (worst case: inner + outer loop + all estimators) → PWM Output

Executive Summary

Metric Value
Estimated Cycles (min) 1640
Estimated Cycles (max) 2031
Total Instructions 1115
Total Code Size 3828 bytes
FPU Operations 298
Path Stages 9

CPU Utilization Budget

Loop Rate Available Cycles Min Usage Max Usage Status
1 kHz 120000 1640 (1.4%) 2031 (1.7%) 🟢 OK
10 kHz 12000 1640 (13.7%) 2031 (16.9%) 🟢 OK
20 kHz 6000 1640 (27.3%) 2031 (33.9%) 🟢 OK

Path Breakdown

  ISR Entry (exception overhead)       █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    12–29   cycles (  1.4%)
                                       │
  ADC ISR + Callback Dispatch          ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    93–150  cycles (  7.4%)
                                       │
  Encoder Read                         █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    61–80   cycles (  3.9%)
                                       │
  FOC Inner Loop (Calculate)           █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░     5–8    cycles (  0.4%)
                                       │
  FOC Outer Loop (LowPriorityHandler)  ██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   248–344  cycles ( 16.9%)
                                       │
  Online Mechanical Estimator (RLS)    ████████████████░░░░░░░░░░░░░░░░░░░░░░░░   726–838  cycles ( 41.3%)
                                       │
  Online Electrical Estimator (RLS)    ████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   383–421  cycles ( 20.7%)
                                       │
  PWM Output                           ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   100–132  cycles (  6.5%)
                                       │
  ISR Exit (exception return)          █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    12–29   cycles (  1.4%)
Stage Min Cycles Max Cycles Instructions Code Size FPU Ops Functions
ISR Entry (exception overhead) (hw overhead) 12 29 0 0 B 0 0
ADC ISR + Callback Dispatch 93 150 72 196 B 0 6
Encoder Read 61 80 37 120 B 10 3
FOC Inner Loop (Calculate) 5 8 5 12 B 0 1
FOC Outer Loop (LowPriorityHandler) 248 344 173 612 B 49 3
Online Mechanical Estimator (RLS) 726 838 511 1772 B 147 7
Online Electrical Estimator (RLS) 383 421 246 912 B 92 4
PWM Output 100 132 71 204 B 0 2
ISR Exit (exception return) (hw overhead) 12 29 0 0 B 0 0
TOTAL 1640 2031 1115 3828 B 298

Per-Function Detail — FOC Inner Loop (Calculate)

Function Calls Min Cycles Max Cycles FPU Load/Store Branch ALU
foc::FocPositionImpl::Calculate(foc::PhaseCurrents const&, i... 1x 5 8 0 0 1 4

Instruction Mix

  FPU          █████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  298 ( 26.7%)
  Load/Store   █████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  471 ( 42.2%)
  Branch       ████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   92 (  8.3%)
  ALU          ███████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  250 ( 22.4%)
  Mul/Div      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    4 (  0.4%)

Optimization Quality Indicators

  • ⚠️ Moderate FPU utilization (27%) — some overhead from non-FPU ops
  • High load/store ratio (42%) — register spilling or poor data locality
  • FMA instructions detected — fused multiply-add in use
  • ⚠️ vsqrt/vdiv detected — 14 cycles each; consider LUT approximations

@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from ecf07d2 to 2927444 Compare March 9, 2026 13:21
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from 2927444 to dc2e7d7 Compare March 16, 2026 14:10
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 3 times, most recently from e7f74df to cbee402 Compare March 30, 2026 08:22
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 5 times, most recently from f25eb2f to 78a5102 Compare April 10, 2026 08:54
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 2 times, most recently from 998526d to e84e28a Compare April 12, 2026 13:27
@github-actions

github-actions Bot commented Apr 12, 2026

Copy link
Copy Markdown
Contributor

SIL Integration Test Results

  1 files  ±0    1 suites  ±0   0s ⏱️ ±0s
104 tests ±0  104 ✅ ±0  0 💤 ±0  0 ❌ ±0 
107 runs  ±0  107 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit fafdeec. ± Comparison against base commit 564e740.

♻️ This comment has been updated with latest results.

@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 4 times, most recently from ac0bd92 to d45e26d Compare April 20, 2026 07:22
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 2 times, most recently from acc8b52 to 989357a Compare April 27, 2026 10:38
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 2 times, most recently from bd05314 to 8f06f0e Compare May 10, 2026 10:25
@sonarqubecloud

Copy link
Copy Markdown

@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 4 times, most recently from 7d9cd8d to 8916ef7 Compare May 23, 2026 19:59
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from 8916ef7 to 8ad5886 Compare May 24, 2026 12:27
@github-actions

github-actions Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

📦 Memory budget (multi-mode)

Unified binary

📦 Memory budget

EK-TM4C1294XL (M4, RelWithDebInfo) — flash 145.81 KiB · static RAM 27.65 KiB · stack 0 B · heap 0 B

Region Used Free Total %
FLASH 145.80 KiB 878.20 KiB 1.00 MiB 14.2%
RAM 27.66 KiB 228.34 KiB 256.00 KiB 10.8%

Top symbols

Show top symbols
# Symbol Section Size Source
1 main::hardware .bss 16.77 KiB
2 main::logic .bss 5.83 KiB
3 foc::detail::sineLUT .data 2.00 KiB
4 state_machine::ControlModeStateMachine::RegisterCliCommands() .text 1.77 KiB /__w/e-foc/e-foc/core/state_machine/ControlModeStateMachine.cpp
5 foc::TorqueCascade::Calculate(foc::PhaseCurrents const&, infra::Quantity<infra::UnitBase<infra::List<infra::Unit<10u, 1> >, infra::StaticRationalBase<1ull, 0ull> >, float>&) .text 1.70 KiB /__w/e-foc/e-foc/infra/embedded-infra-lib/infra/util/../../infra/util/Unit.hpp
6 __kernel_rem_pio2f .text 1.65 KiB
7 foc::CascadeWithSpeedLoop::CalculateInnerLoop(foc::PhaseCurrents const&, infra::Quantity<infra::UnitBase<infra::List<infra::Unit<10u, 1> >, infra::StaticRationalBase<1ull, 0ull> >, float> const&) .text 1.62 KiB /__w/e-foc/e-foc/infra/embedded-infra-lib/infra/util/../../infra/util/Unit.hpp
8 controllers::Lqr<float, 3u, 1u, 300u>::TryCreate(math::Matrix<float, 3u, 3u> const&, math::Matrix<float, 3u, 1u> const&, math::Matrix<float, 3u, 3u> const&, math::Matrix<float, 1u, 1u> const&) .text 1.59 KiB /__w/e-foc/e-foc/infra/numerical-toolbox/numerical/math/../../numerical/controllers/implementations/Lqr.hpp
9 foc::PositionControllerSelector::Select(foc::PositionAlgorithm) .text 1.52 KiB /__w/e-foc/e-foc/core/foc/position_loop/PositionControllerSelector.cpp
10 void infra::detail::InvokerFunctions<void (services::NvmStatus), 8u>::StaticInvoke<application::Logic::Logic(application::PlatformFactory&)::{lambda(services::NvmStatus)#1}>(infra::detail::InvokerFunctions<void (services::NvmStatus), 8u> const&, services::NvmStatus) .text 1.45 KiB /__w/e-foc/e-foc/infra/embedded-infra-lib/hal/interfaces/../../infra/util/Function.hpp

@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 5 times, most recently from fc6c1c1 to fb08e09 Compare May 31, 2026 09:09
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 2 times, most recently from 998e7ea to afd62b5 Compare June 5, 2026 10:18
@sonarqubecloud

sonarqubecloud Bot commented Jun 5, 2026

Copy link
Copy Markdown

@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from afd62b5 to 3d80078 Compare June 21, 2026 16:36
@sonarqubecloud

Copy link
Copy Markdown

@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from 3d80078 to 1e2c7c6 Compare June 30, 2026 20:23
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from 1e2c7c6 to 4c065a5 Compare July 10, 2026 20:39
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from 4c065a5 to efaacb0 Compare July 19, 2026 10:47
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from efaacb0 to 57d9e30 Compare July 29, 2026 09:31
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 4 times, most recently from 9073483 to ddc4ec5 Compare August 13, 2026 07:33
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from ddc4ec5 to 62e1e74 Compare August 17, 2026 11:25
@github-actions

github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

🏎️ Cycle Estimation

Target: EK-TM4C1294XL | Build: RelWithDebInfo | Clock: 120 MHz
Path: ADC ISR -> FOC inner loop (Clarke/Park/current loop/SVM) -> PWM output

Executive Summary

Metric Value
Estimated Cycles (min — max) 17432138
Total Instructions 1151
Code Size 4088 bytes
Path Stages 6

CPU Utilization Budget

Loop Rate Available Cycles Min Usage Max Usage Status
20 kHz 6000 1743 (29.0%) 2138 (35.6%) 🟢 OK

Path Breakdown

Stage Cycles %
ISR Entry (exception overhead) 12–29 1%
ADC ISR + Callback Dispatch 93–150 7%
Encoder Read 61–80 4%
FOC Inner Loop (Calculate) 1465–1718 80%
PWM Output 100–132 6%
ISR Exit (exception return) 12–29 1%
Total 1743–2138

📦 Full report, annotated disassembly and JSON metrics available in workflow artifacts.

@github-actions

github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

🏎️ Cycle Estimation

Target: EK-TM4C1294XL | Build: RelWithDebInfo | Clock: 120 MHz
Path: Low-priority interrupt -> position loop -> speed loop -> online estimators

Executive Summary

Metric Value
Estimated Cycles (min — max) 15851978
Total Instructions 1088
Code Size 3756 bytes
Path Stages 5

CPU Utilization Budget

Loop Rate Available Cycles Min Usage Max Usage Status
1 kHz 120000 1585 (1.3%) 1978 (1.6%) 🟢 OK

Path Breakdown

Stage Cycles %
LPI Entry (exception overhead) 12–29 1%
FOC Outer Loop (LowPriorityHandler) 781–1023 52%
Online Mechanical Estimator (RLS) 578–667 34%
Online Electrical Estimator (RLS) 202–230 12%
LPI Exit (exception return) 12–29 1%
Total 1585–1978

📦 Full report, annotated disassembly and JSON metrics available in workflow artifacts.

@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch 5 times, most recently from 85ebd13 to 54fba1d Compare August 22, 2026 10:26
@embedded-releaser-app
embedded-releaser-app Bot force-pushed the release-please--branches--main--components--e-foc branch from 54fba1d to fafdeec Compare August 24, 2026 17:06
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant