#ifndef _RS_MODBUS_PULT_H
#define _RS_MODBUS_PULT_H

#include "modbus_struct.h"
#include "RS_Functions.h"

void ModbusRTUsend1(RS_DATA_STRUCT *rs_arr, int adr_contr, unsigned int adr_start, unsigned int count_bits);
void ModbusRTUreceiveAnswer1(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUreceive3(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUsend3(RS_DATA_STRUCT *rs_arr, int adr_contr, unsigned int adr_start,unsigned int count_word);
void ModbusRTUreceiveAnswer3(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUsend4(RS_DATA_STRUCT *rs_arr, int adr_contr, unsigned int adr_start, unsigned int count_word);
void ModbusRTUreceiveAnswer4(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUreceive4(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUsend5(RS_DATA_STRUCT *rs_arr, int adr_contr, unsigned int adr_start);
void ModbusRTUreceiveAnswer5(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUsend6(RS_DATA_STRUCT *rs_arr, int adr_contr, unsigned int adr_start);
void ModbusRTUreceiveAnswer6(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUsend15(RS_DATA_STRUCT *rs_arr, int adr_contr, unsigned int adr_start,unsigned int count_bits);
void ModbusRTUreceiveAnswer15(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUreceive15(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUsend16(RS_DATA_STRUCT *rs_arr,int adr_contr, unsigned int adr_start,unsigned int count_words);
void ModbusRTUreceive16(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUreceiveAnswer16(RS_DATA_STRUCT *RS232_Arr);
void ModbusRTUsetDataArrays(MODBUS_REG_STRUCT *array_in, MODBUS_REG_STRUCT *array_out);
void ModbusRTUsetDiscretDataArray(MODBUS_REG_STRUCT *discrete_in, MODBUS_REG_STRUCT *discrete_out);

extern int flag_wait_anwer_cmd1;

#endif

