#ifndef AD_PROJECT_CONFIG_H
#define AD_PROJECT_CONFIG_H

/*
 * Central switch for bench power tests.
 *
 * Keep the default at 0: the firmware can be flashed safely and will only log
 * measurements. Define AD_PROJECT_POWER_TEST_ENABLE=1 in Keil C/C++ defines
 * when the inverter, current limits, VBUS limit, BKIN and oscilloscope setup
 * are ready for real PWM pulses.
 */
#ifndef AD_PROJECT_POWER_TEST_ENABLE
#define AD_PROJECT_POWER_TEST_ENABLE 0
#endif

#if AD_PROJECT_POWER_TEST_ENABLE != 0
#ifndef AD_PARAM_ID_ENABLE_POWER_TESTS
#define AD_PARAM_ID_ENABLE_POWER_TESTS 1
#endif

#ifndef AD_INVERTER_ENABLE_OUTPUTS
#define AD_INVERTER_ENABLE_OUTPUTS 1
#endif
#endif

#ifndef AD_MODBUS_ENABLE
#define AD_MODBUS_ENABLE 1
#endif

#ifndef AD_MODBUS_SLAVE_ADDRESS
#define AD_MODBUS_SLAVE_ADDRESS 1
#endif

#ifndef AD_MODBUS_UART_BAUDRATE
#define AD_MODBUS_UART_BAUDRATE 512000UL
#endif

#ifndef AD_HOST_PROTOCOL_DEFAULT
#define AD_HOST_PROTOCOL_DEFAULT 0U
#endif

#ifndef AD_BINARY_TELEMETRY_TRANSPORT_DEFAULT
#define AD_BINARY_TELEMETRY_TRANSPORT_DEFAULT 0U
#endif

#ifndef AD_BINARY_TELEMETRY_PERIOD_MS
#define AD_BINARY_TELEMETRY_PERIOD_MS 10UL
#endif

#ifndef AD_USB_CDC_ENABLE
#define AD_USB_CDC_ENABLE 1
#endif

#ifndef AD_CAN_TELEMETRY_ENABLE
#define AD_CAN_TELEMETRY_ENABLE 1
#endif

#ifndef AD_CAN_TELEMETRY_STD_ID_BASE
#define AD_CAN_TELEMETRY_STD_ID_BASE 0x5A0UL
#endif

#endif
