SFBTicker.h File Reference

A basic 'where do the cycles go?' profiling system. More...

#include "SFBTypes.h"
#include "SFBHWPins.h"
#include "SFBHWMisc.h"

Include dependency graph for SFBTicker.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  SFBTicker
 The short-term, high-resolution profiling information maintained by the core. More...
class  SFBProfile
 A profiling system providing millisecond resolution for over a month's worth of runtime. More...

Enumerations

enum  SFBTickerCategories {
  TICKER_BACKGROUND,
  TICKER_SERIAL_ISR,
  TICKER_OTHER_ISR,
  TICKER_PACKET_HANDLER,
  TICKER_ALARM_HANDLER,
  TICKER_SKETCH0,
  TICKER_SKETCH1,
  TICKER_SKETCH2,
  MAX_TICKERS
}
 The categories used by Ticker and Profile to record time usage. More...

Variables

SFBTicker Ticker
 The short-term, high-resolution profiling system object.
SFBProfile Profile
 The longer-term, lower-resolution profiling system object.


Detailed Description

A basic 'where do the cycles go?' profiling system.

Author:
David H. Ackley.
Date:
(C) 2009 All rights reserved.
Code License:
The GNU Lesser General Public License
License Note:
All code samples shown in documentation are placed into the public domain.
Since:
0.9.13

Enumeration Type Documentation

The categories used by Ticker and Profile to record time usage.

Since:
0.9.13
Enumerator:
TICKER_BACKGROUND  All time not otherwise categorized, including time used by the setup() and loop() functions.
TICKER_SERIAL_ISR  Time on interrupt-level serial I/O, moving raw bytes between the packet buffers and the serial hardware buffers.
TICKER_OTHER_ISR  Non-serial interrupt time, including overhead on all interrupts, the core timer ISR, and any sketch ISR's such as used with SFBHWTimer.
TICKER_PACKET_HANDLER  Time in packet handlers, core and sketch.
TICKER_ALARM_HANDLER  Time in alarm handlers, core and sketch.
TICKER_SKETCH0  Time flagged by the sketch as 'SKETCH0' using SFBTicker::pushTime() and SFBTicker::popTime().
TICKER_SKETCH1  Time flagged by the sketch as 'SKETCH1' using SFBTicker::pushTime() and SFBTicker::popTime().
TICKER_SKETCH2  Time flagged by the sketch as 'SKETCH2' using SFBTicker::pushTime() and SFBTicker::popTime().


Variable Documentation

The longer-term, lower-resolution profiling system object.

See Ticker for access to shorter-term, higher-resolution profiling data.

Examples:
profile2.cpp, profile3.cpp, and speed4.cpp.

The short-term, high-resolution profiling system object.

See Profile for access to longer-term, lower-resolution profiling data.

Examples:
profile1.cpp, and profile3.cpp.


Generated on Fri Apr 22 06:56:52 2011 for SFB by doxygen 1.5.9