Skip to content
Snippets Groups Projects
Commit eee0eebd authored by am0ebe's avatar am0ebe
Browse files

dox

parent e0f9d6d3
No related branches found
No related tags found
No related merge requests found
Subproject commit a77e05cb66dba18688565911354234c3ff36e0e9
Subproject commit b819b9b8792adc4b207fb1a01855dbb2ac25e4a0
//open cam
// if ( VmbErrorSuccess == (* iter)->Open( VmbAccessModeFull ) )
// {
// qDebug() << " Camera opened ";
// // emit()
// }
// else
// {
// // cameras.
// qDebug() << "Coudn't open camera";
// }
// (*iter)->AcquireSingleImage()
// (*iter)->GetFeatureByName
// (*iter)->GetFeatures
// (*iter)->AcquireMultipleImages()
// (*iter)->StartContinuousImageAcquisition()
// (*iter)->StartCapture()
// // (*iter)->GetPayloadSize(VmbUint32_t &nPayloadSize)
// (*iter)->GetInterface(InterfacePtr &pInterface)
// (*iter)->LoadSettings()
// (*iter)->SaveSettings(const VmbFilePathChar_t *filePath)
// std::string str;
// (*iter)->GetID( str );
// camInfo << QString::fromStdString(str);
// auto mf = std::bind(&Core::getCamInfo, this, std::placeholders::_1); //weird syntax for calling non-static memberfunction in for_each...
// std::for_each( cameras.begin(), cameras.end(), mf );
###############################
CONSOLE
if it takes userinput interactively, create threads to not-block the main thread eventloop
-> connect via signal slots
-------------------------------
Style / Naming convetions:
> use camelCase!
###############################
on Qthread
https://mayaposch.wordpress.com/2011/11/01/how-to-really-truly-use-qthreads-the-full-explanation/
###############################
https://stackoverflow.com/questions/7543313/how-to-handle-keypress-events-in-a-qt-console-application#18889631
void initTermios(int echo)
{
tcgetattr(0, &oldSettings); /* grab old terminal i/o settings */
newSettings = oldSettings; /* make new settings same as old settings */
newSettings.c_lflag &= ~ICANON; /* disable buffered i/o */
newSettings.c_lflag &= echo ? ECHO : ~ECHO; /* set echo mode */
tcsetattr(0, TCSANOW, &newSettings); /* use these new terminal i/o settings now */
}
###############################
// usleep(500000); // sleep 0.5s
# use Qt wrapper for stdout/stdin/stderr, for better QString handling.
# > not working with userinput, cause not flushed properly...
QTextStream qout(stdout); //2d make global to access from anywhere
QTextStream qin(stdin);
qin.skipWhiteSpace(); // Remove white characters that interrupt
QTextStream qerr(stderr);
qout << "Please enter your name: " << endl;
qout.flush(); // clears the keyboard buffer
QString inpu = qin.readLine();
qout << "u typed " << inpu.toLower() << endl;
return 3;
###############################
eventfilter
evt->key()
evt->modifiers()
pushButton->installEventFilter(keyPressEater);
../a/hardware/alvium_features_reference.pdf
\ No newline at end of file
../a/hardware/alvium_spec.pdf
\ No newline at end of file
../../a/hardware/alvium_g1_user_guide.pdf
\ No newline at end of file
......@@ -9,21 +9,18 @@ Does
use opencv to convert raw cam images into JPEG pixel format
###############################
map cam -> MAC -> IP -> ID -> name
cam1 000A4708ED3F 172.18.227.210 04ytr allied-alviumg1-240c-04ytr.idiv.de
cam2 000A471C0C9D 172.18.227.211 04ytp allied-alviumg1-240c-04ytp.idiv.de
cam3 000A47372777 172.18.225.164 04ytn allied-alviumg1-240c-04ytn.idiv.de
cam4 000A471D2A66 172.18.227.213 04ytm allied-alviumg1-240c-04ytm.idiv.de
cam5 000A471D208D 172.18.225.129 04ytt allied-alviumg1-240c-04ytt.idiv.de
cam6 000A47139EA6
## connect VM
map cam -> MAC -> IP -> name (contains ID)
camtron1 000A4708ED3F 172.18.227.210 allied-alviumg1-240c-04ytr.idiv.de
camtron2 000A471C0C9D 172.18.227.211 allied-alviumg1-240c-04ytp.idiv.de
camtron3 000A47372777 172.18.225.164 allied-alviumg1-240c-04ytn.idiv.de
camtron4 000A471D2A66 172.18.227.213 allied-alviumg1-240c-04ytm.idiv.de
camtron5 000A471D208D 172.18.225.129 allied-alviumg1-240c-04ytt.idiv.de
camtron6 000A47139EA6 172.18.227.215 allied-alviumg1-240c-04ytv.idiv.de
## connect VM + setup ssh
ssh kr69sugu@idivtibcam01.usr.idiv.de
- see `cmds "login ssh without password"` for config
#old vm
#tibcamtrack.idiv.de (172.18.225.181)
#?? WS ???
#idivlabo2KARL.idiv.de (172.18.226.44) ?
......@@ -42,9 +39,9 @@ ssh kr69sugu@idivtibcam01.usr.idiv.de
> see Vimba_installation_under_Linux.pdf
> unpack Vimba SDK
> tar -xzf ./Vimba.tgz
. cti/SetGenTLPath.sh
> install TL
-> sa VimbaX/doc/VimbaX_ReleaseNotes/GigETL.html
. SetGenTLPath.sh
sudo VimbaGigETL_Install.sh #add api to path
## All APIs cover the following functions:
......
......@@ -16,11 +16,34 @@ B) recorder - camera produces frames and timestamps
============================
> wait and detect cams
> produce frames & timestamps
> build GUI
--> Q: might a console app be feasable??
============================
> new architecture: console app (later: gui app) + Core.
CONSOLE APP:
in extra thread to not block main thread!
listen to user keys
CORE APP
functions / args:
> out_dir:
parse dir arg and create it if it doesnt exist >> finish it / with proper user in/ output >> or cancel if it doesnt exist
>> EASIER: + no userinput which could complicate GUI app later...
> list cameras:
> store/load cam settings
> calibrate
> record
> stop recording
> consider using app settings in a json-file / QSettings
> cam mappings (IP/MAC/ID)
> out_dir
GUI APP:
> build GUI
> ... parse output for -LISTCAMERAS- and put into tablewidget
===============================
> get pix, using
- laptop
- laptop - direct connection
- laptop - local network
- virtual machine
> get video via vimbax-SDK
> cam calibration (Use Viewer? Or own SW?)
......@@ -107,6 +130,9 @@ BACK-BURNER 2D
Done
#######################
> start implementing new arch
> console app. thread. signal-slot connections.
> backup old tibcamtrack VM
> get video in VV
> connect VM. ssh and rdp
> sort ct a bit:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment