Data Structures | Macros | Functions | Variables
LogSinkTraceLPF3.h File Reference

Detailed Description

PRELIMINARY LogSinkTraceLPF3 interface


WARNING These APIs are PRELIMINARY, and subject to change in the next few months.

The LogSinkTraceLPF3 module is a sink that can be used in conjunction with the Log.h API. The API defined in this file should not be used directly, but is made available to the Logging framework and used as a transport layer for Log.h

To use the LogSinkTraceLPF3 sink, ensure that the correct library for your device is linked in and include this header file as follows:

Additionally, LogSinkTraceLPF3_init must be called before LogSinkTraceLPF3 can be used. It is called from Board_init() and thus can only be called if SysConfig is used and the LogSinkTraceLPF3 module is enabled.

// Initialize LogSinkTraceLPF3 sink

This module implements one function that is required by the Log API:

Whenever a log-statement is invoked, that uses LogSinkTraceLPF3 as its sink, the function above is ultimately invoked.

Note: buf(const Log_Module *handle, uint32_t header, uint32_t headerPtr, uint8_t *data, size_t size) is not implemented due to hardware limitations with this sink.

Overview

LogSinkTraceLPF3 is a sink/transport layer that is able to output log-statements over the tracer. The tracer is a hardware module inside the radio core which can extract logs at high speed. LogSinkTraceLPF3 uses the tracer to stream data out onto a user-selectable pin. The frequency of the data stream is set by the RF tracer prescaler which divides the internal 24 MHz clock. Hardware and software needed to decode the data stream is currently only available through TI.

Tracer Channels

LogSinkTraceLPF3 uses certain channels for different purposes. Separate channels are used for data transfer, time synchronization, etc. Channel 1 is used for logs inside the CPU. The other channels are used by the internal parts of the radio.

Tracer Timestamps

Timestamps are automatically generated internally by the tracer hardware inside the radio core. A synchronization timestamp is sent over the tracer pin when a log statement is sent. The timestamp resolution is fixed to 0.5 us with a max range of 32 ms.

The tracer supports a maximum of four 16bit parameters inside each log statement. If using two parameters or less,

the parameters can be of 32bit.

#include <stdint.h>
#include <ti/log/Log.h>
#include <ti/devices/DeviceFamily.h>
#include <DeviceFamily_constructPath(inc/hw_lrfdtrc.h)>
Include dependency graph for LogSinkTraceLPF3.h:

Go to the source code of this file.

Data Structures

struct  LogSinkTraceLPF3_Config
 LogSinkTraceLPF3 global configuration. More...
 

Macros

#define LogSinkTraceLPF3_CONFIG_CHANNELS_CPU_ONLY   LRFDTRC_CFG_CH1EN_NORM | LRFDTRC_CFG_CH2EN_OFF | LRFDTRC_CFG_CH3EN_OFF
 
#define LogSinkTraceLPF3_CONFIG_CHANNELS_RADIO_ONLY   LRFDTRC_CFG_CH1EN_OFF | LRFDTRC_CFG_CH2EN_TOPSM | LRFDTRC_CFG_CH3EN_TOPSM
 
#define LogSinkTraceLPF3_CONFIG_CHANNELS_CPU_RADIO   LRFDTRC_CFG_CH1EN_NORM | LRFDTRC_CFG_CH2EN_TOPSM | LRFDTRC_CFG_CH3EN_TOPSM
 
#define LogSinkTraceLPF3_CONFIG_TIMESTAMP_ENABLED   LRFDTRC_CFG_TSEN_ON
 
#define LogSinkTraceLPF3_CONFIG_TIMESTAMP_DISABLED   LRFDTRC_CFG_TSEN_OFF
 
#define LogSinkTraceLPF3_CONFIG_PRESCALER_DIV1   LRFDTRC_CFG_PRESCAL_DIV1
 
#define LogSinkTraceLPF3_CONFIG_PRESCALER_DIV2   LRFDTRC_CFG_PRESCAL_DIV2
 
#define LogSinkTraceLPF3_CONFIG_PRESCALER_DIV3   LRFDTRC_CFG_PRESCAL_DIV3
 
#define LogSinkTraceLPF3_CONFIG_PRESCALER_DIV4   LRFDTRC_CFG_PRESCAL_DIV4
 
#define Log_MODULE_INIT_SINK_TRACELPF3(name, _levels, printfDelegate, bufDelegatee, _dynamicLevelsPtr)
 

Functions

void LogSinkTraceLPF3_printfSingleton (const Log_Module *handle, uint32_t header, uint32_t headerPtr, uint32_t numArgs,...)
 Array with the configuration of each sink. More...
 
void LogSinkTraceLPF3_printfSingleton0 (const Log_Module *handle, uint32_t header, uint32_t headerPtr,...)
 
void LogSinkTraceLPF3_printfSingleton1 (const Log_Module *handle, uint32_t header, uint32_t headerPtr,...)
 
void LogSinkTraceLPF3_printfSingleton2 (const Log_Module *handle, uint32_t header, uint32_t headerPtr,...)
 
void LogSinkTraceLPF3_printfSingleton3 (const Log_Module *handle, uint32_t header, uint32_t headerPtr,...)
 
void LogSinkTraceLPF3_init (void)
 
void LogSinkTraceLPF3_bufSingleton (const Log_Module *handle, uint32_t header, uint32_t headerPtr, uint8_t *data, size_t size)
 

Variables

const LogSinkTraceLPF3_Config LogSinkTraceLPF3_config
 

Macro Definition Documentation

§ LogSinkTraceLPF3_CONFIG_CHANNELS_CPU_ONLY

