Commit 5534527a authored by Mikhail Karpenko's avatar Mikhail Karpenko
Browse files

Merge branch 'test'

 Conflicts resolved:
	imgsrv.c
parents 1fa52b3a a3eb9430
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -21,14 +21,14 @@
							<builder id="org.eclipse.cdt.build.core.settings.default.builder.580164057" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
							<tool id="org.eclipse.cdt.build.core.settings.holder.libs.2129855326" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
							<tool id="org.eclipse.cdt.build.core.settings.holder.745731625" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1859993711" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath"/>
								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1859993711" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths"/>
								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.58661368" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
							</tool>
							<tool id="org.eclipse.cdt.build.core.settings.holder.1227611439" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1739426241" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
							</tool>
							<tool id="org.eclipse.cdt.build.core.settings.holder.176385540" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1931881995" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1931881995" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/linux-elphel/linux/source/include/elphel}&quot;"/>
									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/linux-elphel/sysroots/elphel393/usr/include}&quot;"/>
								</option>
+6 −2
Original line number Diff line number Diff line
@@ -9,6 +9,9 @@
      dlen: length of a variable data field, stored in frame buffer
      ltag: Exif_tag+(group<<16). If specified, is used by the software, while the Exif output will still have tag
      SubSecTimeOriginal should go immediately after DateTimeOriginal (in the sequence numbers, not in the Exif templete)
      
      Update, June 2016: PageNumber field is used as sensor port number, HostComputer field is replaced with CameraSerialNumber and
            FrameNumber field (which actually was IPTCNAA field) is replaced with standart ImageNumber field.
    -->
<Exif>
 <Image>
@@ -22,9 +25,10 @@
   <DateTime tag="0x0132" format="ASCII" count="20"  seq="1" dlen="20">
     <value>2001:06:21 12:00:00</value>
   </DateTime>
   <HostComputer tag="0x013c" format="ASCII" function="SERIAL"/>
   <FrameNumber  tag="0x83bb" format="LONG" count="1"  seq="25" dlen="4"/>
   <CameraSerialNumber tag="0xc62f" format="ASCII" function="SERIAL"/>
   <ImageNumber  tag="0x9211" format="LONG" count="1"  seq="25" dlen="4"/>
   <Orientation  tag="0x112"  format="SHORT" count="1"  seq="27" dlen="2"/>
   <PageNumber   tag="0x129"  format="SHORT" count="1"  seq="28" dlen="2"/>
   <ExifTag tag="0x8769" format="LONG" function="EXIFTAG"/>
   <GPSTag tag="0x08825" format="LONG" function="GPSTAG"/>
 </Image>
+24 −3
Original line number Diff line number Diff line
@@ -2,9 +2,30 @@

PORT=2323

if [ $1 == "nodebug" ]; then
    echo file circbuf.c -pfl > /sys/kernel/debug/dynamic_debug/control
    echo file sensor_common.c -pfl > /sys/kernel/debug/dynamic_debug/control
    echo file jpeghead.c -pfl > /sys/kernel/debug/dynamic_debug/control
	exit 0
elif [ $1 == "dump_state" ]; then
    echo "func circbuf_valid_ptr +p" > /sys/kernel/debug/dynamic_debug/control 
    echo "func get_image_length +p" > /sys/kernel/debug/dynamic_debug/control
    echo "func dump_interframe_params +p" > /sys/kernel/debug/dynamic_debug/control 
    echo "func dump_state +p" > /sys/kernel/debug/dynamic_debug/control 
	exit 0
elif [ $1 == "full_debug" ]; then
    echo file circbuf.c +pfl > /sys/kernel/debug/dynamic_debug/control
    echo file sensor_common.c +pfl > /sys/kernel/debug/dynamic_debug/control
    echo file jpeghead.c +pfl > /sys/kernel/debug/dynamic_debug/control
	exit 0
else
	# default, turn  off all
    echo file circbuf.c -pfl > /sys/kernel/debug/dynamic_debug/control
    echo file sensor_common.c -pfl > /sys/kernel/debug/dynamic_debug/control
    echo file jpeghead.c -pfl > /sys/kernel/debug/dynamic_debug/control
fi


 
if [ ! -e /dev/circbuf0 ]; then
	mknod /dev/circbuf0 c 135 32
+523 −515
Original line number Diff line number Diff line
#!/usr/local/sbin/php -q
#!/usr/bin/env php
<?php
/*!
 *! FILE NAME  : exif.php
@@ -16,7 +16,7 @@
 *! exif=0         - print current Exif page (updated in real time)
 *! exif=NNN       - print one of the Exif pages in the buffer (debug feature, current buffer pointer is not known here)
 *!
*! Copyright (C) 2007-2008 Elphel, Inc
 *! Copyright (C) 2007-2016 Elphel, Inc
 *! -----------------------------------------------------------------------------**
 *!
 *!  This program is free software: you can redistribute it and/or modify
@@ -90,6 +90,10 @@ $ExifDeviceMetadirFilename= "/dev/exif_metadir";
$ExifDeviceExifFilename=    "/dev/exif_exif";
$ExifDeviceMetaFilename=    "/dev/exif_meta";

$DeviceSNFilename = "/sys/devices/soc0/elphel393-init/serial";
$DeviceRevisionFilename = "/sys/devices/soc0/elphel393-init/revision";
$DeviceBrand = "Elphel";
$DeviceModel = "Elphel393";

//! if called from the command line - accepts just one parameter - configuration file,
//! through CGI - accepts more parameters
@@ -454,11 +458,12 @@ function addDirEntry($ifd_entry) {

function substitute_value($ifd_entry) {
	global $SUB_IFD_offset,$GPSInfo_offset;
	global $DeviceSNFilename, $DeviceRevisionFilename, $DeviceBrand, $DeviceModel;
	$attrs = $ifd_entry->attributes();

	switch ($attrs["function"]) {
	case "BRAND":
      $ifd_entry->addChild ('value',exec("bootblocktool -x BRAND"));
		$ifd_entry->addChild('value', $DeviceBrand);
		break;
	case "MODEL":
		if (file_exists ('/var/state/APPLICATION')) {
@@ -467,17 +472,20 @@ function substitute_value($ifd_entry) {
				$model.=' CHN'.file_get_contents('/var/state/APPLICATION_MODE');
			}
		} else {
       $model= exec("bootblocktool -x MODEL").exec("bootblocktool -x REVISION");
			$model = $DeviceModel;
		}
///      $ifd_entry->addChild ('value',exec("bootblocktool -x MODEL").exec("bootblocktool -x REVISION"));
		$ifd_entry->addChild ('value',$model);

		break;
	case "SOFTWARE":
		if (file_exists("/usr/html/docs/")) {
			$ifd_entry->addChild ('value',exec("ls /usr/html/docs/")); // filter
		}
		break;
	case "SERIAL":
      $s=exec("bootblocktool -x SERNO");
		$s = "";
		if (file_exists($DeviceSNFilename)) {
			$s = exec('cat '.$DeviceSNFilename);
		}
		$ifd_entry->addChild ('value',substr($s,0,2).":".substr($s,2,2).":".substr($s,4,2).":".substr($s,6,2).":".substr($s,8,2).":".substr($s,10,2));
		break;
	case "EXIFTAG":