๐งฎ CalcDocs โ Instantly See What Your Firmware REALLY Computes [0.3.4-prerelease]
Reveal hidden firmware values directly inside VS Code.
Inline calculations โข Macro value expansion โข Engineering formulas โข Unit conversions
Live engineering knowledge embedded directly into firmware.
Stop rebuilding firmware formulas in Excel โก๏ธ Reuse the originals directly.
๐ Version
๐ Download
๐ License
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.
โก What CalcDocs does
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.
โก 5-second demo
1๏ธโฃ Coding Evaluator
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
2๏ธโฃ Realtime Engineering Notes
Write this directly inside your firmware comments:
// @rpm = 3000 rpm
// = @rpm -> rad/s
// = 13 N * 1 m * @rpm -> W
CalcDocs 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
Keep engineering calculations close to the firmware logic instead of:
- Excel sheets
- random
.txt files
- disconnected documentation
Your firmware becomes self-documented.
3๏ธโฃ Interactive Formula Explorer
Explore firmware formulas as a live dependency graph directly inside VS Code.
๐ Macro Chain Revelation in code
CalcDocs keeps formulas and firmware intrinsically synchronized.
The same engineering logic can now:
โ
live next to production code
โ
be evaluated in real time
โ
be reused during debugging
โ
propagate through dependencies automatically
โ
stay permanently aligned with the firmware implementation
โ
can also propagate tolerances (e.g. tol, min/max) through your YAML formula dependency graph to compute final min/max ranges.
No duplicated engineering logic.
No spreadsheet drift.
No parallel maintenance.
4๏ธโฃ Macro Chain Revelation
๐ Firmware Blindness โ Before vs After
โก Quick Actions & Header Generation
๐ฅ Why this matters
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
Most firmware projects suffer from:
- duplicated formulas
- stale spreadsheets
- undocumented scaling
- hidden assumptions
These issues create real bugs.
CalcDocs removes that friction.
Instead of navigating half the project:
๐ you immediately see what the firmware computes.
๐ YAML โ C Synchronization
Define formulas once:
power:
formula: vin * current
unit: W
Use them everywhere.
CalcDocs:
โ
evaluates formulas
โ
syncs YAML with C/C++
โ
prevents formula drift
โ
shows results inline
โ๏ธ Built-In Validation
Detect issues early:
- Unit mismatches
- Overflow risks
- Invalid conversions
- YAML/C inconsistencies
CalcDocs is designed for real embedded firmware workflows.
๐ What it looks like in real code
#define VIN 24
#define CURRENT 2
#define POWER (VIN * CURRENT)
CalcDocs shows:
#define POWER (VIN * CURRENT) โ 48W
๐ก Real use cases
๐ Understand code instantly
No more jumping across headers to resolve macros
โ ๏ธ Catch bugs early
See wrong values before flashing your MCU
๐ Eliminate Excel drift
Formulas stay aligned with firmware
๐งช Debug faster
Know values before runtime
๐ Create Self-Documenting Firmware
Engineering decisions stay inside the source code.
โ What CalcDocs Is NOT
CalcDocs is intentionally focused.
It is:
โ NOT a compiler
โ NOT a debugger
โ NOT a full static analyzer
CalcDocs focuses on one thing:
making firmware numeric logic visible.
โ๏ธ Recommended setup (optional)
CalcDocs works standalone.
For best results, combine it with:
clangd (recommended)
ms-vscode.cpptools
CMake Tools
CalcDocs integrates without conflicts.
CalcDocs supports engineering prefixes automatically:
mV, uV, nV, kV, MHz, mA, etc.
โค๏ธ Support
If CalcDocs saves you time:
๐ Documentation
Full documentation available on GitHub:
๐ง Final thought
Spreadsheets hide logic.
Code hides values.
CalcDocs reveals both.