Пример проекта для работы с монитором Triton.
Далее следует пример Include-файла с описаниями необходимых функций.
//------------------------------------------------------------------------------------
//library should be compiled with
flags:
//
Project/Properties/Configuration properties/General/Use of MFC: Use MFC
in a static Library
//
Project/Properties/Configuration properties/General/Character set: Not
Set
//----------------------------
//should be used in main program:
//#define LIBMONITOR_IMPORTS
//should be used in library:
#define LIBMONITOR_EXPORTS
//----------------------------
#ifdef LIBMONITOR_EXPORTS
#define LIBMONITOR_FUN
__declspec(dllexport)
#else
#ifdef LIBMONITOR_IMPORTS
#define LIBMONITOR_FUN
__declspec(dllimport)
#else
#define LIBMONITOR_FUN
#endif
#endif
//----------------------------
//Тип, используемый для указателя на функцию, с помощью которой можно выводить текстовые сообщения из библиотеки:
typedef void (*TWFMessageBox_)(const char *str);
//Тип, используемый для указателя на функцию, с помощью которой из библиотеки в главную программу передаются измеренные монитором величины:
typedef int (*TSetData)(void
*value,int type,int subtype, double v);
//----------------------------
//Функция,
вызываемая из главной программы один раз для отведения памяти под объект, в котором
будут храниться все данные о мониторе, которые необходимы библиотеке.
Указатель, возвращаемый функцией (ID), передается во все функции библиотеки.
//return: указатель на идентификатор монитора
//Out:
//MonitorName – текстовое имя монитора. Например "MARG"
//In:
//WFMessageBox("...") указатель на функцию, с помощью которой можно выводить текстовые сообщения из библиотеки
LIBMONITOR_FUN void
*Monitor3AllocateIdentificator(TWFMessageBox_ WFMessageBox, char *MonitorName);
//----------------------------
//Функция, вызываемая из главной программы один раз для очистки памяти из под объекта, в котором хранятся все данные о мониторе, необходимы библиотеке. В функцию передается указатель, полученный из функции Monitor3AllocateIdentificator(…)
LIBMONITOR_FUN int Monitor3FreeIdentificator(void *ID);
//----------------------------
//Функция, с помощью
которой осуществляется соединение с монитором и в которой происходит все
общение с монитором. Функция вызывается из главной программы в отдельной нити,
поэтому возврат из функции должен происходить только после закрытия работы с
монитором.
//return 0 = success
// value – указатель на данные главной программы, который должен
передаваться в функцию SetData()
// SetData() – указатель на callback-функцию, с помощью которой из библиотеки можно передавать измеренные значения. Описание параметров данной функции:
// return 0;
// type задает интерпретацию величины v:
// 1)HR частота биения сердца(subtype = источник данных; value = значение),
// 2)SpO2
// 3)температура
// 4)систолическое давление
// 5)диастолическое давление
// 6)частота дыхания
// 7)Значения кривой ECG (subtype=номер отведения (нумеруется с 1)
// 8) Значения кривой фотоплетизмограммы
//...
// -1000)connection is closed
LIBMONITOR_FUN int Monitor3Connect(void *ID, void
*value, TSetData SetData);
//----------------------------
//Функция, с помощью
которой осуществляется разрыв соединения с монитором. Функция вызывается из
главной программы сразу после завершения работы функции Monitor3Connect(…).
//return 0 = success
LIBMONITOR_FUN int Monitor3Disconnect(void *ID);
//----------------------------
//Функция, с помощью
которой в библиотеку передаются различные дополнительные параметры.
//return 0 = success
// type – тип передаваемого параметра data:
// 1: data – указатель на целую переменную, через которую передается требование закончить работу функции Monitor3Connect(…). Если переменная *(int*)data становится отличной от 0, то функция Monitor3Connect(…) должна завершить работу.
// 2: data – указатель на строку с IP-адресом монитора (если он у него есть).
// 3: data – указатель на строку с IP-адресом текущего компьютера.
// 4: data – указатель на функцию типа TSetData , через которую можно выводить текстовые сообщения (дублирует соответствующий параметр функции Monitor3Connect(…)).
// ...
LIBMONITOR_FUN int Monitor3SetParameter(void *ID, int
type, void *data);
//----------------------------
//Функция, с помощью
которой библиотека инициализирует процедуру измерения давления
LIBMONITOR_FUN int Monitor3PressureMeasureStart(void
*ID);
//----------------------------
//Функция, с помощью которой библиотека прерывает процедуру измерения давления
LIBMONITOR_FUN int Monitor3PressureMeasureStop(void
*ID);
//------------------------------------------------------------------------------------