Skip to content

03 LogicAnalyzer Firmware

Agustín Gimenez Bernad edited this page Feb 25, 2023 · 2 revisions

The Firmware

The firmware has been built using the standard Pico SDK and Visual Studio Code. If you want to build yourself the project and don't have the SDK installed I recommend to use the pico setup for Windows, it makes the installation a breeze and leaves everything ready to build your projects. For other OS'es there are different ways to set-up the SDK, refer to the Pico "Getting started" document.

The firmware can be built in three "flavors": Pico, Pico-W without WiFi and Pico-W with WiFi.

To change which one is built you need to modify two files: the build settings file and the CMakeLists file.

The build settings file

This file contains the defines required to choose which version will be compiled:

//Configure the build settings

//#define BUILD_PICO_W
//#define ENABLE_WIFI

Uncomment as you need: for the regular Pico leave both commented, for the W but without WiFi support uncomment only the first define, and for the Pico-W with WiFi support uncomment both defines.

If you wonder why anyone would like to use the W without WiFi support, it's simple, to reduce the device power usage, you may want to use it with a laptop not connected to the mains per example and in that case enabling the WiFi support will be a waste of power which will reduce the battery duration.

The CMakeLists file

This file contains a definition of the project build process and indicates which libraries are included. As the W functionality is based in an external module its usage requires the inclusion of a library.

Depending if you want to use it with or without WiFi the library is a different one (even if you don't want to enable the WiFi you need to include a library as the LED of the Pico is connected through this module) and it's configured in this file.

# Configure the correct cyw library based on what this is built for
# Regular pico: empty
# Pico W without WiFi support: pico_cyw43_arch_none
# Pico W with WiFi support: pico_cyw43_arch_lwip_poll
# set (CYW_LIB pico_cyw43_arch_lwip_poll)
# set (CYW_LIB pico_cyw43_arch_none)

Uncomment the one that you need if you're using the W, if not then leave these commented.

Clone this wiki locally