Imaging solutions with Free Software & Open Hardware

Who's online

There are currently 0 users online.

Subscribe to Wiki Recent Changes feed
Track the most recent changes to the wiki in this feed. MediaWiki 1.28.0
Updated: 1 hour 9 sec ago

File:103992 top.jpeg

Tue, 06/11/2019 - 12:56

Oleg uploaded File:103992 top.jpeg

New page

== Licensing ==
{{CC }} Oleg

Elphel camera parts 0353-99

Mon, 05/13/2019 - 17:39

‎0353-99-25 - Screw, M2, Socket Head, Stainless steel 18-8, l=8mm

← Older revision Revision as of 23:39, 13 May 2019 Line 134: Line 134:     === 0353-99-25 - Screw, M2, Socket Head, Stainless steel 18-8, l=8mm === === 0353-99-25 - Screw, M2, Socket Head, Stainless steel 18-8, l=8mm === −McMaster p/n 91292A008+McMaster p/n 91292A008, new p/n 91292A832  {{Cad4|0353-99-25}} {{Cad4|0353-99-25}}     ---- ---- Oleg

Trigger 393

Mon, 05/06/2019 - 13:26

← Older revision Revision as of 19:26, 6 May 2019 Line 1: Line 1:  ==<font color="blue">Description</font>== ==<font color="blue">Description</font>== −10389 board is required (and possible 103891).+[[10389]] board is required (and possibly [[103891]]).     Use cases: Use cases: Andrey.filippov

Trigger 393

Thu, 05/02/2019 - 11:55

‎External trigger receive (external source only)

← Older revision Revision as of 17:55, 2 May 2019 Line 69: Line 69:  ===External trigger receive (external source only)=== ===External trigger receive (external source only)===  The sync cable wires can be looped or not - does not matter. The sync cable wires can be looped or not - does not matter. −  http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0x95555&TRIG_OUT=0x0&TRIG_PERIOD=100000000&TRIG=4+  http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0x95555&TRIG_OUT=0x66555&TRIG_PERIOD=100000000&TRIG=4  * at the same time the fpga generator outputs a 1 fps signal - if the sync cable wires are properly connected the camera can be triggered from this 'external' signal * at the same time the fpga generator outputs a 1 fps signal - if the sync cable wires are properly connected the camera can be triggered from this 'external' signal    Oleg

Elphel camera parts 0393-28

Fri, 04/26/2019 - 00:00

← Older revision Revision as of 06:00, 26 April 2019 Line 8: Line 8:  {{Cad4a|0393-28-02}} {{Cad4a|0393-28-02}}  ---- ----  +=== 0393-28-021 ===  +{{Cad4a|0393-28-021}}  +----  +  +=== 0393-28-022 ===  +{{Cad4a|0393-28-022}}  +----  +     === 0393-28-03 === === 0393-28-03 === Line 15: Line 23:  === 0393-28-04 === === 0393-28-04 ===  {{Cad4a|0393-28-04}} {{Cad4a|0393-28-04}}  +----  +  +=== 0393-28-041 ===  +{{Cad4a|0393-28-041}}  +----  +  +=== 0393-28-042 ===  +{{Cad4a|0393-28-042}}  ---- ----    Andrey.filippov

Driverless mode 393

Tue, 04/23/2019 - 14:11

‎pre (editing files on the boot SD card)

