Changeset 1326 for trunk


Ignore:
Timestamp:
09/10/11 03:01:22 (21 months ago)
Author:
philmoz
Message:

SX230HS from taliesin - http://chdk.setepontos.com/index.php?topic=650.msg72987#msg72987

Location:
trunk
Files:
47 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile

    r1325 r1326  
    242242        $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    243243        $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
     244        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
     245        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
    244246        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    245247        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
     
    346348        mv $(topdir)bin/$(VER)-sx220hs-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx220hs-101a-$(BUILD_NUMBER)_BETA.zip 
    347349        mv $(topdir)bin/$(VER)-sx220hs-101b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx220hs-101b-$(BUILD_NUMBER)_BETA.zip 
     350        mv $(topdir)bin/$(VER)-sx230hs-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx230hs-100c-$(BUILD_NUMBER)_BETA.zip 
     351        mv $(topdir)bin/$(VER)-sx230hs-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx230hs-101a-$(BUILD_NUMBER)_BETA.zip 
    348352        mv $(topdir)bin/$(VER)-sx130is-101c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx130is-101c-$(BUILD_NUMBER)_BETA.zip 
    349353        mv $(topdir)bin/$(VER)-sx130is-101d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx130is-101d-$(BUILD_NUMBER)_BETA.zip 
     
    453457        $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    454458        $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete      
     459        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete      
     460        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
    455461        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    456462        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
     
    617623        mv $(topdir)bin/sx220hs-101b-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx220hs-101b-$(BUILD_NUMBER)-full_BETA.zip 
    618624        mv $(topdir)bin/sx220hs-101b-$(BUILD_NUMBER).zip $(topdir)bin/sx220hs-101b-$(BUILD_NUMBER)_BETA.zip 
     625        mv $(topdir)bin/sx230hs-100c-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx230hs-100c-$(BUILD_NUMBER)-full_BETA.zip 
     626        mv $(topdir)bin/sx230hs-100c-$(BUILD_NUMBER).zip $(topdir)bin/sx230hs-100c-$(BUILD_NUMBER)_BETA.zip 
     627        mv $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER)-full_BETA.zip 
     628        mv $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER).zip $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER)_BETA.zip 
    619629        mv $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)-full_BETA.zip 
    620630        mv $(topdir)bin/sx130is-101c-$(BUILD_NUMBER).zip $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)_BETA.zip 
     
    723733        $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    724734        $(MAKE) -s --no-print-directory PLATFORM=sx220hs  PLATFORMSUB=101b NO_INC_BUILD=1 clean 
     735        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
     736        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=101a NO_INC_BUILD=1 clean 
    725737        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    726738        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100d NO_INC_BUILD=1 clean 
  • trunk/core/dng.c

    r1317 r1326  
    5151 {0x8298, T_ASCII,     1,  0}, // Copyright 
    5252 {0x8769, T_LONG,      1,  0}, //EXIF_IFD offset 
     53#if defined(OPT_GPS) 
     54 {0x8825, T_LONG,      1,  0}, //GPS_IFD offset 
     55#endif 
    5356 {0x9216, T_BYTE,      4,  0x00000001},  // TIFF/EPStandardID: 1.0.0.0 
    5457 {0xC612, T_BYTE,      4,  0x00000101}, //DNGVersion: 1.1.0.0 
     
    111114 
    112115 
     116#if defined(OPT_GPS) 
     117struct dir_entry GPS_IFD[]={ 
     118// {0x0000, T_BYTE,      4,  0x00000302}, //GPSVersionID: 2 3 0 0 
     119 {0x0001, T_ASCII,     2,  0}, //North or South Latitude "N\0" or "S\0" 
     120 {0x0002, T_RATIONAL,  3,  0}, //Latitude 
     121 {0x0003, T_ASCII,     2,  0}, //East or West Latitude "E\0" or "W\0" 
     122 {0x0004, T_RATIONAL,  3,  0}, //Longitude 
     123 {0x0005, T_ASCII,     2,  0}, //AltitudeRef 
     124 {0x0006, T_RATIONAL,  3,  0}, //Altitude 
     125 {0x0007, T_RATIONAL,  3,  0}, //TimeStamp 
     126 {0x0009, T_ASCII,     2,  0}, //Status 
     127// {0x000A, T_ASCII,     1,  0}, //MeasureMode 
     128 {0x0012, T_ASCII,     8,  0}, //MapDatum 7 + 1 pad byte 
     129 {0x001D, T_ASCII,    12,  0}, //DateStamp 11 + 1 pad byte 
     130 {0} 
     131}; 
     132#endif 
     133 
     134 
    113135int get_type_size(int type){ 
    114136 switch(type){ 
     
    129151} 
    130152 
     153#if defined(OPT_GPS) 
     154struct {struct dir_entry* entry; int count;} IFD_LIST[]={{IFD0,0}, {IFD1,0}, {EXIF_IFD,0}, {GPS_IFD, 0}}; 
     155#else 
    131156struct {struct dir_entry* entry; int count;} IFD_LIST[]={{IFD0,0}, {IFD1,0}, {EXIF_IFD,0}}; 
     157#endif 
    132158 
    133159#define IFDs (sizeof(IFD_LIST)/sizeof(IFD_LIST[0])) 
     
    150176 
    151177 // filling EXIF fields 
     178   
     179#if defined(OPT_GPS) 
     180typedef struct { 
     181    int latitudeRef; 
     182    int latitude[6]; 
     183    int longitudeRef; 
     184    int longitude[6]; 
     185    int heightRef; 
     186    int height[2]; 
     187    int timeStamp[6]; 
     188    short status; 
     189    char mapDatum[7]; 
     190    char dateStamp[11]; 
     191    char unknown2[260]; 
     192} tGPS; 
     193tGPS gps; 
     194 
     195get_property_case(PROPCASE_GPS, &gps, sizeof(tGPS)); 
     196#endif 
    152197 
    153198 for (j=0;j<IFDs;j++) { 
     
    169214     case 0x9201: IFD_LIST[j].entry[i].offset=(int)get_shutter_speed_for_exif(exif_data->tv); break; // ShutterSpeedValue 
    170215     case 0x9202: IFD_LIST[j].entry[i].offset=(int)get_aperture_for_exif(exif_data->av); break; // ApertureValue 
     216#if defined(OPT_GPS) 
     217     case 0x0001: IFD_LIST[j].entry[i].offset=gps.latitudeRef; break; 
     218     case 0x0002: IFD_LIST[j].entry[i].offset=(int)&(gps.latitude); break; 
     219     case 0x0003: IFD_LIST[j].entry[i].offset=gps.longitudeRef; break; 
     220     case 0x0004: IFD_LIST[j].entry[i].offset=(int)&(gps.longitude); break; 
     221     case 0x0005: IFD_LIST[j].entry[i].offset=gps.heightRef; break; 
     222     case 0x0006: IFD_LIST[j].entry[i].offset=(int)&(gps.height); break; 
     223     case 0x0007: IFD_LIST[j].entry[i].offset=(int)&(gps.timeStamp); break; 
     224     case 0x0009: IFD_LIST[j].entry[i].offset=(int)gps.status; break; 
     225     case 0x0012: IFD_LIST[j].entry[i].offset=(int)&(gps.mapDatum); break; 
     226     case 0x001D: IFD_LIST[j].entry[i].offset=(int)&(gps.dateStamp); break; 
     227#endif 
    171228    } 
    172229  } 
     
    204261  for(i=0; IFD_LIST[j].entry[i].tag; i++) { 
    205262   if (IFD_LIST[j].entry[i].tag==0x8769) IFD_LIST[j].entry[i].offset=TIFF_HDR_SIZE+(IFD_LIST[0].count+IFD_LIST[1].count)*12+6+6;  // EXIF IFD offset 
     263#if defined(OPT_GPS) 
     264   if (IFD_LIST[j].entry[i].tag==0x8825) IFD_LIST[j].entry[i].offset=TIFF_HDR_SIZE+(IFD_LIST[0].count+IFD_LIST[1].count+IFD_LIST[2].count)*12+6+6+6;  // GPS IFD offset 
     265#endif 
    206266   if (IFD_LIST[j].entry[i].tag==0x14A)  IFD_LIST[j].entry[i].offset=TIFF_HDR_SIZE+IFD_LIST[0].count*12+6; // SubIFDs offset 
    207267   if (IFD_LIST[j].entry[i].tag==0x111)  { 
  • trunk/core/gui.c

    r1312 r1326  
    13651365    static const char* names[]={ "Print", "Display"}; 
    13661366    static const int keys[] = {KEY_PRINT, KEY_DISPLAY}; 
    1367 #elif defined(CAMERA_sx220hs) 
     1367#elif defined(CAMERA_sx220hs) || defined(CAMERA_sx230hs) 
    13681368    static const char* names[]={ "Disp+Set", "Display", "Playback", "Video"}; 
    13691369    static const int keys[] = {KEY_PRINT, KEY_DISPLAY, KEY_PLAYBACK, KEY_VIDEO}; 
  • trunk/core/kbd.c

    r1308 r1326  
    103103#endif 
    104104 
    105 #if defined(CAMERA_sx200is) || defined(CAMERA_sx130is) || defined(CAMERA_sx220hs) 
     105#if defined(CAMERA_sx200is) || defined(CAMERA_sx130is) || defined(CAMERA_sx220hs) || defined(CAMERA_sx230hs) 
    106106#define ZSTEP_TABLE_SIZE 7 
    107107static int nTxtbl[]={0,16,32,62,78,102,125}; 
  • trunk/include/propset4.h

    r1324 r1326  
    5757#define PROPCASE_ASPECT_RATIO                    300 
    5858 
     59#define PROPCASE_GPS                                                     359    //for sx230hs 
     60 
    5961#endif 
  • trunk/makefile.inc

    r1325 r1326  
    376376#PLATFORM=sx220hs 
    377377#PLATFORMSUB=101b 
     378 
     379#PLATFORM=sx230hs 
     380#PLATFORMSUB=100c 
     381 
     382#PLATFORM=sx230hs 
     383#PLATFORMSUB=101a 
     384 
    378385 
    379386MEMISOSIZE="(&_end-&_start)" 
Note: See TracChangeset for help on using the changeset viewer.