#######################################
# EQSP32 Datatypes (KEYWORD1)
#######################################

EQSP32	KEYWORD1
EQSP32Configs	KEYWORD1
EQTimer	KEYWORD1
EQSerialMode	KEYWORD1
PinMode	KEYWORD1
TrigMode	KEYWORD1
EQ_WeekDay	KEYWORD1
EQ_WifiStatus	KEYWORD1

###########################################
# EQSP32 Library Functions (KEYWORD2)
###########################################

# Initialization
begin	KEYWORD2

# Pin Usage and Configuration
pinMode	KEYWORD2
readMode	KEYWORD2
configPOUTFreq	KEYWORD2
configSWT	KEYWORD2
configTIN	KEYWORD2
configRELAY	KEYWORD2
pinValue	KEYWORD2
readPin	KEYWORD2
getPin	KEYWORD2

# WiFi Functions
getWiFiStatus	KEYWORD2

# Power Supply Monitoring
readInputVoltage	KEYWORD2
readOutputVoltage	KEYWORD2

# Buzzer Control
buzzerOn	KEYWORD2
buzzerOff	KEYWORD2

# Serial Communication
configSerial	KEYWORD2

# Timer Functions
start	KEYWORD2
stop	KEYWORD2
pause	KEYWORD2
reset	KEYWORD2
value	KEYWORD2
isExpired	KEYWORD2
isRunning	KEYWORD2

# Local System Time Functions
getLocalHour	KEYWORD2
getLocalMins	KEYWORD2
getLocalSecs	KEYWORD2
getLocalWeekDay	KEYWORD2
getLocalYear	KEYWORD2
getLocalMonth	KEYWORD2
getLocalMonthDay	KEYWORD2
getLocalYearDay	KEYWORD2
isLocalTimeSynced	KEYWORD2
printLocalTime	KEYWORD2

# Utility Functions
isLocalPin	KEYWORD2
isExpModulePin	KEYWORD2

######################################
# EQSP32 Macros (KEYWORD2)
#######################################
# EQ main/aux module configuration
MASTER          KEYWORD2
SLAVE_1         KEYWORD2
SLAVE_2         KEYWORD2
SLAVE_3         KEYWORD2
SLAVE_4         KEYWORD2

EQ_MAIN         KEYWORD2
EQ_AUX_1        KEYWORD2
EQ_AUX_2        KEYWORD2
EQ_AUX_3        KEYWORD2
EQ_AUX_4        KEYWORD2

# EQxM (EQ expansion modules)
EQXIO	KEYWORD2
EQXPH	KEYWORD2
EQXTC	KEYWORD2
EQXPT	KEYWORD2


######################################
# EQSP32 Constants (LITERAL1)
#######################################

EQ_PIN_1	LITERAL1
EQ_PIN_2	LITERAL1
EQ_PIN_3	LITERAL1
EQ_PIN_4	LITERAL1
EQ_PIN_5	LITERAL1
EQ_PIN_6	LITERAL1
EQ_PIN_7	LITERAL1
EQ_PIN_8	LITERAL1
EQ_PIN_9	LITERAL1
EQ_PIN_10	LITERAL1
EQ_PIN_11	LITERAL1
EQ_PIN_12	LITERAL1
EQ_PIN_13	LITERAL1
EQ_PIN_14	LITERAL1
EQ_PIN_15	LITERAL1
EQ_PIN_16	LITERAL1

EQ_RS232_TX	LITERAL1
EQ_RS232_RX	LITERAL1
EQ_RS485_TX	LITERAL1
EQ_RS485_RX	LITERAL1
EQ_RS485_EN	LITERAL1
EQ_CAN_TX	LITERAL1
EQ_CAN_RX	LITERAL1

NO_MODE	LITERAL1
CUSTOM	LITERAL1
DIN	LITERAL1
DOUT	LITERAL1
AIN	LITERAL1
AOUT	LITERAL1
POUT	LITERAL1
SWT	LITERAL1
TIN	LITERAL1
RELAY	LITERAL1
RAIN	LITERAL1
PH	LITERAL1

STATE	LITERAL1
ON_RISING	LITERAL1
ON_FALLING	LITERAL1
ON_TOGGLE	LITERAL1
RS232	LITERAL1
RS232_INV	LITERAL1
RS485_TX	LITERAL1
RS485_RX	LITERAL1


# EQXTC Constants
EQXTC_CH_1	LITERAL1
EQXTC_CH_2	LITERAL1
EQXTC_CH_3	LITERAL1
EQXTC_CH_4	LITERAL1
EQXTC_CH_5	LITERAL1
EQXTC_CH_6	LITERAL1
EQXTC_CHANNELS	LITERAL1


# EQXPT Constants
EQXPT_M_1	LITERAL1
EQXPT_M_2	LITERAL1
EQXPT_CHANNELS	LITERAL1


# EQXPH Constants
EQXPH_PH_1	LITERAL1
EQXPH_CHANNELS	LITERAL1


# EQXIO Constants
EQXIO_PIN_1	LITERAL1
EQXIO_PIN_2	LITERAL1
EQXIO_PIN_3	LITERAL1
EQXIO_PIN_4	LITERAL1
EQXIO_PIN_5	LITERAL1
EQXIO_PIN_6	LITERAL1
EQXIO_PIN_7	LITERAL1
EQXIO_PIN_8	LITERAL1
EQXIO_PIN_9	LITERAL1
EQXIO_PIN_10	LITERAL1
EQXIO_CHANNELS	LITERAL1


# Fault Detection Macros
TIN_OPEN_CIRCUIT	LITERAL1
TIN_SHORT_CIRCUIT	LITERAL1
IS_TIN_VALID	LITERAL1

TC_FAULT_OPEN	LITERAL1
TC_FAULT_SHORT_GND	LITERAL1
TC_FAULT_SHORT_VCC	LITERAL1
IS_TC_VALID	LITERAL1

PT_FAULT_THR_HIGH	LITERAL1
PT_FAULT_THR_LOW	LITERAL1
PT_FAULT_REFIN_LOW	LITERAL1
PT_FAULT_REFIN_HIGH	LITERAL1
PT_FAULT_RTDIN_LOW	LITERAL1
PT_FAULT_OVUV	LITERAL1
IS_PT_VALID	LITERAL1


###########################################
# MQTT Control Entities for Home Assistant, Node-RED, etc. (KEYWORD2)
###########################################
createControl_Switch	KEYWORD2
createControl_Value	KEYWORD2
readControl_Switch	KEYWORD2
readControl_Value	KEYWORD2
updateControl_Switch	KEYWORD2
updateControl_Value	KEYWORD2

###########################################
# MQTT Display Entities for Home Assistant, Node-RED, etc. (KEYWORD2)
###########################################
createDisplay_BinarySensor	KEYWORD2
createDisplay_Sensor	KEYWORD2
readDisplay_BinarySensor	KEYWORD2
readDisplay_Sensor	KEYWORD2
updateDisplay_BinarySensor	KEYWORD2
updateDisplay_Sensor	KEYWORD2


