#pragma once
//--------------------------
//Инициализация работы с библиотекой
//return: идентификатор библиотеки, который надо будет передавать во все вызываемые из главной 
//        программы функции библиотеки (далее: void *AllertLibID)
//parameters:
//ProgID  - параметр, который надо будет передавать в ф-ции FSetSensorsValue(), FSetText()
//ProgDir = "c:\\Sens"  - корневая папка программы
//ProgDir = "c:\\SensData" - корневая папка данных программы
EXP(void *) FInitAllertLib(void *ProgID, const char *ProgDir,const char *ProgDataDir,void (*WWriteLog)(const char *str));
//--------------------------
//Завершение работы с библиотекой
//return: 
//parameters:
EXP(void) FFinishAllertLib(void *AllertLibID);
//--------------------------
//Передача в билиотеку различных дополнительных параметров
//return: код возврата. Успех = 0
//parameters: смысл данных задается параметром id
//id = 1:  data = int (*FSetSensorsValue)(void *ProgID,int v[19]);
//         через параметр data передается указатель на функцию, с помощью которой
//         можно выставить цвет рисунка с изображением сенсора в панели библиотеки.
//         Значения v - от 0 до 255 (0=зеленый, 128=синий, 255=красный)
//         Номера сенсоров:
//     0   1   2
//   3   4   5   6
// 7   8   9   10  11
//   12  13  14  15
//     16  17  18
//
//id = 2:  data = int (*FSetText)(void *ProgID,const char *);
//         через параметр data передается указатель на функцию, с помощью которой
//         можно вывести текст в панели библиотеки.
//         В тексте допускается использование символа \n.
//
EXP(int) SetAllertLibAddData(void *AllertLibID, int id, void *data, int dataLength);
//--------------------------
//Функция, вызываемая в начале нажатия
//return: код возврата. Успех = 0
//parameters: 
EXP(int) FAllertLibStartPush(void *AllertLibID);
//--------------------------
//Функция, вызываемая в конце нажатия
//return: код возврата. Успех = 0
//parameters: 
EXP(int) FAllertLibStopPush(void *AllertLibID);
//--------------------------
//Основная функция, передающая в библиотеку данные сенсоров механорецептора (=элементарное нажатие)
//return: код возврата. Успех = 0
//parameters: 
//vNormir  - массив нормированных значений сенсоров (от 0 до 255)
//vInitial - массив исходных (ненормированных) значений сенсоров (от 0 до 255)
//stage    - номер стадии элементарного нажатия. От начала до первой метки =0, до втрой метки =1 и т.д.
//irec     - номер элементарного нажатия (элементарные нажатия могут идти с разным шагом по времени)
//tMillisec- к-во миллисекунд, прошедших от начала нажатия
EXP(int) FCallAllertLib(void *AllertLibID, int vNormir[19], int vInitial[19], int stage, int irec, int tMillisec);
//--------------------------
