//---------------------------------------------------------------------------
#ifndef DS2890H
#define DS2890H
//---------------------------------------------------------------------------
#include <Classes.hpp>
//---------------------------------------------------------------------------
// структура содержащая входные данные для отправки
struct  DS2890_INPUT_DATA{      unsigned char Position;         // байт позиции
                                unsigned char Control;};        // байт Control

// структура содержащая выходные данные после отправки или приёма
struct  DS2890_OUTPUT_DATA{     unsigned char Position;         // прочитанный байт Position
                                unsigned char Control;          // прочитанный байт Control
                                unsigned char Feature;          // прочитанный байт Feature
                                unsigned char Test;             // проверочный байт (что читается после выполнения команды, до reset)
                                bool Success;};                 // признак успеха операции чтения

DS2890_OUTPUT_DATA DS2890_ReadPosition();                       // чтение текущей позиции (Read Position 0xF0)
DS2890_OUTPUT_DATA DS2890_WritePosition(DS2890_INPUT_DATA);     // запись нужной позиции (Write Position 0x0F)
DS2890_OUTPUT_DATA DS2890_Increment();                          // увеличение текущей позиции (Increment 0xC3)
DS2890_OUTPUT_DATA DS2890_Decrement();                          // уменьшение текущей позиции (Decrement 0x99)
DS2890_OUTPUT_DATA DS2890_WriteControl(DS2890_INPUT_DATA);      // запись байта Control (Write Control Register 0x55)
DS2890_OUTPUT_DATA DS2890_ReadControl();                        // запись байта Control (Read Control Register 0xAA)
//---------------------------------------------------------------------------
#endif
