Reveal hidden firmware values directly inside VS Code.
Inline calculations • Macro value expansion • Engineering formulas • Unit conversions
Live engineering knowledge embedded directly into firmware.
Important
Firmware logic is often invisible.
Values are buried behind:
- chained macros
- scaling constants
- unit conversions
- spreadsheet calculations
- scattered documentation
👉 CalcDocs makes those values visible instantly.
CalcDocs transforms VS Code into a live firmware calculation explorer.
Instead of manually expanding macros, opening Excel files, or mentally resolving formulas:
✅ Hover a value
✅ See the final computed result
✅ Understand firmware logic instantly
No build. No flashing. No debugger.
Write this:
#define RPM 1000
#define SPEED (RPM * 0.10472)CalcDocs instantly shows:
#define SPEED (RPM * 0.10472) ← 104.72✅ Real-time evaluation
✅ Inline resolved values
✅ No manual calculations
Write this directly inside your firmware comments:
// @rpm = 3000 rpm
// = @rpm -> rad/s
// = 13 N * 1 m * @rpm -> WCalcDocs evaluates everything live:
// @rpm = 3000 rpm
// = @rpm -> rad/s <- 314.1592653589793 rad/s
// = 13 N * 1 m * @rpm -> W <- 4084.0704496667313 W- Realtime calculations directly in comments
- Unit conversion (
rpm -> rad/s,atm -> Pa, etc.) - Keep formulas near the actual firmware logic
- Eliminate scattered Excel and text notes
Tip
Keep engineering calculations close to the firmware logic instead of:
- Excel sheets
- random
.txtfiles - disconnected documentation
Your firmware becomes self-documented.
| File | Preview |
|---|---|
| Inside C code | ![]() |
| Inside formulas*.yaml | ![]() |
| Before | After |
|---|---|
| Before | ![]() |
| After | ![]() |
| Header generation |
|---|
![]() |
| Quick menu |
|---|
![]() |
Firmware development is rarely difficult because of syntax.
It becomes difficult because:
- values are hidden
- formulas are fragmented
- scaling is implicit
- engineering decisions live outside the codebase
Understanding a single value may require:
- opening multiple headers
- expanding macro chains
- checking documentation
- validating unit conversions
- searching old spreadsheets
Warning
Most firmware projects suffer from:
- duplicated formulas
- stale spreadsheets
- undocumented scaling
- hidden assumptions
These issues create real bugs.
Instead of navigating half the project:
👉 you immediately see what the firmware computes.
Define formulas once:
power:
formula: vin * current
unit: WUse them everywhere.
CalcDocs:
✅ evaluates formulas
✅ syncs YAML with C/C++
✅ prevents formula drift
✅ shows results inline
Detect issues early:
- Unit mismatches
- Overflow risks
- Invalid conversions
- YAML/C inconsistencies
Important
CalcDocs is designed for real embedded firmware workflows.
#define VIN 24
#define CURRENT 2
#define POWER (VIN * CURRENT)CalcDocs shows:
#define POWER (VIN * CURRENT) ← 48WNo more jumping across headers to resolve macros
See wrong values before flashing your MCU
Formulas stay aligned with firmware
Know values before runtime
Engineering decisions stay inside the source code.
CalcDocs is intentionally focused.
It is:
❌ NOT a compiler
❌ NOT a debugger
❌ NOT a full static analyzer
Note
CalcDocs focuses on one thing:
making firmware numeric logic visible.
CalcDocs works standalone.
For best results, combine it with:
clangd(recommended)ms-vscode.cpptoolsCMake Tools
CalcDocs integrates without conflicts.
Tip
CalcDocs supports engineering prefixes automatically:
mV, uV, nV, kV, MHz, mA, etc.
If CalcDocs saves you time:
-
⭐ Leave a review (this helps a lot)
https://marketplace.visualstudio.com/items?itemName=convergo-dev.calcdocs-vscode-extension
Full documentation available on GitHub:
- 👉 Getting Started
- 👉 Formula YAML Guide
- 👉 Real Use Cases
- 👉 Features Overview
- 👉 Configuration
- 👉 Architecture
- 👉 Limitations
- 👉 Contributing
- 👉 Inline Calculations
Spreadsheets hide logic. Code hides values.






