Imaging solutions with Free Software & Open Hardware

Who's online

There are currently 0 users online.

Subscribe to Wiki Recent Changes feed
Track the most recent changes to the wiki in this feed. MediaWiki 1.28.0
Updated: 50 min 14 sec ago

Using gstreamer

Wed, 03/13/2019 - 12:33

‎Live RTSP stream

← Older revision Revision as of 18:33, 13 March 2019 Line 91: Line 91:  * careful with streams at higher resolution than 1920x1088 * careful with streams at higher resolution than 1920x1088  * 10353 - works * 10353 - works −* <b>10393 - doesn't have a streamer yet</b>+* <b>10393 - works</b>  =====native resolution===== =====native resolution=====  <font size='2'> <font size='2'> Oleg

About Elphel, Inc

Sat, 03/02/2019 - 17:35

← Older revision Revision as of 00:35, 3 March 2019 (2 intermediate revisions by the same user not shown)Line 1: Line 1:  <!--{{Manual Header}} --> <!--{{Manual Header}} --> − +[[Image:Elphel_andrey_oleg_olga.jpeg|270px|thumb|left|Elphel team]]  Elphel is a technology company doing research and development in the field of high-performance digital cameras, image processing, 3D imaging and machine learning. Elphel is a technology company doing research and development in the field of high-performance digital cameras, image processing, 3D imaging and machine learning. −   Elphel imaging systems are primarily used for for scientific applications that require designs to be user-modifiable at all levels - from the hardware and FPGA code to the system and application software. Since the start of the company in 2001, Elphel was adhering to the FLOSS practice for the code and now applies CERN Open Hardware License to all electronic boards and mechanical CAD files. Elphel cameras are used in many National Laboratories, and universities in USA, European Union and other countries. Elphel imaging systems are primarily used for for scientific applications that require designs to be user-modifiable at all levels - from the hardware and FPGA code to the system and application software. Since the start of the company in 2001, Elphel was adhering to the FLOSS practice for the code and now applies CERN Open Hardware License to all electronic boards and mechanical CAD files. Elphel cameras are used in many National Laboratories, and universities in USA, European Union and other countries.    Line 40: Line 39:  fax: (801) 812-8267 fax: (801) 812-8267    −site: [http://www.elphel.com www.elphel.com]+site: [https://www.elphel.com https://www.elphel.com]           ---- ---- −''Free Software and Open Hardware. Elphel, Inc., 2005''+''Free Software and Open Hardware. Elphel, Inc., {{CURRENTYEAR}}'' Andrey.filippov

File:Elphel andrey oleg olga.jpeg

Sat, 03/02/2019 - 17:23

Andrey.filippov uploaded File:Elphel andrey oleg olga.jpeg

New page

== Licensing ==
{{CC }} Andrey.filippov

About Elphel, Inc

Sat, 03/02/2019 - 17:22

← Older revision Revision as of 00:22, 3 March 2019 Line 1: Line 1: −{{Manual Header}}+<!--{{Manual Header}} -->    −The Elphel, Inc. was formed in 2001. The basic goals of the project are development and manufacturing of high speed reconfigurable network cameras. Members of the development team are from America, China, Russia, Ukraine, Switzerland and the UK. The main principles of development - Free Software and Open Hardware.+Elphel is a technology company doing research and development in the field of high-performance digital cameras, image processing, 3D imaging and machine learning.  +   +Elphel imaging systems are primarily used for for scientific applications that require designs to be user-modifiable at all levels - from the hardware and FPGA code to the system and application software. Since the start of the company in 2001, Elphel was adhering to the FLOSS practice for the code and now applies CERN Open Hardware License to all electronic boards and mechanical CAD files. Elphel cameras are used in many National Laboratories, and universities in USA, European Union and other countries.  +   +Starting with Google Books and later Google Street View projects we introduced JP4 – JPEG-based (and so compatible with the standard libraries) image compression that preserves raw Bayer data of the image sensors. Raw Bayer mosaic is a preferred format for image processing including various types of end-to-end DNN.  +   +Elphel cameras offer unprecedented combination of high performance and complete openness at all levels – from mechanical and circuit design, FPGA RTL code up to all levels of the system and application software. All the design files are publicly available at Elphel web sites and through the popular GitHub repository. These features make Elphel products attractive for scientific research and innovative products. Elphel technology has been referenced in over a hundred scientific publications, and at least six US patent applications that use or reference Elphel products.  +   +Since 2012 Elphel has been developing methods of precise camera calibration and designing photogrammetric multiple-view cameras with thermally compensated SFE resulting in 0.05 pix reprojection error for 5 MPix sensors. We developed modified checkerboard pattern where each edge consists of 2 arcs - this modification from traditional straight lines checkerboard makes power spectrum uniform and improves accuracy of the indirect measurement of the PSF for subsequent optical aberration correction of the acquired images.  +   +From 2016 till present we are working on very long range 3D reconstruction and achieved 0.05 pix disparity resolution by combining several technology components developed by Elphel.  +   +* Use of multiple image sensors (4+) instead of conventional binocular stereo.  +* Advanced calibration, frequency-domain rectification, aberration correction, filtering, and 2D phase correlation.  +* Training and inference of the Deep Neural Network to predict the depth map from 2D correlation results. DNN analyzes context, extracts object edges, separates background, fuses depth map with textures.  +   +Elphel MNC393-XCAM camera is a narrow baseline 3D perception system providing 10% ranging accuracy at 2000 m, by utilizing the achieved 0.05 pix disparity resolution.    −More detailed information about Elphel, Inc. can be found at the official web-site [http://www.elphel.com www.elphel.com]. You can also find the latest versions of all the necessary software for the Elphel network cameras on [http://sourceforge.net/projects/elphel/ SourceForge].      '''Contacts:''' '''Contacts:''' Andrey.filippov

File:Txt.jpg

Fri, 03/01/2019 - 16:22

Oleg changed visibility of 2 revisions on page File:Txt.jpg: content hidden, edit summary hidden and username hidden Inappropriate comment or personal information

Oleg

About Elphel, Inc

Thu, 02/28/2019 - 14:26

← Older revision Revision as of 21:26, 28 February 2019 Line 11: Line 11:  Elphel, Inc. Elphel, Inc.    −1405 W. 2200 S., Suite 205+1455 W. 2200 S., Suite 205     West Valley City, Utah 84119 West Valley City, Utah 84119 Line 19: Line 19:  email: info@elphel.com email: info@elphel.com    −Toll-free: (888) 3 ELPHEL+<!--Toll-free: (888) 3 ELPHEL -->     phone: (801) 783-5555 phone: (801) 783-5555 −  −phone: (801) 252-7457      fax: (801) 812-8267 fax: (801) 812-8267 Andrey.filippov

Using gstreamer

Thu, 02/21/2019 - 14:56

‎Latency tests

← Older revision Revision as of 21:56, 21 February 2019 (2 intermediate revisions by the same user not shown)Line 157: Line 157:  * Receive rtsp stream and re-stream as rtp: * Receive rtsp stream and re-stream as rtp:    gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.9:554' latency=0 ! udpsink host=127.0.0.1 port=5000   gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.9:554' latency=0 ! udpsink host=127.0.0.1 port=5000  +* Receive rtsp stream then re-stream as rtp and display at the same time  + gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.37:554' latency=0 ! rtpjpegdepay ! jpegdec ! timeoverlay ! tee name=t ! queue ! xvimagesink t. ! jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port=5000  To play that rtp with vlc one would need an sdp file (somefile.sdp): To play that rtp with vlc one would need an sdp file (somefile.sdp):    v=0   v=0 Line 168: Line 170:    gst-launch-1.0 udpsrc uri=udp://127.0.0.1:5000 ! rtpjpegdepay ! jpegdec ! autovideosink   gst-launch-1.0 udpsrc uri=udp://127.0.0.1:5000 ! rtpjpegdepay ! jpegdec ! autovideosink     +=Latency tests=  +==Test 1: vlc relative to gstreamer==  +* Camera:  + <font size=2>elphel393~# /usr/bin/str</font>  +* PC, console 1 - restream and display at the same time:  + <font size=2>~$ gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.9:554' latency=0 ! rtpjpegdepay ! jpegdec ! timeoverlay ! tee name=t ! queue ! xvimagesink t. ! jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port=5000</font>  +* PC, console 2 - run vlc:  + <font size=2>~$ vlc test.sdp --network-caching=0</font>  +where ''test.sdp'':  + <font size=2>v=0  + m=video 5000 RTP/AVP 26  + c=IN IP4 127.0.0.1  + a=rtpmap:26 JPEG/90000</font>     [[Category:393]] [[Category:393]]  [[Category:353]] [[Category:353]] Oleg

Using gstreamer

Thu, 02/21/2019 - 14:56

‎Latency tests

← Older revision Revision as of 21:56, 21 February 2019 (4 intermediate revisions by the same user not shown)Line 146: Line 146:  * I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads). * I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads).    −==Useful links==+=Useful links=  * [http://wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet GStreamer cheat sheet] * [http://wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet GStreamer cheat sheet]  * [http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines Example GStreamer pipelines] * [http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines Example GStreamer pipelines]  * [https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/ GStreamer dynamic pipelines] * [https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/ GStreamer dynamic pipelines]  * [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html Dynamic pipelines] * [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html Dynamic pipelines]  +  +=Some other examples=  +* Simply playing stream  + gst-launch-1.0 -v playbin uri=rtsp://192.168.0.9:554 uridecodebin0::source::latency=0  +* Receive rtsp stream and re-stream as rtp:  + gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.9:554' latency=0 ! udpsink host=127.0.0.1 port=5000  +* Receive rtsp stream then re-stream as rtp and display at the same time  + gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.37:554' latency=0 ! rtpjpegdepay ! jpegdec ! timeoverlay ! tee name=t ! queue ! xvimagesink t. ! jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port=5000  +To play that rtp with vlc one would need an sdp file (somefile.sdp):  + v=0  + m=video 5000 RTP/AVP 26  + c=IN IP4 127.0.0.1  + a=rtpmap:26 JPEG/90000  +  +To play with vlc:  + vlc somefile.sdp --network-caching=0  +To play with gstreamer (sdp is not required):  + gst-launch-1.0 udpsrc uri=udp://127.0.0.1:5000 ! rtpjpegdepay ! jpegdec ! autovideosink  +  +=Latency tests=  +==Test 1: vlc relative to gstreamer==  +* Camera:  + <font size=2>elphel393~# /usr/bin/str</font>  +* PC, console 1 - restream and display at the same time:  + <font size=2>~$ gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.9:554' latency=0 ! rtpjpegdepay ! jpegdec ! timeoverlay ! tee name=t ! queue ! xvimagesink t. ! jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port=5000</font>  +* PC, console 2 - run vlc:  + <font size=2>~$ vlc test.sdp --network-caching=0</font>  +where ''test.sdp'':  + <font size=2>v=0  + m=video 5000 RTP/AVP 26  + c=IN IP4 127.0.0.1  + a=rtpmap:26 JPEG/90000</font>     [[Category:393]] [[Category:393]]  [[Category:353]] [[Category:353]] Oleg

Using gstreamer

Thu, 02/21/2019 - 14:22

‎Test 1: vlc relative to gstreamer

← Older revision Revision as of 21:22, 21 February 2019 (3 intermediate revisions by the same user not shown)Line 146: Line 146:  * I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads). * I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads).    −==Useful links==+=Useful links=  * [http://wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet GStreamer cheat sheet] * [http://wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet GStreamer cheat sheet]  * [http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines Example GStreamer pipelines] * [http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines Example GStreamer pipelines]  * [https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/ GStreamer dynamic pipelines] * [https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/ GStreamer dynamic pipelines]  * [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html Dynamic pipelines] * [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html Dynamic pipelines]  +  +=Some other examples=  +* Simply playing stream  + gst-launch-1.0 -v playbin uri=rtsp://192.168.0.9:554 uridecodebin0::source::latency=0  +* Receive rtsp stream and re-stream as rtp:  + gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.9:554' latency=0 ! udpsink host=127.0.0.1 port=5000  +* Receive rtsp stream then re-stream as rtp and display at the same time  + gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.37:554' latency=0 ! rtpjpegdepay ! jpegdec ! timeoverlay ! tee name=t ! queue ! xvimagesink t. ! jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port=5000  +To play that rtp with vlc one would need an sdp file (somefile.sdp):  + v=0  + m=video 5000 RTP/AVP 26  + c=IN IP4 127.0.0.1  + a=rtpmap:26 JPEG/90000  +  +To play with vlc:  + vlc somefile.sdp --network-caching=0  +To play with gstreamer (sdp is not required):  + gst-launch-1.0 udpsrc uri=udp://127.0.0.1:5000 ! rtpjpegdepay ! jpegdec ! autovideosink  +  +=Latency tests=  +==Test 1: vlc relative to gstreamer==  +* Camera:  + elphel393~# /usr/bin/str  +* PC, console 1 - restream and display at the same time:  + ~$ gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.9:554' latency=0 ! rtpjpegdepay ! jpegdec ! timeoverlay ! tee name=t ! queue ! xvimagesink t. ! jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port=5000  +* PC, console 2 - run vlc:  + ~$ vlc test.sdp --network-caching=0  +where ''test.sdp'':  + v=0  + m=video 5000 RTP/AVP 26  + c=IN IP4 127.0.0.1  + a=rtpmap:26 JPEG/90000     [[Category:393]] [[Category:393]]  [[Category:353]] [[Category:353]] Oleg

Using gstreamer

Tue, 02/19/2019 - 18:45

← Older revision Revision as of 01:45, 20 February 2019 (One intermediate revision by the same user not shown)Line 146: Line 146:  * I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads). * I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads).    −==Useful links==+=Useful links=  * [http://wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet GStreamer cheat sheet] * [http://wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet GStreamer cheat sheet]  * [http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines Example GStreamer pipelines] * [http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines Example GStreamer pipelines]  * [https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/ GStreamer dynamic pipelines] * [https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/ GStreamer dynamic pipelines]  * [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html Dynamic pipelines] * [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html Dynamic pipelines]  +  +=Some other examples=  +* Simply playing stream  + gst-launch-1.0 -v playbin uri=rtsp://192.168.0.9:554 uridecodebin0::source::latency=0  +* Receive rtsp stream and re-stream as rtp:  + gst-launch-1.0 -e rtspsrc location='rtsp://192.168.0.9:554' latency=0 ! udpsink host=127.0.0.1 port=5000  +To play that rtp with vlc one would need an sdp file (somefile.sdp):  + v=0  + m=video 5000 RTP/AVP 26  + c=IN IP4 127.0.0.1  + a=rtpmap:26 JPEG/90000  +  +To play with vlc:  + vlc somefile.sdp --network-caching=0  +To play with gstreamer (sdp is not required):  + gst-launch-1.0 udpsrc uri=udp://127.0.0.1:5000 ! rtpjpegdepay ! jpegdec ! autovideosink  +     [[Category:393]] [[Category:393]]  [[Category:353]] [[Category:353]] Oleg

File:103992 assy.tar.gz

Sat, 02/16/2019 - 12:21

Andrey.filippov uploaded a new version of File:103992 assy.tar.gz

New page

== Licensing ==
{{CERN OHLv1.1 }} Andrey.filippov

File:103992 gerber.tar.gz

Sat, 02/16/2019 - 12:20

Andrey.filippov uploaded a new version of File:103992 gerber.tar.gz

New page

== Licensing ==
{{CERN OHLv1.1 }} Andrey.filippov

File:103992 sch.pdf

Sat, 02/16/2019 - 12:19

Andrey.filippov uploaded a new version of File:103992 sch.pdf

New page

== Licensing ==
{{CERN OHLv1.1 }} Andrey.filippov

Publications

Fri, 02/01/2019 - 13:54

← Older revision Revision as of 20:54, 1 February 2019 (2 intermediate revisions by the same user not shown)Line 1: Line 1:  {| class="wikitable" {| class="wikitable" −|+This page lists Elphel papers and other papers, patents, PhD/MS/BS theses that use or reference Elphel products. Links to full text publications are provided where available.+|+This page lists Elphel papers and other papers, patents, PhD/MS/BS theses that use or reference Elphel products.<br/> Links to the full text publications are provided where available.  |- style="font-style: italic; text-align:center;" <!-- color: green;"--> |- style="font-style: italic; text-align:center;" <!-- color: green;"-->  ! Year   ! Year    ! Citation/link ! Citation/link  ! Comments ! Comments  +|-  +|2019  +|[https://patents.google.com/patent/US20190020829A1  Nebiker, Stephan. "Stereo Image Capturing System." U.S. Patent Application No. 16/070,120.]  +|Elphel Eyesis referenced in the "Description"  |- |-  |2019 |2019 Line 37: Line 41:  |Luo, Z. C., et al. "The effect of deformation twins on the quasi-cleavage crack propagation in twinning-induced plasticity steels." Acta Materialia 150 (2018): 59-68. |Luo, Z. C., et al. "The effect of deformation twins on the quasi-cleavage crack propagation in twinning-induced plasticity steels." Acta Materialia 150 (2018): 59-68.  |Used Ephel camera in experimental setup |Used Ephel camera in experimental setup  +|-  +|2018  +|[http://www.web3d.org/sites/default/files/attachment/node/2281/edit/Web3D%20Design%20Print%20Scanning%20Use%20Cases.pdf Anita Havele. "Design Printing and Scanning: Web3D Makers Making More!" BOF Presentation at SIGGRAPH (2018).]  +|Demonstrated multiple Elphel X3D applications  |- |-  |2018 |2018 Andrey.filippov

10393 manual

Thu, 01/31/2019 - 14:05

‎RTSP

← Older revision Revision as of 21:05, 31 January 2019 (7 intermediate revisions by the same user not shown)Line 151: Line 151:  </font> </font>  ====RTSP==== ====RTSP====  +* Streams with either '''w''' or '''h''' >2040 might not get played - not supported by live555 often used by various media players. But there's a [https://git.elphel.com/Elphel/live555_patch live555_patch].  * turn on: * turn on:  <font size='2'> <font size='2'> Line 162: Line 163:    rtsp://192.168.0.9:560   rtsp://192.168.0.9:560  </font> </font>  +  ====GStreamer==== ====GStreamer====  <font size='2'> <font size='2'>  + gst-launch-1.0 -v playbin uri=rtsp://192.168.0.9:554 uridecodebin0::source::latency=0  +or    gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.9:2323/mimg ! jpegdec ! xvimagesink     gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.9:2323/mimg ! jpegdec ! xvimagesink    </font> </font> Oleg

Used files

Tue, 01/29/2019 - 14:17

‎Output of used_files.py without arguments

← Older revision Revision as of 21:17, 29 January 2019 Line 17: Line 17:       Here is the full sequence (target is the project name extracted from .cproject):   Here is the full sequence (target is the project name extracted from .cproject): −  1. bitbake target-c cleansstate+  1. bitbake target -c cleansstate −  2. bitbake target-c unpack -f+  2. bitbake target -c unpack -f −  3. bitbake target-c configure -f+  3. bitbake target -c configure -f    4. Scan all files under extra_source directory, find last modification stamp   4. Scan all files under extra_source directory, find last modification stamp −  5. bitbake target-c compile -f+  5. bitbake target -c compile -f −  6. bitbake target-c install -f # in the case of Linux kernel in triggers compilation of the kernel+  6. bitbake target -c install -f # in the case of Linux kernel in triggers compilation of the kernel       modules      modules    7. Scan source files, create list of the used files and then list of excluded files (Eclipse CDT allows   7. Scan source files, create list of the used files and then list of excluded files (Eclipse CDT allows Oleg

10393 manual

Mon, 01/28/2019 - 12:04

‎VLC

← Older revision Revision as of 19:04, 28 January 2019 (One intermediate revision by the same user not shown)Line 168: Line 168:  * mjpeg and rtsp * mjpeg and rtsp  * More examples at [[Using_gstreamer#Display|Using GStreamer]] * More examples at [[Using_gstreamer#Display|Using GStreamer]]  +  +====VLC====  +<font size='2'>  + vlc rtsp://192.168.0.9:554 --network-caching=0  +</font>     ===Record=== ===Record=== Oleg

Eclipse CDT projects with bitbake

Wed, 01/23/2019 - 10:56

‎Project Files and Directories

← Older revision Revision as of 17:56, 23 January 2019 Line 53: Line 53:  *'''scripts''' - a link to a collection of scripts needed for all projects. It contains the following files: *'''scripts''' - a link to a collection of scripts needed for all projects. It contains the following files:  **'''run_bitbake.sh''' - script to create an environment and execute bitbake recipe. Used every time Eclipse builds the project. **'''run_bitbake.sh''' - script to create an environment and execute bitbake recipe. Used every time Eclipse builds the project. −**'''used_files.py''' - script to create a list of header files/directories used by bitbake to build the project. It is not needed to run to configure existing projects - all of them are provided with preconfigured '''.cproject''' files. ''TODO: add link to description''+**'''used_files.py''' - script to create a list of header files/directories used by bitbake to build the project. It is not needed to run to configure existing projects - all of them are provided with preconfigured '''.cproject''' files. ''TODO: add link to description'' [[Used_files]]  *'''.settings''' - project settings maintained by Eclipse IDE *'''.settings''' - project settings maintained by Eclipse IDE  *'''src''' - a hard-coded (in '''used_files.py''') directory name for C/C++ source files. Source files should not be in the project root directory for convenience of filter generation for additional source (headers) directories *'''src''' - a hard-coded (in '''used_files.py''') directory name for C/C++ source files. Source files should not be in the project root directory for convenience of filter generation for additional source (headers) directories Line 63: Line 63:  *'''.project''' - Eclipse general project configuration. This file is copied from version-controlled '''eclipse_project_setup''' during setup or manually. *'''.project''' - Eclipse general project configuration. This file is copied from version-controlled '''eclipse_project_setup''' during setup or manually.  *'''README.md''' - README file presented by the Git repository web interface *'''README.md''' - README file presented by the Git repository web interface −*'''VERSION''' - project version, used by bitbake build process to determine which dependent recipes have to be re-ran.  +*'''VERSION''' - project version, used by bitbake build process to determine which dependent recipes have to be re-ran.  +   ==Initializing Eclipse Workspace for Existing (Cloned) Projects== ==Initializing Eclipse Workspace for Existing (Cloned) Projects==  After running '''setup.py''' for the first time you may create the brand new workspace for Eclipse, that should have all necessary plugins (such as CDT and EGit at least) already installed. Workspace is created with '''setup_eclipse.py''' script, list of projects that it sets up is saved in '''setup_eclipse_paths.xml''' file. '''setup_eclipse.py''' provides usage information when launched without parameters, for normal run it requires full path to Eclipse installation - directory that contains '''eclipse''' executable and '''eclipse.ini''' configuration. Before running '''setup_eclipse.py''' Eclipse should have all the required plugins installed (at least CDT and EGit) using temporary workspace. After running '''setup.py''' for the first time you may create the brand new workspace for Eclipse, that should have all necessary plugins (such as CDT and EGit at least) already installed. Workspace is created with '''setup_eclipse.py''' script, list of projects that it sets up is saved in '''setup_eclipse_paths.xml''' file. '''setup_eclipse.py''' provides usage information when launched without parameters, for normal run it requires full path to Eclipse installation - directory that contains '''eclipse''' executable and '''eclipse.ini''' configuration. Before running '''setup_eclipse.py''' Eclipse should have all the required plugins installed (at least CDT and EGit) using temporary workspace. Andrey.filippov

Used files

Wed, 01/23/2019 - 10:51

Created page with "== Output of used_files.py without arguments == This program creates a list of the source files (such as C headers) used to build the project for Eclipse CDT plugin. It on..."

New page

== Output of used_files.py without arguments ==

This program creates a list of the source files (such as C headers) used to build the project
for Eclipse CDT plugin. It only needs to be run for the new projects, the existing ones already
have .cproject file distributed in each subproject repository (in 'eclipse_project_setup' sub-
directory of the root sub-project directory). This sub-directory content is copyied to the sub-
project root by setup.py when it is first run. You may delete .project file (while Eclipse is closed)
and re-run setup.py (in elphel393 directory) restore default project settings if they get corrupted.

The program does not rely on exact duplicating of the environment used by bitbake, instead it
"spies" on the bitbake by noticing which files it accesses during build (using file modification and
access timestamps) and creates list of exclusions. As the access time is recorded only after the first
access after modification, the program first unpacks/touches the sources.

The extra_source directory is the specified in the command line directory (in addition to hard-coded
'src') with sub-tree of the source files (headers) to be filtered.

Here is the full sequence (target is the project name extracted from .cproject):
1. bitbake target-c cleansstate
2. bitbake target-c unpack -f
3. bitbake target-c configure -f
4. Scan all files under extra_source directory, find last modification stamp
5. bitbake target-c compile -f
6. bitbake target-c install -f # in the case of Linux kernel in triggers compilation of the kernel
modules
7. Scan source files, create list of the used files and then list of excluded files (Eclipse CDT allows
to specify directory and exclusion filter)
8. Add (or replace) the record in .cproject file that specifies source directory and the filter


You need to run indexing (right-click on the project in the Navigator panel -> Index -> rebuild
when the workspace is opened with the modified .cproject file.

Do not run this program when Eclipse IDE is opened that includes the current project!

The program should be launched from the project root directory, e.g. for applications:
./scripts/used_files.py sysroots

Program can either overwrite the current .cproject configuration file or create a new modified version
if specified in teh command line argument. In that case program runs in debug mode and generates lists
of files in the project root directory:== Output of used_files.py withou arguments ==

all_sources.lst - all scanned source file with last access timestamps
including.lst - list of the files (relative to specified extra_source directory) used by bitbake
excluding.lst - list of the unused files (they will appear crossed in the Project Navigator)

USAGE:
./used_files.py extra_source [path-to-modified-cproject]

First (mandatory) argument of this program (extra_source) is the relative path additional source/header
files. For Linux kernel development it is 'linux', for php extension - 'php, for applications - 'sysroots'
(symlink to header files)

Second (optional) argument (path-to-modified-cproject) is the relative to project root file to write
modified .cproject content. If specified it forces program to run in debug mode and generate 3 file lists. Andrey.filippov

Cross compiling standalone packages for the camera

Mon, 01/21/2019 - 21:13

← Older revision Revision as of 04:13, 22 January 2019 (One intermediate revision by the same user not shown)Line 1: Line 1:  +{{Legacy}}  +This page describes software for [[353_legacy]] - legacy Model 353 cameras.  +  This procedure is intended to This procedure is intended to  * test software before including it in the cvs, * test software before including it in the cvs, Andrey.filippov

Pages