<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.elphel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Oleg</id>
	<title>ElphelWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.elphel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Oleg"/>
	<link rel="alternate" type="text/html" href="https://wiki.elphel.com/wiki/Special:Contributions/Oleg"/>
	<updated>2026-08-15T02:30:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13952</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13952"/>
		<updated>2020-10-02T23:56:57Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5.0 ms - rerun steps 3. and 4.)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 5. until good (if some PSF spots are missing - repeat from 4.)&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers is enough. When screwing in make sure the tape does not get in the optical path. Screw in the lens until full stop.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
 # temporary (ssh will freeze, connect from another window)&lt;br /&gt;
 ~# ifconfig eth0 192.168.0.38&lt;br /&gt;
 &lt;br /&gt;
 # permanently (reboot required)&lt;br /&gt;
 edit /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern.&lt;br /&gt;
* Notice the distance from the pattern.&lt;br /&gt;
* Notice the height of the camera. Position the camera to point to the center of imaginary rectangle where laser pointers mark the corners. Actually the center is marked with a blue masking tape triangle.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13951</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13951"/>
		<updated>2020-10-02T21:41:42Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Assembled setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5.0 ms - rerun steps 3. and 4.)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 5. until good (if some PSF spots are missing - repeat from 4.)&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers is enough. When screwing in make sure the tape does not get in the optical path. Screw in the lens until full stop.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
 # temporary (ssh will freeze, connect from another window)&lt;br /&gt;
 ~# ifconfig eth0 192.168.0.38&lt;br /&gt;
 &lt;br /&gt;
 # permanently (reboot required)&lt;br /&gt;
 edit /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern.&lt;br /&gt;
* Notice the distance from pattern.&lt;br /&gt;
* Notice the height of the camera. Try to position the camera to point to the center of imaginary rectangle where laser pointers mark the corners. Actually the center is marked with a blue masking tape triangle.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13950</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13950"/>
		<updated>2020-10-02T21:30:24Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Regular SFE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5.0 ms - rerun steps 3. and 4.)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 5. until good (if some PSF spots are missing - repeat from 4.)&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers is enough. When screwing in make sure the tape does not get in the optical path. Screw in the lens until full stop.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern.&lt;br /&gt;
* Notice the distance from pattern.&lt;br /&gt;
* Notice the height of the camera. Try to position the camera to point to the center of imaginary rectangle where laser pointers mark the corners. Actually the center is marked with a blue masking tape triangle.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13949</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13949"/>
		<updated>2020-10-02T19:51:10Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Setup before using ImageJ Aberration Calibration plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5.0 ms - rerun steps 3. and 4.)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers is enough. When screwing in make sure the tape does not get in the optical path. Screw in the lens until full stop.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern.&lt;br /&gt;
* Notice the distance from pattern.&lt;br /&gt;
* Notice the height of the camera. Try to position the camera to point to the center of imaginary rectangle where laser pointers mark the corners. Actually the center is marked with a blue masking tape triangle.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13948</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13948"/>
		<updated>2020-10-02T19:10:48Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5.0 ms - rerun steps 3. and 4.)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers is enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern.&lt;br /&gt;
* Notice the distance from pattern.&lt;br /&gt;
* Notice the height of the camera. Try to position the camera to point to the center of imaginary rectangle where laser pointers mark the corners. Actually the center is marked with a blue masking tape triangle.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13947</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13947"/>
		<updated>2020-10-02T19:09:12Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5.0 ms - rerun steps 3. and 4.)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers is enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern.&lt;br /&gt;
* Notice the distance from pattern.&lt;br /&gt;
* Notice the height of the camera. Try to position the camera to point to the center of rectangle with laser pointers making the corners.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13946</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13946"/>
		<updated>2020-10-02T19:06:29Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Setup before using ImageJ Aberration Calibration plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5.0 ms - rerun steps 3. and 4.)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers is enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13945</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13945"/>
		<updated>2020-10-02T19:05:48Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Regular SFE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5.0 ms - rerun steps 3. and 4.)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13944</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13944"/>
		<updated>2020-10-02T19:05:33Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Regular SFE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5ms - rerun steps 3. and 4.)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13943</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13943"/>
		<updated>2020-10-02T19:05:08Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Regular SFE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;/home/elphel/test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 2.5-5ms - rerun 2. and 3. steps)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13942</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13942"/>
		<updated>2020-10-02T19:02:59Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 3-5ms)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights.&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door.&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions.&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13941</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13941"/>
		<updated>2020-10-02T19:02:42Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 3-5ms)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Turn off the room lights&lt;br /&gt;
* Turn on the patter lights if they are not on automatically.&lt;br /&gt;
* No need to close the garage door&lt;br /&gt;
* Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13940</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13940"/>
		<updated>2020-10-02T19:01:29Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Regular SFE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039; (if error - increase/decrease exposure using the &#039;camera settings&#039; button - the range is 3-5ms)&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13939</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13939"/>
		<updated>2020-10-02T18:59:08Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* regular SFE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==Regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13938</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13938"/>
		<updated>2020-10-02T18:58:55Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Setup before using ImageJ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ Aberration Calibration plugin==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13937</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13937"/>
		<updated>2020-10-02T18:58:29Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup before using ImageJ==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13936</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13936"/>
		<updated>2020-10-02T18:57:30Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now proceed with &#039;&#039;&#039;[[Focus_adjustment_393#regular_SFE|regular_SFE]]&#039;&#039;&#039; instructions&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13935</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13935"/>
		<updated>2020-10-02T18:56:13Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now proceed with &#039;&#039;&#039;regular SFE&#039;&#039;&#039; instructions&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13934</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13934"/>
		<updated>2020-10-02T18:54:52Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Parts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|150px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13933</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13933"/>
		<updated>2020-10-02T18:54:41Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Parts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|100px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13932</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13932"/>
		<updated>2020-10-02T18:54:28Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Parts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2a SFE parts]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing sensor spacer.jpeg|thumb|200px|Fig.2b Sensor teflon spacers]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:SFE_focusing_sensor_spacer.jpeg&amp;diff=15301</id>
		<title>File:SFE focusing sensor spacer.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:SFE_focusing_sensor_spacer.jpeg&amp;diff=15301"/>
		<updated>2020-10-02T18:53:19Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13931</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13931"/>
		<updated>2020-10-02T18:49:18Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Parts===&lt;br /&gt;
* Assembled SFE without lens and without IR-cut filter (can be with the filter if the target lens is different)&lt;br /&gt;
* M12 adapter&lt;br /&gt;
* 2 spacers: 5mm and 4.7mm (shaved off 0.3mm (made from 5mm spacer) for optimal adjustment)&lt;br /&gt;
* Lens N125B04530W with IR-cut filter. If the target lens is different, still use this one for adjustment then replace. Wrap the thread of the lens with the teflon tape for better thread fitting - 2 layers if enough. When screwing in make sure the tape does not get in the optical path.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing parts.jpeg|thumb|500px|Fig.2 SFE parts]]&lt;br /&gt;
|}&lt;br /&gt;
* Focus adjustment screws - do not overtighten initially. Later, right before starting the procedure when the camera is against the pattern - turn it on, while in jpeg open the control interface and adjust the screws for the best manual focus (do not apply too much force).&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing SFE screws.jpeg|thumb|200px|Fig.3 Focus adjustment screws]]&lt;br /&gt;
|}&lt;br /&gt;
===Assembled setup===&lt;br /&gt;
* Take a longer cable - at least 100mm&lt;br /&gt;
* Connect to port 0&lt;br /&gt;
* Set the camera address to 192.168.0.38&lt;br /&gt;
* Make sure the power supply provides the right voltage - 12V or 48V. If possible install PoE compatible power board - 10386.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:SFE focusing camera.jpeg|thumb|200px|Fig.4 Assembled focusing setup]]&lt;br /&gt;
|}&lt;br /&gt;
===Pattern===&lt;br /&gt;
* Use the wallpaper pattern&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod.jpeg|thumb|200px|Fig.5 Tripod placement]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing tripod closer.jpeg|thumb|200px|Fig.6 Tripod closeup]]&lt;br /&gt;
|}&lt;br /&gt;
* Make sure all 4 lasers are pointing in the right spots - &amp;quot;manual laser pointers&amp;quot; yellow button in the imagej plugin&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:SFE focusing laser spots.jpeg|thumb|200px|Fig.7 Laser spot markings]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:SFE_focusing_laser_spots.jpeg&amp;diff=15300</id>
		<title>File:SFE focusing laser spots.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:SFE_focusing_laser_spots.jpeg&amp;diff=15300"/>
		<updated>2020-10-02T18:20:07Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:SFE_focusing_tripod_closer.jpeg&amp;diff=15299</id>
		<title>File:SFE focusing tripod closer.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:SFE_focusing_tripod_closer.jpeg&amp;diff=15299"/>
		<updated>2020-10-02T18:19:41Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:SFE_focusing_tripod.jpeg&amp;diff=15298</id>
		<title>File:SFE focusing tripod.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:SFE_focusing_tripod.jpeg&amp;diff=15298"/>
		<updated>2020-10-02T18:19:22Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:SFE_focusing_camera.jpeg&amp;diff=15297</id>
		<title>File:SFE focusing camera.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:SFE_focusing_camera.jpeg&amp;diff=15297"/>
		<updated>2020-10-02T18:18:51Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:SFE_focusing_SFE_screws.jpeg&amp;diff=15296</id>
		<title>File:SFE focusing SFE screws.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:SFE_focusing_SFE_screws.jpeg&amp;diff=15296"/>
		<updated>2020-10-02T18:18:31Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:SFE_focusing_parts.jpeg&amp;diff=15295</id>
		<title>File:SFE focusing parts.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:SFE_focusing_parts.jpeg&amp;diff=15295"/>
		<updated>2020-10-02T18:16:09Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{CC }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13930</id>
		<title>Focus adjustment 393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Focus_adjustment_393&amp;diff=13930"/>
		<updated>2020-10-01T18:08:56Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* regular SFE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
internal use&lt;br /&gt;
==regular SFE==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Aberration calibration 393 regular SFE.png|thumb|1600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# used on big the Xeon PC - 192.168.0.6&lt;br /&gt;
# &#039;&#039;&#039;restore&#039;&#039;&#039; from &#039;&#039;test_focusing/default.conf-xml&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;quick get&amp;amp;show&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;find grid&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;no-move measure&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;show PSF&#039;&#039;&#039;&lt;br /&gt;
# adjust screws&lt;br /&gt;
# repeat from 4. until good&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=10353_rev_D_netboot_without_button&amp;diff=15294</id>
		<title>10353 rev D netboot without button</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=10353_rev_D_netboot_without_button&amp;diff=15294"/>
		<updated>2020-09-29T17:54:22Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Instructions==&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:10353_revD_nob_howto_netboot.jpeg|thumb|300px|Fig.1 Imitate SW1 pressed]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:Flashing board nob howto netboot.jpeg|thumb|400px|Fig.2 Using the flashing board and a tip of a knife to &amp;quot;press&amp;quot; SW1]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Option 1===&lt;br /&gt;
* Install a SW1 button and press it when flashing&lt;br /&gt;
&lt;br /&gt;
===Option 2===&lt;br /&gt;
* Imitate SW1 button pressing - see Figs 1 &amp;amp; 2&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
* Release button when flashing script begins running&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:Flashing_board_nob_howto_netboot.jpeg&amp;diff=15288</id>
		<title>File:Flashing board nob howto netboot.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:Flashing_board_nob_howto_netboot.jpeg&amp;diff=15288"/>
		<updated>2020-09-29T17:53:20Z</updated>

		<summary type="html">&lt;p&gt;Oleg: Oleg uploaded a new version of File:Flashing board nob howto netboot.jpeg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{GNU FDLv1.3 }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:10353_revD_nob_howto_netboot.jpeg&amp;diff=15290</id>
		<title>File:10353 revD nob howto netboot.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:10353_revD_nob_howto_netboot.jpeg&amp;diff=15290"/>
		<updated>2020-09-29T17:52:27Z</updated>

		<summary type="html">&lt;p&gt;Oleg: Oleg uploaded a new version of File:10353 revD nob howto netboot.jpeg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{GNU FDLv1.3 }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=10353_rev_D_netboot_without_button&amp;diff=15293</id>
		<title>10353 rev D netboot without button</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=10353_rev_D_netboot_without_button&amp;diff=15293"/>
		<updated>2020-09-29T17:42:06Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Instructions==&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:10353_revD_nob_howto_netboot.jpeg|thumb|300px|Fig.1 Imitate SW1 pressed]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:Flashing board nob howto netboot.jpeg|thumb|400px|Fig.2 Using the flashing board and a tip of a knife to &amp;quot;press&amp;quot; SW1]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Option 1===&lt;br /&gt;
* Install a SW1 button and press it when flashing&lt;br /&gt;
&lt;br /&gt;
===Option 2===&lt;br /&gt;
* Imitate SW1 button pressing - see Figs 1 &amp;amp; 2&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=10353_rev_D_netboot_without_button&amp;diff=15292</id>
		<title>10353 rev D netboot without button</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=10353_rev_D_netboot_without_button&amp;diff=15292"/>
		<updated>2020-09-29T17:39:58Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Instructions==&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:10353_revD_nob_howto_netboot.jpeg|thumb|300px|Fig.1 Imitate SW1 pressed]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:Flashing board nob howto netboot.jpeg|thumb|400px|Fig.2 Using the flashing board and a tip of a knife to &amp;quot;press&amp;quot; SW1]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Option 1===&lt;br /&gt;
