summaryrefslogtreecommitdiff
path: root/cp/beacon/src/trace.c
blob: 2929e647a67fa3dfd79a7d278091763b26b6f604 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/* Cesar project {{{
 *
 * Copyright (C) 2008 Spidcom
 *
 * <<<Licence>>>
 *
 * }}} */
/**
 * \file    cp/beacon/src/trace.c
 * \brief   « brief description »
 * \ingroup « module »
 *
 * « long description »
 */
#include "common/std.h"

#include "cp/beacon/beacons.h"
#include "cp/beacon/inc/trace.h"

#include "cp/beacon/inc/beacons_ctx.h"

/**
 * Initialize the trace buffer
 * \param  ctx  the cp beacon context
 */
void
cp_beacon_trace_init (cp_beacon_t *ctx)
{
    static trace_namespace_t namespace;
    static const trace_event_id_t event_ids[] =
    {
        TRACE_EVENT (CP_BEACON_TRACE_INIT, "CP_BEACON_INIT", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_UNINIT, "CP_BEACON_UNINIT", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_FREQ, "CP_BEACON_FREQ detected : %d ntb, first zero cross : %d, second zero cross : %d", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_ESTIMATION, "CP_BEACON_ESTIMATION btse : %d\t per : %d\t bto : %d  %d  %d  %d", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_DEFAULT_SCHED, "CP_BEACON_DEFAULT_SCHED", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_PWL_PER, "CP_BEACON_PWL_PER, old zero cross : %d, last zero cross : %d, per ntb : %d", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_BEACON_PROCESS, "CP_BEACON_BEACON_PROCESS BT : %d, btse : %d, bto[0] : %d, bto[1] : %d, bto[2] : %d, bto[3] : %d", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_SEND_BEACON, "CP_BEACON_SEND_BEACON send at %d, BT : %x", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_UPDATE_SCHED, "CP_BEACON_Schedule BT : %d, BP[0] : %d, BP[1] : %d, BP[2] : %d", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_TIMER_PRGM, "CP_BEACON Timer program to awake in : %d", TIMESTAMP),
        TRACE_EVENT (CP_BEACON_TRACE_BEACON_SCHED, "CP_BEACON BP Start date : %d, %d, %d, %d, schedule index : %d", TIMESTAMP),
    };
    dbg_assert (ctx);
    trace_namespace_init (&namespace, event_ids, COUNT (event_ids));
    trace_buffer_add (&ctx->trace, "cp beacon", 8, 4, true, &namespace);
}

/**
 * Uninitialize the trace buffer
 * \param  ctx  the cp beacon context.
 */
void
cp_beacon_trace_uninit(cp_beacon_t *ctx)
{
    dbg_assert (ctx);
    trace_buffer_remove (&ctx->trace);
}

/**
 * Print the trace
 * \param  ctx  the cp beacon context.
 */
void
cp_beacon_trace_print (cp_beacon_t *ctx)
{
    dbg_assert (ctx);

    trace_buffer_dbg_dump(&ctx->trace);
}