← Older revision Revision as of 20:11, 23 April 2019 Line 7: Line 7:  * Remove 10389 board if installed (otherwise will have to rewrite eeprom) * Remove 10389 board if installed (otherwise will have to rewrite eeprom)  * To load bitstream for MT9F002 appropriate changes need to be made to: * To load bitstream for MT9F002 appropriate changes need to be made to: −** device tree+** (not necessary, can skip) device tree    <font size=2>set sensors to '''mt9f002''' in ''elphel393-detect_sensors,sensors'' entry</font>   <font size=2>set sensors to '''mt9f002''' in ''elphel393-detect_sensors,sensors'' entry</font>  ** /etc/elphel393/default_10389.xml for setup w/o 10389 or 10389's eeprom otherwise write '''MT9F002''' as application ** /etc/elphel393/default_10389.xml for setup w/o 10389 or 10389's eeprom otherwise write '''MT9F002''' as application Oleg

Elphel camera parts 0393-28

Fri, 04/12/2019 - 10:03

‎0393-28-08

← Older revision Revision as of 16:03, 12 April 2019 (One intermediate revision by the same user not shown)Line 1: Line 1:  [[Elphel_camera_parts_0393|Elphel NC393 series camera parts]] [[Elphel_camera_parts_0393|Elphel NC393 series camera parts]]    −=== 0393-27-01f - C/CS SFE adapter ===+=== 0393-28-01 === −{{Cad4c|0393-27-01f}}+{{Cad4a|0393-28-01}}  +----  +   +=== 0393-28-02 ===  +{{Cad4a|0393-28-02}}  +----  +   +=== 0393-28-03 ===  +{{Cad4a|0393-28-03}}  +----  +   +=== 0393-28-04 ===  +{{Cad4a|0393-28-04}}  +----  +   +=== 0393-28-05 ===  +{{Cad4a|0393-28-05}}  +----  +   +=== 0393-28-06 ===  +{{Cad4a|0393-28-06}}  +----  +   +=== 0393-28-07 ===  +{{Cad4a|0393-28-07}}  +----  +   +=== 0393-28-08 ===  +{{Cad4a|0393-28-08}}  +----  +=== 0393-28-09 ===  +{{Cad4a|0393-28-09}}  ---- ---- Andrey.filippov

Elphel camera parts 0393-28

Fri, 04/12/2019 - 03:18

← Older revision Revision as of 09:18, 12 April 2019 Line 1: Line 1:  [[Elphel_camera_parts_0393|Elphel NC393 series camera parts]] [[Elphel_camera_parts_0393|Elphel NC393 series camera parts]]    −=== 0393-27-01f - C/CS SFE adapter ===+=== 0393-28-01 === −{{Cad4c|0393-27-01f}}+{{Cad4a|0393-28-01}}  +----  +   +=== 0393-28-02 ===  +{{Cad4a|0393-28-02}}  +----  +   +=== 0393-28-03 ===  +{{Cad4a|0393-28-03}}  +----  +   +=== 0393-28-04 ===  +{{Cad4a|0393-28-04}}  +----  +   +=== 0393-28-05 ===  +{{Cad4a|0393-28-05}}  +----  +   +=== 0393-28-06 ===  +{{Cad4a|0393-28-06}}  +----  +   +=== 0393-28-07 ===  +{{Cad4a|0393-28-07}}  +----  +   +=== 0393-28-08 ===  +{{Cad4a|0393-28-08}}  ---- ---- Andrey.filippov

Elphel camera parts 0393-28

Fri, 04/12/2019 - 03:15

Created page with "Elphel NC393 series camera parts === 0393-27-01f - C/CS SFE adapter === {{Cad4c|0393-27-01f}} ----"

New page

[[Elphel_camera_parts_0393|Elphel NC393 series camera parts]]

=== 0393-27-01f - C/CS SFE adapter ===
{{Cad4c|0393-27-01f}}
---- Andrey.filippov

Eclipse CDT projects with bitbake

Thu, 04/04/2019 - 15:25

‎Additional manual setup for linux-elphel.project

← Older revision Revision as of 21:25, 4 April 2019 (3 intermediate revisions by the same user not shown)Line 75: Line 75:     After creating a new workspace with '''setup_eclipse.py''' it can be opened with Eclipse, the projects you plan to use have to be indexed (right-click on the project in the Navigator ⇒ Index ⇒ Rebuild. After creating a new workspace with '''setup_eclipse.py''' it can be opened with Eclipse, the projects you plan to use have to be indexed (right-click on the project in the Navigator ⇒ Index ⇒ Rebuild.  +=== Additional manual setup for linux-elphel.project===  +[[File:Eclipse_cdt.png|right|300px|frame|Adding ''linux/include/generated/autoconf.h'' entry to ''linux-elphel'' project properties]]  +Until we found a way how to set it automatically, the linux/include/generated/autoconf.h file has to be added to the project properties, as shown in the screenshot.     ==Initializing Eclipse Workspace for Existing (Cloned) Verilog Projects== ==Initializing Eclipse Workspace for Existing (Cloned) Verilog Projects== Andrey.filippov

File:Eclipse cdt.png

Thu, 04/04/2019 - 15:10

Andrey.filippov uploaded File:Eclipse cdt.png

New page

== Licensing ==
{{GNU FDLv1.3 }} Andrey.filippov

Poky manual

Thu, 03/28/2019 - 17:54

‎Setup

← Older revision Revision as of 23:54, 28 March 2019 Line 87: Line 87:    . ./oe-init-build-env   . ./oe-init-build-env    bitbake u-boot device-tree linux-xlnx core-image-elphel393   bitbake u-boot device-tree linux-xlnx core-image-elphel393 −''Temporary: linux-xlnx in Rocko depends on branch 'lwir' for x393. Change in projects.json line 42 from 'master' to 'lwir'.''+<!--''Temporary: linux-xlnx in Rocko depends on branch 'lwir' for x393. Change in projects.json line 42 from 'master' to 'lwir'.''-->  </font> </font>    Andrey.filippov

Poky manual

Thu, 03/28/2019 - 16:59

‎Requirements

← Older revision Revision as of 22:59, 28 March 2019 (One intermediate revision by the same user not shown)Line 11: Line 11:  * Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board * Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board  * Yocto Poky revision = 2.6 (Thud) * Yocto Poky revision = 2.6 (Thud) −* <s>Yocto Poky revision = 2.4 (Rocko)</s>+* Yocto Poky revision = 2.4 (Rocko)  * <s>Yocto Poky revision = 2.0 (Jethro)</s> * <s>Yocto Poky revision = 2.0 (Jethro)</s>    Line 29: Line 29:     ==<font color="blue">Requirements</font>== ==<font color="blue">Requirements</font>==  +* Kubuntu 16.04 x64 (as of Dec 2018) for Poky 2.4 Rocko  * Kubuntu 18.04 x64 (as of Dec 2018) * Kubuntu 18.04 x64 (as of Dec 2018)  * For Poky 2.6 Thud see [http://www.yoctoproject.org/docs/2.6/mega-manual/mega-manual.html Yocto Project Poky 2.6 mega-manual] * For Poky 2.6 Thud see [http://www.yoctoproject.org/docs/2.6/mega-manual/mega-manual.html Yocto Project Poky 2.6 mega-manual] Oleg

Mirroring to github

Thu, 03/28/2019 - 16:49

← Older revision Revision as of 22:49, 28 March 2019 Line 3: Line 3:  * github: Create an empty  project with the same name on https://github.com - without any files * github: Create an empty  project with the same name on https://github.com - without any files  * github: Then "import code from another repository" - provide https url * github: Then "import code from another repository" - provide https url  +* Add a record to gitlab-sync/repos.json  * git.elphel.com: Add the webhook (take from an already mirrored project) * git.elphel.com: Add the webhook (take from an already mirrored project) Oleg

Poky manual

Thu, 03/28/2019 - 14:05

‎Setup

← Older revision Revision as of 20:05, 28 March 2019 Line 86: Line 86:    . ./oe-init-build-env   . ./oe-init-build-env    bitbake u-boot device-tree linux-xlnx core-image-elphel393   bitbake u-boot device-tree linux-xlnx core-image-elphel393  +''Temporary: linux-xlnx in Rocko depends on branch 'lwir' for x393. Change in projects.json line 42 from 'master' to 'lwir'.''  </font> </font>    Andrey.filippov

10393 manual

Thu, 03/21/2019 - 11:54

‎Changelog

← Older revision Revision as of 17:54, 21 March 2019 (2 intermediate revisions by the same user not shown)Line 330: Line 330:     ==<font color="blue">Firmware images</font>== ==<font color="blue">Firmware images</font>== −* [https://community.elphel.com/files/393/20180511/ '''20180511''']+* [https://community.elphel.com/files/393/20190321/ '''20190321''']  +* [https://community.elphel.com/files/393/20180511/ 20180511]  * [https://community.elphel.com/files/393/20180416/ 20180416] * [https://community.elphel.com/files/393/20180416/ 20180416] −* [https://community.elphel.com/files/393/20180406/ 20180406]      ===Changelog=== ===Changelog=== −  <font size='1'>'''==20180511=='''+  <font size='1'>'''==20190321=='''  + * overall minor changes  +  * fixed photofinish demo  + '''==20180511=='''    * added cron program   * added cron program    * multi cameras control interface   * multi cameras control interface Oleg

RTSP over UDP

Wed, 03/20/2019 - 12:20

‎Notes

← Older revision Revision as of 18:20, 20 March 2019 (11 intermediate revisions by the same user not shown)Line 6: Line 6:  ==Notes== ==Notes==    −* In situations when streaming across middleboxes (switches and other devices) make sure the camera link is the slowest one.+* '''In situations when streaming across middleboxes (switches and other devices) make sure the camera link to the closest network device is the slowest one or keep the image size small enough so it does not overflow any middlebox's buffers'''.  * Example congestion situatation: * Example congestion situatation: −  ''camera <-- 1000Mbps --> Gigabit switch <-- 100Mbps (PC NIC limited) --> PC''+  <font size=2>'''camera''' <-- 1000Mbps --> '''Gigabit switch''' <-- 100Mbps (PC NIC limited) --> '''PC'''</font>    PC might not get all the packets depending on switch's buffers sizes (e.g. for netgear GS105 has 128kB which gets overflowed at image sizes 200+kB)   PC might not get all the packets depending on switch's buffers sizes (e.g. for netgear GS105 has 128kB which gets overflowed at image sizes 200+kB)  * Setting link speed examples: * Setting link speed examples: Line 15: Line 15:  * dump UDP packets log on the camera (tcpdump if installed): * dump UDP packets log on the camera (tcpdump if installed):    tcpdump -i eth0 -n udp port <someport> -w packets.pcap   tcpdump -i eth0 -n udp port <someport> -w packets.pcap  +* log network packets on PC:  + '''wireshark''' works fine  * live555 is used by vlc and mplayer while gstreamer is standalone * live555 is used by vlc and mplayer while gstreamer is standalone    As UDP has no congestion control there might be several workarounds:   As UDP has no congestion control there might be several workarounds: Line 21: Line 23:  * Patching live555 options: * Patching live555 options:    1. Stick close to [https://tools.ietf.org/html/rfc4585 RFC4585] and [https://tools.ietf.org/html/rfc6679 RFC6679], also checkout [https://tools.ietf.org/html/rfc8087 RFC8087] & [https://tools.ietf.org/html/rfc8311 RFC8311]?   1. Stick close to [https://tools.ietf.org/html/rfc4585 RFC4585] and [https://tools.ietf.org/html/rfc6679 RFC6679], also checkout [https://tools.ietf.org/html/rfc8087 RFC8087] & [https://tools.ietf.org/html/rfc8311 RFC8311]? −  2. In live555 make RTCP RR reports sent out by the receiver for every 50 (or any other number) packets received - implement handling this info in the sender (camera)+  2. Make RTCP RR reports sent out by the receiver for every 50 (or any other number) packets received - implement handling this info in the sender (camera)    Implementing 2:   Implementing 2:       <font size=2>'''RTCP.c:'''      <font size=2>'''RTCP.c:''' Line 41: Line 43:                   '''// here fRTCPInstanceForMultiplexedRTCPPackets is just reused'''                  '''// here fRTCPInstanceForMultiplexedRTCPPackets is just reused'''                   fRTCPInstanceForMultiplexedRTCPPackets->sendReport();                  fRTCPInstanceForMultiplexedRTCPPackets->sendReport(); −     }+            } − }</font>+        }</font>  +* Patching gstreamer:  + First, need to find how to make gstreamer send RR reports. Then proceed as with live555.     ==Other links== ==Other links==  +* [https://www.dataexpedition.com/support/notes/tn0021.html Loss, Latency, and Speed] - some general info  +* [https://tools.ietf.org/html/rfc4585 RFC4585]: Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)  +* [https://tools.ietf.org/html/rfc6679 RFC6679]: Explicit Congestion Notification (ECN) for RTP over UDP  +* [https://tools.ietf.org/html/rfc8087 RFC8087]: The Benefits of Using Explicit Congestion Notification (ECN)  +* [https://tools.ietf.org/html/rfc8311 RFC8311]: Relaxing Restrictions on Explicit Congestion Notification (ECN) Experimentation     [[Category:393]] [[Category:393]] Oleg

RTSP over UDP

Wed, 03/20/2019 - 12:17

‎Notes

← Older revision Revision as of 18:17, 20 March 2019 (8 intermediate revisions by the same user not shown)Line 8: Line 8:  * In situations when streaming across middleboxes (switches and other devices) make sure the camera link is the slowest one. * In situations when streaming across middleboxes (switches and other devices) make sure the camera link is the slowest one.  * Example congestion situatation: * Example congestion situatation: −  ''camera <-- 1000Mbps --> Gigabit switch <-- 100Mbps (PC NIC limited) --> PC''+  <font size=2>'''camera''' <-- 1000Mbps --> '''Gigabit switch''' <-- 100Mbps (PC NIC limited) --> '''PC'''</font>    PC might not get all the packets depending on switch's buffers sizes (e.g. for netgear GS105 has 128kB which gets overflowed at image sizes 200+kB)   PC might not get all the packets depending on switch's buffers sizes (e.g. for netgear GS105 has 128kB which gets overflowed at image sizes 200+kB)  * Setting link speed examples: * Setting link speed examples: Line 15: Line 15:  * dump UDP packets log on the camera (tcpdump if installed): * dump UDP packets log on the camera (tcpdump if installed):    tcpdump -i eth0 -n udp port <someport> -w packets.pcap   tcpdump -i eth0 -n udp port <someport> -w packets.pcap  +* log network packets on PC:  + '''wireshark''' works fine  * live555 is used by vlc and mplayer while gstreamer is standalone * live555 is used by vlc and mplayer while gstreamer is standalone    As UDP has no congestion control there might be several workarounds:   As UDP has no congestion control there might be several workarounds: Line 21: Line 23:  * Patching live555 options: * Patching live555 options:    1. Stick close to [https://tools.ietf.org/html/rfc4585 RFC4585] and [https://tools.ietf.org/html/rfc6679 RFC6679], also checkout [https://tools.ietf.org/html/rfc8087 RFC8087] & [https://tools.ietf.org/html/rfc8311 RFC8311]?   1. Stick close to [https://tools.ietf.org/html/rfc4585 RFC4585] and [https://tools.ietf.org/html/rfc6679 RFC6679], also checkout [https://tools.ietf.org/html/rfc8087 RFC8087] & [https://tools.ietf.org/html/rfc8311 RFC8311]? −  2. In live555 make RTCP RR reports sent out by the receiver for every 50 (or any other number) packets received - implement handling this info in the sender (camera)+  2. Make RTCP RR reports sent out by the receiver for every 50 (or any other number) packets received - implement handling this info in the sender (camera)    Implementing 2:   Implementing 2:       <font size=2>'''RTCP.c:'''      <font size=2>'''RTCP.c:''' Line 41: Line 43:                   '''// here fRTCPInstanceForMultiplexedRTCPPackets is just reused'''                  '''// here fRTCPInstanceForMultiplexedRTCPPackets is just reused'''                   fRTCPInstanceForMultiplexedRTCPPackets->sendReport();                  fRTCPInstanceForMultiplexedRTCPPackets->sendReport(); −     }+            } − }</font>+        }</font>  +* Patching gstreamer:  + First, need to find how to make gstreamer send RR reports. Then proceed as with live555.     ==Other links== ==Other links==  +* [https://www.dataexpedition.com/support/notes/tn0021.html Loss, Latency, and Speed] - some general info  +* [https://tools.ietf.org/html/rfc4585 RFC4585]: Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)  +* [https://tools.ietf.org/html/rfc6679 RFC6679]: Explicit Congestion Notification (ECN) for RTP over UDP  +* [https://tools.ietf.org/html/rfc8087 RFC8087]: The Benefits of Using Explicit Congestion Notification (ECN)  +* [https://tools.ietf.org/html/rfc8311 RFC8311]: Relaxing Restrictions on Explicit Congestion Notification (ECN) Experimentation     [[Category:393]] [[Category:393]] Oleg

RTSP over UDP

Wed, 03/20/2019 - 11:27

Created page with "==About== * 10393 series * /usr/bin/str ==Notes== * In situations when streaming across middleboxes (switches and other devices) make sure the camera link is the slowest on..."

New page

==About==

* 10393 series
* /usr/bin/str

==Notes==

* In situations when streaming across middleboxes (switches and other devices) make sure the camera link is the slowest one.
* Example congestion situatation:
''camera <-- 1000Mbps --> Gigabit switch <-- 100Mbps (PC NIC limited) --> PC''
PC might not get all the packets depending on switch's buffers sizes (e.g. for netgear GS105 has 128kB which gets overflowed at image sizes 200+kB)
* Setting link speed examples:
ethtool -s eth0 speed 100 duplex half autoneg off
ethtool -s eth0 speed 1000 duplex full autoneg off
* dump UDP packets log on the camera (tcpdump if installed):
tcpdump -i eth0 -n udp port <someport> -w packets.pcap
* live555 is used by vlc and mplayer while gstreamer is standalone
As UDP has no congestion control there might be several workarounds:
1. patch live555 and gstreamer
2. slow down camera link
* Patching live555 options:
1. Stick close to [https://tools.ietf.org/html/rfc4585 RFC4585] and [https://tools.ietf.org/html/rfc6679 RFC6679], also checkout [https://tools.ietf.org/html/rfc8087 RFC8087] & [https://tools.ietf.org/html/rfc8311 RFC8311]?
2. In live555 make RTCP RR reports sent out by the receiver for every 50 (or any other number) packets received - implement handling this info in the sender (camera)
Implementing 2:
<font size=2>'''RTCP.c:'''
if (fSource != NULL && fSource->RTPgs() == RTCPgs) {
// We're receiving RTCP reports that are multiplexed with RTP, so ask the RTP source
// to give them to us:
fSource->registerForMultiplexedRTCPPackets(this);
} else {
'''// need to register our RTCP instance here it will be passed to MultiFramedRTPSource.c which receive RTP packets'''
'''// just reused the instance for multiplexed packets'''
fSource->registerForMultiplexedRTCPPackets(this);
}
'''MultiFramedRTPSource.c:'''
receptionStatsDB().noteIncomingPacket(...)
'''// insert after this line something like:'''
int pnum = receptionStatsDB().totNumPacketsReceived();
if ((pnum%50)==0){
if (fRTCPInstanceForMultiplexedRTCPPackets!=NULL){
'''// here fRTCPInstanceForMultiplexedRTCPPackets is just reused'''
fRTCPInstanceForMultiplexedRTCPPackets->sendReport();
}
}</font>

==Other links==

[[Category:393]]
[[Category:streamer]]
[[Category:str]]
[[Category:gstreamer]]
[[Category:rtsp]]
[[Category:udp]] Oleg

Poky manual

Wed, 03/13/2019 - 15:51

‎Setup

← Older revision Revision as of 21:51, 13 March 2019 (2 intermediate revisions by the same user not shown)Line 77: Line 77:     ==<font color="blue">Setup</font>== ==<font color="blue">Setup</font>==  +  +* Poky 2.4 Rocko (Kubuntu 16.04)  +<font size='2'>  + git clone -b '''rocko''' https://git.elphel.com/Elphel/elphel393.git  + cd elphel393  + ./setup.py  + cd poky  + . ./oe-init-build-env  + bitbake u-boot device-tree linux-xlnx core-image-elphel393  +</font>  +  * Poky 2.6 Thud (Kubuntu 18.04) * Poky 2.6 Thud (Kubuntu 18.04)  <font size='2'> <font size='2'> −  git clone -b thud https://git.elphel.com/Elphel/elphel393.git+  git clone -b '''thud''' https://git.elphel.com/Elphel/elphel393.git    cd elphel393   cd elphel393    ./setup.py   ./setup.py Oleg

Pages