#!/usr/bin/env bash
#
# Build tests for ESP32
#

# exit on first failure
set -e

#
# Build with the default configurations
#
restore_configs
opt_set MOTHERBOARD BOARD_ESPRESSIF_ESP32 TX_BUFFER_SIZE 64 \
        WIFI_SSID '"ssid"' WIFI_PWD '"password"'
opt_enable WIFISUPPORT WEBSUPPORT GCODE_MACROS BAUD_RATE_GCODE M115_GEOMETRY_REPORT REPETIER_GCODE_M360
exec_test $1 $2 "ESP32 with WIFISUPPORT and WEBSUPPORT" "$3"

#
# Build with TMC drivers using hardware serial
#
restore_configs
opt_set MOTHERBOARD BOARD_ESPRESSIF_ESP32 \
        X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2208 Z_DRIVER_TYPE TMC2209 E0_DRIVER_TYPE TMC2209 \
        X_HARDWARE_SERIAL Serial1 Y_HARDWARE_SERIAL Serial1 Z_HARDWARE_SERIAL Serial1 E0_HARDWARE_SERIAL Serial1 \
        X_SLAVE_ADDRESS 0 Y_SLAVE_ADDRESS 1 Z_SLAVE_ADDRESS 2 E0_SLAVE_ADDRESS 3
opt_enable HOTEND_IDLE_TIMEOUT SOFTWARE_DRIVER_ENABLE
exec_test $1 $2 "ESP32, TMC HW Serial, Hotend Idle" "$3"

# cleanup
restore_configs
