Elphel camera parts 0353-99
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}} ---- ---- OlegTrigger 393
Trigger 393
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 OlegElphel camera parts 0393-28
Driverless mode 393
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 OlegElphel camera parts 0393-28
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.filippovElphel camera parts 0393-28
Elphel camera parts 0393-28
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
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.filippovFile:Eclipse cdt.png
Andrey.filippov uploaded File:Eclipse cdt.png
New page
== Licensing =={{GNU FDLv1.3 }} Andrey.filippov
Poky manual
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.filippovPoky manual
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] OlegMirroring to github
Poky manual
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.filippov10393 manual
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 OlegRTSP over UDP
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]] OlegRTSP over UDP
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]] OlegRTSP over UDP
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
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