//---------------------------------------------------------------------------
#ifndef DS2432H
#define DS2432H
//---------------------------------------------------------------------------
#include <Classes.hpp>
//---------------------------------------------------------------------------
// структура содержащая входные данные для отправки или приёма
struct  DS2432_INPUT_DATA{      unsigned char TA1;              // младший байт адреса
                                unsigned char TA2;              // старший байт адреса
                                unsigned char ES;               // байт статуса
                                unsigned int  Size;             // количество передаваемых или принимаемых байт
                                unsigned int  AreaNumber;};     // номер области откуда нужно писать или куда нужно сохранять данные
// структура содержащая выходные данные после отправки или приёма
struct  DS2432_OUTPUT_DATA{     unsigned char TA1;              // младший байт адреса
                                unsigned char TA2;              // старший байт адреса
                                unsigned char ES;               // байт статуса
                                unsigned char Test;             // проверочный байт
                                bool Success;};                 // признак успеха операции чтения

DS2432_OUTPUT_DATA DS2432_WriteToScratchpad(DS2432_INPUT_DATA);         // запись данных в Scratchpad (0x0F) (области 1, 2, 3, 4)
DS2432_OUTPUT_DATA DS2432_ReadFromScratchpad();                         // чтение данных из Scratchpad (0xAA) (только область 4)
DS2432_OUTPUT_DATA DS2432_LoadFirstSecret(DS2432_INPUT_DATA);           // копирование данных из блокнота в область секрета (0x5A)
DS2432_OUTPUT_DATA DS2432_ReadFromMemory(DS2432_INPUT_DATA);            // чтение данных из памяти (0xF0) (в области 1, 2, 3)
DS2432_OUTPUT_DATA DS2432_CopyScratchpadToMemory(DS2432_INPUT_DATA);    // копирование данных из Scratchpad в EEPROM, Rigister Page (0x55) (области 1, 3)
DS2432_OUTPUT_DATA DS2432_RefreshScratchpad(DS2432_INPUT_DATA);         // хитрожопая команда для DS1961S, позволяющая обновить данные в EEPROM (0xA3) (только для работы с областью 1)
//---------------------------------------------------------------------------
#endif
 