.. _EnergyTrace Tool: https://www.ti.com/tool/ENERGYTRACE
.. _EnergyTrace overview: https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_energytrace.html

.. _energytrace-users-guide:

EnergyTrace User Guide
----------------------

EnergyTrace\ |trade| technology is a power analyzer tool for CCS that measures
the application's current consumption. The tool can be used stand-alone as a
power profiling tool to help optimize the application for ultra-low-power
consumption.

For further information regarding the EnergyTrace Tool, see the 
`EnergyTrace Tool`_ page. Additionally, please visit further EnergyTrace 
documentation at `EnergyTrace overview`_.

.. _energytrace-standalone-instructions:

EnergyTrace stand-alone Instructions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The following discusses the necessary steps to use EnergyTrace in
stand-alone-mode on |LP|. In stand-alone mode (EnergyTrace mode), the debugger 
is not active and the displayed current consumption is what to expect for the 
final application.

#. Flash the target device with the application to be analyzed.
   
#. Make sure no debug session is active and click the EnergyTrace Button as seen
   in :numref:`fig-energytrace-standalone-button`

   .. _fig-energytrace-standalone-button:
   .. figure:: resources/fig-energytrace-standalone-button.png
       :align: center

       Start EnergyTrace

#. A dialog with instructions on how to use EnergyTrace Stand-alone Measurement
   Mode will pop-up. Click ``Proceed`` to continue. 

#. The first time EnergyTrace is being used within a CCS Workspace some settings
   needs to be set. In the EnergyTrace Window, click on the ``Advanced Menu`` 
   icon and select ``Preferences``, as 
   :numref:`fig-energytrace-preferences-button` shows.

   .. _fig-energytrace-preferences-button:
   .. figure:: resources/fig-energytrace-preferences-button.png
       :align: center

       EnergyTrace Preferences menu

#. Under ``Target Connection``, set ``Connection`` to ``XDS110`` and ``Voltage``
   to 3300.0 mV. ``ET-HDR Range Selector`` shall be set to ``Low current,
   narrower range higher accuracy``. If you want to save the captured data to a
   .cvs-file for further analysis, select ``Raw data to CSV file``. You can also
   select the battery cell type the application will be using to get an
   estimated life time of the application. Click ``Ok`` to save the preferences.

   .. _fig-energytrace-standalone-settings:
   .. figure:: resources/fig-energytrace-standalone-settings.png
       :align: center

       EnergyTrace Settings
   
#. Select how long you want to capture data by clicking the ``Select Measurement
   Duration`` button as in :numref:`fig-energytrace-standalone-time`

   .. _fig-energytrace-standalone-time:
   .. figure:: resources/fig-energytrace-standalone-time.png
       :align: center

       Select Measurement Duration

#. To start capturing data, click the green play button.

   .. _fig-energytrace-standalone-start:
   .. figure:: resources/fig-energytrace-standalone-start.png
       :align: center

       Start trace collection

#. When EnergyTrace is finished capturing data, review the application's power
   profile and have a closer look in the Current
   graph. :numref:`fig-energytrace-standalone-graph` shows a zoomed-in current
   graph of BLE advertising.

   .. _fig-energytrace-standalone-graph:
   .. figure:: resources/fig-energytrace-standalone-graph.png
       :align: center
       :width: 6.0in

       EnergyTrace Current Graph

Using EnergyTrace on a Modular Launchpad\ |trade| Design
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Connect just the 3.3 V and GND lines.

.. _fig-Mod_LP_Config_2:
.. figure:: resources/Mod_LP_Config_2.png
   :align: center

   Modular LP EnergyTrace stand-alone Configuration

Using EnergyTrace with an External Target
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The power profile of an external target can be measured using EnergyTrace and a
compatible debugger: an XDS110 ETHDR Debug Probe or a `CC26x2R LaunchPad`_ Kit
(the debug probe is embedded on the LaunchPad board). In this section, we 
will use a `CC26x2R LaunchPad`_ to measure the power profile of a |LP|.

.. note::
   Other types of LaunchPad that include a XDS110 ETHDR Debug Probe may be used 
   instead of `CC26x2R LaunchPad`_

Before getting started, make sure the external target is already flashed with
the application firmware to be tested.

The following steps are required to use EnergyTrace with an external target:

#. Remove all the jumpers from the top row of the `CC26x2R LaunchPad`_ as shown in
   :numref:`fig-energytrace-external-target`.
#. Use jumper wires to supply power to the |LP| from the `CC26x2R LaunchPad`_ as
   shown below.
#. At this point, connect only the `CC26x2R LaunchPad`_ to the PC via a USB cable. The
   external target will receive power from the `CC26x2R LaunchPad`_.
#. Follow the steps in :ref:`energytrace-standalone-instructions` to measure the
   power profile of the external target.

.. tip::
   Ensure that only one `CC26x2R LaunchPad`_ is connected to the PC at a time to ensure the
   correct LaunchPad is automatically selected by EnergyTrace.

.. _fig-energytrace-external-target:
.. figure:: resources/fig-energytrace-external-target-cc23xx.png
   :align: center

   External Target Hardware Configuration

The above diagram shows the hardware setup required to use EnergyTrace to
measure the power profile of the |LP|.

.. note::
   With the jumpers removed, a 10-pin JTAG cable can be connected to the
   external target for debugging purposes. If UART is required, jumper wires
   should be placed to connect the TX/RX lines of the external target to the
   `CC26x2R LaunchPad`_.

Troubleshooting
^^^^^^^^^^^^^^^

* If EnergyTrace is not able to properly setup remote controls for the
  device, try closing CCS, resetting your Evaluation Board and starting
  again.
* The |DEVICE| does NOT support EnergyTrace++. Please refer to `EnergyTrace Tool`_
  page for details.
