//---------------------------------------------------------------------------
#ifndef universalH
#define universalH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <stdlib.h>
//---------------------------------------------------------------------------
//--- константы, описывающие имена линий портов -----------------------------
//---------------------------------------------------------------------------
//--- линии порта C ---
#define VCC5     2      // при настройке устанавливаем защёлку в ноль, а питанием управляем переключая
                        // направление линии PC2 (0 - выключить, 1 - включить)
#define VCC12    3      // при настройке устанавливаем направление в единицу, а питанием управляем переключая
                        // защёлку линии PC3 (0 - выключить, 1 - включить)
//--- линии порта B ---
#define UNPB7   7
#define UNPB6   6
#define UNPB5   5
#define UNPB4   4
#define UNPB3   3
#define UNPB2   2
#define UNPB1   1
#define UNPB0   0
//--- линии порта С ---
#define UNPC5   5
#define UNPC4   4
#define UNPC1   1
#define UNPC0   0
//--- линии порта D ---
#define UNPD6   6
#define UNPD4   4
#define UNPD3   3
#define UNPD2   2
//---------------------------------------------------------------------------
void universal_disable();               // деактивировать элементы на форме
void universal_enable();                // активировать элементы на форме
bool universal_5power_on();             // подать питание +5V на чип
bool universal_5power_off();            // убрать питание +5V с чипа
bool universal_12power_on();            // подать питание +12V на чип
bool universal_12power_off();           // убрать питание +12V с чипа
bool universal_read_all();              // прочитать состояния (после каждого изменения нужно читать на всех портах направления работы и состояния входов/выходов)
bool uniset_dir(unsigned int pNumber,
                unsigned int ioNumber,
                unsigned int ioValue);  // установить направление вывода нужного порта (1 - DDRB, 2 - DDRC, 3 - DDRD; 0 - вход, 1 - выход)
bool uniset_port(unsigned int pNumber,
                 unsigned int ioNumber,
                 unsigned int ioValue); // установить значение защёлки нужного порта (1 - PORTB, 2 - PORTC, 3 - PORTD)
//---------------------------------------------------------------------------
#endif
