Commit 3f787424 authored by Mikhail Karpenko's avatar Mikhail Karpenko
Browse files

Add imgsrv from elphel353

This commit adds almost non modified files from elphel353 source tree.
Changes made to source files include additional debug output, commented
out code and updates to source paths in makefile and includes.
parents
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/imgsrv/run_bitbake.sh}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="apps-imgsrv -c compile -f"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
</launchConfiguration>

Exif_template.xml

0 → 100644
+107 −0
Original line number Diff line number Diff line
<?xml version="1.0" standalone="yes"?>
<!--
    attributes:
      tag - Exif tag (full tag in the camera will combine tag and group<<16
      format: format (BYTE/ASCII/SHORT/LONG/RATIONAL/UNDEFINED?SLONG?SRATIONAL
      count: number of values (characters in ASCII)
      seq: sequence number of the variable data field (stored in a frame buffer) 
             If not specified - static data
      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)
    -->
<Exif>
 <Image>
   <ImageDescription tag="0x010e" format="ASCII" count="65" seq="16" dlen="64">
<!--     <value>Description 0x41 bytes long                                      </value>-->
     <value>Description 0x40 bytes long</value>
   </ImageDescription>
   <Make tag="0x010f" format="ASCII" function="BRAND"/>
   <Model    tag="0x0110" format="ASCII" function="MODEL"/>
   <Software tag="0x0131" format="ASCII" function="SOFTWARE"/>
   <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"/>
   <Orientation  tag="0x112"  format="SHORT" count="1"  seq="27" dlen="2"/>
   <ExifTag tag="0x8769" format="LONG" function="EXIFTAG"/>
   <GPSTag tag="0x08825" format="LONG" function="GPSTAG"/>
 </Image>
 <Photo>
   <ExposureTime tag="0x829a" format="RATIONAL" seq="3" dlen="4">
     <nominator>1</nominator> <denominator>1000000</denominator>
   </ExposureTime>
   <DateTimeOriginal tag="0x9003" format="ASCII" count="20" seq="5" dlen="20">
     <value>2001:06:21 12:00:00</value>
   </DateTimeOriginal>
   <SubSecTimeOriginal tag="0x9291" format="ASCII" count="7" seq="6" dlen="7">
     <value>0      </value>
   </SubSecTimeOriginal>
   <MakerNote  tag="0x927c" format="LONG" count="16"  seq="26" dlen="64"/>
 </Photo>
 <GPSInfo>
   <GPSVersionID tag="0x0" format= "BYTE" count="4">
     <value>2</value>
     <value>2</value>
     <value>0</value>
     <value>0</value>
   </GPSVersionID>
   <GPSLatitudeRef tag="0x1" format= "ASCII" count="2"  seq="7" dlen="1">
     <value>N</value>
   </GPSLatitudeRef>
   <GPSLatitude tag="0x2" format= "RATIONAL" count="3"  seq="8" dlen="16">
     <nominator>0</nominator><denominator>1</denominator>
     <nominator>0</nominator><denominator>1</denominator>
     <nominator>0</nominator><denominator>1</denominator>
   </GPSLatitude>
   <GPSLongitudeRef tag="0x3" format= "ASCII" count="2"  seq="9" dlen="1">
     <value>W</value>
   </GPSLongitudeRef>
   <GPSLongitude tag="0x4" format= "RATIONAL" count="3"   seq="10" dlen="16">
     <nominator>0</nominator><denominator>1</denominator>
     <nominator>0</nominator><denominator>1</denominator>
     <nominator>0</nominator><denominator>1</denominator>
   </GPSLongitude>
   <GPSAltitudeRef tag="0x5" format= "BYTE" count="1" seq="11" dlen="1">
     <value>0x0</value>
   </GPSAltitudeRef>
   <GPSAltitude tag="0x6" format= "RATIONAL" count="1" seq="12" dlen="8">
     <nominator>0</nominator><denominator>1</denominator>
   </GPSAltitude>
   <GPSTimeStamp tag="0x7" format= "RATIONAL" count="3" seq="13" dlen="24">
     <nominator>0</nominator><denominator>1</denominator>
     <nominator>0</nominator><denominator>1</denominator>
     <nominator>0</nominator><denominator>1</denominator>
   </GPSTimeStamp>
   <GPSMeasureMode tag="0xa" format= "ASCII" count="2"  seq="15" dlen="1">
     <value>0</value>
   </GPSMeasureMode>
   <GPSDateStamp tag="0x1d" format= "ASCII" count="11" seq="14" dlen="11">
     <value>0000:00:00</value> 
   </GPSDateStamp>
<!--Compass fileds - hack: using dest lat/long  as no roll/pitch fields are available in Exif-->
   <CompassDirectionRef tag="0x10" format= "ASCII" count="2">
     <value>M</value>
   </CompassDirectionRef>
   <CompassDirection tag="0x11" format= "RATIONAL" count="1" seq="20" dlen="8">
     <nominator>0</nominator><denominator>10</denominator>
   </CompassDirection>
   <CompassPitchRef tag="0x13" format= "ASCII" count="2"  seq="21" dlen="1">
     <value>N</value>
   </CompassPitchRef>
   <CompassPitch tag="0x14" format= "RATIONAL" count="3"  seq="22" dlen="8">
     <nominator>0</nominator><denominator>10</denominator>
     <nominator>0</nominator><denominator>1</denominator>
     <nominator>0</nominator><denominator>1</denominator>
   </CompassPitch>
   <CompassRollRef tag="0x15" format= "ASCII" count="2"  seq="23" dlen="1">
     <value>E</value>
   </CompassRollRef>
   <CompassRoll tag="0x16" format= "RATIONAL" count="3"  seq="24" dlen="8">
     <nominator>0</nominator><denominator>10</denominator>
     <nominator>0</nominator><denominator>1</denominator>
     <nominator>0</nominator><denominator>1</denominator>
   </CompassRoll>
 </GPSInfo>
</Exif>

Makefile

0 → 100644
+46 −0
Original line number Diff line number Diff line
AXIS_USABLE_LIBS = UCLIBC GLIBC
#include $(AXIS_TOP_DIR)/tools/build/Rules.axis

INSTDIR    = $(prefix)/usr/local/sbin/
PHPDIR   = $(prefix)/usr/html/
CONFDIR   = $(prefix)/etc/
INSTMODE   = 0755
INSTOTHER  = 0644
INSTOWNER  = root
INSTGROUP  = root

INCDIR     = $(prefix)/include

PROGS      = imgsrv
#OTHERFILES = exif_init.php
PHPCLI = exif.php imu_setup.php start_gps_compass.php
CONFFILES  = Exif_template.xml 

SRCS = imgsrv.c

OBJS = imgsrv.o

CFLAGS   += -Wall -I$(ELPHEL_KERNEL_DIR)/include/elphel
#CFLAGS   += -Wall -I$(INCDIR) -I$(ELPHEL_KERNEL_DIR)/include 
#CFLAGS   += -Wall -I$(INCDIR) -I$(AXIS_KERNEL_DIR)/include -save-temps -dA -dP

all: $(PROGS)

$(PROGS): $(OBJS)
	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
#	cris-strip -s $@
install: $(PROGS)
	$(INSTALL) -d $(INSTDIR)
	$(INSTALL) -m $(INSTMODE) -o $(INSTOWNER) -g $(INSTGROUP) $(PROGS) $(INSTDIR)
	$(INSTALL) -d $(PHPDIR)
	$(INSTALL) -m $(INSTMODE) -o $(INSTOWNER) -g $(INSTGROUP) $(PHPCLI) $(PHPDIR)
	$(INSTALL) -d $(CONFDIR)
	$(INSTALL) -m $(INSTOTHER) -o $(INSTOWNER) -g $(INSTGROUP) $(CONFFILES) $(CONFDIR)
clean:
	rm -rf $(PROGS) *.o core
dependency:
	make depend
depend:
	makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null
	touch dependency
# DO NOT DELETE
Loading