8000 GitHub - rokath/trice: 🟢 Ultra-fast, tiny C/C++ tracing and logging, even in interrupts ⚡, with printf-like syntax and real-time PC visualization 💻 · GitHub
[go: up one dir, main page]

Skip to content
rokathPublic

About

🟢 Ultra-fast, tiny C/C++ tracing and logging, even in interrupts ⚡, with printf-like syntax and real-time PC visualization 💻

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1.0k stars

Watchers

7 watching

Forks

Latest commit

 

History

5,644 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trice — Trace IDs for Embedded C

License Latest release Downloads Target library CI

Hi, I am Trice.*

Trice project mascot

Log C-code in 3 or 7 Assembler instructions (< ~16 clocks) per call.1
Printf-like calls.2 Compact records.3 Even from interrupt handlers.4
Compiler-independent.5 ID-free user code.6 Aliases for legacy code.7

Explore Trice in the Guide

Features at a glance — capabilities, introduction versions and obsolete features, with links to examples and details.

See the moments that matter: a fleeting interrupt, a changing sensor value, or the response to a command.8 Trice brings them into view while your firmware runs. Read events as text,9 work with structured values,10 or watch measurements come alive in a plot.11

Start with one task:

I want to… Start here
See a log without a board First PC log
Log from my firmware Firmware walkthrough, then choose a transport
Save measurements for a spreadsheet or plot Two values per CSV row

Use the Guide to find other tasks and the full reference.

Before upgrading a 1.x project, read the migration guide: format braces, CLI options, tags and generated paths have changed. Keep old captures with their matching host tool and dictionaries.

Keep interrupt logging light: transmit raw hardware counter stamps and let the host reconstruct wraps and convert units. Moving this arithmetic to the host can significantly reduce target CPU work, especially when logging in interrupt handlers.

Small demo animation

Colored Trice output with source locations and timestamps


Project statistics

If Trice helps your work, support the project.


Footnotes:

* The name combines TRace IDs, C and Embedded systems.

  1. Record creation in an optimized configuration; transmission is handled separately. See the measurement and configuration.
  2. Printf-like syntax and supported formats.
  3. Compact binary records and transfer size.
  4. Trice calls can be used directly inside interrupt handlers. The example output shows interrupt-originated ISR: messages mixed with events from normal application code.
  5. Target-code portability and modularity.
  6. Bind keeps numeric IDs out of user log calls; see its supported constructs and compiler requirements.
  7. Aliases for existing logging and assert macros.
  8. Asynchronous Broadcast Commands and responses.
  9. Text output and event boundaries.
  10. Structured Logging with named values.
  11. Live visualization with the LabPlot demo.

About

🟢 Ultra-fast, tiny C/C++ tracing and logging, even in interrupts ⚡, with printf-like syntax and real-time PC visualization 💻

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1.0k stars

Watchers

7 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

0