ESP-IDF for Arduino Users, Tutorials Part 1: Logging

This is the first part of a series of ESP-IDF tutorials that I will complete as I learn stuff.

Consider the following Arduino code:

Serial.println(“begining”);

I call this the “Arduino debugger”. It’s a joke. Arduino has no debugger — don’t be silly, Ali! It’s not really debugging, it’s logging.

How do we do logging on ESP-IDF? Well, it’s remarkably easy. Let’s look at it and then you should read the documentation.

My notes

The logging macros are in “esp_log.h”

#include "esp_log.h"

Set the logging level in menuconfig.

$ idf.py menuconfig

Navigate to: Components -> Log Output -> Default log verbosity

Define a TAG, e.g.

static const char* TAG = “FruityModule”;

Call the log methods

ESP_LOGD(TAG, “I am a banana”);

Look, printf style is available too

ESP_LOGD(TAG, “I am a banana and I am %d years old”, age);

Multiple levels of the macros are available

ESP_LOGE — error (lowest)

ESP_LOGW — warning

ESP_LOGI — info

ESP_LOGD — debug

ESP_LOGV — verbose (highest)

Complete example

#include "esp_log.h"

static const char* TAG = "main-main";

void app_main(void)

{

  ESP_LOGD(TAG, "begin");

}

This tutorial is part of a series. Read the next part: Delay. 

Popular posts from this blog

PyGTK, Py2exe, and Inno setup for single-file Windows installers

ESP-IDF for Arduino Users, Tutorials Part 2: Delay

How to install IronPython2 with Mono on Ubuntu