* Install a SW1 button and press it when flashing&lt;br /&gt;
&lt;br /&gt;
===Option 2===&lt;br /&gt;
* Imitate SW1 button pressed - see Figs 1 &amp;amp; 2&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=10353_rev_D_netboot_without_button&amp;diff=15291</id>
		<title>10353 rev D netboot without button</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=10353_rev_D_netboot_without_button&amp;diff=15291"/>
		<updated>2020-09-29T17:32:17Z</updated>

		<summary type="html">&lt;p&gt;Oleg: Created page with &amp;quot;==Instructions==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Instructions==&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:10353_revD_nob_howto_netboot.jpeg&amp;diff=15289</id>
		<title>File:10353 revD nob howto netboot.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:10353_revD_nob_howto_netboot.jpeg&amp;diff=15289"/>
		<updated>2020-09-29T17:31:20Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{GNU FDLv1.3 }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:Flashing_board_nob_howto_netboot.jpeg&amp;diff=15287</id>
		<title>File:Flashing board nob howto netboot.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:Flashing_board_nob_howto_netboot.jpeg&amp;diff=15287"/>
		<updated>2020-09-29T17:30:37Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Licensing ==&lt;br /&gt;
{{GNU FDLv1.3 }}&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=10393_manual&amp;diff=13556</id>
		<title>10393 manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=10393_manual&amp;diff=13556"/>
		<updated>2020-09-28T20:54:34Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Firmware images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- not anymore!&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Important Notes&amp;lt;/font&amp;gt;==&lt;br /&gt;
