diff options
author | Julian Oes <julian@oes.ch> | 2013-10-11 14:05:11 +0200 |
---|---|---|
committer | Julian Oes <julian@oes.ch> | 2013-10-11 14:05:11 +0200 |
commit | 2d23d5fd4ec3a00ae18c63304a3b1b3905d7de66 (patch) | |
tree | dfe21bf4ddd3b10e2e92cd3d6be206de5a445616 /src/modules/systemlib/perf_counter.c | |
parent | 326f241185f45d9e2d4377e8096a8a2f05f65b0d (diff) | |
parent | 1306c9de7b946783ff1143bb42a33734e9380e2c (diff) | |
download | px4-firmware-2d23d5fd4ec3a00ae18c63304a3b1b3905d7de66.tar.gz px4-firmware-2d23d5fd4ec3a00ae18c63304a3b1b3905d7de66.tar.bz2 px4-firmware-2d23d5fd4ec3a00ae18c63304a3b1b3905d7de66.zip |
Merge remote-tracking branch 'px4/master' into pwm_ioctls
Conflicts:
src/drivers/px4io/px4io.cpp
Diffstat (limited to 'src/modules/systemlib/perf_counter.c')
-rw-r--r-- | src/modules/systemlib/perf_counter.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/modules/systemlib/perf_counter.c b/src/modules/systemlib/perf_counter.c index 3c1e10287..bf84b7945 100644 --- a/src/modules/systemlib/perf_counter.c +++ b/src/modules/systemlib/perf_counter.c @@ -321,6 +321,32 @@ perf_print_counter(perf_counter_t handle) } } +uint64_t +perf_event_count(perf_counter_t handle) +{ + if (handle == NULL) + return 0; + + switch (handle->type) { + case PC_COUNT: + return ((struct perf_ctr_count *)handle)->event_count; + + case PC_ELAPSED: { + struct perf_ctr_elapsed *pce = (struct perf_ctr_elapsed *)handle; + return pce->event_count; + } + + case PC_INTERVAL: { + struct perf_ctr_interval *pci = (struct perf_ctr_interval *)handle; + return pci->event_count; + } + + default: + break; + } + return 0; +} + void perf_print_all(void) { |