#!/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
opt_enable WIFISUPPORT WEBSUPPORT GCODE_MACROS BAUD_RATE_GCODE M115_GEOMETRY_REPORT REPETIER_GCODE_M360
opt_add WIFI_SSID "\"ssid\""
opt_add WIFI_PWD "\"password\""
opt_set TX_BUFFER_SIZE 64
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
opt_set X_DRIVER_TYPE TMC2209
opt_set Y_DRIVER_TYPE TMC2208
opt_set Z_DRIVER_TYPE TMC2209
opt_set E0_DRIVER_TYPE TMC2209
opt_set X_HARDWARE_SERIAL Serial1
opt_set Y_HARDWARE_SERIAL Serial1
opt_set Z_HARDWARE_SERIAL Serial1
opt_set E0_HARDWARE_SERIAL Serial1
opt_set X_SLAVE_ADDRESS 0
opt_set Y_SLAVE_ADDRESS 1
opt_set Z_SLAVE_ADDRESS 2
opt_set 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
