diff --git a/manual/manual-api/Makefile b/manual/manual-api/Makefile index 3eb7fb680..aa01cfa70 100644 --- a/manual/manual-api/Makefile +++ b/manual/manual-api/Makefile @@ -1,11 +1,28 @@ -DESTDIR?=../docs +INCLUDES = -I . +SRC_DET = mainClient.cpp +SRC_REC = mainReceiver.cpp +LIBDIR = ../../bin +LDFLAG_DET = -L$(LIBDIR) -lSlsDetector -L/usr/lib64/ -lpthread +LDFLAG_REC = -L$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -lpthread +DESTDIR ?= ../docs +#all: clean detUser detReceiver +all: docs - - -all: +docs: doxygen slsDetectorUsers.doxy +detUser:$(SRC_DET) + echo "creating client" + g++ -o detUser $(SRC_DET) $(INCLUDES) $(LDFLAG_DET) -lm -lstdc++ + +detReceiver:$(SRC_REC) + echo "creating receiver" + g++ -o detReceiver $(SRC_REC) $(INCLUDES) $(LDFLAG_REC) -lm -lstdc++ + clean: - rm -rf slsDetectorUsers + echo "cleaning" + rm -rf detUser detReceiver slsDetectorUsersDocs + + diff --git a/manual/manual-api/mainClient.cpp b/manual/manual-api/mainClient.cpp index 815126733..a9af6200d 100644 --- a/manual/manual-api/mainClient.cpp +++ b/manual/manual-api/mainClient.cpp @@ -14,6 +14,7 @@ where lib is the location of libSlsDetector.so #include "slsDetectorUsers.h" #include "detectorData.h" + /** Definition of the data callback which simply prints out the number of points received and teh frame number */ int dataCallback(detectorData *pData, int iframe, void *pArg) { @@ -22,8 +23,9 @@ int dataCallback(detectorData *pData, int iframe, void *pArg) /**example of a main program using the slsDetectorUsers class */ -int main(int argc, char **argv) { +int main(int argc, char *argv[]) { int id=0; + int status; /** if specified, argv[2] is used as detector ID (default is 0)*/ if (argc>=3) id=atoi(argv[2]); @@ -40,19 +42,24 @@ int main(int argc, char **argv) { /** Setting the detector online (should be by default */ pDetector->setOnline(1); + + /** Load setup file if argv[2] specified */ + if (argc>=3) + pDetector->retrieveDetectorSetup( argv[2]); + else{ /** defining the detector size */ - int minX, minY=0, sizeX, sizeY=1; + int minX, minY=0, sizeX, sizeY=1; pDetector->getDetectorSize(minX, minY, sizeX, sizeY); std::cout << "X: Start=" << minX << ", Size= " << sizeX << std::endl; std::cout << "Y: Start=" << minY << ", Size= " << sizeY << std::endl; pDetector->setDetectorSize(0,0,7680,1); std::cout << pDetector->getDetectorDeveloper() << std::endl; - + /** registering data callback */ pDetector->registerDataCallback(&dataCallback, NULL); /** checking detector status and exiting if not idle */ - int status = pDetector->getDetectorStatus(); + status = pDetector->getDetectorStatus(); if (status != 0){ std::cout << "Detector not ready: " << slsDetectorUsers::runStatusType(status) << std::endl; return 1; @@ -60,7 +67,7 @@ int main(int argc, char **argv) { /** checking and setting detector settings */ std::cout << "settings: " << slsDetectorUsers::getDetectorSettings(pDetector->setSettings()) << std::endl; - pDetector->setSettings(slsDetectorUsers::getDetectorSettings("standard")); + pDetector->setSettings(slsDetectorUsers::getDetectorSettings("veryhighgain")); std::cout << "settings: " << slsDetectorUsers::getDetectorSettings(pDetector->setSettings()) << std::endl; /** Settings exposure time to 10ms */ @@ -71,18 +78,20 @@ int main(int argc, char **argv) { /** Settingsnumber of frames to 30 */ pDetector->setNumberOfFrames(30); - +} /** start measurement */ pDetector->startMeasurement(); - + while (1) { usleep(100000); - status = pDetector->getDetectorStatus(); + status = pDetector->getDetectorStatus(); if (status == 0 || status == 1|| status == 3) break; } + + char *temp[] = {"rx_tcpport", "1957", NULL}; /** returning when acquisition is finished or data are avilable */ - + std::cout << "answer to a get command:" << pDetector->putCommand(2,temp,0) << std::endl; delete pDetector; diff --git a/manual/manual-api/mainReceiver.cpp b/manual/manual-api/mainReceiver.cpp index 0bfeac8f6..c91d46e94 100644 --- a/manual/manual-api/mainReceiver.cpp +++ b/manual/manual-api/mainReceiver.cpp @@ -18,21 +18,9 @@ where lib is the location of libSlsDetector.so #include "slsReceiverUsers.h" -#include //SIGINT -#include //EXIT - #include using namespace std; -/** - close file if receiver process is interrupted -*/ - -void closeFile(int p){ - cout<<"close file in receiver"<