summaryrefslogtreecommitdiff
path: root/cesar/mac/sar/src/trace.c
blob: 013ed5e31a10e324829bacf4d5cbe596c1ec9d6e (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
72
73
74
75
/* Cesar project {{{
 *
 * Copyright (C) 2007 Spidcom
 *
 * <<<Licence>>>
 *
 * }}} */
/**
 * \file    mac/sar/src/trace.c
 * \brief   SAR Traces.
 * \ingroup mac_sar
 *
 */
#include "common/std.h"

#include "mac/sar/sar.h"
#include "mac/sar/inc/trace.h"
#include "mac/sar/inc/context.h"

void
sar_trace_init (sar_t *ctx)
{
    static trace_namespace_t namespace;
    static const trace_event_id_t event_ids[] =
    {
        TRACE_EVENT (SAR_TRACE_TX,
                     "TX buffer: %x, length: %d, tei: %d, lid: %d, arrival time stamp: %x",
                     TIMESTAMP),
        TRACE_EVENT (SAR_TRACE_RX, "RX tei: %d, lid: %d, nb: %d", TIMESTAMP),
        TRACE_EVENT (SAR_TRACE_MPDU_EXPIRE,
                     "MPDU expire first ssn: %d, last ssn: %d",
                     TIMESTAMP),
        TRACE_EVENT (SAR_TRACE_MSDU_DROPPED, "MSDU dropped buffer %x"),
        TRACE_EVENT (SAR_TRACE_MSDU_DROPPED_MFS_RELEASE, "MSDU dropped MFS in release state, buffer %x mfs %x"),
        TRACE_EVENT (SAR_TRACE_BRIDGE_TX,
                     "BRG TX SSN: %d, offset: %d, data length: %d, mfs: %x"),
        TRACE_EVENT (SAR_TRACE_BRIDGE_RX,
                     "BRG RX SSN: %d, offset: %d, data length: %d, mfs: %x"),
        TRACE_EVENT (SAR_TRACE_MFS_CMD, "MFS cmd mfs: %x, command nb: %d"),
        TRACE_EVENT (SAR_TRACE_PB_ERROR, "PB error, ssn: %d"),
        TRACE_EVENT (SAR_TRACE_MF_PB_OUTSIDE_WIN, "MF in PBs outside the window, ssn min %d size :%d PB ssn %d offset %d"),
        TRACE_EVENT (SAR_TRACE_PB_EMPTY, "No new MF in PB ssn %d at offset %d"),
        TRACE_EVENT (SAR_TRACE_MFS_ADD, "MFS add %x"),
        TRACE_EVENT (SAR_TRACE_MFS_TX_FREE, "MFS TX free %x", TIMESTAMP),
        TRACE_EVENT (SAR_TRACE_MFS_RX_FREE, "MFS RX free %x", TIMESTAMP),
        TRACE_EVENT (SAR_TRACE_MFS_RELEASE, "MFS release %x", TIMESTAMP),
        TRACE_EVENT (SAR_TRACE_MFS_SSN_UPDATE, "SSN update, PB outside window, min ssn %d with size %d PB ssn %d"),
        TRACE_EVENT (SAR_TRACE_PB_TX_RELEASE,
                     "PBs expired from %d to %d in mfs %x"),
        TRACE_EVENT (SAR_TRACE_PB_RX_RELEASE,
                     "PB expire ssn %d in mfs : %x"),
        TRACE_EVENT (SAR_TRACE_EXHAUSTED_MEMORY,
                     "exhausted memory, Frame drop from SSN %d to %d"),
        TRACE_EVENT (SAR_TRACE_SEQ_CHECK, "[SeqCheck] output to PLC: "
                     "[%d][%d] expected=%x, actual=%x"),
    };
    dbg_assert (ctx);
    trace_namespace_init (&namespace, event_ids, COUNT (event_ids));
    trace_buffer_add (&ctx->trace, "sar", 8, 64, true, &namespace);
}

void
sar_trace_uninit (sar_t *ctx)
{
    dbg_assert (ctx);
    trace_buffer_remove(&ctx->trace);
}

void
sar_trace_print (sar_t *ctx)
{
    dbg_assert(ctx);
    trace_buffer_dbg_dump(&ctx->trace);
}