🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Preprocessor defines for STAMP-C

    Scheduled Pinned Locked Moved Arduino
    4 Posts 2 Posters 6.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • BramB Offline
      Bram
      last edited by

      Hello,

      When I write my code (in Arduino IDE) I like to be able to differentiate between microcontroller targets.

      To check for a Arduino Pro Micro, I use: if defined(ARDUINO_AVR_MICRO) e.g.

      For an Adafruit Trinket M0: if defined(ARDUINO_TRINKET_M0) can be used.

      I tried to determine what I could use for M5STACK STAMP-C.
      But I have been unable to find out what I could use.
      Normally, when I toggle verbose compiler output, I can find a symbol.
      But for a stamp-c compile, I just get:

      /home/bram/.arduino15/packages/m5stack/tools/riscv32-esp-elf-gcc/gcc8_4_0-esp-2021r2/bin/riscv32-esp-elf-g++ -DHAVE_CONFIG_H "-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -D_GNU_SOURCE "-DIDF_VER=\"v4.4-beta1-189-ga79dc75f0a\"" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/config -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/newlib/platform_include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/freertos/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/freertos/include/esp_additions/freertos -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/freertos/port/riscv/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/freertos/include/esp_additions -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_hw_support/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_hw_support/include/soc -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_hw_support/include/soc/esp32c3 -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_hw_support/port/esp32c3 -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_hw_support/port/esp32c3/private_include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/heap/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/log/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/lwip/include/apps -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/lwip/include/apps/sntp -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/lwip/lwip/src/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/lwip/port/esp32/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/lwip/port/esp32/include/arch -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/soc/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/soc/esp32c3 -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/soc/esp32c3/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/hal/esp32c3/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/hal/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/hal/platform_port/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_rom/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_rom/include/esp32c3 -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_rom/esp32c3 -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_common/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_system/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_system/port/soc -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_system/port/include/riscv -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_system/port/public_compat -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/riscv/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/driver/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/driver/esp32c3/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_pm/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_ringbuf/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/efuse/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/efuse/esp32c3/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/vfs/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_wifi/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_event/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_netif/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_eth/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/tcpip_adapter/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_phy/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_phy/esp32c3/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_ipc/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/app_trace/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_timer/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/mbedtls/port/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/mbedtls/mbedtls/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/mbedtls/esp_crt_bundle/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/app_update/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/spi_flash/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/bootloader_support/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/nvs_flash/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/pthread/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_gdbstub/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_gdbstub/riscv -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_gdbstub/esp32c3 -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/espcoredump/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/espcoredump/include/port/riscv -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/wpa_supplicant/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/wpa_supplicant/port/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/wpa_supplicant/esp_supplicant/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/ieee802154/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/console -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/asio/asio/asio/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/asio/port/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/bt/common/osi/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/bt/include/esp32c3/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/bt/common/api/include/api -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/bt/common/btc/profile/esp/blufi/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/bt/common/btc/profile/esp/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/bt/host/bluedroid/api/include/api -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/cbor/port/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/unity/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/unity/unity/src -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/cmock/CMock/src -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/coap/port/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/coap/libcoap/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/nghttp/port/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/nghttp/nghttp2/lib/includes -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-tls -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-tls/esp-tls-crypto -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_adc_cal/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_hid/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/tcp_transport/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_http_client/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_http_server/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_https_ota/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_https_server/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_lcd/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_lcd/interface -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/protobuf-c/protobuf-c -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/protocomm/include/common -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/protocomm/include/security -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/protocomm/include/transports -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/mdns/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_local_ctrl/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/sdmmc/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_serial_slave_link/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_websocket_client/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/expat/expat/expat/lib -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/expat/port/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/wear_levelling/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/fatfs/diskio -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/fatfs/vfs -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/fatfs/src -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/freemodbus/common/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/idf_test/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/idf_test/include/esp32c3 -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/jsmn/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/json/cJSON -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/libsodium/libsodium/src/libsodium/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/libsodium/port_include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/mqtt/esp-mqtt/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/openssl/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/spiffs/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/wifi_provisioning/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_littlefs/src -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp_littlefs/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-face/include -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-face/include/tool -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-face/include/typedef -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-face/include/image -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-face/include/math -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-face/include/nn -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-face/include/layer -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-face/include/detect -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/esp-face/include/model_zoo -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/tools/sdk/esp32c3/include/fb_gfx/include -march=rv32imc -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -Wno-error=format= -nostartfiles -Wno-format -Os -freorder-blocks -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fno-exceptions -fno-rtti -c -w -x c++ -E -CC -DF_CPU=160000000L -DARDUINO=10820 -DARDUINO_STAMP_C3 -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"STAMP_C3\"" "-DARDUINO_VARIANT=\"m5stack_stamp_c3\"" -DARDUINO_PARTITION_default -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_HW_CDC_ON_BOOT=0 @/home/bram/Arduino/builds/build_opt.h -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/cores/esp32 -I/home/bram/.arduino15/packages/m5stack/hardware/esp32/2.0.2/variants/m5stack_stamp_c3 /home/bram/Arduino/builds/sketch/stamptest.ino.cpp -o /dev/null
      

      I cannot use ESP_PLATFORM, as that is too generic.

      Also, esp_config.h does not contain board identifiers.

      Anyone here knows what should be used for conditional compiles on STAMP-C?

      Thanks!

      ajb2k3A 1 Reply Last reply Reply Quote 0
      • ajb2k3A Offline
        ajb2k3 @Bram
        last edited by

        @bram the stamp Pico uses the esp32 Pico D3 the Stamp C uses the ESP32 C3 which is a RiscV processor

        UIFlow, so easy an adult can learn it!
        If I don't know it, be patient!
        I've ether not learned it or am too drunk to remember it!
        Author of the WIP UIFlow Handbook!
        M5Black, Go, Stick, Core2, and so much more it cant be fit in here!

        1 Reply Last reply Reply Quote 0
        • BramB Offline
          Bram
          last edited by

          @ajb2k3 said in Preprocessor defines for STAMP-C:

          @bram the stamp Pico uses the esp32 Pico D3 the Stamp C uses the ESP32 C3 which is a RiscV processor

          Yes, I know that.

          It works fine. But I want a preprocessor define to conditionally compile code.

          1 Reply Last reply Reply Quote 0
          • BramB Offline
            Bram
            last edited by Bram

            I have been using ARDUINO_ESP32C3_DEV to differentiate between Espressif dev board and StampC3, in combination with ESP_PLATFORM.

            1 Reply Last reply Reply Quote 0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            • First post
              Last post