diff --git a/b b/b index 50f1bc23ad420cb0a36ed18cacdc36a68db7c3c4..09360a19353558f2fb58580d08aedbb15713c655 160000 --- a/b +++ b/b @@ -1 +1 @@ -Subproject commit 50f1bc23ad420cb0a36ed18cacdc36a68db7c3c4 +Subproject commit 09360a19353558f2fb58580d08aedbb15713c655 diff --git a/dox/notes_B b/dox/notes_B index e22612edee8b2a2e891c1c339ced818d61d15c7a..62e8b303392e58ea08f85e9c5a11c2159baeb5d4 100644 --- a/dox/notes_B +++ b/dox/notes_B @@ -150,6 +150,60 @@ Vimba API *captures* images <> camera *acquires* images restrained fps | unrestrained fps | while working with img, the nxt img is acquired! +#VimbaSystem #api + Startup() + RegisterCameraListObserver() #for gigE cams -> getcams return immediately + GetCameras() + GetCameraByID() + OpenCameraByID ( " 192.168.0.42 ", VmbAccessModeFull , camera ) + #or serial number or MAC + UnregisterCameraListObserver() + Shutdown() #blox until all callback are done + +#api more + GetInterfaces + +# CameraPtr + # static + GetID( string ) + GetName( string ) + GetModel( string ) + GetSerialNumber( string ) + GetPermittedAccess( VmbAccessModeType& ) + GetInterfaceID( string ) #name/id of connected IF + # dyn + Open() + VmbAccessModeFull - read and write -> features, acquire images + VmbAccessModeConfig - configure IP + VmbAccessModeRead - read-only + Close() + + AcquireSingleImage() + AcquireMultipleImages() + StartContinuousImageAcquisition() + StopContinuousImageAcquisition() + StartCapture() + StopCapture() + SaveCameraSettings() + LoadCameraSettings() + + GetFeatures() + GetFeaturesByName() + + AnnounceFrame() + RevokeFrame() + RevokeAllFrames() + CueFrame() + FlushFrame() + + + +#FeaturePtr + GetValue() + SetValue() + RunCommand() + RegisterObserver() + UnregisterObserver() Notifications ############################### @@ -157,7 +211,18 @@ Notifications > different thread -> !!caution! when using shared data > ! Not all func from API can be called in event handler > during event handler Vimba API might be blocked -> exit AFA -P> + +## notifications of changed camera states +sys.RegisterCameraListObserver() + # callback/observer func of type ICameraListObserver* + # gets called detect, disconnect, connect, changes to open state + # !! dont call from within observer: + Startup, Shutdown GetCameras GetCameraByID RegisterCameraListObserver UnregisterCameraListObserver Feature::SetValue Feature::RunCommand + +#ICameraListObserver +> for GigE: register a CameraListObserver with the VimbaSystem > +//Discovery? + // plug&play or add/rm + press button to call getcams and list their info difference? @@ -166,16 +231,34 @@ difference? -## Frame: -getImage - img data +## FramePtr: +GetImage() - img data getBuffer - img data + ancillary data GetAncillaryData - ancillary data [~ genicam chunk data] chunkmodeactive - true -> transfer ancillaryData frame count exposure time [ms] gain [db] +RegisterObserver() ?? + + + +# Sharedpointer +############################### +SP_DECL() +... +CameraPtr sp1; +so.reset( new Camera() ); #ref count 1 +CameraPtr sp2 ; +sp2 = sp1; #ref count 2 + + + + +MISC +############################### getTimestamp getFrameID diff --git a/dox/todo_tron b/dox/todo_tron index 37e1314f0fcc0d997668b23e8c3eb69d889b61dc..f9bfeb40453ca9c9e30ed894b781c71c6deef9e2 100644 --- a/dox/todo_tron +++ b/dox/todo_tron @@ -17,6 +17,8 @@ B) recorder ########################### > read manual (c++ / vimba) ============================ + > print Info: Versions (VimbaApi, OpenCV, Qt) + more: cams > central config > threads for started recordings [PID] > storage folder @@ -68,19 +70,21 @@ A) setup testsystem -> price!, temp-range, electricity inside, size space in lab? -> more than 2 Reach In Plant Growth Chambers E-36L1 - + --------------------- > setup stativ, use our lab - > CALIBRATION of camera system w chess (or other) > how-to connect ETHernet cable? it will have to go outside of fridge?? > how-to control temperature and humidity? (see picture from thomas dox) + --------------------- + > calibration (chess or other. Use Viewer? Or own SW?) C) background subtraction ########################### > build - > get test data + > get test data (cp to 00 - where is it?) > process - > cp test-data to 00 (where is it?) + ----------- + > update bgs alg. opencv4 has its own bgs? D) process scripts @@ -96,17 +100,12 @@ D) process scripts ## MISC ############################### - > sublime mega project to build all - > all vimba examples - > all camtron_all subprojects -> vimba, scripts?, bgs > database project \w emilio build: > update CV version to 4.2 (or 4.5?) > save/load config > Tapter: implement new IBgs - > Sublime as IDE - * how to convert spaces to tabs properly when copy pasting??? ========= @@ -114,6 +113,7 @@ D) process scripts Done ####################### +> new sublimeproject 'recorder' with ecc+buildsystem > setup buildsys on f1sh > one major git repo called 'camtron', containing -> part A - prep