#define LogSinkTraceLPF3_CONFIG_CHANNELS_CPU_ONLY   LRFDTRC_CFG_CH1EN_NORM | LRFDTRC_CFG_CH2EN_OFF | LRFDTRC_CFG_CH3EN_OFF

§ LogSinkTraceLPF3_CONFIG_CHANNELS_RADIO_ONLY

#define LogSinkTraceLPF3_CONFIG_CHANNELS_RADIO_ONLY   LRFDTRC_CFG_CH1EN_OFF | LRFDTRC_CFG_CH2EN_TOPSM | LRFDTRC_CFG_CH3EN_TOPSM

§ LogSinkTraceLPF3_CONFIG_CHANNELS_CPU_RADIO

#define LogSinkTraceLPF3_CONFIG_CHANNELS_CPU_RADIO   LRFDTRC_CFG_CH1EN_NORM | LRFDTRC_CFG_CH2EN_TOPSM | LRFDTRC_CFG_CH3EN_TOPSM

§ LogSinkTraceLPF3_CONFIG_TIMESTAMP_ENABLED

#define LogSinkTraceLPF3_CONFIG_TIMESTAMP_ENABLED   LRFDTRC_CFG_TSEN_ON

§ LogSinkTraceLPF3_CONFIG_TIMESTAMP_DISABLED

#define LogSinkTraceLPF3_CONFIG_TIMESTAMP_DISABLED   LRFDTRC_CFG_TSEN_OFF

§ LogSinkTraceLPF3_CONFIG_PRESCALER_DIV1

#define LogSinkTraceLPF3_CONFIG_PRESCALER_DIV1   LRFDTRC_CFG_PRESCAL_DIV1

§ LogSinkTraceLPF3_CONFIG_PRESCALER_DIV2

#define LogSinkTraceLPF3_CONFIG_PRESCALER_DIV2   LRFDTRC_CFG_PRESCAL_DIV2

§ LogSinkTraceLPF3_CONFIG_PRESCALER_DIV3

#define LogSinkTraceLPF3_CONFIG_PRESCALER_DIV3   LRFDTRC_CFG_PRESCAL_DIV3

§ LogSinkTraceLPF3_CONFIG_PRESCALER_DIV4

#define LogSinkTraceLPF3_CONFIG_PRESCALER_DIV4   LRFDTRC_CFG_PRESCAL_DIV4

§ Log_MODULE_INIT_SINK_TRACELPF3

#define Log_MODULE_INIT_SINK_TRACELPF3 (   name,
  _levels,
  printfDelegate,
  bufDelegatee,
  _dynamicLevelsPtr 
)
Value:
{ \
.sinkConfig = NULL, .printf = LogSinkTraceLPF3_printfSingleton, .printf0 = LogSinkTraceLPF3_printfSingleton0, \
.printf3 = LogSinkTraceLPF3_printfSingleton3, .buf = LogSinkTraceLPF3_bufSingleton, .levels = _levels, \
.dynamicLevelsPtr = _dynamicLevelsPtr, \
}
void LogSinkTraceLPF3_printfSingleton0(const Log_Module *handle, uint32_t header, uint32_t headerPtr,...)
void LogSinkTraceLPF3_bufSingleton(const Log_Module *handle, uint32_t header, uint32_t headerPtr, uint8_t *data, size_t size)
void LogSinkTraceLPF3_printfSingleton2(const Log_Module *handle, uint32_t header, uint32_t headerPtr,...)
void LogSinkTraceLPF3_printfSingleton1(const Log_Module *handle, uint32_t header, uint32_t headerPtr,...)
void LogSinkTraceLPF3_printfSingleton3(const Log_Module *handle, uint32_t header, uint32_t headerPtr,...)
void LogSinkTraceLPF3_printfSingleton(const Log_Module *handle, uint32_t header, uint32_t headerPtr, uint32_t numArgs,...)
Array with the configuration of each sink.

Function Documentation

§ LogSinkTraceLPF3_printfSingleton()

void LogSinkTraceLPF3_printfSingleton ( const Log_Module *  handle,
uint32_t  header,
uint32_t  headerPtr,
uint32_t  numArgs,
  ... 
)

Array with the configuration of each sink.

§ LogSinkTraceLPF3_printfSingleton0()

void LogSinkTraceLPF3_printfSingleton0 ( const Log_Module *  handle,
uint32_t  header,
uint32_t  headerPtr,
  ... 
)

§ LogSinkTraceLPF3_printfSingleton1()

void LogSinkTraceLPF3_printfSingleton1 ( const Log_Module *  handle,
uint32_t  header,
uint32_t  headerPtr,
  ... 
)

§ LogSinkTraceLPF3_printfSingleton2()

void LogSinkTraceLPF3_printfSingleton2 ( const Log_Module *  handle,
uint32_t  header,
uint32_t  headerPtr,
  ... 
)

§ LogSinkTraceLPF3_printfSingleton3()

void LogSinkTraceLPF3_printfSingleton3 ( const Log_Module *  handle,
uint32_t  header,
uint32_t  headerPtr,
  ... 
)

§ LogSinkTraceLPF3_init()

void LogSinkTraceLPF3_init ( void  )

§ LogSinkTraceLPF3_bufSingleton()

void LogSinkTraceLPF3_bufSingleton ( const Log_Module *  handle,
uint32_t  header,
uint32_t  headerPtr,
uint8_t *  data,
size_t  size 
)

Variable Documentation

§ LogSinkTraceLPF3_config

const LogSinkTraceLPF3_Config LogSinkTraceLPF3_config
© Copyright 1995-2025, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale