#ifndef TGX_BENCHMARK3D_MCU_SIMPLE_BOARD_CONFIG_H
#define TGX_BENCHMARK3D_MCU_SIMPLE_BOARD_CONFIG_H

#if defined(__IMXRT1062__)
    #define TGX_BENCH_BOARD_NAME "teensy4"
    #define TGX_BENCH_POWER_CLASS 7
    #define TGX_BENCH_SERIAL_STARTUP_DELAY_MS 100
#elif defined(__MK66FX1M0__)
    #define TGX_BENCH_BOARD_NAME "teensy36"
    #define TGX_BENCH_POWER_CLASS 3
    #define TGX_BENCH_SERIAL_STARTUP_DELAY_MS 100
#elif defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_IDF_TARGET_ESP32S3)
    #define TGX_BENCH_BOARD_NAME "esp32s3"
    #define TGX_BENCH_POWER_CLASS 5
#elif defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_IDF_TARGET_ESP32S2)
    #define TGX_BENCH_BOARD_NAME "esp32s2"
    #define TGX_BENCH_POWER_CLASS 3
#elif defined(ARDUINO_ARCH_ESP32)
    #define TGX_BENCH_BOARD_NAME "esp32"
    #define TGX_BENCH_POWER_CLASS 4
#elif defined(ARDUINO_ARCH_RP2040) && (defined(PICO_RP2350) || defined(TARGET_RP2350))
    #define TGX_BENCH_BOARD_NAME "rp2350"
    #define TGX_BENCH_POWER_CLASS 5
    #define TGX_BENCH_SERIAL_STARTUP_DELAY_MS 8000
#elif defined(ARDUINO_ARCH_RP2040)
    #define TGX_BENCH_BOARD_NAME "rp2040"
    #define TGX_BENCH_POWER_CLASS 2
    #define TGX_BENCH_SERIAL_STARTUP_DELAY_MS 8000
#else
    #define TGX_BENCH_BOARD_NAME "arduino"
    #define TGX_BENCH_POWER_CLASS 2
#endif

#define TGX_BENCH_PROFILE_NAME "mcu-simple"
#define TGX_BENCH_DEFAULT_WIDTH 160
#define TGX_BENCH_DEFAULT_HEIGHT 120
#define TGX_BENCH_MIN_FRAMES 3
#define TGX_BENCH_MAX_FRAMES 600
#define TGX_BENCH_TARGET_US 250000UL
#define TGX_BENCH_FAST_ARENA_BYTES (16UL * 1024UL)
#define TGX_BENCH_BULK_ARENA_BYTES (128UL * 1024UL)
#define TGX_BENCH_SUPPORT_HEAVY_MESHES 0
#define TGX_BENCH_SUPPORT_TWO_SPOTLIGHTS 0

#ifndef TGX_BENCH_SERIAL_STARTUP_DELAY_MS
#define TGX_BENCH_SERIAL_STARTUP_DELAY_MS 500
#endif

#endif