* As of 2016/12/15, the software ported from 10353 supports only 5MPix sensors, for 14MPix, please see:&lt;br /&gt;
**[http://wiki.elphel.com/index.php?title=Tmp_manual&amp;amp;oldid=14676 older version of this manual with links to older software images]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;In the package&amp;lt;/font&amp;gt;==&lt;br /&gt;
* 10393 camera system ([[Elphel_camera_assemblies|these 3D models]] might be helpful).&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:NC393-CS marked ports.jpeg|thumb|200px|Fig.1a 10393 interfaces]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:10393_boards_assembly.png|thumb|265px|Fig.1b Boards connections (NC393-F-CS)]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:10393 dev mmc.jpeg|thumb|150px|Fig.1c Micro SD card for development]]&lt;br /&gt;
|}&lt;br /&gt;
* Power supply options ([[10393_power|more information]]):&lt;br /&gt;
{| class=&#039;wikitable&#039;&lt;br /&gt;
!Range&lt;br /&gt;
!Power supply&lt;br /&gt;
|-&lt;br /&gt;
|align=&#039;left&#039;|&#039;&#039;&#039;36-72V&#039;&#039;&#039; (default)&lt;br /&gt;
| wall adapter (48V)&lt;br /&gt;
|-&lt;br /&gt;
|align=&#039;left&#039;|&#039;&#039;&#039;18-75V&#039;&#039;&#039;&lt;br /&gt;
| wall adapter (48V)&lt;br /&gt;
|-&lt;br /&gt;
|align=&#039;left&#039;|&#039;&#039;&#039;12-36V&#039;&#039;&#039;&lt;br /&gt;
| wall adapter, battery (12V)&lt;br /&gt;
|-&lt;br /&gt;
|align=&#039;left&#039;|&#039;&#039;&#039;3.3V&#039;&#039;&#039;&lt;br /&gt;
| direct, custom&lt;br /&gt;
|}&lt;br /&gt;
* CAT6 network cable&lt;br /&gt;
* &amp;amp;mu;USB-to-USB cable&lt;br /&gt;
* Recovery &amp;amp;mu;SD card&lt;br /&gt;
* If the camera is calibrated the calibration data will be on a separate storage media or on the internal SSD (likely /mnt/sda1)&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Interfaces&amp;lt;/font&amp;gt;==&lt;br /&gt;
See Fig.1:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! GigE&lt;br /&gt;
| gigabit network&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;mu;SD &lt;br /&gt;
| micro SD card slot - boot or storage&lt;br /&gt;
|-&lt;br /&gt;
! console&lt;br /&gt;
| serial console port, use &amp;amp;mu;USB-to-USB cable&lt;br /&gt;
|-&lt;br /&gt;
! eSATA+USB&lt;br /&gt;
| 2-in-1. Connect USB or eSATA device. USB2.0 host&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;mu;USB&lt;br /&gt;
| USB2.0 host&lt;br /&gt;
|-&lt;br /&gt;
! sync&lt;br /&gt;
| sync multiple cameras or other devices - input/output trigger signal through a 4-conductor 2.5mm audio plug with cable (example: [http://www.digikey.com/products/en?keywords=839-1029-ND digikey])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Power on&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Plug in the power supply&lt;br /&gt;
* Connect to LAN using the network cable&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
* Boot time: ~30s&lt;br /&gt;
* No extra drivers are required on the host PC to operate the camera system. Can be operated from any network device with a browser.&lt;br /&gt;
* The default boot is from the on-board NAND flash. [[Boot_options_393|More information]] on available boot options and recovery boot.&lt;br /&gt;
* For a &amp;lt;font color=&#039;red&#039;&amp;gt;&#039;&#039;&#039;production system&#039;&#039;&#039;&amp;lt;/font&amp;gt; with rare changes to the file system it is recommended to boot from NAND flash. Changes to the file system require running an extra sync command (overlay_sync) followed by a proper reboot.&lt;br /&gt;
* For &amp;lt;font color=&#039;red&#039;&amp;gt;&#039;&#039;&#039;development&#039;&#039;&#039;&amp;lt;/font&amp;gt;, one can boot from the &amp;amp;mu;SD recovery card and use it - saving changes does not require extra sync actions.&lt;br /&gt;
* Camera&#039;s software includes gcc compiler - relatively small projects can be compiled on the camera.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Defaults&amp;lt;/font&amp;gt;==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! IP Address&lt;br /&gt;
| 192.168.0.9&lt;br /&gt;
|-&lt;br /&gt;
! User &lt;br /&gt;
| root&lt;br /&gt;
|-&lt;br /&gt;
! Password&lt;br /&gt;
| pass&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* The default IP address is set in the &#039;&#039;/etc/elphel393/init_elphel393.py&#039;&#039;.&lt;br /&gt;
* If present the internal SSD  will be formatted into 2 partitions:&lt;br /&gt;
** /dev/sda1 - ext4 (~64-100GB)&lt;br /&gt;
** /dev/sda2 - raw partition (no file system) for fast recording&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Command line access&amp;lt;/font&amp;gt;==&lt;br /&gt;
* ssh from PC&#039;s terminal:&lt;br /&gt;
&amp;lt;font size=&#039;2em&#039;&amp;gt;&lt;br /&gt;
 user@hostname:~$ ssh root@192.168.0.9&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Serial console access&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Use a &#039;&#039;microUSB-USB cable&#039;&#039; to connect &#039;&#039;&#039;console &amp;amp;mu;USB port&#039;&#039;&#039; (see Fig.1) to PC - the cable&#039;s end should be thin enough otherwise interferes with an inserted mmc (&#039;&#039;&#039;m&#039;&#039;&#039;ulti &#039;&#039;&#039;m&#039;&#039;&#039;edia &#039;&#039;&#039;c&#039;&#039;&#039;ard = &amp;amp;mu;SD card).&lt;br /&gt;
&lt;br /&gt;
* In Linux the &#039;&#039;&#039;minicom&#039;&#039;&#039; program can be used&lt;br /&gt;
&amp;lt;font size=&#039;2em&#039;&amp;gt;&lt;br /&gt;
 $ minicom -c on&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
Most likely the device will be &amp;lt;b&amp;gt;/dev/ttyUSB0&amp;lt;/b&amp;gt;. Settings:&lt;br /&gt;
* &amp;lt;b&amp;gt;115200 8N1, no&amp;lt;/b&amp;gt; for hardware/software flow control&lt;br /&gt;
Refer to the following article for more details on using &#039;&#039;&#039;minicom&#039;&#039;&#039;: [http://wiki.elphel.com/index.php?title=Using_minicom_to_connect_to_Elphel393_camera Using minicom to connect to Elphel393 camera]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Web user interface (camvc)&amp;lt;/font&amp;gt;==&lt;br /&gt;
&#039;&#039;&#039;http://192.168.0.9/&#039;&#039;&#039;&lt;br /&gt;
* The page contains links to camvc user interface for each individual camera port.&lt;br /&gt;
* camvc was ported from the 10353 camera series:&lt;br /&gt;
** change parameters like image format, resolution, auto exposure, auto white balance and more. Alternative way to change parameters is described [[Tmp_manual#Change_parameters|below]].&lt;br /&gt;
** pause compressor and search within buffered images&lt;br /&gt;
** help tips available - see Fig.3 - select then mouse over a control element of interest&lt;br /&gt;
{|&lt;br /&gt;
| valign=&#039;top&#039;|[[File:10393 starting page.png|thumb|600px|Fig.2 http://192.168.0.9]]&lt;br /&gt;
| valign=&#039;top&#039;|[[image:Help tips.jpeg|250px|thumb|Fig.3 enable camvc help tips]]&lt;br /&gt;
| valign=&#039;top&#039;|[[File:Controls with blank.jpeg|300px|thumb|Fig.4 camvc controls]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Download live images&amp;lt;/font&amp;gt;==&lt;br /&gt;
====camvc====&lt;br /&gt;
* For a currently opened port (displayed in the window title and as &amp;quot;...sensor_port=0...&amp;quot; in the URL):&lt;br /&gt;
{|&lt;br /&gt;
|[[image:Camvc image capture.jpeg|250px|thumb|Fig.5 Acquire an image from the Camera Control Interface]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====browser====&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 port 0: http://192.168.0.9:2323/img&lt;br /&gt;
 port 1: http://192.168.0.9:2324/img&lt;br /&gt;
 port 2: http://192.168.0.9:2325/img&lt;br /&gt;
 port 3: http://192.168.0.9:2326/img&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
====command line====&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 wget http://192.168.0.9:2323/img -O filename.jpeg&lt;br /&gt;
 wget http://192.168.0.9:2324/img -O filename.jpeg&lt;br /&gt;
 wget http://192.168.0.9:2325/img -O filename.jpeg&lt;br /&gt;
 wget http://192.168.0.9:2326/img -O filename.jpeg&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Video&amp;lt;/font&amp;gt;==&lt;br /&gt;
===Display===&lt;br /&gt;
====Multipart JPEG stream====&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 http://192.168.0.9:2323/mimg&lt;br /&gt;
 http://192.168.0.9:2324/mimg&lt;br /&gt;
 http://192.168.0.9:2325/mimg&lt;br /&gt;
 http://192.168.0.9:2326/mimg&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
====RTSP====&lt;br /&gt;
* Streams with either &#039;&#039;&#039;w&#039;&#039;&#039; or &#039;&#039;&#039;h&#039;&#039;&#039; &amp;gt;2040 might not get played - not supported by live555 often used by various media players. But there&#039;s a [https://git.elphel.com/Elphel/live555_patch live555_patch].&lt;br /&gt;
* turn on:&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 root@elphel393:~# /usr/bin/str&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
* url:&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 rtsp://192.168.0.9:554&lt;br /&gt;
 rtsp://192.168.0.9:556&lt;br /&gt;
 rtsp://192.168.0.9:558&lt;br /&gt;
 rtsp://192.168.0.9:560&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GStreamer====&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 gst-launch-1.0 -v playbin uri=rtsp://192.168.0.9:554 uridecodebin0::source::latency=0&lt;br /&gt;
or&lt;br /&gt;
 gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.9:2323/mimg ! jpegdec ! xvimagesink &lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
* mjpeg and rtsp&lt;br /&gt;
* More examples at [[Using_gstreamer#Display|Using GStreamer]]&lt;br /&gt;
&lt;br /&gt;
====VLC====&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 vlc rtsp://192.168.0.9:554 --network-caching=0&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Record===&lt;br /&gt;
* Recording is done by the [[Camogm|&#039;&#039;&#039;camogm&#039;&#039;&#039;]] program&lt;br /&gt;
* If recording to internal or external SSD, please, read about [[Tmp_manual#eSATA_port_switching|eSATA port switching]]&lt;br /&gt;
* &amp;lt;font color=&#039;red&#039;&amp;gt;important:&amp;lt;/font&amp;gt; Event logger (GPS, IMU, IMG, EXT) recording is started/stopped separately. See [[Tmp_manual#Record_the_Event_Logger_data_.28GPS.2CIMU.2CIMG_.26_EXT.29|instructions]] below.&lt;br /&gt;
* For SATA devices camogm supports:&lt;br /&gt;
** recording to a partition with a file system - up to 80MB/s&lt;br /&gt;
** (default) faster recording to a partition without a file system (raw partition) avoiding OS calls - up to 220MB/s&lt;br /&gt;
* To extract data from a raw partition use &#039;&#039;&#039;dd&#039;&#039;&#039; or [https://github.com/Elphel/elphel-tools-x393 these scripts] to get the data and split it into images. Follow [[Extracting_images_from_raw_partition | this link]] for details.&lt;br /&gt;
* Can record to an mmc partiton or usb.&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;lt;font size=&#039;3&#039; color=&#039;red&#039;&amp;gt;[[Using_camogm_with_Elphel393_camera|More info]]&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
* If the &#039;&#039;prefix&#039;&#039; parameter, which is &#039;&#039;absolute path + prefix&#039;&#039;, for a channel is not set the file will be written somewhere to rootfs. &lt;br /&gt;
** if prefix is empty then the &#039;&#039;absolute path&#039;&#039; must end with a slash.&lt;br /&gt;
&lt;br /&gt;
====browser====&lt;br /&gt;
Example 1: (provide a correct media mount point - /mnt/sda1/)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
* http://192.168.0.9/camogmgui.php&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
Follow [[Camogmgui|this link]] for GUI description.&lt;br /&gt;
&lt;br /&gt;
====command line====&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;/home/root&#039;&#039;&#039;, file prefix=&#039;&#039;&#039;test_&#039;&#039;&#039;, &#039;&#039;&#039;1GB&#039;&#039;&#039; or &#039;&#039;&#039;10min&#039;&#039;&#039; files whichever occurs first&lt;br /&gt;
** setup and start (in one line):&lt;br /&gt;
 echo &amp;quot;format=mov;status=/var/tmp/camogm.status;prefix=/home/root/test_;duration=600;length=1073741824;start&amp;quot; &amp;gt; /var/volatile/camogm_cmd&lt;br /&gt;
** stop recording:&lt;br /&gt;
 echo &amp;quot;stop&amp;quot; &amp;gt; /var/volatile/camogm_cmd&lt;br /&gt;
 sync&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convert to a web cam stream===&lt;br /&gt;
See this [https://blog.elphel.com/2020/06/convert-ip-cam-to-web-cam-in-linux-for-jitsi-zoom-etc/ tutorial].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Store/restore configuration&amp;lt;/font&amp;gt;==&lt;br /&gt;
* http://192.168.0.9/autocampars.php - save/restore/initialize camera/sensor parameters per port. To (re)store parameters access the pages below:&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 http://192.168.0.9/autocampars.php?sensor_port=0 (stores to /etc/elphel393/autocampars0.xml)&lt;br /&gt;
 http://192.168.0.9/autocampars.php?sensor_port=1 (stores to /etc/elphel393/autocampars1.xml)&lt;br /&gt;
 http://192.168.0.9/autocampars.php?sensor_port=2 (stores to /etc/elphel393/autocampars2.xml)&lt;br /&gt;
 http://192.168.0.9/autocampars.php?sensor_port=3 (stores to /etc/elphel393/autocampars3.xml)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
[[Autocampars 393|&#039;&#039;&#039;More information&#039;&#039;&#039;]]&lt;br /&gt;
* All stored parameters are automatically restored at boot&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Available programmable parameters&amp;lt;/font&amp;gt;==&lt;br /&gt;
To inspect all available reprogrammable parameters:&lt;br /&gt;
 1. http://192.168.0.9 -&amp;gt; Parameter Editor&lt;br /&gt;
 2. Follow a link for a particular port, e.g. http://192.168.0.9/autocampars.php?sensor_port=0&lt;br /&gt;
 3. Select groups of interest in the top table -&amp;gt; View/Edit Current&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Change parameters&amp;lt;/font&amp;gt;==&lt;br /&gt;
* http://192.168.0.9/parsedit.php - read/write parameters:&lt;br /&gt;
** POST request&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 Read:   http://192.168.0.9/parsedit.php?sensor_port=0&amp;amp;PAR1&amp;amp;PAR2&lt;br /&gt;
 Change: http://192.168.0.9/parsedit.php?sensor_port=0&amp;amp;PAR1&amp;amp;PAR2 - update values - submit form&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
** GET request - XML response&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 Read:   &lt;br /&gt;
         http://192.168.0.9/parsedit.php?immediate&amp;amp;sensor_port=0&amp;amp;PAR1&amp;amp;PAR2&lt;br /&gt;
 Change: &lt;br /&gt;
         http://192.168.0.9/parsedit.php?immediate&amp;amp;sensor_port=0&amp;amp;PAR1=VAL1&amp;amp;PAR2=VAL2&lt;br /&gt;
 Change for multiple ports at once:&lt;br /&gt;
         http://192.168.0.9/parsedit.php?immediate&amp;amp;sensor_port=0&amp;amp;PAR1=VAL1&amp;amp;*PAR1=MASK1&amp;amp;PAR2=VAL2&amp;amp;*PAR2=MASK2&lt;br /&gt;
 &lt;br /&gt;
 # A port bit mask is set by adding a &#039;&#039;&#039;*&#039;&#039;&#039; to a parameter name, like &#039;&#039;&#039;*PAR1&#039;&#039;&#039; - it is individual for each parameter.&lt;br /&gt;
 # The mask is 4 bits - 1 bit per port, bit[0] = port 0,... bit[3] = port 3, where 1 - enabled, 0 - disabled:&lt;br /&gt;
 #   0xf - the parameter&#039;s new value will be applied to all ports.&lt;br /&gt;
 # [[Parsedit.php#change_multiple_ports|&#039;&#039;&#039;More information&#039;&#039;&#039;]]&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note 1: if the parameter&#039;s value is specified in URL it will be applied. The call can have mixed specified and unspecified parameters.&lt;br /&gt;
&lt;br /&gt;
Note 2: The new value is read on the next call.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* set 10 fps and enable output trigger signal&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 http://192.168.0.9/parsedit.php?sensor_port=0&amp;amp;immediate&amp;amp;TRIG_CONDITION=0&amp;amp;TRIG_OUT=0x66555&amp;amp;TRIG_PERIOD=10000000&amp;amp;TRIG=4&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
[[Parsedit.php|&#039;&#039;&#039;More information&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* parsedit.php and autocampars.php were ported from 353 camera series. There are a few changes from the originals related to 4x sensor ports:&lt;br /&gt;
** parameters are individual for each sensor port - writing parameters to multiple port at once is controlled with a (bit-)&#039;&#039;&#039;mask&#039;&#039;&#039; input box&lt;br /&gt;
** if opened w/o sensor_port specified the page will show links to available ports&lt;br /&gt;
** &#039;&#039;&#039;sensor_port=x&#039;&#039;&#039;, where x=0..3 - in the address string - for a single sensor camera it is normally 0&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Image formats&amp;lt;/font&amp;gt;==&lt;br /&gt;
====JPEG====&lt;br /&gt;
* &#039;&#039;color&#039;&#039;: YCbCr 4:2:0, 3x3 pixels&lt;br /&gt;
* &#039;&#039;mono6&#039;&#039;: monochrome - color YCbCr 4:2:0 with zeroed out color components&lt;br /&gt;
* &#039;&#039;mono&#039;&#039; : monochrome - color YCbCr 4:0:0 with omitted color components&lt;br /&gt;
&lt;br /&gt;
Note: JPEG is not the best for processing since some information gets lost when demosaicing is applied.&lt;br /&gt;
====JP4====&lt;br /&gt;
* provides a quality of RAW with compression, no demosaicing&lt;br /&gt;
* [[JP4|&#039;&#039;&#039;More information&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Proper shutdown&amp;lt;/font&amp;gt;==&lt;br /&gt;
* if not properly shutdown - in a rare case the &amp;amp;mu;SD card can get corrupted (it&#039;s always safer to run &#039;&#039;&#039;sync&#039;&#039;&#039;)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 ~# sync&lt;br /&gt;
 ~# shutdown -hP now&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
Same effect:&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 http://192.168.0.9/autocampars.php?reboot&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Temperature monitor&amp;lt;/font&amp;gt;==&lt;br /&gt;
* http://192.168.0.9/hwmon.html:&lt;br /&gt;
** T&amp;lt;sub&amp;gt;shutdown&amp;lt;/sub&amp;gt; - automatic shutdown temperature level (default is 90&amp;amp;deg;C)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:10393_hwmon.jpeg|thumb|200px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Event Logger (GPS, IMU, IMG &amp;amp; EXT)&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
The FPGA-based Event Logger uses local clock for time-stamping data from Image Acquisition, External (Trigger) Input, GPS and IMU.&lt;br /&gt;
&lt;br /&gt;
* [[Event_logger|&#039;&#039;&#039;More information&#039;&#039;&#039;]]&lt;br /&gt;
===Record===&lt;br /&gt;
====web====&lt;br /&gt;
* Start: &lt;br /&gt;
http://192.168.0.9/logger_launcher.php?cmd=start&amp;amp;file=/mnt/sda1/test.log&amp;amp;index=1&amp;amp;n=10000000&lt;br /&gt;
* Stop:&lt;br /&gt;
http://192.168.0.9/logger_launcher.php?cmd=stop&lt;br /&gt;
* Help:&lt;br /&gt;
http://192.168.0.9/logger_launcher.php&lt;br /&gt;
&lt;br /&gt;
====command line====&lt;br /&gt;
* start:&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 root@elphel393:~# cat /dev/imu &amp;gt; /path/filename.log&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
* stop - CTRL-C or kill the process&lt;br /&gt;
&lt;br /&gt;
===Read===&lt;br /&gt;
* http://192.168.0.9/read_imu_log.php (will display help)&lt;br /&gt;
** on the first access creates /www/pages/logs/ (http://192.168.0.9/logs/)&lt;br /&gt;
** link the recorded logs to /www/pages/logs/&lt;br /&gt;
** refresh http://192.168.0.9/read_imu_log.php&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Set system time&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
===Command line from PC===&lt;br /&gt;
 &amp;lt;font size=&#039;2&#039;&amp;gt;# Compare PC and camera clocks&lt;br /&gt;
 ~$ ssh root@192.168.0.9 date;date -u&lt;br /&gt;
 # Write PC time into camera clock&lt;br /&gt;
 ~$ ssh root@192.168.0.9 &amp;quot;date -s @`( date -u +&amp;quot;%s&amp;quot; )` &amp;amp;&amp;amp;  hwclock -w&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===PHP===&lt;br /&gt;
If in the current firmware includes &#039;&#039;&#039;http://192.168.0.9/utils.php&#039;&#039;&#039; then the clock is checked every time the index page is opened (&#039;&#039;&#039;http://192.168.0.9&#039;&#039;&#039;). The clock is then updated if the browser time differs from the camera time by more than 24h.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible to force apply time using the following GET request:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://192.168.0.9/utils.php?cmd=time&amp;amp;apply&amp;amp;ts=&amp;lt;timestamp_in_ms&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 #example:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://192.168.0.9/utils.php?cmd=time&amp;amp;apply&amp;amp;ts=1589913066650&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;eSATA port switching&amp;lt;/font&amp;gt;==&lt;br /&gt;
* requres [[10389]]&lt;br /&gt;
* available connections:&lt;br /&gt;
** camera &amp;lt;=&amp;gt; internal SSD (default)&lt;br /&gt;
** camera &amp;lt;=&amp;gt; external drive (external drive requires a separate power source)&lt;br /&gt;
** PC &amp;lt;=&amp;gt; internal SSD&lt;br /&gt;
* [[Sata_multiplexer_10389|&#039;&#039;&#039;More information&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Firmware/software update&amp;lt;/font&amp;gt;==&lt;br /&gt;
[[Poky_2.0_manual#Write_files_to_media_and_boot|&#039;&#039;&#039;More information&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Firmware images&amp;lt;/font&amp;gt;==&lt;br /&gt;
* [https://community.elphel.com/files/393/20200903/ &#039;&#039;&#039;20200903&#039;&#039;&#039;]&lt;br /&gt;
* [https://community.elphel.com/files/393/20200520/ 20200520]&lt;br /&gt;
* [https://community.elphel.com/files/393/20200508/ 20200508]&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
 &amp;lt;font size=&#039;1&#039;&amp;gt;&#039;&#039;&#039;==20200903==&#039;&#039;&#039;&lt;br /&gt;
 * switched to warrior branch for build&lt;br /&gt;
 * updated to kernel 4.19. This build was being under test for a while.&lt;br /&gt;
 &#039;&#039;&#039;==20200520==&#039;&#039;&#039;&lt;br /&gt;
 (rocko build)&lt;br /&gt;
 * Set time on main page access - taking browser time and writing to 10393 if times differ by 24h+.&lt;br /&gt;
 * Added script for sensor testing (switch to test pattern, check md5sum).&lt;br /&gt;
   Supporting MT9P006. Linked to main page.&lt;br /&gt;
 * Main page:&lt;br /&gt;
   * Added links to page displaying MJPEG stream in canvas&lt;br /&gt;
   * Added more controls (FPS, Manual Exposure and Auto Exposure Limit)&lt;br /&gt;
   * Added quick switch to 1080p@30fps (MT9P006)&lt;br /&gt;
 * Updated JPEG/JP4 decoding javascript plugin - less time (-10ms) spent on EXIF reading.&lt;br /&gt;
 * Created utils.php, currenty helps to GET-request:&lt;br /&gt;
   * ports configuration&lt;br /&gt;
   * set/get system time&lt;br /&gt;
 * Fixed snapshot button for cameras with unused ports in multicam/ UI.&lt;br /&gt;
 &#039;&#039;&#039;==20200508==&#039;&#039;&#039;&lt;br /&gt;
 (rocko build)&lt;br /&gt;
 * updated camogm&lt;br /&gt;
 * added FLIR Lepton driver to kernel&lt;br /&gt;
 * added FLIR Lepton record to device tree&lt;br /&gt;
 &#039;&#039;&#039;==20190321==&#039;&#039;&#039;&lt;br /&gt;
 * overall minor changes&lt;br /&gt;
   * fixed photofinish demo&lt;br /&gt;
 &#039;&#039;&#039;==20180511==&#039;&#039;&#039;&lt;br /&gt;
 * added cron program&lt;br /&gt;
 * multi cameras control interface&lt;br /&gt;
 * multi camera system info reporting&lt;br /&gt;
 * fixed rtc&lt;br /&gt;
 &#039;&#039;&#039;==20180416==&#039;&#039;&#039;&lt;br /&gt;
 * 20180419 - mt9f002: fixed changing window size&lt;br /&gt;
 * mt9f002: added triggered mode&lt;br /&gt;
 * mt9f002: added vertical and horizontal flips (mirror)&lt;br /&gt;
 &#039;&#039;&#039;==20180406==&#039;&#039;&#039;&lt;br /&gt;
 * added initial support for MT9F002 sensor: no triggered mode, no binning/decimation&lt;br /&gt;
 * display serial number in http://camera-ip:port/meta&lt;br /&gt;
 * decode jp4s on the index page (http://camera-ip)&lt;br /&gt;
 * turn off auto wb button for all ports on the index page&lt;br /&gt;
 &#039;&#039;&#039;==20180130==&#039;&#039;&#039;&lt;br /&gt;
 * added photo finish demo&lt;br /&gt;
 * fixed fps limit calcs for triggered mode&lt;br /&gt;
 &#039;&#039;&#039;==20180118==&#039;&#039;&#039;&lt;br /&gt;
 * raw.py &amp;amp; raw.php, see wiki.elphel.com&lt;br /&gt;
 * added python3 and python3-opencv&lt;br /&gt;
 &#039;&#039;&#039;==20180116==&#039;&#039;&#039;&lt;br /&gt;
 * raw pixel data downloading through membridge&lt;br /&gt;
 * added gcc,make&lt;br /&gt;
 &#039;&#039;&#039;==20180109==&#039;&#039;&#039;&lt;br /&gt;
 * fixed autoexposure&lt;br /&gt;
 &#039;&#039;&#039;==20171228==&#039;&#039;&#039;&lt;br /&gt;
 * + strace, ltrace, dmsetup&lt;br /&gt;
 * added to drivers: register devs to sysfs - nodes then created by udev&lt;br /&gt;
 &#039;&#039;&#039;==20171226==&#039;&#039;&#039;&lt;br /&gt;
 * kernel updated to 4.9 (from 4.0)&lt;br /&gt;
 * lots of drivers is updated to newer versions&lt;br /&gt;
 * +dm-crypt and cryptsetup&lt;br /&gt;
 &#039;&#039;&#039;==20171120==&#039;&#039;&#039;&lt;br /&gt;
 * bugfix - incorrect displaying of TRIG_PERIOD at init&lt;br /&gt;
 &#039;&#039;&#039;==20171115==&#039;&#039;&#039;&lt;br /&gt;
 * Fixed autocampars to let 10393 work with the mux board - 10359, see wiki.elphel.com for&lt;br /&gt;
   docs&lt;br /&gt;
 &#039;&#039;&#039;==20170823==&#039;&#039;&#039;&lt;br /&gt;
 * Fixed autocampars for multiple sensors getting desynced at init&lt;br /&gt;
 * Fixed Garmin GPS 18x USB driver&lt;br /&gt;
 &#039;&#039;&#039;==20170802==&#039;&#039;&#039;&lt;br /&gt;
 * fixed a page for taking snapshots - works in chrome and firefox for bigger images (&amp;gt;2MB)&lt;br /&gt;
 * enabled &amp;quot;Access-Control-Expose-Headers: Content-Disposition&amp;quot; and CORS&lt;br /&gt;
 &#039;&#039;&#039;==20170627==&#039;&#039;&#039;&lt;br /&gt;
 * viewing decoded jp4 format in camvc&lt;br /&gt;
 &#039;&#039;&#039;==20170623==&#039;&#039;&#039;&lt;br /&gt;
 * fixed incorrect default setting of the master channel&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Development&amp;lt;/font&amp;gt;==&lt;br /&gt;
Usage of [[Poky_manual|SDK]], which is Eclipse and project tree cloned from git.elphel.com, simplifies the development.&lt;br /&gt;
At the same time lots of things can be done using Python, PHP, JavaScript or C/C++ (if compiled on hardware) and do not require SDK.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Other info&amp;lt;/font&amp;gt;==&lt;br /&gt;
===Change default ip address===&lt;br /&gt;
Modify &#039;&#039;&#039;&#039;&#039;/etc/network/interfaces&#039;&#039;&#039;&#039;&#039;, sync the changes to the file system and reboot (or rerun init scripts).&lt;br /&gt;
&lt;br /&gt;
For firmware 20180511 or older, follow [[Fix_network_configuration|these instructions]] to fix network configuration (= disable setting ip address via &#039;&#039;&#039;/etc/elphel393/init_elphel393.py&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
===Add a program or a shell command to autostart on boot===&lt;br /&gt;
There&#039;s a way to do this using [https://unix.stackexchange.com/questions/56957/how-to-start-an-application-automatically-on-boot cron or init.d] but it might run before the sensors are initialized by init_elphel393.py. The recommended way is the following:&lt;br /&gt;
* &#039;&#039;&#039;nano&#039;&#039;&#039; or &#039;&#039;&#039;vi&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 ssh root@192.168.0.9&lt;br /&gt;
 &#039;&#039;pass&#039;&#039;&lt;br /&gt;
 root@elphel393:~# nano /etc/elphel393/init_elphel393.py&lt;br /&gt;
 &#039;&#039;edit - save&#039;&#039;&lt;br /&gt;
 &#039;&#039;example: to launch the rtsp streamer - add &#039;&#039;&#039;shout(&amp;quot;/usr/bin/str&amp;quot;)&#039;&#039;&#039; to the end of the file&#039;&#039;. shout() function is just a wrapper for &#039;&#039;&#039;subprocess.call(cmd,shell=True)&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
Then:&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 #boot from NAND flash?&lt;br /&gt;
 root@elphel393:~# overlay_sync 1 &lt;br /&gt;
 root@elphel393:~# shutdown -hP now&lt;br /&gt;
 #powercycle&lt;br /&gt;
&lt;br /&gt;
 #boot from card?&lt;br /&gt;
 root@elphel393:~# sync&lt;br /&gt;
 root@elphel393:~# reboot -f&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Set up histogram window and autoexposure parameters===&lt;br /&gt;
[[Autoexposure|Read article]]&lt;br /&gt;
===Tools for calibrated systems===&lt;br /&gt;
* [[Elphel_Software_Kit_for_Ubuntu#ImageJ_and_Elphel_plugins_for_imageJ|Install ImageJ plugins]]&lt;br /&gt;
** decode jp4 raw format&lt;br /&gt;
** aberrations correction&lt;br /&gt;
** distortion correction (pixel mapping)&lt;br /&gt;
** rectification and projection&lt;br /&gt;
** &#039;&#039;&#039;JP46 Reader camera&#039;&#039;&#039; - decode JP4/JP46&lt;br /&gt;
** &#039;&#039;&#039;Eyesis correction&#039;&#039;&#039; - post-process JP4s using calibration data&lt;br /&gt;
&lt;br /&gt;
===Switch between ERS and GRR modes in MT9P006===&lt;br /&gt;
* [[Electronic_Rolling_Shutter#ERS_and_GRR_in_MT9P001_on_10393|Read article]]&lt;br /&gt;
===External/internal synchronization &amp;amp; triggering and FPS control for single/multi-camera systems===&lt;br /&gt;
* [[Trigger_393]]&lt;br /&gt;
&lt;br /&gt;
===SSD/MMC/USB formatting===&lt;br /&gt;
* [[Format_SSD_MMC]]&lt;br /&gt;
===Boot modes===&lt;br /&gt;
* [[Boot_options_393|Boot options]]&lt;br /&gt;
===Pointers monitor===&lt;br /&gt;
* Displays sensor, compressor and buffer states per 10393 port:&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 http://192.168.0.9/pointers/&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Powering from batteries (12V or 48V)===&lt;br /&gt;
[[10393_power#Powering_from_batteries| 12V and 48V power options]]&lt;br /&gt;
===Accessing raw pixel values===&lt;br /&gt;
[[Working_with_raw_image_data|Working with raw pixel data (how to capture raw images)]]&lt;br /&gt;
&lt;br /&gt;
===Photo finish (linescan mode)===&lt;br /&gt;
[[Photo-finish|Photo Finish]] (works for JP4 image format)&lt;br /&gt;
&lt;br /&gt;
===Controlling multiple cameras from single GUI===&lt;br /&gt;
* [[Multi_camera_system_operation|Recording]]&lt;br /&gt;
&lt;br /&gt;
===Developers version&#039;s half enclosure===&lt;br /&gt;
{|&lt;br /&gt;
|valign=&#039;top&#039;|[[File:10393 half enclosure 1.jpeg|thumb|200px]]&lt;br /&gt;
|valign=&#039;top&#039;|[[File:10393 half enclosure 2.jpeg|thumb|200px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Available lengths for cables for connecting sensors in custom setups===&lt;br /&gt;
* [[FPC_cables|FPC cables]] - click for available lengths.&lt;br /&gt;
* The cables are &amp;lt;font color=&#039;red&#039;&amp;gt;asymmetrical&amp;lt;/font&amp;gt; - for correct connecting a sensor to a system board see the figure below. As a rule of thumb, the cable&#039;s back side (no contacts) will be on the same side with the connector&#039;s cover.&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Fpc_cable_conn_10393.jpeg|300px|thumb|Connecting sensors to the system board]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Known problems&amp;lt;/font&amp;gt;==&lt;br /&gt;
* &amp;lt;font color=&#039;green&#039;&amp;gt;&#039;&#039;&#039;[SOLVED]&#039;&#039;&#039;&amp;lt;/font&amp;gt; Vertical artifacts in jpegs. Images are ok at 100% quality. Fixed, testing.&lt;br /&gt;
* &amp;lt;font color=&#039;green&#039;&amp;gt;&#039;&#039;&#039;[SOLVED]&#039;&#039;&#039;&amp;lt;/font&amp;gt; http://192.168.0.9:232x/noexif/mimg - multipart jpeg displays corrupted frames from time to time. Reason: network bandwidth?&lt;br /&gt;
* &amp;lt;font color=&#039;green&#039;&amp;gt;&#039;&#039;&#039;[SOLVED]&#039;&#039;&#039;&amp;lt;/font&amp;gt; Sometimes on power-on (NAND flash boot) cannot mount the card&#039;s rootfs partition. Kernel Panics. Power off/on. Soft &amp;quot;reboot -f&amp;quot; works ok.&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;b&amp;gt;Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)&amp;lt;/b&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
[[VFS:_Unable_to_mount_root_fs_on_unknown-block(179,2)|More info]]&lt;br /&gt;
* &amp;lt;font color=&#039;green&#039;&amp;gt;&#039;&#039;&#039;[SOLVED]&#039;&#039;&#039;&amp;lt;/font&amp;gt; Changing exposure/quality/gains - can corrupt images - needs testing.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;font color=&#039;green&#039;&amp;gt;&#039;&#039;&#039;[SOLVED]&#039;&#039;&#039;&amp;lt;/font&amp;gt; After rewriting rootfs to &amp;amp;mu;SD card - some of the cards get a corrupted partition - re-partitioning (reformatting?) solves the problem.&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 On the camera the rootfs is mounted as RW and some of the files are changed (also links created) -&lt;br /&gt;
 most of the changes are now moved to tmpfs but something might have been missed.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Notes&amp;lt;/font&amp;gt;==&lt;br /&gt;
* &amp;lt;font color=&#039;green&#039;&amp;gt;&#039;&#039;&#039;[SOLVED]&#039;&#039;&#039;&amp;lt;/font&amp;gt; In case rootfs is on flash, it might make sense (or maybe not as the history is updated only once on session exit) to disable bash sessions command history - [http://stackoverflow.com/questions/18663078/disable-history-in-linux disable bash history]&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;font color=&#039;green&#039;&amp;gt;&#039;&#039;&#039;[SOLVED]&#039;&#039;&#039;&amp;lt;/font&amp;gt; When using &#039;&#039;&#039;overlays&#039;&#039;&#039;, deleting, existing in the lower layer, dirs can cause errors (hopefully it gets fixed someday), example: &lt;br /&gt;
** /mnt/sda1 exists in lower layer: /tmp/rootfs.ro/tmp&lt;br /&gt;
** upper layer is mounted to &amp;quot;/&amp;quot;&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 # rmdir /mnt/sda1&lt;br /&gt;
 # mkdir /mnt/sda1&lt;br /&gt;
 mkdir: cannot create directory &#039;/mnt/sda1&#039;: Operation not supported&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
[[Category:393]]&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Development_for_10393&amp;diff=14158</id>
		<title>Development for 10393</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Development_for_10393&amp;diff=14158"/>
		<updated>2020-09-16T19:07:23Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* after building */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Setup environment===&lt;br /&gt;
Get sources and build default images: [[Poky_2.0_manual#Setup|Instructions]]&lt;br /&gt;
&lt;br /&gt;
====top project====&lt;br /&gt;
* [https://git.elphel.com/Elphel/elphel393.git elphel393.git]&lt;br /&gt;
&lt;br /&gt;
{| class=&#039;wikitable&#039;&lt;br /&gt;
!file&lt;br /&gt;
!description&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;projects-default.json&#039;&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
* list of cloned repositories and tree structure&lt;br /&gt;
* copy of this file makes a working copy - &#039;&#039;&#039;projects.json&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;setup.py&#039;&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
* creates a working copy from default and parses the contents&lt;br /&gt;
* rerun to update all repositories - then rebuild using bitbake&lt;br /&gt;
* generates a default &#039;&#039;local.conf&#039;&#039; for poky pre-configured for 10393&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;check_versions.py&#039;&#039;&#039;&lt;br /&gt;
| local repository vs running on target hardware version checker&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Flash vs micro SD===&lt;br /&gt;
* micro SD cards work best for development&lt;br /&gt;
** replaceable&lt;br /&gt;
** changes get written to the card, no extra sync required&lt;br /&gt;
&lt;br /&gt;
* flash works best for a production system:&lt;br /&gt;
** non-replaceable&lt;br /&gt;
** provisions are made to limit write cycles and to prevent inadvertent file system changes&lt;br /&gt;
** overlayfs file system merges nonvolatile (flash) and volatile (ram disk) file systems, power-cycling discards all file modifications made during the last session&lt;br /&gt;
** an extra sync command (overlay_sync) and a proper reboot is required to commit file system changes to the system flash memory (see overlay_syn usage example [[10393_manual#Change_default_ip_address]]).&lt;br /&gt;
&lt;br /&gt;
===Environment tree===&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;elphel393&#039;&#039;&#039;&lt;br /&gt;
 ├── &#039;&#039;&#039;bootable-images -&amp;gt; poky/build/tmp/deploy/images/elphel393/&#039;&#039;&#039; - poky generated boot images&lt;br /&gt;
 ├── &#039;&#039;&#039;fpga-elphel&#039;&#039;&#039; - fpga projects, matching recipes are in &#039;&#039;meta/meta-elphel393/recipes-core/&#039;&#039;&lt;br /&gt;
 │   ├── &#039;&#039;&#039;x359&#039;&#039;&#039;&lt;br /&gt;
 │   ├── &#039;&#039;&#039;x393&#039;&#039;&#039;&lt;br /&gt;
 │   └── &#039;&#039;&#039;x393_sata&#039;&#039;&#039;&lt;br /&gt;
 ├── &#039;&#039;&#039;linux-elphel&#039;&#039;&#039; - kernel - a kernel tree with Elphel&#039;s sources only - it is merged with the full kernel tree&lt;br /&gt;
 ├── &#039;&#039;&#039;meta&#039;&#039;&#039; - extra recipe layers for poky&lt;br /&gt;
 │   ├── &#039;&#039;&#039;meta-elphel393&#039;&#039;&#039; - Elphel&#039;s recipes: fpga, device tree, kernel and applications, lots of bbappends&lt;br /&gt;
 │   ├── &#039;&#039;&#039;meta-ezynq&#039;&#039;&#039; - Elphel&#039;s recipes for u-boot&lt;br /&gt;
 │   ├── &#039;&#039;&#039;meta-openembedded&#039;&#039;&#039; - recipes (like PHP) that were not included in poky 2.0&lt;br /&gt;
 │   ├── &#039;&#039;&#039;meta-swupdate&#039;&#039;&#039; - swupdate recipes (not yet used)&lt;br /&gt;
 │   └── &#039;&#039;&#039;meta-xilinx&#039;&#039;&#039; - Xilinx&#039;s recipes, help to build kernel and device tree&lt;br /&gt;
 ├── &#039;&#039;&#039;poky&#039;&#039;&#039; - poky tree&lt;br /&gt;
 │   ├── &#039;&#039;&#039;build&#039;&#039;&#039;&lt;br /&gt;
 │   │   └── &#039;&#039;&#039;conf&#039;&#039;&#039;&lt;br /&gt;
 │   │       ├── &#039;&#039;&#039;bblayers.conf&#039;&#039;&#039; - paths to extra layers (generated by setup.py)&lt;br /&gt;
 │   │       └── &amp;lt;font color=&#039;red&#039;&amp;gt;&#039;&#039;&#039;local.conf&#039;&#039;&#039;&amp;lt;/font&amp;gt; - have a look inside, local configuration (generated by setup.py)&lt;br /&gt;
 │   └── &#039;&#039;&#039;meta&#039;&#039;&#039; - poky&#039;s recipes&lt;br /&gt;
 ├── &#039;&#039;&#039;rootfs-elphel&#039;&#039;&#039; - user applicatons projects and init scripts, matching recipes are found in &#039;&#039;meta/meta-elphel393/recipes-core/&#039;&#039;&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-apps-autocampars&#039;&#039;&#039; - camera parameters manager - setup, store/restore, set default&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-apps-autoexposure&#039;&#039;&#039; - autoexposure daemon&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-apps-camogm&#039;&#039;&#039; - recorder program&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-apps-editconf&#039;&#039;&#039; &lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-apps-gps&#039;&#039;&#039; - gps receiver application&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-apps-histograms&#039;&#039;&#039; - histograms&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-apps-imgsrv&#039;&#039;&#039; - image server&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-apps-php-extension&#039;&#039;&#039; - php functions, compiled as a php extension (part of php recipe)&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-apps-tempmon&#039;&#039;&#039; - temperature monitor&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-init&#039;&#039;&#039; - system init script&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-udev-rules&#039;&#039;&#039; - udev rules: drive automount&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-web-393&#039;&#039;&#039; - web GUIs&lt;br /&gt;
 │   ├── &#039;&#039;&#039;elphel-web-camvc&#039;&#039;&#039; - main control GUI, ported from 353&lt;br /&gt;
 │   └── &#039;&#039;&#039;elphel-web-hwmon&#039;&#039;&#039; - hardware monitor&lt;br /&gt;
 └── &#039;&#039;&#039;tools&#039;&#039;&#039;&lt;br /&gt;
     └── &#039;&#039;&#039;elphel-tools-update&#039;&#039;&#039; - useful scripts, e.g. create bootable mmc&lt;br /&gt;
&lt;br /&gt;
===Change repository address, branch, hash===&lt;br /&gt;
* change uri: edit &#039;&#039;elphel393/projects.json&#039;&#039;&lt;br /&gt;
* change hash: edit &#039;&#039;elphel393/projects.json&#039;&#039;:&lt;br /&gt;
 &amp;quot;elphel-apps-camogm&amp;quot;:[&lt;br /&gt;
   &amp;quot;https://git.elphel.com/Elphel/elphel-apps-camogm.git&amp;quot;,&lt;br /&gt;
   &amp;quot;master&amp;quot;,&amp;quot;&amp;quot; &#039;&#039;&#039;&amp;lt;- leave empty to get the latest, add hash to freeze&#039;&#039;&#039;&lt;br /&gt;
 ],&lt;br /&gt;
&lt;br /&gt;
* change branch: &#039;&#039;edit elphel393/poky/build/conf/local.conf&#039;&#039;&lt;br /&gt;
 ELPHEL393_branches += &amp;quot;elphel-apps-camogm:framepars&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kernel===&lt;br /&gt;
====Add new driver====&lt;br /&gt;
* examples in &#039;&#039;elphel393/linux-elphel/src&#039;&#039;&lt;br /&gt;
** add new files to the tree&lt;br /&gt;
** do not forget KConfig and Makefiles&lt;br /&gt;
** change kernel config in &#039;&#039;elphel393_fixold/meta/meta-elphel393/recipes-kernel/linux/config/elphel393.cfg&#039;&#039; - clean then rebuild the kernel. The cfg file gets copied to the poky&#039;s kernel build directory.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
====Create new project====&lt;br /&gt;
The best reference projects are in &#039;&#039;elphel393/rootfs-elphel/&#039;&#039;&lt;br /&gt;
* Place project files to &#039;&#039;elphel393/rootfs-elphel/&#039;&#039;&lt;br /&gt;
* Create a recipe in &#039;&#039;elphel393/meta/meta-elphel393/.../&#039;&#039;&lt;br /&gt;
* In the recipe set package name - it will go to the rootfs recipe &#039;&#039;elphel393/meta/meta-elphel393/recipes-core/images/&#039;&#039;&#039;&#039;&#039;core-image-elphel393.bb&#039;&#039;&#039;&lt;br /&gt;
* bitbake core-image-elphel393&lt;br /&gt;
&lt;br /&gt;
====Project structure====&lt;br /&gt;
=====recipe=====&lt;br /&gt;
 elphel393/meta/meta-elphel393/recipes-core/init/init_1.0.bb&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The recipe and the project sources are in different repos&lt;br /&gt;
&lt;br /&gt;
=====in repository=====&lt;br /&gt;
 rootfs-elphel/elphel-init/&lt;br /&gt;
 ├── eclipse_project_setup&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── Makefile&lt;br /&gt;
 ├── README.md&lt;br /&gt;
 ├── run_bitbake.sh&lt;br /&gt;
 ├── src&lt;br /&gt;
 │   ├── init_elphel393&lt;br /&gt;
 │   ├── init_elphel393.py&lt;br /&gt;
 │   ├── init_elphel393.sh&lt;br /&gt;
 │   ├── init_eyesis12.sh&lt;br /&gt;
 │   ├── init_eyesis_bottom2.sh&lt;br /&gt;
 │   └── Makefile&lt;br /&gt;
 └── VERSION&lt;br /&gt;
&lt;br /&gt;
=====after building=====&lt;br /&gt;
 rootfs-elphel/elphel-init/&lt;br /&gt;
 ├── &amp;lt;font color=&#039;green&#039;&amp;gt;bitbake-logs -&amp;gt; /.../elphel393/poky/build/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/init/1_0-69/temp&amp;lt;/font&amp;gt;&lt;br /&gt;
 ├── eclipse_project_setup&lt;br /&gt;
 ├── &amp;lt;font color=&#039;green&#039;&amp;gt;image -&amp;gt; /.../elphel393/poky/build/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/init/1_0-69/image&amp;lt;/font&amp;gt;&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── Makefile&lt;br /&gt;
 ├── README.md&lt;br /&gt;
 ├── run_bitbake.sh&lt;br /&gt;
 ├── src&lt;br /&gt;
 │   ├── init_elphel393&lt;br /&gt;
 │   ├── init_elphel393.py&lt;br /&gt;
 │   ├── init_elphel393.sh&lt;br /&gt;
 │   ├── init_eyesis12.sh&lt;br /&gt;
 │   ├── init_eyesis_bottom2.sh&lt;br /&gt;
 │   └── Makefile&lt;br /&gt;
 ├── &amp;lt;font color=&#039;green&#039;&amp;gt;sysroots -&amp;gt; /.../elphel393/poky/build/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/init/1_0-69/recipe-sysroot&amp;lt;/font&amp;gt;&lt;br /&gt;
 └── VERSION&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At some point when building from command line the sysroots link will be created. After &#039;&#039;&#039;sysroots&#039;&#039;&#039; link is there the project can be build from Eclipse IDE&lt;br /&gt;
&lt;br /&gt;
[[Category:393]]&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13101</id>
		<title>Poky manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13101"/>
		<updated>2020-09-16T17:30:37Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
Build the firmware for Elphel 10393 series camera systems from scratch.&lt;br /&gt;
&lt;br /&gt;
Prebuilt releases can be found [https://community.elphel.com/files/393/ here].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use cases&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Update Linux Kernel when developing a driver&lt;br /&gt;
* Include application to the default firmware package&lt;br /&gt;
* Update Elphel&#039;s PHP extension&lt;br /&gt;
* C/C++ applications if developed on PC require a cross-compiler and require Yocto installation or some other alternative.&lt;br /&gt;
&lt;br /&gt;
Other projects written in Python, PHP, Javascript, HTML, C/C++ (gcc is installed on the system board) can be developed on the camera. Installing the framework is not required but it can simplify the development process.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board&lt;br /&gt;
* Yocto Poky revision = 2.7.1 (Warrior) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 20.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Older OSes are not supported. Roll back to get built in 16.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Yocto Poky revision = 2.4 (Rocko) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 16.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Won&#039;t build in 18.04 or 20.04.&amp;lt;/font&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Yocto Poky revision = 2.0 (Jethro)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Features&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Environment is set up with a single script&lt;br /&gt;
* All Elphel projects are configured for Eclipse IDE:&lt;br /&gt;
** fpga projects (verilog)&lt;br /&gt;
** kernel&lt;br /&gt;
** applications projects&lt;br /&gt;
* All steps for fpga projects are run from Eclipse IDE&lt;br /&gt;
** Read about [http://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras/ setting up Eclipse based FPGA development]&lt;br /&gt;
** [https://git.elphel.com/Elphel/vdt-plugin VDT Plugin repository]&lt;br /&gt;
&lt;br /&gt;
* Once everything is built it supports updating software projects (files and binaries) on the target system&lt;br /&gt;
** access is set up in yocto&#039;s &#039;&#039;local.conf&#039;&#039; (see &#039;&#039;setup.py&#039;&#039; output) + &#039;&#039;ssh-copy-id&#039;&#039;&lt;br /&gt;
** &#039;&#039;bitbake some-app -c target_scp&#039;&#039; from the command line or Eclipse IDE - see examples in &#039;&#039;&#039;elphel-apps-...&#039;&#039;&#039; at [https://git.elphel.com/Elphel Git]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Requirements&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Kubuntu 20.04 x64&lt;br /&gt;
* &amp;lt;s&amp;gt;Kubuntu 18.04 x64 (as of Dec 2018) - Poky: 2.7.1 Warrior (not tested but might build w/o problems)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Kubuntu 16.04 x64 (as of Dec 2018) - Poky: 2.4 Rocko, 2.7.1 Warrior&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Output files&amp;lt;/font&amp;gt;==&lt;br /&gt;
The names are listed as they appear in the u-boot configuration header file - actual output files have different names:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! File(s)&lt;br /&gt;
! Build Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;boot.bin&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| u-boot as the first stage bootloader = Secondary Program Loader (SPL) that boots &#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| full size u-boot with a stripped device tree (&#039;&#039;cat u-boot.img some_stripped_devicetree.dtb &amp;gt; u-boot-dtb.img&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|valign=&#039;top&#039;| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;devicetree.dtb&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| bitbake device-tree&lt;br /&gt;
| device tree with listed interfaces, zynq registers, interrupts and drivers&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/mmc/devicetree.dtb&#039;&#039; - mount rootfs from mmc partition&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/nand/devicetree.dtb&#039;&#039; - mount rootfs from NAND flash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;uImage&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake linux-xlnx&#039;&#039;&lt;br /&gt;
| kernel, drivers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;rootfs.ubifs&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.ubi&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.tar.gz&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake core-image-elphel393&#039;&#039;&lt;br /&gt;
| rootfs in different formats - *.ubi* for NAND, *.tar.gz for mmc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file are located at &#039;&#039;&#039;elphel393/bootable-images/&#039;&#039;&#039;, which is a link to poky&#039;s deploy directory &#039;&#039;&#039;elphel393/poky/build/tmp/deploy/images/elphel393/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* complete set of files for rootfs in NAND Flash: &#039;&#039;elphel393/bootable-images/nand/&#039;&#039;&lt;br /&gt;
* complete set of files for rootfs on MMC (micro SD card): &#039;&#039;elphel393/bootable-images/mmc/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Write files to media and boot&amp;lt;/font&amp;gt;==&lt;br /&gt;
===Boot from micro SD card===&lt;br /&gt;
* Use recovery or regular &amp;amp;mu;SD card&lt;br /&gt;
* EXT4 partition mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[Sd_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Boot from NAND flash===&lt;br /&gt;
* The default boot option - power on.&lt;br /&gt;
* A UBIFS image is written to /dev/mtd4 - is mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[NAND_flash_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
* [[Boot_options_393|&#039;&#039;&#039;Read more&#039;&#039;&#039;]] about boot options.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Setup&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Poky 2.7.1 Warrior (Kubuntu 20.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;warrior&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;Poky 2.4 Rocko (Kubuntu 16.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;rocko&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;!--&#039;&#039;Temporary: linux-xlnx in Rocko depends on branch &#039;lwir&#039; for x393. Change in projects.json line 42 from &#039;master&#039; to &#039;lwir&#039;.&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Compare &#039;&#039;&#039;built&#039;&#039;&#039; vs &#039;&#039;&#039;deployed&#039;&#039;&#039; software versions&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./check_versions.py root@192.168.0.9&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal (web-393 revision on PC is ahead of the one installed on the camera)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Details for development&amp;lt;/font&amp;gt;==&lt;br /&gt;
[[Development_for_10393|&#039;&#039;&#039;Development for 10393&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13100</id>
		<title>Poky manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13100"/>
		<updated>2020-09-15T21:35:01Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
Build the firmware for Elphel 10393 series camera systems from scratch.&lt;br /&gt;
&lt;br /&gt;
Prebuilt releases can be found [https://community.elphel.com/files/393/ here].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use cases&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Update Linux Kernel when developing a driver&lt;br /&gt;
* Include application to the default firmware package&lt;br /&gt;
* Update Elphel&#039;s PHP extension&lt;br /&gt;
* C/C++ applications if developed on PC require a cross-compiler and require Yocto installation or some other alternative.&lt;br /&gt;
&lt;br /&gt;
Other projects written in Python, PHP, Javascript, HTML, C/C++ (gcc is installed on the system board) can be developed on the camera. Installing the framework is not required but it can simplify the development process.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board&lt;br /&gt;
* Yocto Poky revision = 2.7.1 (Warrior) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 20.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Older OSes are not supported. Can roll back to get built in 16.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Yocto Poky revision = 2.4 (Rocko) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 16.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Won&#039;t build in 18.04 or 20.04.&amp;lt;/font&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Yocto Poky revision = 2.0 (Jethro)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Features&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Environment is set up with a single script&lt;br /&gt;
* All Elphel projects are configured for Eclipse IDE:&lt;br /&gt;
** fpga projects (verilog)&lt;br /&gt;
** kernel&lt;br /&gt;
** applications projects&lt;br /&gt;
* All steps for fpga projects are run from Eclipse IDE&lt;br /&gt;
** Read about [http://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras/ setting up Eclipse based FPGA development]&lt;br /&gt;
** [https://git.elphel.com/Elphel/vdt-plugin VDT Plugin repository]&lt;br /&gt;
&lt;br /&gt;
* Once everything is built it supports updating software projects (files and binaries) on the target system&lt;br /&gt;
** access is set up in yocto&#039;s &#039;&#039;local.conf&#039;&#039; (see &#039;&#039;setup.py&#039;&#039; output) + &#039;&#039;ssh-copy-id&#039;&#039;&lt;br /&gt;
** &#039;&#039;bitbake some-app -c target_scp&#039;&#039; from the command line or Eclipse IDE - see examples in &#039;&#039;&#039;elphel-apps-...&#039;&#039;&#039; at [https://git.elphel.com/Elphel Git]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Requirements&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Kubuntu 20.04 x64&lt;br /&gt;
* &amp;lt;s&amp;gt;Kubuntu 18.04 x64 (as of Dec 2018) - Poky: 2.7.1 Warrior (not tested but might build w/o problems)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Kubuntu 16.04 x64 (as of Dec 2018) - Poky: 2.4 Rocko, 2.7.1 Warrior&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Output files&amp;lt;/font&amp;gt;==&lt;br /&gt;
The names are listed as they appear in the u-boot configuration header file - actual output files have different names:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! File(s)&lt;br /&gt;
! Build Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;boot.bin&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| u-boot as the first stage bootloader = Secondary Program Loader (SPL) that boots &#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| full size u-boot with a stripped device tree (&#039;&#039;cat u-boot.img some_stripped_devicetree.dtb &amp;gt; u-boot-dtb.img&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|valign=&#039;top&#039;| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;devicetree.dtb&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| bitbake device-tree&lt;br /&gt;
| device tree with listed interfaces, zynq registers, interrupts and drivers&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/mmc/devicetree.dtb&#039;&#039; - mount rootfs from mmc partition&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/nand/devicetree.dtb&#039;&#039; - mount rootfs from NAND flash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;uImage&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake linux-xlnx&#039;&#039;&lt;br /&gt;
| kernel, drivers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;rootfs.ubifs&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.ubi&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.tar.gz&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake core-image-elphel393&#039;&#039;&lt;br /&gt;
| rootfs in different formats - *.ubi* for NAND, *.tar.gz for mmc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file are located at &#039;&#039;&#039;elphel393/bootable-images/&#039;&#039;&#039;, which is a link to poky&#039;s deploy directory &#039;&#039;&#039;elphel393/poky/build/tmp/deploy/images/elphel393/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* complete set of files for rootfs in NAND Flash: &#039;&#039;elphel393/bootable-images/nand/&#039;&#039;&lt;br /&gt;
* complete set of files for rootfs on MMC (micro SD card): &#039;&#039;elphel393/bootable-images/mmc/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Write files to media and boot&amp;lt;/font&amp;gt;==&lt;br /&gt;
===Boot from micro SD card===&lt;br /&gt;
* Use recovery or regular &amp;amp;mu;SD card&lt;br /&gt;
* EXT4 partition mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[Sd_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Boot from NAND flash===&lt;br /&gt;
* The default boot option - power on.&lt;br /&gt;
* A UBIFS image is written to /dev/mtd4 - is mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[NAND_flash_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
* [[Boot_options_393|&#039;&#039;&#039;Read more&#039;&#039;&#039;]] about boot options.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Setup&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Poky 2.7.1 Warrior (Kubuntu 20.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;warrior&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;Poky 2.4 Rocko (Kubuntu 16.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;rocko&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;!--&#039;&#039;Temporary: linux-xlnx in Rocko depends on branch &#039;lwir&#039; for x393. Change in projects.json line 42 from &#039;master&#039; to &#039;lwir&#039;.&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Compare &#039;&#039;&#039;built&#039;&#039;&#039; vs &#039;&#039;&#039;deployed&#039;&#039;&#039; software versions&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./check_versions.py root@192.168.0.9&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal (web-393 revision on PC is ahead of the one installed on the camera)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Details for development&amp;lt;/font&amp;gt;==&lt;br /&gt;
[[Development_for_10393|&#039;&#039;&#039;Development for 10393&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13099</id>
		<title>Poky manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13099"/>
		<updated>2020-09-15T21:33:32Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
Build the firmware for Elphel 10393 series camera systems from scratch.&lt;br /&gt;
&lt;br /&gt;
Prebuilt releases can be found [https://community.elphel.com/files/393/ here].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use cases&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Update Linux Kernel when developing a driver&lt;br /&gt;
* Include application to the default firmware package&lt;br /&gt;
* Update Elphel&#039;s PHP extension&lt;br /&gt;
* C/C++ applications if developed on PC require a cross-compiler and require Yocto installation or some other alternative.&lt;br /&gt;
&lt;br /&gt;
Other projects written in Python, PHP, Javascript, HTML, C/C++ (gcc is installed on the system board) can be developed on the camera. Installing the framework is not required but it can simplify the development process.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board&lt;br /&gt;
* Yocto Poky revision = 2.7.1 (Warrior) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 20.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Older OSes are not supported. Can roll back to get built in 16.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* Yocto Poky revision = 2.4 (Rocko) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 16.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Won&#039;t build in 18.04 or 20.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Yocto Poky revision = 2.0 (Jethro)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Features&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Environment is set up with a single script&lt;br /&gt;
* All Elphel projects are configured for Eclipse IDE:&lt;br /&gt;
** fpga projects (verilog)&lt;br /&gt;
** kernel&lt;br /&gt;
** applications projects&lt;br /&gt;
* All steps for fpga projects are run from Eclipse IDE&lt;br /&gt;
** Read about [http://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras/ setting up Eclipse based FPGA development]&lt;br /&gt;
** [https://git.elphel.com/Elphel/vdt-plugin VDT Plugin repository]&lt;br /&gt;
&lt;br /&gt;
* Once everything is built it supports updating software projects (files and binaries) on the target system&lt;br /&gt;
** access is set up in yocto&#039;s &#039;&#039;local.conf&#039;&#039; (see &#039;&#039;setup.py&#039;&#039; output) + &#039;&#039;ssh-copy-id&#039;&#039;&lt;br /&gt;
** &#039;&#039;bitbake some-app -c target_scp&#039;&#039; from the command line or Eclipse IDE - see examples in &#039;&#039;&#039;elphel-apps-...&#039;&#039;&#039; at [https://git.elphel.com/Elphel Git]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Requirements&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Kubuntu 20.04 x64&lt;br /&gt;
* &amp;lt;s&amp;gt;Kubuntu 18.04 x64 (as of Dec 2018) - Poky: 2.7.1 Warrior (not tested but might build w/o problems)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Kubuntu 16.04 x64 (as of Dec 2018) - Poky: 2.4 Rocko, 2.7.1 Warrior&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Output files&amp;lt;/font&amp;gt;==&lt;br /&gt;
The names are listed as they appear in the u-boot configuration header file - actual output files have different names:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! File(s)&lt;br /&gt;
! Build Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;boot.bin&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| u-boot as the first stage bootloader = Secondary Program Loader (SPL) that boots &#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| full size u-boot with a stripped device tree (&#039;&#039;cat u-boot.img some_stripped_devicetree.dtb &amp;gt; u-boot-dtb.img&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|valign=&#039;top&#039;| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;devicetree.dtb&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| bitbake device-tree&lt;br /&gt;
| device tree with listed interfaces, zynq registers, interrupts and drivers&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/mmc/devicetree.dtb&#039;&#039; - mount rootfs from mmc partition&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/nand/devicetree.dtb&#039;&#039; - mount rootfs from NAND flash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;uImage&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake linux-xlnx&#039;&#039;&lt;br /&gt;
| kernel, drivers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;rootfs.ubifs&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.ubi&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.tar.gz&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake core-image-elphel393&#039;&#039;&lt;br /&gt;
| rootfs in different formats - *.ubi* for NAND, *.tar.gz for mmc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file are located at &#039;&#039;&#039;elphel393/bootable-images/&#039;&#039;&#039;, which is a link to poky&#039;s deploy directory &#039;&#039;&#039;elphel393/poky/build/tmp/deploy/images/elphel393/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* complete set of files for rootfs in NAND Flash: &#039;&#039;elphel393/bootable-images/nand/&#039;&#039;&lt;br /&gt;
* complete set of files for rootfs on MMC (micro SD card): &#039;&#039;elphel393/bootable-images/mmc/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Write files to media and boot&amp;lt;/font&amp;gt;==&lt;br /&gt;
===Boot from micro SD card===&lt;br /&gt;
* Use recovery or regular &amp;amp;mu;SD card&lt;br /&gt;
* EXT4 partition mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[Sd_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Boot from NAND flash===&lt;br /&gt;
* The default boot option - power on.&lt;br /&gt;
* A UBIFS image is written to /dev/mtd4 - is mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[NAND_flash_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
* [[Boot_options_393|&#039;&#039;&#039;Read more&#039;&#039;&#039;]] about boot options.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Setup&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Poky 2.7.1 Warrior (Kubuntu 20.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;warrior&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;Poky 2.4 Rocko (Kubuntu 16.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;rocko&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;!--&#039;&#039;Temporary: linux-xlnx in Rocko depends on branch &#039;lwir&#039; for x393. Change in projects.json line 42 from &#039;master&#039; to &#039;lwir&#039;.&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Compare &#039;&#039;&#039;built&#039;&#039;&#039; vs &#039;&#039;&#039;deployed&#039;&#039;&#039; software versions&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./check_versions.py root@192.168.0.9&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal (web-393 revision on PC is ahead of the one installed on the camera)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Details for development&amp;lt;/font&amp;gt;==&lt;br /&gt;
[[Development_for_10393|&#039;&#039;&#039;Development for 10393&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13098</id>
		<title>Poky manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13098"/>
		<updated>2020-09-15T21:32:16Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
Build the firmware for Elphel 10393 series camera systems from scratch.&lt;br /&gt;
&lt;br /&gt;
Prebuilt releases can be found [https://community.elphel.com/files/393/ here].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use cases&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Update Linux Kernel when developing a driver&lt;br /&gt;
* Include application to the default firmware package&lt;br /&gt;
* Update Elphel&#039;s PHP extension&lt;br /&gt;
* C/C++ applications if developed on PC require a cross-compiler and require Yocto installation or some other alternative.&lt;br /&gt;
&lt;br /&gt;
Other projects written in Python, PHP, Javascript, HTML, C/C++ (gcc is installed on the system board) can be developed on the camera. Installing the framework is not required but it can simplify the development process.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board&lt;br /&gt;
* Yocto Poky revision = 2.7.1 (Warrior) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 20.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Older OSes are not supported. Can roll back to get built in 16.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* Yocto Poky revision = 2.4 (Rocko) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 16.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Won&#039;t build in 18.04 or 20.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Yocto Poky revision = 2.0 (Jethro)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Features&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Environment is set up with a single script&lt;br /&gt;
* All Elphel projects are configured for Eclipse IDE:&lt;br /&gt;
** fpga projects (verilog)&lt;br /&gt;
** kernel&lt;br /&gt;
** applications projects&lt;br /&gt;
* All steps for fpga projects are run from Eclipse IDE&lt;br /&gt;
** Read about [http://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras/ setting up Eclipse based FPGA development]&lt;br /&gt;
** [https://git.elphel.com/Elphel/vdt-plugin VDT Plugin repository]&lt;br /&gt;
&lt;br /&gt;
* Once everything is built it supports updating software projects (files and binaries) on the target system&lt;br /&gt;
** access is set up in yocto&#039;s &#039;&#039;local.conf&#039;&#039; (see &#039;&#039;setup.py&#039;&#039; output) + &#039;&#039;ssh-copy-id&#039;&#039;&lt;br /&gt;
** &#039;&#039;bitbake some-app -c target_scp&#039;&#039; from the command line or Eclipse IDE - see examples in &#039;&#039;&#039;elphel-apps-...&#039;&#039;&#039; at [https://git.elphel.com/Elphel Git]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Requirements&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Kubuntu 20.04 x64&lt;br /&gt;
* &amp;lt;s&amp;gt;Kubuntu 18.04 x64 (as of Dec 2018) - Poky: 2.7.1 Warrior (not tested but might build w/o problems)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Kubuntu 16.04 x64 (as of Dec 2018) - Poky: 2.4 Rocko, 2.7.1 Warrior&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Output files&amp;lt;/font&amp;gt;==&lt;br /&gt;
The names are listed as they appear in the u-boot configuration header file - actual output files have different names:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! File(s)&lt;br /&gt;
! Build Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;boot.bin&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| u-boot as the first stage bootloader = Secondary Program Loader (SPL) that boots &#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| full size u-boot with a stripped device tree (&#039;&#039;cat u-boot.img some_stripped_devicetree.dtb &amp;gt; u-boot-dtb.img&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|valign=&#039;top&#039;| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;devicetree.dtb&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| bitbake device-tree&lt;br /&gt;
| device tree with listed interfaces, zynq registers, interrupts and drivers&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/mmc/devicetree.dtb&#039;&#039; - mount rootfs from mmc partition&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/nand/devicetree.dtb&#039;&#039; - mount rootfs from NAND flash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;uImage&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake linux-xlnx&#039;&#039;&lt;br /&gt;
| kernel, drivers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;rootfs.ubifs&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.ubi&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.tar.gz&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake core-image-elphel393&#039;&#039;&lt;br /&gt;
| rootfs in different formats - *.ubi* for NAND, *.tar.gz for mmc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file are located at &#039;&#039;&#039;elphel393/bootable-images/&#039;&#039;&#039;, which is a link to poky&#039;s deploy directory &#039;&#039;&#039;elphel393/poky/build/tmp/deploy/images/elphel393/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* complete set of files for rootfs in NAND Flash: &#039;&#039;elphel393/bootable-images/nand/&#039;&#039;&lt;br /&gt;
* complete set of files for rootfs on MMC (micro SD card): &#039;&#039;elphel393/bootable-images/mmc/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Write files to media and boot&amp;lt;/font&amp;gt;==&lt;br /&gt;
===Boot from micro SD card===&lt;br /&gt;
* Use recovery or regular &amp;amp;mu;SD card&lt;br /&gt;
* EXT4 partition mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[Sd_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Boot from NAND flash===&lt;br /&gt;
* The default boot option - power on.&lt;br /&gt;
* A UBIFS image is written to /dev/mtd4 - is mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[NAND_flash_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
* [[Boot_options_393|&#039;&#039;&#039;Read more&#039;&#039;&#039;]] about boot options.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Setup&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Poky 2.4 Rocko (Kubuntu 16.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;rocko&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;!--&#039;&#039;Temporary: linux-xlnx in Rocko depends on branch &#039;lwir&#039; for x393. Change in projects.json line 42 from &#039;master&#039; to &#039;lwir&#039;.&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poky 2.7.1 Warrior (Kubuntu 16.04 or 18.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;warrior&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Compare &#039;&#039;&#039;built&#039;&#039;&#039; vs &#039;&#039;&#039;deployed&#039;&#039;&#039; software versions&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./check_versions.py root@192.168.0.9&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal (web-393 revision on PC is ahead of the one installed on the camera)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Details for development&amp;lt;/font&amp;gt;==&lt;br /&gt;
[[Development_for_10393|&#039;&#039;&#039;Development for 10393&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13097</id>
		<title>Poky manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13097"/>
		<updated>2020-09-15T21:31:02Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
Build the firmware for Elphel 10393 series camera systems from scratch.&lt;br /&gt;
&lt;br /&gt;
Prebuilt releases can be found [https://community.elphel.com/files/393/ here].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use cases&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Update Linux Kernel when developing a driver&lt;br /&gt;
* Include application to the default firmware package&lt;br /&gt;
* Update Elphel&#039;s PHP extension&lt;br /&gt;
* C/C++ applications if developed on PC require a cross-compiler and require Yocto installation or some other alternative.&lt;br /&gt;
&lt;br /&gt;
Other projects written in Python, PHP, Javascript, HTML, C/C++ (gcc is installed on the system board) can be developed on the camera. Installing the framework is not required but it can simplify the development process.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board&lt;br /&gt;
* Yocto Poky revision = 2.7.1 (Warrior) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 20.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Older OSes are not supported. Can roll back to get built in 16.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* Yocto Poky revision = 2.4 (Rocko) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 16.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Won&#039;t build in 18.04 or 20.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Yocto Poky revision = 2.0 (Jethro)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Features&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Environment is set up with a single script&lt;br /&gt;
* All Elphel projects are configured for Eclipse IDE:&lt;br /&gt;
** fpga projects (verilog)&lt;br /&gt;
** kernel&lt;br /&gt;
** applications projects&lt;br /&gt;
* All steps for fpga projects are run from Eclipse IDE&lt;br /&gt;
** Read about [http://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras/ setting up Eclipse based FPGA development]&lt;br /&gt;
** [https://git.elphel.com/Elphel/vdt-plugin VDT Plugin repository]&lt;br /&gt;
&lt;br /&gt;
* Once everything is built it supports updating software projects (files and binaries) on the target system&lt;br /&gt;
** access is set up in yocto&#039;s &#039;&#039;local.conf&#039;&#039; (see &#039;&#039;setup.py&#039;&#039; output) + &#039;&#039;ssh-copy-id&#039;&#039;&lt;br /&gt;
** &#039;&#039;bitbake some-app -c target_scp&#039;&#039; from the command line or Eclipse IDE - see examples in &#039;&#039;&#039;elphel-apps-...&#039;&#039;&#039; at [https://git.elphel.com/Elphel Git]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Requirements&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Kubuntu 16.04 x64 (as of Dec 2018) - Poky: 2.4 Rocko, 2.7.1 Warrior&lt;br /&gt;
* Kubuntu 18.04 x64 (as of Dec 2018) - Poky: 2.7.1 Warrior (not tested but might build w/o problems)&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Output files&amp;lt;/font&amp;gt;==&lt;br /&gt;
The names are listed as they appear in the u-boot configuration header file - actual output files have different names:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! File(s)&lt;br /&gt;
! Build Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;boot.bin&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| u-boot as the first stage bootloader = Secondary Program Loader (SPL) that boots &#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| full size u-boot with a stripped device tree (&#039;&#039;cat u-boot.img some_stripped_devicetree.dtb &amp;gt; u-boot-dtb.img&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|valign=&#039;top&#039;| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;devicetree.dtb&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| bitbake device-tree&lt;br /&gt;
| device tree with listed interfaces, zynq registers, interrupts and drivers&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/mmc/devicetree.dtb&#039;&#039; - mount rootfs from mmc partition&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/nand/devicetree.dtb&#039;&#039; - mount rootfs from NAND flash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;uImage&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake linux-xlnx&#039;&#039;&lt;br /&gt;
| kernel, drivers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;rootfs.ubifs&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.ubi&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.tar.gz&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake core-image-elphel393&#039;&#039;&lt;br /&gt;
| rootfs in different formats - *.ubi* for NAND, *.tar.gz for mmc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file are located at &#039;&#039;&#039;elphel393/bootable-images/&#039;&#039;&#039;, which is a link to poky&#039;s deploy directory &#039;&#039;&#039;elphel393/poky/build/tmp/deploy/images/elphel393/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* complete set of files for rootfs in NAND Flash: &#039;&#039;elphel393/bootable-images/nand/&#039;&#039;&lt;br /&gt;
* complete set of files for rootfs on MMC (micro SD card): &#039;&#039;elphel393/bootable-images/mmc/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Write files to media and boot&amp;lt;/font&amp;gt;==&lt;br /&gt;
===Boot from micro SD card===&lt;br /&gt;
* Use recovery or regular &amp;amp;mu;SD card&lt;br /&gt;
* EXT4 partition mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[Sd_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Boot from NAND flash===&lt;br /&gt;
* The default boot option - power on.&lt;br /&gt;
* A UBIFS image is written to /dev/mtd4 - is mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[NAND_flash_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
* [[Boot_options_393|&#039;&#039;&#039;Read more&#039;&#039;&#039;]] about boot options.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Setup&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Poky 2.4 Rocko (Kubuntu 16.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;rocko&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;!--&#039;&#039;Temporary: linux-xlnx in Rocko depends on branch &#039;lwir&#039; for x393. Change in projects.json line 42 from &#039;master&#039; to &#039;lwir&#039;.&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poky 2.7.1 Warrior (Kubuntu 16.04 or 18.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;warrior&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Compare &#039;&#039;&#039;built&#039;&#039;&#039; vs &#039;&#039;&#039;deployed&#039;&#039;&#039; software versions&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./check_versions.py root@192.168.0.9&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal (web-393 revision on PC is ahead of the one installed on the camera)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Details for development&amp;lt;/font&amp;gt;==&lt;br /&gt;
[[Development_for_10393|&#039;&#039;&#039;Development for 10393&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13096</id>
		<title>Poky manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13096"/>
		<updated>2020-09-15T21:28:59Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
Build the firmware for Elphel 10393 series camera systems from scratch.&lt;br /&gt;
&lt;br /&gt;
Prebuilt releases can be found [https://community.elphel.com/files/393/ here].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use cases&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Update Linux Kernel when developing a driver&lt;br /&gt;
* Include application to the default firmware package&lt;br /&gt;
* Update Elphel&#039;s PHP extension&lt;br /&gt;
* C/C++ applications if developed on PC require a cross-compiler and require Yocto installation or some other alternative.&lt;br /&gt;
&lt;br /&gt;
Other projects written in Python, PHP, Javascript, HTML, C/C++ (gcc is installed on the system board) can be developed on the camera. Installing the framework is not required but it can simplify the development process.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board&lt;br /&gt;
* Yocto Poky revision = 2.7.1 (Warrior) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 20.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* Yocto Poky revision = 2.4 (Rocko) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 16.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Won&#039;t build in 18.04 or 20.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Yocto Poky revision = 2.0 (Jethro)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Features&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Environment is set up with a single script&lt;br /&gt;
* All Elphel projects are configured for Eclipse IDE:&lt;br /&gt;
** fpga projects (verilog)&lt;br /&gt;
** kernel&lt;br /&gt;
** applications projects&lt;br /&gt;
* All steps for fpga projects are run from Eclipse IDE&lt;br /&gt;
** Read about [http://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras/ setting up Eclipse based FPGA development]&lt;br /&gt;
** [https://git.elphel.com/Elphel/vdt-plugin VDT Plugin repository]&lt;br /&gt;
&lt;br /&gt;
* Once everything is built it supports updating software projects (files and binaries) on the target system&lt;br /&gt;
** access is set up in yocto&#039;s &#039;&#039;local.conf&#039;&#039; (see &#039;&#039;setup.py&#039;&#039; output) + &#039;&#039;ssh-copy-id&#039;&#039;&lt;br /&gt;
** &#039;&#039;bitbake some-app -c target_scp&#039;&#039; from the command line or Eclipse IDE - see examples in &#039;&#039;&#039;elphel-apps-...&#039;&#039;&#039; at [https://git.elphel.com/Elphel Git]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Requirements&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Kubuntu 16.04 x64 (as of Dec 2018) - Poky: 2.4 Rocko, 2.7.1 Warrior&lt;br /&gt;
* Kubuntu 18.04 x64 (as of Dec 2018) - Poky: 2.7.1 Warrior (not tested but might build w/o problems)&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Output files&amp;lt;/font&amp;gt;==&lt;br /&gt;
The names are listed as they appear in the u-boot configuration header file - actual output files have different names:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! File(s)&lt;br /&gt;
! Build Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;boot.bin&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| u-boot as the first stage bootloader = Secondary Program Loader (SPL) that boots &#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| full size u-boot with a stripped device tree (&#039;&#039;cat u-boot.img some_stripped_devicetree.dtb &amp;gt; u-boot-dtb.img&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|valign=&#039;top&#039;| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;devicetree.dtb&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| bitbake device-tree&lt;br /&gt;
| device tree with listed interfaces, zynq registers, interrupts and drivers&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/mmc/devicetree.dtb&#039;&#039; - mount rootfs from mmc partition&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/nand/devicetree.dtb&#039;&#039; - mount rootfs from NAND flash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;uImage&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake linux-xlnx&#039;&#039;&lt;br /&gt;
| kernel, drivers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;rootfs.ubifs&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.ubi&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.tar.gz&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake core-image-elphel393&#039;&#039;&lt;br /&gt;
| rootfs in different formats - *.ubi* for NAND, *.tar.gz for mmc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file are located at &#039;&#039;&#039;elphel393/bootable-images/&#039;&#039;&#039;, which is a link to poky&#039;s deploy directory &#039;&#039;&#039;elphel393/poky/build/tmp/deploy/images/elphel393/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* complete set of files for rootfs in NAND Flash: &#039;&#039;elphel393/bootable-images/nand/&#039;&#039;&lt;br /&gt;
* complete set of files for rootfs on MMC (micro SD card): &#039;&#039;elphel393/bootable-images/mmc/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Write files to media and boot&amp;lt;/font&amp;gt;==&lt;br /&gt;
===Boot from micro SD card===&lt;br /&gt;
* Use recovery or regular &amp;amp;mu;SD card&lt;br /&gt;
* EXT4 partition mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[Sd_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Boot from NAND flash===&lt;br /&gt;
* The default boot option - power on.&lt;br /&gt;
* A UBIFS image is written to /dev/mtd4 - is mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[NAND_flash_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
* [[Boot_options_393|&#039;&#039;&#039;Read more&#039;&#039;&#039;]] about boot options.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Setup&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Poky 2.4 Rocko (Kubuntu 16.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;rocko&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;!--&#039;&#039;Temporary: linux-xlnx in Rocko depends on branch &#039;lwir&#039; for x393. Change in projects.json line 42 from &#039;master&#039; to &#039;lwir&#039;.&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poky 2.7.1 Warrior (Kubuntu 16.04 or 18.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;warrior&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Compare &#039;&#039;&#039;built&#039;&#039;&#039; vs &#039;&#039;&#039;deployed&#039;&#039;&#039; software versions&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./check_versions.py root@192.168.0.9&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal (web-393 revision on PC is ahead of the one installed on the camera)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Details for development&amp;lt;/font&amp;gt;==&lt;br /&gt;
[[Development_for_10393|&#039;&#039;&#039;Development for 10393&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13095</id>
		<title>Poky manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Poky_manual&amp;diff=13095"/>
		<updated>2020-09-15T21:28:29Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
Build the firmware for Elphel 10393 series camera systems from scratch.&lt;br /&gt;
&lt;br /&gt;
Prebuilt releases can be found [https://community.elphel.com/files/393/ here].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use cases&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Update Linux Kernel when developing a driver&lt;br /&gt;
* Include application to the default firmware package&lt;br /&gt;
* Update Elphel&#039;s PHP extension&lt;br /&gt;
* C/C++ applications if developed on PC require a cross-compiler and require Yocto installation or some other alternative.&lt;br /&gt;
&lt;br /&gt;
Other projects written in Python, PHP, Javascript, HTML, C/C++ (gcc is installed on the system board) can be developed on the camera. Installing the framework is not required but it can simplify the development process.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Description&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board&lt;br /&gt;
* Yocto Poky revision = 2.7.1 (Warrior) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 20.04&amp;lt;/font&amp;gt;&lt;br /&gt;
* Yocto Poky revision = 2.4 (Rocko) - &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;builds in Kubuntu 16.04.&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Won&#039;t build in 18.04 or 20.04.&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Yocto Poky revision = 2.0 (Jethro)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Features&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Environment is set up with a single script&lt;br /&gt;
* All Elphel projects are configured for Eclipse IDE:&lt;br /&gt;
** fpga projects (verilog)&lt;br /&gt;
** kernel&lt;br /&gt;
** applications projects&lt;br /&gt;
* All steps for fpga projects are run from Eclipse IDE&lt;br /&gt;
** Read about [http://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras/ setting up Eclipse based FPGA development]&lt;br /&gt;
** [https://git.elphel.com/Elphel/vdt-plugin VDT Plugin repository]&lt;br /&gt;
&lt;br /&gt;
* Once everything is built it supports updating software projects (files and binaries) on the target system&lt;br /&gt;
** access is set up in yocto&#039;s &#039;&#039;local.conf&#039;&#039; (see &#039;&#039;setup.py&#039;&#039; output) + &#039;&#039;ssh-copy-id&#039;&#039;&lt;br /&gt;
** &#039;&#039;bitbake some-app -c target_scp&#039;&#039; from the command line or Eclipse IDE - see examples in &#039;&#039;&#039;elphel-apps-...&#039;&#039;&#039; at [https://git.elphel.com/Elphel Git]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Requirements&amp;lt;/font&amp;gt;==&lt;br /&gt;
* Kubuntu 16.04 x64 (as of Dec 2018) - Poky: 2.4 Rocko, 2.7.1 Warrior&lt;br /&gt;
* Kubuntu 18.04 x64 (as of Dec 2018) - Poky: 2.7.1 Warrior (not tested but might build w/o problems)&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Output files&amp;lt;/font&amp;gt;==&lt;br /&gt;
The names are listed as they appear in the u-boot configuration header file - actual output files have different names:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! File(s)&lt;br /&gt;
! Build Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;boot.bin&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| u-boot as the first stage bootloader = Secondary Program Loader (SPL) that boots &#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;u-boot-dtb.img&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake u-boot&#039;&#039;&lt;br /&gt;
| full size u-boot with a stripped device tree (&#039;&#039;cat u-boot.img some_stripped_devicetree.dtb &amp;gt; u-boot-dtb.img&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|valign=&#039;top&#039;| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;devicetree.dtb&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| bitbake device-tree&lt;br /&gt;
| device tree with listed interfaces, zynq registers, interrupts and drivers&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/mmc/devicetree.dtb&#039;&#039; - mount rootfs from mmc partition&lt;br /&gt;
* &#039;&#039;elphel393/bootable-images/nand/devicetree.dtb&#039;&#039; - mount rootfs from NAND flash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;uImage&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake linux-xlnx&#039;&#039;&lt;br /&gt;
| kernel, drivers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&#039;darkblue&#039;&amp;gt;&#039;&#039;&#039;rootfs.ubifs&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.ubi&#039;&#039;&#039;, &#039;&#039;&#039;rootfs.tar.gz&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &#039;&#039;bitbake core-image-elphel393&#039;&#039;&lt;br /&gt;
| rootfs in different formats - *.ubi* for NAND, *.tar.gz for mmc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file are located at &#039;&#039;&#039;elphel393/bootable-images/&#039;&#039;&#039;, which is a link to poky&#039;s deploy directory &#039;&#039;&#039;elphel393/poky/build/tmp/deploy/images/elphel393/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* complete set of files for rootfs in NAND Flash: &#039;&#039;elphel393/bootable-images/nand/&#039;&#039;&lt;br /&gt;
* complete set of files for rootfs on MMC (micro SD card): &#039;&#039;elphel393/bootable-images/mmc/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Write files to media and boot&amp;lt;/font&amp;gt;==&lt;br /&gt;
===Boot from micro SD card===&lt;br /&gt;
* Use recovery or regular &amp;amp;mu;SD card&lt;br /&gt;
* EXT4 partition mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[Sd_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Boot from NAND flash===&lt;br /&gt;
* The default boot option - power on.&lt;br /&gt;
* A UBIFS image is written to /dev/mtd4 - is mounted as &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
[[NAND_flash_boot_rootfs|Detailed instructions]]&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
* [[Boot_options_393|&#039;&#039;&#039;Read more&#039;&#039;&#039;]] about boot options.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Setup&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* Poky 2.4 Rocko (Kubuntu 16.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;rocko&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;!--&#039;&#039;Temporary: linux-xlnx in Rocko depends on branch &#039;lwir&#039; for x393. Change in projects.json line 42 from &#039;master&#039; to &#039;lwir&#039;.&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poky 2.7.1 Warrior (Kubuntu 16.04 or 18.04)&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 git clone -b &#039;&#039;&#039;warrior&#039;&#039;&#039; https://git.elphel.com/Elphel/elphel393.git&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./setup.py&lt;br /&gt;
 cd poky&lt;br /&gt;
 . ./oe-init-build-env&lt;br /&gt;
 bitbake u-boot device-tree linux-xlnx core-image-elphel393&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Compare &#039;&#039;&#039;built&#039;&#039;&#039; vs &#039;&#039;&#039;deployed&#039;&#039;&#039; software versions&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;font size=&#039;2&#039;&amp;gt;&lt;br /&gt;
 cd elphel393&lt;br /&gt;
 ./check_versions.py root@192.168.0.9&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal (web-393 revision on PC is ahead of the one installed on the camera)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Details for development&amp;lt;/font&amp;gt;==&lt;br /&gt;
[[Development_for_10393|&#039;&#039;&#039;Development for 10393&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=10385-mods&amp;diff=14167</id>
		<title>10385-mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=10385-mods&amp;diff=14167"/>
		<updated>2020-09-11T22:27:38Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Modifications of the 10385B to use with 9-36V DC-DC converter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modifications of the 10385B to use with 9-36V DC-DC converter ==&lt;br /&gt;
# close JP1&lt;br /&gt;
# open (cut) JP2&lt;br /&gt;
# remove R3&lt;br /&gt;
# replace R4 with 100K (assembled boards have 1.0M instead of 442K, 100K is good for all versions)&lt;br /&gt;
# replace C1 2.2uF x 100V with 10uF x 50V&lt;br /&gt;
# replace CR4, CR5 with   [https://www.digikey.com/products/en?keywords=1727-5217-1-ND PMEG6020ER,115 (DigiKey 1727-5217-1-ND (other: 568-6529-1-ND))]&lt;br /&gt;
# replace L2: [http://www.digikey.com/product-detail/en/bourns-inc/SRN3010-2R2M/SRN3010-2R2MCT-ND/3821504 DigiKey SRN3010-2R2MCT-ND] 2.2uHx1.9A 3mm x 3mm&lt;br /&gt;
# replace L1: [http://www.digikey.com/product-detail/en/bourns-inc/SRF0905A-251Y/SRF0905A-251YCT-ND/5031117 DigiKey SRF0905A-251YCT-ND] Common Mode Choke, 250uH, 1.2A&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=10385-mods&amp;diff=14166</id>
		<title>10385-mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=10385-mods&amp;diff=14166"/>
		<updated>2020-09-11T22:25:13Z</updated>

		<summary type="html">&lt;p&gt;Oleg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modifications of the 10385B to use with 9-36V DC-DC converter ==&lt;br /&gt;
# close JP1&lt;br /&gt;
# open (cut) JP2&lt;br /&gt;
# remove R3&lt;br /&gt;
# replace R4 with 100K (assembled boards have 1.0M instead of 442K, 100K is good for all versions)&lt;br /&gt;
# replace C1 2.2uF x 100V with 10uF x 50V&lt;br /&gt;
# replace CR4, CR5 with   [https://www.digikey.com/products/en?KeyWords=568-6529-1-ND PMEG6020ER,115 (DigiKey 1727-5217-1-ND (other: 568-6529-1-ND))]&lt;br /&gt;
# replace L2: [http://www.digikey.com/product-detail/en/bourns-inc/SRN3010-2R2M/SRN3010-2R2MCT-ND/3821504 DigiKey SRN3010-2R2MCT-ND] 2.2uHx1.9A 3mm x 3mm&lt;br /&gt;
# replace L1: [http://www.digikey.com/product-detail/en/bourns-inc/SRF0905A-251Y/SRF0905A-251YCT-ND/5031117 DigiKey SRF0905A-251YCT-ND] Common Mode Choke, 250uH, 1.2A&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
	<entry>
		<id>https://wiki.elphel.com/index.php?title=10385-mods&amp;diff=14165</id>
		<title>10385-mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=10385-mods&amp;diff=14165"/>
		<updated>2020-09-11T22:19:20Z</updated>

		<summary type="html">&lt;p&gt;Oleg: /* Modifications of the 10385B to use with 9-36V DC-DC converter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modifications of the 10385B to use with 9-36V DC-DC converter ==&lt;br /&gt;
# close JP1&lt;br /&gt;
# open (cut) JP2&lt;br /&gt;
# remove R3&lt;br /&gt;
# replace R4 with 100K (assembled boards have 1.0M instead of 442K, 100K is good for all versions)&lt;br /&gt;
# replace C1 2.2uF x 100V with 10uF x 50V&lt;br /&gt;
# replace CR4, CR5 with   [https://www.digikey.com/products/en?KeyWords=568-6529-1-ND PMEG6020ER,115 (DigiKey 568-6529-1-ND)]&lt;br /&gt;
# replace L2: [http://www.digikey.com/product-detail/en/bourns-inc/SRN3010-2R2M/SRN3010-2R2MCT-ND/3821504 DigiKey SRN3010-2R2MCT-ND] 2.2uHx1.9A 3mm x 3mm&lt;br /&gt;
# replace L1: [http://www.digikey.com/product-detail/en/bourns-inc/SRF0905A-251Y/SRF0905A-251YCT-ND/5031117 DigiKey SRF0905A-251YCT-ND] Common Mode Choke, 250uH, 1.2A&lt;/div&gt;</summary>
		<author><name>Oleg</name></author>
	</entry>
</feed>