Changeset 461


Ignore:
Timestamp:
08/01/08 19:52:37 (5 years ago)
Author:
phyrephox
Message:

+ new OSD Element - Temperature

+ video quality control added. when enabled (in video overrides), by the use of the up/down button you can increase or decrease movie quality OR bitrate (depends on what you enabled in the video override menu) - WHILE you are recording!

  • changed Fast video control so that it isnt enabled at default, only works on a few cameras (pause and unpause movie by pressing left/right while recording) - needs further development
  • when using fast video control switch and the pause function now the remaining time calculation is reset, so it reflects the change in bitrate faster
  • changed a few default conf values (symbols now enabled at default, because symbol file now is served together with binary)

+ introduced new versioning system: 0.10 now, X.10 will be major release (and probably without bugs, with proper documentation, scripts, optimized etc), 0.X0 will be something like "new features, a bit ironing out etc", 0.1X will be just bugfixes and really small changes
+ added vers.req to svn, will be included in zipfile when autobuilded, will definitly be useful...
+ wrote two sample readmes, one for dryos, one for vxworks, they are included in the batch-zip-complete archives, in respect to OS version. these are just drafts, need input from you. yeah you heard me, from YOU!
+ added version.txt that will also be included in said archive, reflecting latest changes. it is not cleaned up as of now, probably never will be, but gives a rough overview over latest development
+ added ubasic statement case/select switch by CHDKLover from here: http://chdk.setepontos.com/index.php/topic,1995.0.html as of now i chose the "safe" method, the multi statement, due to people not reacting. hopefully they test it in this build so we can decide on one option!

  • renamed get_movie_state to get_movie_status in ubasic

+ added command get_temperature (example: "get_temperature 0", 0 returns optical, 1 returns CCD and 2 returns battery temp)
+ added a few grids from the wiki
+ changed makefile bigtime: now with new command batch-zip-complete you now have an environment to compile a complete CHDK archive for each cam including binaries, readmes (according to OS), scripts, version history and so on. it is planned that the archive will be crammed with useful information (readmes, howtos - into the books folder), grids, scripts (working ones, universal ones, and also code fragments that will serve as examples), curves, symbols, fonts (copyright!?) and so on. as of now i just added a few of these, and some dummy texts so that zip file will accept the folders. again i need YOU to help on developing a good structure and good scripts, readmes and so on. with this build, people no longer need to sift through the wiki or the forum to find all the good stuff. at least i do hope so.

  • changed random command, now you can supply two values min & max.

example: "playsound random 3 6" will play the sounds 3,4,5,6 in random order (if repeated in a while loop)

+ added ewavrs sx100 patch from here: http://tools.assembla.com/chdk/changeset/460 (adjustable alt button)
+ added new command playsound. can and should be used from ubasic, via "playsound 0", where 0 is the startup sound. there are sounds ranging from 0 to 7, 7 being a nasty long beep. the first few sounds can only be played if they are NOT muted by the camera, the other beeps will be played though (cam must be unmuted though, didnt test it with the nasty error beep though i gotta admit). this feature will lead to many more features, for example anti theft protection together with DGs Disco lights ;)

0 = startup sound, 1 = shutter sound, 2 = button press sound, 3 = selftimer, 4 = short beep, 5 = af confirmation, 6 = error beep, 7 = long beeeeeeeeeeeeeeeeeeep (nasty!)

  • adjusted makefile.inc so that all cameras are in it now (defaulted to my s3is by the way, not that it should matter)

+ added whoever's fix for ixus950's touchwheel behaviour from here: http://chdk.setepontos.com/index.php/topic,2024.0.html

  • lng files (german & english), also copied to new folder CHDK\LANG (for gmake batch-zip-complete)

thanks to Ewavr, Hacki, reyalp, ljl, jucifer and all the guys hanging out in the irc chan ;)

ps: i hope i didnt forget anything or anyone.

p.p.s: introducing with this build we might actually have an autobuild server... wait and see in the forums...

Location:
branches/juciphox
Files:
24 added
76 edited
4 copied

Legend:

Unmodified
Added
Removed
  • branches/juciphox/CHDK/LANG/english.lng

    r459 r461  
    532532394 "scriptless" 
    533533395 "Fast Video Control?" 
     534396 "Temperature" 
     535397 "Show temperature?" 
     536398 "Video Quality Control?" 
  • branches/juciphox/CHDK/LANG/german.lng

    r459 r461  
    550550// Video 
    551551395 "Schnelle Video Kontrolle?" 
     552396 "Temperatur" 
     553397 "Zeige Temperatur?" 
     554398 "Video Qualität Kontrolle?" 
  • branches/juciphox/CHDK/SYMBOLS/icon_10.rbf

  • branches/juciphox/CHDK/SYMBOLS/icon_16.rbf

  • branches/juciphox/Makefile

    r459 r461  
    7676endif 
    7777        rm -f $(topdir)bin/DISKBOOT.BIN 
     78 
     79firzipsubcomplete: infoline clean firsub 
     80        @echo \-\> $(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip 
     81        rm -f $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip 
     82        LANG=C echo -e "CHDK-$(VER) for $(PLATFORM) fw:$(PLATFORMSUB) build:$(BUILD_NUMBER) date:`date -R`" | \ 
     83        zip -9jz $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/DISKBOOT.BIN > $(DEVNULL) 
     84        zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/SYMBOLS/*  
     85        zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/BOOKS/*  
     86        zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/CURVES/*  
     87        zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/FONTS/*  
     88        zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/GRIDS/* 
     89        zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/LANG/*   
     90        zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/SCRIPTS/*       
     91        zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)doc/version.txt 
     92        zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)tools/vers.req 
     93ifdef PLATFORMOS 
     94  ifeq ($(PLATFORMOS),vxworks) 
     95        cp $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB).FIR $(topdir)bin/PS.FIR 
     96        zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/PS.FIR > $(DEVNULL) 
     97        zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)doc/vxworks/readme.txt 
     98        rm -f $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB).FIR 
     99        rm -f $(topdir)bin/PS.FIR 
     100  endif 
     101  ifeq ($(PLATFORMOS),dryos) 
     102        zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)doc/dryos/readme.txt 
     103        #cp $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB).FI2 $(topdir)bin/PS.FI2 
     104        #zip -9jc $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/PS.FI2 > $(DEVNULL) 
     105        #rm -f $(topdir)bin/PS.FI2 
     106  endif 
     107endif 
     108        rm -f $(topdir)bin/DISKBOOT.BIN 
     109 
    78110 
    79111batch-zip: version 
     
    134166        @echo "**** All firmwares created successfully" 
    135167 
     168batch-zip-complete: version 
     169        $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
     170        $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
     171        $(MAKE) -s --no-print-directory PLATFORM=a620 PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
     172        $(MAKE) -s --no-print-directory PLATFORM=a630 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
     173        $(MAKE) -s --no-print-directory PLATFORM=a640 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
     174        $(MAKE) -s --no-print-directory PLATFORM=a700 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
     175        $(MAKE) -s --no-print-directory PLATFORM=a710 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
     176        $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
     177        $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
     178        $(MAKE) -s --no-print-directory PLATFORM=s2is PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
     179        $(MAKE) -s --no-print-directory PLATFORM=s3is PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
     180        $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
     181        $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
     182        $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100i NO_INC_BUILD=1 firzipsubcomplete 
     183        $(MAKE) -s --no-print-directory PLATFORM=g7   PLATFORMSUB=100j NO_INC_BUILD=1 firzipsubcomplete 
     184        $(MAKE) -s --no-print-directory PLATFORM=a530 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
     185        $(MAKE) -s --no-print-directory PLATFORM=a540 PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
     186        $(MAKE) -s --no-print-directory PLATFORM=a560 PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
     187        $(MAKE) -s --no-print-directory PLATFORM=a570 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
     188        $(MAKE) -s --no-print-directory PLATFORM=a570 PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
     189        #$(MAKE) -s --no-print-directory PLATFORM=s80  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
     190        $(MAKE) -s --no-print-directory PLATFORM=ixus700_sd500   PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
     191        $(MAKE) -s --no-print-directory PLATFORM=ixus700_sd500   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
     192        $(MAKE) -s --no-print-directory PLATFORM=ixus800_sd700   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
     193        $(MAKE) -s --no-print-directory PLATFORM=ixus800_sd700   PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
     194        $(MAKE) -s --no-print-directory PLATFORM=ixus850_sd800   PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete 
     195        $(MAKE) -s --no-print-directory PLATFORM=ixus860_sd870   PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
     196        $(MAKE) -s --no-print-directory PLATFORM=ixus950_sd850   PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete       
     197        #$(MAKE) -s --no-print-directory PLATFORM=ixus40_sd300    PLATFORMSUB=100k NO_INC_BUILD=1 firzipsubcomplete 
     198        $(MAKE) -s --no-print-directory PLATFORM=ixus50_sd400    PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
     199        $(MAKE) -s --no-print-directory PLATFORM=ixus50_sd400    PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
     200        $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
     201        $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
     202        $(MAKE) -s --no-print-directory PLATFORM=ixus55_sd450    PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
     203        $(MAKE) -s --no-print-directory PLATFORM=ixus65_sd630    PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
     204        $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
     205        $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
     206        $(MAKE) -s --no-print-directory PLATFORM=ixus70_sd1000   PLATFORMSUB=102a NO_INC_BUILD=1 firzipsubcomplete 
     207        #$(MAKE) -s --no-print-directory PLATFORM=ixusW_sd430     PLATFORMSUB=110a NO_INC_BUILD=1 firzipsubcomplete 
     208        $(MAKE) -s --no-print-directory PLATFORM=a720 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
     209        $(MAKE) -s --no-print-directory PLATFORM=a650 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
     210        $(MAKE) -s --no-print-directory PLATFORM=a450 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
     211        $(MAKE) -s --no-print-directory PLATFORM=a460 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
     212        $(MAKE) -s --no-print-directory PLATFORM=a550 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
     213        $(MAKE) -s --no-print-directory PLATFORM=s5is PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
     214        $(MAKE) -s --no-print-directory PLATFORM=s5is PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
     215        $(MAKE) -s --no-print-directory PLATFORM=tx1  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
     216        $(MAKE) -s --no-print-directory PLATFORM=tx1  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete 
     217        #$(MAKE) -s --no-print-directory PLATFORM=sx100is  PLATFORMSUB=100b NO_INC_BUILD=1 firzipsubcomplete 
     218        $(MAKE) -s --no-print-directory PLATFORM=sx100is  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
     219        $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100f NO_INC_BUILD=1 firzipsubcomplete 
     220        $(MAKE) -s --no-print-directory PLATFORM=ixus750_sd550  PLATFORMSUB=100g NO_INC_BUILD=1 firzipsubcomplete 
     221        $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600  PLATFORMSUB=100a NO_INC_BUILD=1 firzipsubcomplete 
     222        $(MAKE) -s --no-print-directory PLATFORM=ixus60_sd600  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
     223        @echo "**** All zipfiles including firmwares and extra stuff created successfully" 
     224 
     225 
     226 
    136227batch-clean: 
    137228        $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100e NO_INC_BUILD=1 clean 
  • branches/juciphox/core/conf.c

    r457 r461  
    5656static int def_batt_volts_max, def_batt_volts_min; 
    5757static OSD_pos def_histo_pos, def_dof_pos, def_batt_icon_pos, def_space_icon_pos, def_space_hor_pos, def_space_ver_pos, def_batt_txt_pos, def_space_txt_pos,  
    58                def_mode_state_pos, def_mode_raw_pos, def_mode_video_pos, def_mode_ev_pos, def_values_pos, def_clock_pos; 
     58               def_mode_state_pos, def_mode_raw_pos, def_mode_video_pos, def_mode_ev_pos, def_values_pos, def_clock_pos, def_temp_pos; 
    5959static int def_user_menu_vars[USER_MENU_ITEMS] = {0}; 
    6060 
     
    187187    CONF_INFO( 60, conf.raw_save_first_only,    CONF_DEF_VALUE, i:0, NULL), 
    188188    CONF_INFO( 61, conf.reader_wrap_by_words,   CONF_DEF_VALUE, i:0, NULL), 
    189     CONF_INFO( 62, conf.menu_symbol_rbf_file,   CONF_DEF_PTR,   ptr:"", conf_change_menu_symbol_rbf_file), 
     189    CONF_INFO( 62, conf.menu_symbol_rbf_file,   CONF_DEF_PTR,   ptr:"A/CHDK/SYMBOLS/icon_10.rbf", conf_change_menu_symbol_rbf_file), 
    190190    CONF_INFO( 63, conf.alt_mode_button,        CONF_DEF_VALUE, i:KEY_PRINT, conf_change_alt_mode_button), 
    191191    CONF_INFO( 64, conf.lang_file,              CONF_DEF_PTR,   ptr:"", NULL), 
     
    313313    CONF_INFO(174, conf.hide_osd_in_playback,   CONF_DEF_VALUE, i:0, NULL), 
    314314    CONF_INFO(175, conf.save_raw_in_video,      CONF_DEF_VALUE, i:0, NULL), 
    315     CONF_INFO(176, conf.show_movie_time,        CONF_DEF_VALUE, i:1, NULL), 
     315    CONF_INFO(176, conf.show_movie_time,        CONF_DEF_VALUE, i:3, NULL), 
    316316    CONF_INFO(177, conf.show_movie_refresh,     CONF_DEF_VALUE, i:1, NULL), 
    317317    CONF_INFO(178, conf.mode_video_pos,         CONF_DEF_PTR,   ptr:&def_mode_video_pos , NULL), 
     
    320320    CONF_INFO(181, conf.fast_ev_step,           CONF_DEF_VALUE, i:1, NULL), 
    321321    CONF_INFO(182, conf.mode_ev_pos,            CONF_DEF_PTR,   ptr:&def_mode_ev_pos , NULL), 
    322     CONF_INFO(183, conf.menu_symbol_enable,     CONF_DEF_VALUE, i:0, NULL), 
     322    CONF_INFO(183, conf.menu_symbol_enable,     CONF_DEF_VALUE, i:1, NULL), 
    323323    CONF_INFO(184, conf.menu_symbol_color,      CONF_DEF_VALUE, cl:MAKE_COLOR(COLOR_BG, COLOR_FG), NULL), 
    324324    CONF_INFO(185, conf.curve_file,             CONF_DEF_PTR, ptr:"", NULL), 
     
    339339                CONF_INFO(200, conf.raw_exceptions_warn,      CONF_DEF_VALUE, i:1, NULL), 
    340340                CONF_INFO(201, conf.menu_select_first_entry,      CONF_DEF_VALUE, i:1, NULL), 
    341                 CONF_INFO(202, conf.fast_movie_control,           CONF_DEF_VALUE, i:1, NULL), 
     341                CONF_INFO(202, conf.fast_movie_control,           CONF_DEF_VALUE, i:0, NULL), 
     342                CONF_INFO(203, conf.show_temp,           CONF_DEF_VALUE, i:1, NULL), 
     343                CONF_INFO(204, conf.temp_pos,              CONF_DEF_PTR,   ptr:&def_temp_pos , NULL), 
     344                CONF_INFO(205, conf.fast_movie_quality_control,           CONF_DEF_VALUE, i:1, NULL), 
    342345 
    343346}; 
     
    425428    def_clock_pos.x=vid_get_bitmap_screen_width()-5*FONT_WIDTH-2; 
    426429    def_clock_pos.y=0; 
     430    def_temp_pos.x=vid_get_bitmap_screen_width()-8*FONT_WIDTH-2; 
     431    def_temp_pos.y=1*FONT_HEIGHT; 
    427432} 
    428433 
  • branches/juciphox/core/gui.c

    r457 r461  
    7070 #define SHORTCUT_SET_HYPERFOCAL      KEY_DOWN 
    7171 
     72#elif defined(CAMERA_sx100is) 
     73//Alt mode 
     74 #define SHORTCUT_TOGGLE_RAW          KEY_ERASE 
     75//Half press shoot button     
     76 #define SHORTCUT_TOGGLE_HISTO        KEY_UP 
     77 #define SHORTCUT_TOGGLE_ZEBRA        KEY_DOWN 
     78 #define SHORTCUT_TOGGLE_OSD          KEY_RIGHT 
     79 #define SHORTCUT_DISABLE_OVERRIDES KEY_LEFT 
     80//Alt mode & Manual mode   
     81 #define SHORTCUT_SET_INFINITY        KEY_UP 
     82 #define SHORTCUT_SET_HYPERFOCAL      KEY_DOWN 
     83 
     84 
    7285#else 
    7386 
     
    126139static const char* gui_histo_show_enum(int change, int arg); 
    127140static const char* gui_histo_mode_enum(int change, int arg); 
     141static const char* gui_temp_mode_enum(int change, int arg); 
    128142static const char* gui_histo_layout_enum(int change, int arg); 
    129143static const char* gui_zebra_mode_enum(int change, int arg); 
     
    404418      {0x5c,LANG_MENU_CLEAR_VIDEO_VALUES,    MENUITEM_BOOL,    (int*)&conf.clear_video}, 
    405419      {0x5c,LANG_MENU_FAST_SWITCH_VIDEO,   MENUITEM_BOOL,  &conf.fast_movie_control}, 
     420      {0x5c,LANG_MENU_FAST_SWITCH_QUALITY_VIDEO,   MENUITEM_BOOL,  &conf.fast_movie_quality_control}, 
    406421#if CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 
    407422      {0x5c,LANG_MENU_OPTICAL_ZOOM_IN_VIDEO,   MENUITEM_BOOL,  &conf.unlock_optical_zoom_for_video},                                                     
     
    582597    {0x5c,LANG_MENU_USER_MENU_AS_ROOT,       MENUITEM_BOOL,      &conf.user_menu_as_root }, 
    583598    {0x5f,LANG_MENU_OSD_SHOW_STATES,         MENUITEM_BOOL,      &conf.show_state }, 
     599    {0x5f,LANG_MENU_OSD_SHOW_TEMP,         MENUITEM_ENUM,      (int*)gui_temp_mode_enum }, 
    584600    {0x72,LANG_MENU_OSD_LAYOUT_EDITOR,       MENUITEM_PROC,      (int*)gui_draw_osd_le }, 
    585601    {0x7f,LANG_MENU_EDGE_OVERLAY,         MENUITEM_SUBMENU,   (int*)&edge_overlay_submenu }, 
     
    838854 
    839855//------------------------------------------------------------------- 
     856const char* gui_temp_mode_enum(int change, int arg) { 
     857    static const char* modes[]={ "Off", "Optical","CCD","Battery","all" }; 
     858 
     859    conf.show_temp+=change; 
     860    if (conf.show_temp<0) 
     861        conf.show_temp=(sizeof(modes)/sizeof(modes[0]))-1; 
     862    else if (conf.show_temp>=(sizeof(modes)/sizeof(modes[0]))) 
     863        conf.show_temp=0; 
     864 
     865    return modes[conf.show_temp]; 
     866} 
     867 
     868//------------------------------------------------------------------- 
    840869const char* gui_histo_layout_enum(int change, int arg) { 
    841870    static const char* modes[]={ "RGB", "Y", "RGB Y",  "R G B", "RGB all", "Y all", "Blend", "Blend Y"}; 
     
    11521181    static const char* names[]={ "Print", "ISO"}; 
    11531182    static const int keys[]={ KEY_PRINT, KEY_ISO }; 
     1183#elif defined(CAMERA_sx100is) 
     1184    static const char* names[]={ "Print", "Face"}; 
     1185    static const int keys[]={ KEY_PRINT, KEY_FACE }; 
    11541186#else 
    11551187    #error camera alt-buttons not defined 
     
    21592191     if ((conf.show_clock) && (recreview_hold==0) &&  ((!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !conf.hide_osd_in_playback )))|| (conf.clock_halfpress==0) )) { 
    21602192        gui_osd_draw_clock(); 
    2161     } 
     2193            } 
     2194     
    21622195    else if ((conf.show_clock) && (recreview_hold==0) &&  kbd_is_key_pressed(KEY_SHOOT_HALF) && conf.clock_halfpress==1) { 
    21632196        gui_osd_draw_seconds(); 
    21642197    } 
    21652198  
     2199      if ((conf.show_temp>0) && (recreview_hold==0) &&  ((!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !conf.hide_osd_in_playback )))|| (conf.clock_halfpress==0) )) { 
     2200        gui_osd_draw_temp(); 
     2201      } 
    21662202 if (conf.show_movie_time > 0) 
    21672203 { 
     
    21882224        draw_txt_string(28, 10, osd_buf, conf.osd_color); 
    21892225 
    2190         sprintf(osd_buf, "2:%8x  ", physw_status[1]); 
     2226 sprintf(osd_buf, "2:%8x  ", physw_status[1]); 
     2227 
    21912228        draw_txt_string(28, 11, osd_buf, conf.osd_color); 
    21922229 
    2193         sprintf(osd_buf, "3:%8x  ", physw_status[2]); 
     2230sprintf(osd_buf, "3:%8x  ", physw_status[2]); 
     2231 
    21942232        draw_txt_string(28, 12, osd_buf, conf.osd_color); 
    21952233 
    21962234//      sprintf(osd_buf, "4:%8x  ", vid_get_viewport_fb_d()); 
    2197         sprintf(osd_buf, "4:%8x  ", get_usb_power(1)); 
     2235         sprintf(osd_buf, "4:%8x  ", get_usb_power(1)); 
    21982236        draw_txt_string(28, 13, osd_buf, conf.osd_color); 
    21992237    } 
  • branches/juciphox/core/gui_lang.c

    r453 r461  
    514514"394 \"scriptless\"\n" 
    515515"395 \"Fast Video Control?\"\n" 
     516"396 \"Temperature\"\n" 
     517"397 \"Show Temperature?\"\n" 
     518"398 \"Video Quality Control?\"\n" 
    516519; 
    517520 
  • branches/juciphox/core/gui_lang.h

    r453 r461  
    503503 
    504504#define LANG_MENU_FAST_SWITCH_VIDEO 395 
     505#define LANG_OSD_LAYOUT_EDITOR_TEMP 396 
     506#define LANG_MENU_OSD_SHOW_TEMP 397 
     507#define LANG_MENU_FAST_SWITCH_QUALITY_VIDEO 398 
     508 
     509 
    505510 
    506511//------------------------------------------------------------------- 
    507512 
    508 #define GUI_LANG_ITEMS                  395 
     513#define GUI_LANG_ITEMS                  398 
    509514 
    510515//------------------------------------------------------------------- 
  • branches/juciphox/core/gui_osd.c

    r457 r461  
    3737    {LANG_OSD_LAYOUT_EDITOR_SPACE_TEXT,   &conf.space_txt_pos,     {5*FONT_WIDTH, FONT_HEIGHT}     }, 
    3838    {LANG_OSD_LAYOUT_EDITOR_CLOCK,      &conf.clock_pos,        {5*FONT_WIDTH, FONT_HEIGHT}     }, 
     39    {LANG_OSD_LAYOUT_EDITOR_TEMP,      &conf.temp_pos,        {8*FONT_WIDTH, FONT_HEIGHT}     }, 
    3940    {LANG_OSD_LAYOUT_EDITOR_VIDEO,     &conf.mode_video_pos,   {9*FONT_WIDTH, 2*FONT_HEIGHT}   }, 
    4041    {LANG_OSD_LAYOUT_EDITOR_EV,     &conf.mode_ev_pos,   {12*FONT_WIDTH, FONT_HEIGHT}   }, 
     
    8081        gui_osd_draw_values(); 
    8182        gui_osd_draw_clock(); 
     83        gui_osd_draw_temp(); 
    8284        for (i=1; i<=2; ++i) { 
    8385            draw_rect((osd[curr_item].pos->x>=i)?osd[curr_item].pos->x-i:0, (osd[curr_item].pos->y>=i)?osd[curr_item].pos->y-i:0,  
     
    223225                if (conf.show_clock) { 
    224226                    gui_osd_draw_clock(); 
     227                } 
     228                if (conf.show_temp>0) { 
     229                    gui_osd_draw_temp(); 
    225230                } 
    226231                draw_set_draw_proc(NULL); 
     
    985990} 
    986991 
    987 //------------------------------------------------------------------- 
     992 
     993void gui_osd_draw_temp() { 
     994                if (conf.show_temp==1||0) 
     995                        { 
     996                                sprintf(osd_buf,"opt: %02i°",get_optical_temp()); 
     997                                draw_string(conf.temp_pos.x, conf.temp_pos.y, osd_buf, conf.osd_color); 
     998                        } 
     999                if (conf.show_temp==2) 
     1000                        { 
     1001                                sprintf(osd_buf,"ccd: %02i°",get_ccd_temp()); 
     1002                                draw_string(conf.temp_pos.x, conf.temp_pos.y, osd_buf, conf.osd_color); 
     1003                        } 
     1004                if (conf.show_temp==3) 
     1005                        { 
     1006                                sprintf(osd_buf,"batt:%02i°",get_battery_temp()); 
     1007                                draw_string(conf.temp_pos.x, conf.temp_pos.y, osd_buf, conf.osd_color); 
     1008                        } 
     1009                if (conf.show_temp==4) 
     1010                        { 
     1011                                sprintf(osd_buf,"opt: %02i°",get_optical_temp()); 
     1012                                draw_string(conf.temp_pos.x, conf.temp_pos.y, osd_buf, conf.osd_color); 
     1013                                sprintf(osd_buf,"ccd: %02i°",get_ccd_temp()); 
     1014                                draw_string(conf.temp_pos.x, conf.temp_pos.y+FONT_HEIGHT, osd_buf, conf.osd_color); 
     1015                                sprintf(osd_buf,"batt:%02i°",get_battery_temp()); 
     1016                                draw_string(conf.temp_pos.x, conf.temp_pos.y+2*FONT_HEIGHT, osd_buf, conf.osd_color); 
     1017                        }        
     1018     
     1019    } 
     1020     
     1021 
     1022 
     1023 
     1024//------------------------------------------------------------------- 
  • branches/juciphox/core/gui_osd.h

    r416 r461  
    4646extern void gui_osd_draw_values(); 
    4747extern void gui_osd_draw_clock(); 
     48extern void gui_osd_draw_temp(); 
    4849extern void gui_osd_draw_seconds(); 
    4950extern void gui_osd_draw_ev(); 
  • branches/juciphox/core/kbd.c

    r459 r461  
    11451145                    return 1; 
    11461146                } 
    1147                 if ((conf.fast_ev || conf.fast_movie_control) && kbd_use_up_down_left_right_as_fast_switch()) { 
     1147                if ((conf.fast_ev || conf.fast_movie_control || conf.fast_movie_quality_control) && kbd_use_up_down_left_right_as_fast_switch()) { 
    11481148                    return 1; 
    11491149                } 
     
    12111211#endif 
    12121212            key_pressed = KEY_UP; 
     1213                 
    12131214            return 1; 
    12141215        } 
     
    12171218    if (kbd_is_key_pressed(KEY_UP) && (mode_get()&MODE_MASK) == MODE_REC && movie_status == 4 && (canon_shoot_menu_active==0)) { 
    12181219 
    1219         if (conf.fast_movie_control && key_pressed == 0) { 
     1220        if (conf.fast_movie_quality_control && key_pressed == 0) { 
    12201221                         
    12211222                         
     1223if (conf.video_mode==0) 
     1224        { 
    12221225                            conf.video_bitrate+=1; 
    12231226    if (conf.video_bitrate<0) 
     
    12271230    shooting_video_bitrate_change(conf.video_bitrate); 
    12281231movie_reset = 1; 
    1229                          
     1232  }     
     1233   
     1234 if (conf.video_mode==1) 
     1235        { 
     1236                            conf.video_quality+=1; 
     1237    if (conf.video_quality<1) 
     1238        conf.video_quality=1; 
     1239    else if (conf.video_quality>99) 
     1240        conf.video_quality=99; 
     1241    movie_reset = 1; 
     1242  }                      
    12301243            key_pressed = KEY_UP; 
    12311244            return 1; 
     
    12541267 
    12551268             
    1256        if (conf.fast_movie_control && key_pressed == 0) { 
     1269       if (conf.fast_movie_quality_control && key_pressed == 0) { 
    12571270                         
    1258                          
     1271if (conf.video_mode==0) 
     1272        {                        
    12591273    conf.video_bitrate+=-1; 
    12601274    if (conf.video_bitrate<0) 
     
    12641278    shooting_video_bitrate_change(conf.video_bitrate); 
    12651279movie_reset = 1; 
     1280} 
     1281 if (conf.video_mode==1) 
     1282        { 
     1283                            conf.video_quality-=1; 
     1284    if (conf.video_quality<1) 
     1285        conf.video_quality=1; 
     1286    else if (conf.video_quality>99) 
     1287        conf.video_quality=99; 
     1288    movie_reset = 1; 
     1289  }              
    12661290 
    12671291                         
     
    12931317                         
    12941318movie_status = 4; 
     1319movie_reset = 1; 
    12951320                         
    12961321                         
  • branches/juciphox/include/camera.h

    r459 r461  
    578578#define CAM_CAN_MUTE_MICROPHONE     1  
    579579#define CAM_AF_SCAN_DURING_VIDEO_RECORD 1  
     580   #define CAM_ADJUSTABLE_ALT_BUTTON   1 
     581   #define CAM_SHOW_OSD_IN_SHOOT_MENU  1 
    580582 
    581583//---------------------------------------------------------- 
  • branches/juciphox/include/conf.h

    r453 r461  
    4545    int space_icon_show; 
    4646    int show_clock; 
     47    int show_temp; 
    4748    int clock_format; 
    4849    int clock_indicator; 
     
    9697    OSD_pos mode_video_pos; 
    9798    OSD_pos mode_ev_pos; 
     99    OSD_pos temp_pos; 
    98100 
    99101    color histo_color; 
     
    135137    int fast_ev_step; 
    136138    int fast_movie_control; 
     139    int fast_movie_quality_control; 
    137140    int splash_show; 
    138141 
  • branches/juciphox/include/keyboard.h

    r427 r461  
    2323#define KEY_EXPO_CORR   20     //G-series 
    2424#define KEY_MICROPHONE  21 
    25 #define KEY_DUMMY       22     //dummy key for pressing to disable energy saving in alt mode 
     25#define KEY_FACE        22  //SX100IS 
     26#define KEY_DUMMY       23     //dummy key for pressing to disable energy saving in alt mode 
     27 
    2628 
    2729 
  • branches/juciphox/include/lolevel.h

    r427 r461  
    3030extern long _IsStrobeChargeCompleted(); 
    3131extern long _VbattGet(); 
     32extern int _GetBatteryTemperature(); 
     33extern int _GetCCDTemperature(); 
     34extern int _GetOpticalTemperature(); 
     35extern void _PT_PlaySound(short , void*);   
    3236extern void _RefreshPhysicalScreen(long f); 
    3337extern void _Unmount_FileSystem(); 
  • branches/juciphox/include/platform.h

    r457 r461  
    449449 
    450450long stat_get_vbatt(); 
     451int get_ccd_temp(); 
     452int get_optical_temp(); 
     453int get_battery_temp(); 
    451454long get_vbatt_min(); 
    452455long get_vbatt_max(); 
     456void play_sound(short sound); 
    453457void ubasic_camera_set_raw(int mode); 
    454458void ubasic_camera_set_nr(int mode); 
  • branches/juciphox/lang/english.lng

    r453 r461  
    532532394 "scriptless" 
    533533395 "Fast Video Control?" 
     534396 "Temperature" 
     535397 "Show temperature?" 
     536398 "Video Quality Control?" 
  • branches/juciphox/lang/german.lng

    r457 r461  
    550550// Video 
    551551395 "Schnelle Video Kontrolle?" 
     552396 "Temperatur" 
     553397 "Zeige Temperatur?" 
     554398 "Video Qualität Kontrolle?" 
  • branches/juciphox/lib/ubasic/tokenizer.c

    r453 r461  
    7070  {"else",                    TOKENIZER_ELSE}, 
    7171  {"endif",                   TOKENIZER_ENDIF}, 
     72  {"select",                  TOKENIZER_SELECT}, 
     73  {"case_else",               TOKENIZER_CASE_ELSE}, 
     74  {"case",                    TOKENIZER_CASE}, 
     75  {"end_select",              TOKENIZER_END_SELECT}, 
    7276  {"for",                     TOKENIZER_FOR}, 
    7377  {"to",                      TOKENIZER_TO}, 
     
    8892  {"random",                  TOKENIZER_RANDOM}, 
    8993  {"click",                   TOKENIZER_CLICK}, 
     94  {"playsound",                   TOKENIZER_PLAY_SOUND}, 
    9095  {"press",                   TOKENIZER_PRESS}, 
    9196  {"release",                 TOKENIZER_RELEASE}, 
     
    113118  {"get_iso",                 TOKENIZER_GET_ISO_MODE}, //FOR COMPATIBILITY 
    114119  {"get_jpg_count",           TOKENIZER_GET_JPG_COUNT}, 
    115   {"get_moviestate",          TOKENIZER_GET_MOVIESTATE}, 
     120  {"get_movie_status",        TOKENIZER_GET_MOVIE_STATUS}, 
    116121  {"get_near_limit",          TOKENIZER_GET_NEAR_LIMIT}, 
    117122  {"get_propset",             TOKENIZER_GET_PROPSET}, 
     
    121126  {"get_raw",                 TOKENIZER_GET_RAW}, 
    122127  {"get_sv96",                TOKENIZER_GET_SV96}, 
     128  {"get_temperature",         TOKENIZER_GET_TEMPERATURE}, 
    123129  {"get_tick_count",          TOKENIZER_GET_TICK_COUNT}, 
    124130  {"get_tv96",                TOKENIZER_GET_TV96}, 
     
    196202  {"get_nd_present",          TOKENIZER_GET_ND_PRESENT}, 
    197203  {"get_histo_range",         TOKENIZER_GET_HISTO_RANGE}, 
    198    
    199   {"shot_histo_enable",       TOKENIZER_SHOT_HISTO_ENABLE}, 
     204   {"shot_histo_enable",       TOKENIZER_SHOT_HISTO_ENABLE}, 
    200205   
    201206  {"end",                     TOKENIZER_END}, 
  • branches/juciphox/lib/ubasic/tokenizer.h

    r453 r461  
    4444  TOKENIZER_ELSE, 
    4545  TOKENIZER_ENDIF, 
     46  TOKENIZER_SELECT, 
     47  TOKENIZER_CASE_ELSE, 
     48  TOKENIZER_CASE, 
     49  TOKENIZER_END_SELECT, 
    4650  TOKENIZER_FOR, 
    4751  TOKENIZER_TO, 
     
    155159  TOKENIZER_GET_RAW_COUNT, 
    156160  TOKENIZER_RANDOM, 
    157   TOKENIZER_GET_MOVIESTATE, 
     161  TOKENIZER_GET_MOVIE_STATUS, 
     162  TOKENIZER_PLAY_SOUND, 
    158163  TOKENIZER_GET_DISPLAY_MODE, 
    159164  TOKENIZER_GET_EXP_COUNT, 
     
    172177  TOKENIZER_SHOT_HISTO_ENABLE, 
    173178  TOKENIZER_GET_HISTO_RANGE, 
     179  TOKENIZER_GET_TEMPERATURE, 
    174180  TOKENIZER_SET_MOVIE_STATUS, 
    175181   
  • branches/juciphox/lib/ubasic/ubasic.c

    r453 r461  
    7575static int if_stack_ptr; 
    7676 
     77struct select_state { 
     78  int select_value; 
     79  short case_run; 
     80}; 
     81#define MAX_SELECT_STACK_DEPTH 4 
     82static struct select_state select_stack[MAX_SELECT_STACK_DEPTH]; 
     83static int select_stack_ptr; 
     84 
     85 
     86 
    7787#define MAX_WHILE_STACK_DEPTH 4 
    7888static short while_stack[MAX_WHILE_STACK_DEPTH]; 
     
    244254  case TOKENIZER_RANDOM: 
    245255    accept(TOKENIZER_RANDOM); 
     256    int min = expr(); 
     257    int max = expr(); 
    246258    srand((int)shooting_get_bv96()+(unsigned short)stat_get_vbatt()+get_tick_count()); 
    247259    ubasic_camera_sleep(rand()%10); 
    248     r = rand(); 
    249    break; 
    250   case TOKENIZER_GET_MOVIESTATE: 
    251     accept(TOKENIZER_GET_MOVIESTATE); 
     260    r = min + rand()%(max-min+1); 
     261  break; 
     262  case TOKENIZER_GET_MOVIE_STATUS: 
     263    accept(TOKENIZER_GET_MOVIE_STATUS); 
    252264    r = movie_status; 
    253265   break; 
     
    260272    r = shooting_get_prop(PROPCASE_FOCUS_MODE); 
    261273   break; 
    262   case TOKENIZER_GET_DISPLAY_MODE: 
     274        case TOKENIZER_GET_DISPLAY_MODE: 
    263275    accept(TOKENIZER_GET_DISPLAY_MODE); 
    264276    r = shooting_get_prop(PROPCASE_DISPLAY_MODE); 
     
    409421    else r = -1; 
    410422    break; 
     423  case TOKENIZER_GET_TEMPERATURE: 
     424    accept(TOKENIZER_GET_TEMPERATURE); 
     425    int temp = expr(); 
     426    switch (temp) 
     427    { 
     428        case 0: 
     429                r = get_optical_temp();  
     430                break; 
     431        case 1: 
     432                r = get_ccd_temp();  
     433                break; 
     434        case 2: 
     435                r = get_battery_temp(); 
     436                break; 
     437  } 
     438    break; 
    411439 case TOKENIZER_GET_RAW: 
    412440    accept(TOKENIZER_GET_RAW); 
     
    765793} 
    766794/*---------------------------------------------------------------------------*/ 
     795 
     796/*---------------------------------------------------------------------------*/ 
     797/* SELECT-STATEMENT                                                          */ 
     798 
     799static void 
     800dec_select_stack(void) 
     801{ 
     802  if(select_stack_ptr > 0) { 
     803      select_stack_ptr--; 
     804  } else { 
     805    DEBUG_PRINTF("select_statement: SELECT-Stack fail\n"); 
     806    ended = 1; 
     807    ubasic_error = UBASIC_E_UNKNOWN_ERROR;  //besser neuer Fehler UBASIC_E_SELECT_STACK_EXHAUSTED, 
     808  } 
     809} 
     810/*---------------------------------------------------------------------------*/ 
     811static void 
     812end_select(void) 
     813{ 
     814  if(select_stack_ptr > 0) { 
     815    accept(TOKENIZER_END_SELECT); 
     816    accept(TOKENIZER_CR); 
     817    dec_select_stack(); 
     818  } else { 
     819    DEBUG_PRINTF("ubasic.c: end_select(): end_select without select-statement\n"); 
     820    ended = 1; 
     821    ubasic_error = UBASIC_E_PARSE; 
     822  } 
     823} 
     824/*---------------------------------------------------------------------------*/ 
     825static void 
     826case_statement(void) 
     827{ 
     828  int select_value, case_value_1, case_value_2, case_value_eq; 
     829  short case_run, case_goto = 0, case_gosub = 0; 
     830   
     831  accept(TOKENIZER_CASE); 
     832  if(select_stack_ptr > 0) { 
     833    select_value = select_stack[select_stack_ptr - 1].select_value; 
     834    case_run = select_stack[select_stack_ptr - 1].case_run; 
     835   
     836    if (!case_run) { 
     837      case_value_1 = expr(); 
     838      case_value_eq = (select_value == case_value_1); 
     839      if (case_value_eq) { DEBUG_PRINTF("case_statement: case_value_eq %d, case_value %d\n", case_value_eq, case_value_1); }   
     840 
     841      if(tokenizer_token() == TOKENIZER_TO) { 
     842        accept(TOKENIZER_TO); 
     843        case_value_2 = expr(); 
     844        if (case_value_1 < case_value_2) { 
     845          case_value_eq = ((select_value >= case_value_1) && (select_value <= case_value_2)); 
     846          DEBUG_PRINTF("case_statement: case_value %d to %d\n", case_value_1, case_value_2); 
     847        } else { 
     848          case_value_eq = ((select_value >= case_value_2) && (select_value <= case_value_1)); 
     849          DEBUG_PRINTF("case_statement: case_value %d to %d\n", case_value_2, case_value_1); 
     850        } 
     851      } else if (tokenizer_token() == TOKENIZER_COMMA) { 
     852        do { 
     853          accept(TOKENIZER_COMMA); 
     854          if (case_value_eq) { 
     855            case_value_2 = expr(); 
     856          } else { 
     857            case_value_1 = expr(); 
     858            case_value_eq = (select_value == case_value_1); 
     859          } 
     860        } while (tokenizer_token() == TOKENIZER_COMMA); 
     861        DEBUG_PRINTF("case_statement: case_value_eq %d, case_value_comma %d\n", case_value_eq, case_value_1); 
     862      } 
     863       
     864      accept(TOKENIZER_SEMICOLON); 
     865      if (case_value_eq) { 
     866        case_goto = (tokenizer_token() == TOKENIZER_GOTO); 
     867        case_gosub = (tokenizer_token() == TOKENIZER_GOSUB); 
     868        statement(); 
     869        DEBUG_PRINTF("case_statement: case execute\n"); 
     870        case_run = 1; 
     871        select_stack[select_stack_ptr - 1].case_run = case_run; 
     872      } else { 
     873        DEBUG_PRINTF("case_statement: case jump; case_run: %d\n", case_run); 
     874        accept_cr(); 
     875      } 
     876    } else {accept_cr();} 
     877    if (case_goto) { dec_select_stack(); } else { 
     878      if (!case_gosub) { 
     879        if ((tokenizer_token() != TOKENIZER_CASE) && (tokenizer_token() != TOKENIZER_CASE_ELSE) &&  
     880           (tokenizer_token() != TOKENIZER_END_SELECT)) { 
     881           DEBUG_PRINTF("ubasic.c: select_statement(): don't found case, case_else or end_select\n"); 
     882           ended = 1; 
     883           ubasic_error = UBASIC_E_PARSE; 
     884        } else {  
     885          if (tokenizer_token() == TOKENIZER_END_SELECT) { end_select(); } 
     886        } 
     887      }   
     888    } 
     889  } else { 
     890    DEBUG_PRINTF("case_statement: SELECT-Stack fail\n"); 
     891    ended = 1; 
     892    ubasic_error = UBASIC_E_UNKNOWN_ERROR;  //besser neuer Fehler UBASIC_E_SELECT_STACK_EXHAUSTED, 
     893  } 
     894} 
     895/*---------------------------------------------------------------------------*/ 
     896static void 
     897case_else_statement(void) 
     898{ 
     899  short case_goto = 0, case_gosub = 0; 
     900   
     901  accept(TOKENIZER_CASE_ELSE); 
     902  if(select_stack_ptr > 0) { 
     903    if (!select_stack[select_stack_ptr - 1].case_run) { 
     904      case_goto = (tokenizer_token() == TOKENIZER_GOTO);  
     905      case_gosub = (tokenizer_token() == TOKENIZER_GOSUB);  
     906      statement(); 
     907      DEBUG_PRINTF("case_else_statement: case_else execute\n"); 
     908    } else { 
     909      DEBUG_PRINTF("case_else_statement: case_else jump; case_run: %d\n", select_stack[select_stack_ptr - 1].case_run); 
     910      accept_cr(); 
     911    } 
     912    if (case_goto) { dec_select_stack(); } else {  
     913      if (!case_gosub) { 
     914        if (tokenizer_token() != TOKENIZER_END_SELECT) { 
     915          DEBUG_PRINTF("ubasic.c: select_statement(): don't found end_select\n"); 
     916          ended = 1; 
     917          ubasic_error = UBASIC_E_PARSE; 
     918        } else { end_select(); } 
     919      } 
     920    } 
     921  } else { 
     922    DEBUG_PRINTF("case_else_statement: SELECT-Stack fault\n"); 
     923    ended = 1; 
     924    ubasic_error = UBASIC_E_UNKNOWN_ERROR;  //besser neuer Fehler UBASIC_E_SELECT_STACK_EXHAUSTED, 
     925  } 
     926} 
     927/*---------------------------------------------------------------------------*/ 
     928static void 
     929select_statement(void) 
     930{ 
     931  
     932  int select_value; 
     933   
     934  accept(TOKENIZER_SELECT); 
     935  select_value = expr();   
     936  accept(TOKENIZER_CR); 
     937   
     938  if(select_stack_ptr < MAX_SELECT_STACK_DEPTH) { 
     939    select_stack[select_stack_ptr].select_value = select_value; 
     940    select_stack[select_stack_ptr].case_run = 0; 
     941    DEBUG_PRINTF("select_statement: new select, value %d\n",select_stack[select_stack_ptr].select_value); 
     942    select_stack_ptr++; 
     943    if (tokenizer_token() != TOKENIZER_CASE) { 
     944      DEBUG_PRINTF("ubasic.c: select_statement(): don't found case-statement\n"); 
     945      ended = 1; 
     946      ubasic_error = UBASIC_E_PARSE; 
     947    } 
     948    //NEU f?r diekten "case"-befehl 
     949    else { case_statement(); } 
     950    //--------------------------- 
     951  } else { 
     952    DEBUG_PRINTF("select_statement: SELECT-stack depth exceeded\n"); 
     953    ended = 1; 
     954    ubasic_error = UBASIC_E_UNKNOWN_ERROR;  //besser neuer Fehler UBASIC_E_SELECT_STACK_EXHAUSTED, 
     955  } 
     956} 
     957/* SELECT-STATEMENT END                                                      */ 
     958 
    767959/*---------------------------------------------------------------------------*/ 
    768960static void 
     
    12831475} 
    12841476 
     1477static void play_sound_statement() 
     1478{ 
     1479    int to; 
     1480    accept(TOKENIZER_PLAY_SOUND); 
     1481    to = expr(); 
     1482    play_sound(to); 
     1483    accept_cr(); 
     1484} 
    12851485static void set_shutter_speed_statement() 
    12861486{ 
     
    18872087    set_tv96_statement(); 
    18882088    break;   
     2089  case TOKENIZER_PLAY_SOUND: 
     2090    play_sound_statement(); 
     2091    break;   
    18892092  case TOKENIZER_SET_SHUTTER_SPEED: 
    18902093    set_shutter_speed_statement(); 
     
    19932196    endif_statement(); 
    19942197    break; 
     2198  case TOKENIZER_SELECT: 
     2199    select_statement(); 
     2200    break; 
     2201  case TOKENIZER_CASE: 
     2202    case_statement(); 
     2203    break; 
     2204  case TOKENIZER_CASE_ELSE: 
     2205    case_else_statement(); 
     2206    break; 
    19952207  case TOKENIZER_GOTO: 
    19962208    goto_statement(); 
  • branches/juciphox/makefile.inc

    r416 r461  
    11VER=CHDK 
    22 
    3 PLATFORM=a610 
    4 PLATFORMSUB=100e 
     3PLATFORM=s3is 
     4PLATFORMSUB=100a 
     5 
     6#PLATFORM=sx100is 
     7#PLATFORMSUB=100c 
     8 
     9#PLATFORM=ixus50_sd400 
     10#PLATFORMSUB=101a 
     11 
     12#PLATFORM=ixus50_sd400 
     13#PLATFORMSUB=101b 
     14 
     15#PLATFORM=ixus750_sd550 
     16#PLATFORMSUB=100f 
     17 
     18#PLATFORM=ixus750_sd550 
     19#PLATFORMSUB=100g 
    520 
    621#PLATFORM=a620 
    722#PLATFORMSUB=100f 
    823 
    9 #PLATFORM=a630 
    10 #PLATFORMSUB=100c 
    11  
    1224#PLATFORM=a640 
    1325#PLATFORMSUB=100b 
     
    1830#PLATFORM=a710 
    1931#PLATFORMSUB=100a 
     32 
     33#PLATFORM=s2is 
     34#PLATFORMSUB=100e 
    2035 
    2136#PLATFORM=s2is 
    2237#PLATFORMSUB=100f 
    2338 
    24 #PLATFORM=s3is 
    25 #PLATFORMSUB=100a 
     39#PLATFORM=s2is 
     40#PLATFORMSUB=100g 
     41 
     42#PLATFORM=g7 
     43#PLATFORMSUB=100e 
     44 
     45#PLATFORM=g7 
     46#PLATFORMSUB=100g 
    2647 
    2748#PLATFORM=g7 
    2849#PLATFORMSUB=100i 
    2950 
     51#PLATFORM=g7 
     52#PLATFORMSUB=100j 
     53 
    3054#PLATFORM=a530 
    3155#PLATFORMSUB=100a 
     
    3862 
    3963#PLATFORM=a570 
    40 #PLATFORMSUB=100e 
     64#PLATFORMSUB=100a 
     65 
     66#PLATFORM=a570 
     67#PLATFORMSUB=100e 
     68 
     69#PLATFORM=a610 
     70#PLATFORMSUB=100e 
     71 
     72#PLATFORM=a610 
     73#PLATFORMSUB=100f 
    4174 
    4275#PLATFORM=ixus700_sd500 
    4376#PLATFORMSUB=101a 
    4477 
     78#PLATFORM=ixus700_sd500 
     79#PLATFORMSUB=101b 
     80 
    4581#PLATFORM=ixus800_sd700 
     82#PLATFORMSUB=100b 
     83 
     84#PLATFORM=ixus800_sd700 
    4685#PLATFORMSUB=101b 
    4786 
     
    6099#PLATFORM=ixus55_sd450 
    61100#PLATFORMSUB=100b 
     101 
     102#PLATFORM=ixus55_sd450 
     103#PLATFORMSUB=100c 
     104 
     105#PLATFORM=ixus55_sd450 
     106#PLATFORMSUB=100d 
     107 
     108#PLATFORM=ixus60_sd600 
     109#PLATFORMSUB=100a 
     110 
     111#PLATFORM=ixus60_sd600 
     112#PLATFORMSUB=100d 
     113 
     114#PLATFORM=ixus70_sd1000 
     115#PLATFORMSUB=100c 
     116 
     117#PLATFORM=ixus70_sd1000 
     118#PLATFORMSUB=101b 
    62119 
    63120#PLATFORM=ixus70_sd1000 
     
    76133#PLATFORMSUB=100c 
    77134 
     135#PLATFORM=a630 
     136#PLATFORMSUB=100c 
     137 
    78138#PLATFORM=s5is 
    79139#PLATFORMSUB=101a 
     
    81141#PLATFORM=s5is 
    82142#PLATFORMSUB=101b 
     143 
     144#PLATFORM=ixus65_sd630 
     145#PLATFORMSUB=100a 
     146 
     147#PLATFORM=tx1 
     148#PLATFORMSUB=100g 
     149 
     150#PLATFORM=tx1 
     151#PLATFORMSUB=101b 
     152 
    83153 
    84154include $(topdir)version.inc 
  • branches/juciphox/platform/a450/sub/100d/stubs_entry_2.S

    r427 r461  
    2323NHSTUB(ExpCtrlTool_StartContiAE, 0xFFD0DCB0)  
    2424NHSTUB(MakeAFScan,               0xFFE7003C)  
     25NHSTUB(GetBatteryTemperature, 0xFFDC7D94) 
     26NHSTUB(GetCCDTemperature, 0xFFDC7D80) 
     27NHSTUB(GetOpticalTemperature, 0xFFDC7D6C) 
     28NHSTUB(PT_PlaySound, 0xFFE7AA08) 
     29 
  • branches/juciphox/platform/a460/sub/100d/stubs_entry_2.S

    r427 r461  
    2323NHSTUB(ExpCtrlTool_StartContiAE, 0xFFD0DCA8)  
    2424NHSTUB(MakeAFScan,               0xFFE70024)  
     25NHSTUB(GetBatteryTemperature, 0xFFDC7D84) 
     26NHSTUB(GetCCDTemperature, 0xFFDC7D70) 
     27NHSTUB(GetOpticalTemperature, 0xFFDC7D5C) 
     28NHSTUB(PT_PlaySound, 0xFFE7A9F0) 
     29 
  • branches/juciphox/platform/a530/sub/100a/stubs_entry_2.S

    r427 r461  
    1313NHSTUB(ExpCtrlTool_StartContiAE, 0xFFCE0A28)  
    1414NHSTUB(MakeAFScan,               0xFFD35C10)  
     15NHSTUB(GetBatteryTemperature, 0xFFC1D030) 
     16NHSTUB(GetCCDTemperature, 0xFFC1D01C) 
     17NHSTUB(GetOpticalTemperature, 0xFFC1D008) 
     18NHSTUB(PT_PlaySound, 0xFFD3F224) 
  • branches/juciphox/platform/a540/sub/100b/stubs_entry_2.S

    r427 r461  
    2121NHSTUB(ExpCtrlTool_StartContiAE, 0xFFCF1190)  
    2222NHSTUB(MakeAFScan,               0xFFD4656C)  
     23NHSTUB(GetBatteryTemperature, 0xFFC1D044) 
     24NHSTUB(GetCCDTemperature, 0xFFC1D030) 
     25NHSTUB(GetOpticalTemperature, 0xFFC1D01C) 
     26NHSTUB(PT_PlaySound, 0xFFD4FB34) 
  • branches/juciphox/platform/a550/sub/100c/stubs_entry_2.S

    r427 r461  
    3131NHSTUB(ExpCtrlTool_StartContiAE, 0xFFD0A6E4)  
    3232NHSTUB(MakeAFScan,               0xFFE708D4)  
     33NHSTUB(GetBatteryTemperature, 0xFFDCE750) 
     34NHSTUB(GetCCDTemperature, 0xFFDCE73C) 
     35NHSTUB(GetOpticalTemperature, 0xFFDCE728) 
     36NHSTUB(PT_PlaySound, 0xFFE7B0B8) 
  • branches/juciphox/platform/a560/sub/100a/stubs_entry_2.S

    r427 r461  
    2323NHSTUB(ExpCtrlTool_StartContiAE, 0xFFD15CB8)  
    2424NHSTUB(MakeAFScan,               0xFFE952B8)  
     25NHSTUB(GetBatteryTemperature, 0xFFDE0734) 
     26NHSTUB(GetCCDTemperature, 0xFFDE0720) 
     27NHSTUB(GetOpticalTemperature, 0xFFDE070C) 
     28NHSTUB(PT_PlaySound, 0xFFEA01F4) 
  • branches/juciphox/platform/a570/sub/100e/stubs_entry_2.S

    r427 r461  
    2121NHSTUB(ExpCtrlTool_StartContiAE, 0xFFD1ED50)  
    2222NHSTUB(MakeAFScan,               0xFFEAA230)  
     23NHSTUB(GetBatteryTemperature, 0xFFDEAC78) 
     24NHSTUB(GetCCDTemperature, 0xFFDEAC64) 
     25NHSTUB(GetOpticalTemperature, 0xFFDEAC50) 
     26NHSTUB(PT_PlaySound, 0xFFEB5340) 
  • branches/juciphox/platform/a570/sub/101a/stubs_entry_2.S

    r427 r461  
    2121NHSTUB(ExpCtrlTool_StartContiAE, 0xFFD1ED50)  
    2222NHSTUB(MakeAFScan,               0xFFEAA2A4)  
     23NHSTUB(GetBatteryTemperature, 0xFFDEACEC) 
     24NHSTUB(GetCCDTemperature, 0xFFDEACD8) 
     25NHSTUB(GetOpticalTemperature, 0xFFDEACC4) 
     26NHSTUB(PT_PlaySound, 0xFFEB53B4) 
  • branches/juciphox/platform/a610/sub/100e/stubs_entry_2.S

    r427 r461  
    2525NHSTUB(ExpCtrlTool_StartContiAE, 0xFFCE05A0)  
    2626NHSTUB(MakeAFScan,  0xFFD377B0)  
     27NHSTUB(GetBatteryTemperature, 0xFFC1C488) 
     28NHSTUB(GetCCDTemperature, 0xFFC1C474) 
     29NHSTUB(GetOpticalTemperature, 0xFFC1C460) 
     30NHSTUB(PT_PlaySound, 0xFFD4074C) 
  • branches/juciphox/platform/a610/sub/100f/stubs_entry_2.S

    r427 r461  
    1616NHSTUB(ExpCtrlTool_StartContiAE, 0xFFCE0928)  
    1717NHSTUB(MakeAFScan,  0xFFD37B38)  
     18NHSTUB(GetBatteryTemperature, 0xFFC1C488) 
     19NHSTUB(GetCCDTemperature, 0xFFC1C474) 
     20NHSTUB(GetOpticalTemperature, 0xFFC1C460) 
     21NHSTUB(PT_PlaySound, 0xFFD40AD4) 
  • branches/juciphox/platform/a620/sub/100f/stubs_entry_2.S

    r427 r461  
    3030NHSTUB(ExpCtrlTool_StartContiAE, 0xFFCE09F8)  
    3131NHSTUB(MakeAFScan,  0xFFD384E4)  
     32NHSTUB(GetBatteryTemperature, 0xFFC1C468) 
     33NHSTUB(GetCCDTemperature, 0xFFC1C454) 
     34NHSTUB(GetOpticalTemperature, 0xFFC1C440) 
     35NHSTUB(PT_PlaySound, 0xFFD41638) 
  • branches/juciphox/platform/a630/sub/100c/stubs_entry_2.S

    r427 r461  
    3636NHSTUB(ExpCtrlTool_StartContiAE, 0xFFCF6AD0)  
    3737NHSTUB(MakeAFScan,  0xFFD54358)  
     38NHSTUB(GetBatteryTemperature, 0xFFC1D7A4) 
     39NHSTUB(GetCCDTemperature, 0xFFC1D790) 
     40NHSTUB(GetOpticalTemperature, 0xFFC1D77C) 
     41NHSTUB(PT_PlaySound, 0xFFD5EEE0) 
  • branches/juciphox/platform/a640/sub/100b/stubs_entry_2.S

    r427 r461  
    1919NHSTUB(ExpCtrlTool_StartContiAE, 0xFFCF89C8)  
    2020NHSTUB(MakeAFScan,  0xFFD56C30)  
     21NHSTUB(GetBatteryTemperature, 0xFFC1DE44) 
     22NHSTUB(GetCCDTemperature, 0xFFC1DE30) 
     23NHSTUB(GetOpticalTemperature, 0xFFC1DE1C) 
     24NHSTUB(PT_PlaySound, 0xFFD61A04) 
  • branches/juciphox/platform/a650/sub/100d/stubs_entry_2.S

    r427 r461  
    135135NSTUB(taskResume,                        0xFFC00958) 
    136136NSTUB(taskSuspend,                       0xFFC00958) 
     137NHSTUB(GetBatteryTemperature, 0xFFC39D34) 
     138NHSTUB(GetCCDTemperature, 0xFFC39CC4) 
     139NHSTUB(GetOpticalTemperature, 0xFFC39DA4) 
     140NHSTUB(PT_PlaySound, 0xFFC521E0) 
     141 
  • branches/juciphox/platform/a700/sub/100b/stubs_entry_2.S

    r427 r461  
    2020NHSTUB(ExpCtrlTool_StartContiAE, 0xFFCF1928)  
    2121NHSTUB(MakeAFScan,  0xFFD46CF0)  
     22NHSTUB(GetBatteryTemperature, 0xFFC1C9BC) 
     23NHSTUB(GetCCDTemperature, 0xFFC1C9A8) 
     24NHSTUB(GetOpticalTemperature, 0xFFC1C994) 
     25NHSTUB(PT_PlaySound, 0xFFD5030C) 
  • branches/juciphox/platform/a710/sub/100a/stubs_entry_2.S

    r427 r461  
    4040NHSTUB(ExpCtrlTool_StartContiAE, 0xFFD0015C)  
    4141NHSTUB(MakeAFScan,  0xFFD5D538)  
     42NHSTUB(GetBatteryTemperature, 0xFFC1D200) 
     43NHSTUB(GetCCDTemperature, 0xFFC1D1EC) 
     44NHSTUB(GetOpticalTemperature, 0xFFC1D1D8) 
     45NHSTUB(PT_PlaySound, 0xFFD67DB8) 
  • branches/juciphox/platform/a720/sub/100c/stubs_entry.S

    r326 r461  
    9191NSTUB(vsprintf, 0xffc0e7b4) 
    9292NSTUB(write, 0xffc0a4a8) 
     93NHSTUB(GetBatteryTemperature, 0xFFC39178) 
     94NHSTUB(GetCCDTemperature, 0xFFC39108) 
     95NHSTUB(GetOpticalTemperature, 0xFFC391E8) 
     96NHSTUB(PT_PlaySound, 0xFFC50F40) 
  • branches/juciphox/platform/g7/sub/100e/stubs_entry_2.S

    r427 r461  
    1717NHSTUB(ExpCtrlTool_StartContiAE, 0xFF925EE8)  
    1818NHSTUB(MakeAFScan,               0xFF9A04E0)  
     19NHSTUB(GetBatteryTemperature, 0xFF82EB20) 
     20NHSTUB(GetCCDTemperature, 0xFF82EB0C) 
     21NHSTUB(GetOpticalTemperature, 0xFF82EAF8) 
     22NHSTUB(PT_PlaySound, 0xFF9AC9D0) 
  • branches/juciphox/platform/g7/sub/100g/stubs_entry_2.S

    r427 r461  
    1616NHSTUB(ExpCtrlTool_StartContiAE, 0xFF925F0C)  
    1717NHSTUB(MakeAFScan,               0xFF9A0560)  
     18NHSTUB(GetBatteryTemperature, 0xFF82EB20) 
     19NHSTUB(GetCCDTemperature, 0xFF82EB0C) 
     20NHSTUB(GetOpticalTemperature, 0xFF82EAF8) 
     21NHSTUB(PT_PlaySound, 0xFF9ACA78) 
  • branches/juciphox/platform/g7/sub/100i/stubs_entry_2.S

    r427 r461  
    1919NHSTUB(ExpCtrlTool_StartContiAE, 0xFF925F0C)  
    2020NHSTUB(MakeAFScan,               0xFF9A0560)  
     21NHSTUB(GetBatteryTemperature, 0xFF82EB20) 
     22NHSTUB(GetCCDTemperature, 0xFF82EB0C) 
     23NHSTUB(GetOpticalTemperature, 0xFF82EAF8) 
     24NHSTUB(PT_PlaySound, 0xFF9ACA78) 
  • branches/juciphox/platform/g7/sub/100j/stubs_entry_2.S

    r427 r461  
    1717NHSTUB(ExpCtrlTool_StartContiAE, 0xFF925F0C)  
    1818NHSTUB(MakeAFScan,               0xFF9A0560)  
     19NHSTUB(GetBatteryTemperature, 0xFF82EB20) 
     20NHSTUB(GetCCDTemperature, 0xFF82EB0C) 
     21NHSTUB(GetOpticalTemperature, 0xFF82EAF8) 
     22NHSTUB(PT_PlaySound, 0xFF9ACA78) 
  • branches/juciphox/platform/generic/wrappers.c

    r434 r461  
    138138} 
    139139 
     140void play_sound(short sound) 
     141{ 
     142        short tmp; 
     143    switch (sound) 
     144{ 
     145  case 0: 
     146    tmp = 0x2001; //startup sound 
     147    break; 
     148  case 1: 
     149    tmp = 0x2002; //shutter sound 
     150    break; 
     151  case 2: 
     152    tmp = 0x2003; //button press sound 
     153    break; 
     154  case 3: 
     155    tmp = 0x2004; //self-timer sound 
     156    break; 
     157  case 4: 
     158   tmp = 0xC211; //short beep 
     159    break; 
     160  case 5: 
     161   tmp = 50000; // AF confirmation  
     162    break; 
     163  case 6: 
     164   tmp = 0xC507; // error beep imo 
     165    break; 
     166  case 7: 
     167   tmp = 0x400D; // LONG ERROR BEEP CONTINIUOUS- warning, cannot be stopped (yet) 
     168    break; 
     169 } 
     170    _PT_PlaySound(tmp, 0); 
     171} 
     172 
    140173long stat_get_vbatt() 
    141174{ 
     
    143176} 
    144177 
     178int get_battery_temp() 
     179{ 
     180    return _GetBatteryTemperature(); 
     181} 
     182 
     183int get_ccd_temp() 
     184{ 
     185    return _GetCCDTemperature(); 
     186} 
     187 
     188int get_optical_temp() 
     189{ 
     190    return _GetOpticalTemperature(); 
     191} 
    145192 
    146193long get_tick_count() 
  • branches/juciphox/platform/ixus50_sd400/sub/101a/stubs_entry_2.S

    r434 r461  
    4040NHSTUB(GetDrive_TotalClusters, 0xFF8743F8) 
    4141NHSTUB(GetDrive_FreeClusters, 0xFF874434) 
     42NHSTUB(GetBatteryTemperature, 0xFF82D754) 
     43NHSTUB(GetCCDTemperature, 0xFF82D740) 
     44NHSTUB(GetOpticalTemperature, 0xFF82D72C) 
     45NHSTUB(PT_PlaySound, 0xFF96AB04) 
  • branches/juciphox/platform/ixus50_sd400/sub/101b/stubs_entry_2.S

    r434 r461  
    4040NHSTUB(GetDrive_TotalClusters, 0xFF8743F8) // OK! 
    4141NHSTUB(GetDrive_FreeClusters, 0xFF874434) // OK! 
     42NHSTUB(GetBatteryTemperature, 0xFF82D754) 
     43NHSTUB(GetCCDTemperature, 0xFF82D740) 
     44NHSTUB(GetOpticalTemperature, 0xFF82D72C) 
     45NHSTUB(PT_PlaySound, 0xFF96AB58) 
  • branches/juciphox/platform/ixus55_sd450/sub/100b/stubs_entry_2.S

    r434 r461  
    1818NHSTUB(ExpCtrlTool_StartContiAE, 0xFF8F2AE4)  
    1919NHSTUB(MakeAFScan,  0xFF94E6F8)  
     20NHSTUB(GetBatteryTemperature, 0xFF82C7A8) 
     21NHSTUB(GetCCDTemperature, 0xFF82C794) 
     22NHSTUB(GetOpticalTemperature, 0xFF82C780) 
     23NHSTUB(PT_PlaySound, 0xFF9572A0) 
  • branches/juciphox/platform/ixus55_sd450/sub/100c/stubs_entry_2.S

    r434 r461  
    1818NHSTUB(ExpCtrlTool_StartContiAE, 0xFF8F2A10)  
    1919NHSTUB(MakeAFScan,  0xFF94E624)  
     20NHSTUB(GetBatteryTemperature, 0xFF82C6D4) 
     21NHSTUB(GetCCDTemperature, 0xFF82C6C0) 
     22NHSTUB(GetOpticalTemperature, 0xFF82C6AC) 
     23NHSTUB(PT_PlaySound, 0xFF9571CC) 
    2024 
  • branches/juciphox/platform/ixus55_sd450/sub/100d/stubs_entry_2.S

    r434 r461  
    1818NHSTUB(ExpCtrlTool_StartContiAE, 0xFF8F2D98)  
    1919NHSTUB(MakeAFScan,  0xFF94E9AC)  
     20NHSTUB(GetBatteryTemperature, 0xFF82C6D4) 
     21NHSTUB(GetCCDTemperature, 0xFF82C6C0) 
     22NHSTUB(GetOpticalTemperature, 0xFF82C6AC) 
     23NHSTUB(PT_PlaySound, 0xFF957554) 
    2024 
  • branches/juciphox/platform/ixus60_sd600/sub/100a/stubs_entry_2.S

    r459 r461  
    4343NHSTUB(GetDrive_TotalClusters, 0xFF86EEB4)  //   "  " 
    4444NHSTUB(GetDrive_FreeClusters, 0xFF867C04)   //   "  " 
     45NHSTUB(GetBatteryTemperature, 0xFF82D270) 
     46NHSTUB(GetCCDTemperature, 0xFF82D25C) 
     47NHSTUB(GetOpticalTemperature, 0xFF82D248) 
     48NHSTUB(PT_PlaySound, 0xFF969874) 
     49 
  • branches/juciphox/platform/ixus60_sd600/sub/100d/stubs_entry_2.S

    r459 r461  
    4343NHSTUB(GetDrive_TotalClusters, 0xFF86EEB4) 
    4444NHSTUB(GetDrive_FreeClusters, 0xFF867C04) 
     45NHSTUB(GetBatteryTemperature, 0xFF82D270) 
     46NHSTUB(GetCCDTemperature, 0xFF82D25C) 
     47NHSTUB(GetOpticalTemperature, 0xFF82D248) 
     48NHSTUB(PT_PlaySound, 0xFF96A36C) 
  • branches/juciphox/platform/ixus65_sd630/sub/100a/stubs_entry_2.S

    r354 r461  
    4343NHSTUB(GetDrive_TotalClusters, 0xFF86FD94) 
    4444NHSTUB(GetDrive_FreeClusters, 0xFF868AD4) 
     45NHSTUB(GetBatteryTemperature, 0xFF82E220) 
     46NHSTUB(GetCCDTemperature, 0xFF82E20C) 
     47NHSTUB(GetOpticalTemperature, 0xFF82E1F8) 
     48NHSTUB(PT_PlaySound, 0xFF96AA98) 
     49 
  • branches/juciphox/platform/ixus700_sd500/sub/101a/stubs_entry_2.S

    r403 r461  
    4040NHSTUB(GetDrive_FreeClusters, 0xFF86A1C8) 
    4141NHSTUB(WriteSDCard, 0xFF87CACC) 
     42NHSTUB(GetBatteryTemperature, 0xFFA4DA28) 
     43NHSTUB(GetCCDTemperature, 0xFFA4DA14) 
     44NHSTUB(GetOpticalTemperature, 0xFFA4DA00) 
     45NHSTUB(PT_PlaySound, 0xFF960080) 
  • branches/juciphox/platform/ixus700_sd500/sub/101b/stubs_entry_2.S

    r434 r461  
    4040NHSTUB(GetDrive_FreeClusters, 0xFF86A1C8) 
    4141NHSTUB(WriteSDCard, 0xFF87CACC) 
     42NHSTUB(GetBatteryTemperature, 0xFFA4DA78) 
     43NHSTUB(GetCCDTemperature, 0xFFA4DA64) 
     44NHSTUB(GetOpticalTemperature, 0xFFA4DA50) 
     45NHSTUB(PT_PlaySound, 0xFF9600D0) 
    4246 
  • branches/juciphox/platform/ixus70_sd1000/sub/100c/stubs_entry_2.S

    r434 r461  
    2828NHSTUB(ExpCtrlTool_StartContiAE, 0xFF96553C)  
    2929NHSTUB(MakeAFScan,  0xFFAFFFDC)  
     30NHSTUB(GetBatteryTemperature, 0xFFA34470) 
     31NHSTUB(GetCCDTemperature, 0xFFA3445C) 
     32NHSTUB(GetOpticalTemperature, 0xFFA34448) 
     33NHSTUB(PT_PlaySound, 0xFFB0B1F8) 
    3034 
     35 
  • branches/juciphox/platform/ixus70_sd1000/sub/101b/stubs_entry_2.S

    r434 r461  
    2828NHSTUB(ExpCtrlTool_StartContiAE, 0xFF96553C) 
    2929NHSTUB(ExpCtrlTool_StopContiAE,  0xFF96556C) 
     30NHSTUB(GetBatteryTemperature, 0xFFA344E4) 
     31NHSTUB(GetCCDTemperature, 0xFFA344D0) 
     32NHSTUB(GetOpticalTemperature, 0xFFA344BC) 
     33NHSTUB(PT_PlaySound, 0xFFB0B26C) 
     34 
  • branches/juciphox/platform/ixus70_sd1000/sub/102a/stubs_entry_2.S

    r432 r461  
    2929NHSTUB(ExpCtrlTool_StartContiAE, 0xFF96553C) // SetFocusLensDefaultCondition_3 
    3030NHSTUB(ExpCtrlTool_StopContiAE,  0xFF96556C) // SetFocusLensDefaultCondition_5 
     31NHSTUB(GetBatteryTemperature, 0xFFA344E4) 
     32NHSTUB(GetCCDTemperature, 0xFFA344D0) 
     33NHSTUB(GetOpticalTemperature, 0xFFA344BC) 
     34NHSTUB(PT_PlaySound, 0xFFB0B2EC) 
     35 
  • branches/juciphox/platform/ixus750_sd550/sub/100f/stubs_entry_2.S

    r451 r461  
    1414//null stubs 
    1515NHSTUB(SetZoomActuatorSpeedPercent, 0xFF82e080) 
     16NHSTUB(GetBatteryTemperature, 0xFF82D5AC) 
     17NHSTUB(GetCCDTemperature, 0xFF82D598) 
     18NHSTUB(GetOpticalTemperature, 0xFF82D584) 
     19NHSTUB(PT_PlaySound, 0xFF957A90) 
    1620 
    1721 
  • branches/juciphox/platform/ixus750_sd550/sub/100g/stubs_entry_2.S

    r451 r461  
    1414//null stubs 
    1515NHSTUB(SetZoomActuatorSpeedPercent, 0xFF82e080) 
     16NHSTUB(GetBatteryTemperature, 0xFF82D5AC) 
     17NHSTUB(GetCCDTemperature, 0xFF82D598) 
     18NHSTUB(GetOpticalTemperature, 0xFF82D584) 
     19NHSTUB(PT_PlaySound, 0xFF957A90) 
    1620 
    1721 
     22 
     23 
  • branches/juciphox/platform/ixus800_sd700/sub/100b/stubs_entry_2.S

    r434 r461  
    1616NHSTUB(ExpCtrlTool_StartContiAE, 0xFF903520)  
    1717NHSTUB(MakeAFScan,  0xFF95FDE8)  
     18NHSTUB(GetBatteryTemperature, 0xFF82D218) 
     19NHSTUB(GetCCDTemperature, 0xFF82D204) 
     20NHSTUB(GetOpticalTemperature, 0xFF82D1F0) 
     21NHSTUB(PT_PlaySound, 0xFF969540) 
     22 
  • branches/juciphox/platform/ixus800_sd700/sub/101b/stubs_entry_2.S

    r434 r461  
    1616NHSTUB(ExpCtrlTool_StartContiAE, 0xFF903524)  
    1717NHSTUB(MakeAFScan,  0xFF95FDEC)  
     18NHSTUB(GetBatteryTemperature, 0xFF82D21C) 
     19NHSTUB(GetCCDTemperature, 0xFF82D208) 
     20NHSTUB(GetOpticalTemperature, 0xFF82D1F4) 
     21NHSTUB(PT_PlaySound, 0xFF969544) 
     22 
  • branches/juciphox/platform/ixus850_sd800/sub/100e/stubs_entry_2.S

    r434 r461  
    3838NHSTUB(ExpCtrlTool_StartContiAE, 0xFF926EE0)  
    3939NHSTUB(MakeAFScan,  0xFF999CF8)  
     40NHSTUB(GetBatteryTemperature, 0xFF82E4F0) 
     41NHSTUB(GetCCDTemperature, 0xFF82E4DC) 
     42NHSTUB(GetOpticalTemperature, 0xFF82E4C8) 
     43NHSTUB(PT_PlaySound, 0xFF9A4EE8) 
  • branches/juciphox/platform/ixus860_sd870/sub/100c/makefile.inc

    r448 r461  
    77RESTARTSTART=0x50000 
    88MEMISOSTART=0x9FE50 
    9 MEMISOSIZE=0x51000 
     9MEMISOSIZE=0x52000 
    1010ROMBASEADDR=0xff810000 
    1111 
  • branches/juciphox/platform/ixus860_sd870/sub/100c/movie_rec.c

    r453 r461  
    77int *video_mode    = &conf.video_mode; 
    88 
    9 long def_table[48]={ 0x2000, 0x38D, 0x788, 0x5800, 0x9C5, 0x14B8, 0x10000, 0x1C6A, 0x3C45, 0x20000, 
    10                      0x387A, 0x7813, 0x25800, 0x422F, 0x8CB6, 0x8000, 0xE35, 0x1E23, 0x10000, 0x1C6A, 
    11                      0x3C45, 0x12C00, 0x2118, 0x465B, 0x1CCD, -0x2E1, -0x579, 0x4F33, -0x7EB, -0xF0C, 
    12                      0xE666, -0x170A, -0x2BC6, 0x1CC39, -0x2F5B, -0x59F0, 0x21B53, -0x377F, -0x6965, 0x7333, 
    13                     -0xB85, -0x15E3, 0xE666, -0x170A, -0x2BC6, 0x10DAA, -0x1BC0, -0x34B3}; 
    14  
    15 long table[48]; 
     9long def_table[24]={0x2000, 0x38D,0x788,0x5800,0x9C5,0x14B8,0x10000,0x1C6A,0x3C45,0x8000,0xE35,0x1E23,0x1CCD,-0x2E1,-0x579,0x4F33,-0x7EB,-0xF0C,0xE666,-0x170A,-0x2BC6,0x7333,-0xB85,-0x15E3}; // @ 0xFFAA8CCC  
     10  
     11long table[24];  
    1612 
    1713void change_video_tables(int a, int b){ 
    1814 int i; 
    19  for (i=0;i<48;i++) table[i]=(def_table[i]*a)/b;  
     15 for (i=0;i<24;i++) table[i]=(def_table[i]*a)/b;  
    2016} 
    2117 
  • branches/juciphox/platform/ixus860_sd870/sub/100c/stubs_entry_2.S

    r453 r461  
    152152NSTUB(taskResume,                        0xFF810958) 
    153153NSTUB(taskSuspend,                       0xFF810958) 
     154NHSTUB(GetBatteryTemperature, 0xFF846B30) 
     155NHSTUB(GetCCDTemperature, 0xFF846C54) 
     156NHSTUB(GetOpticalTemperature, 0xFF846BA0) 
     157NHSTUB(PT_PlaySound, 0xFF86015C) 
    154158 
  • branches/juciphox/platform/ixus950_sd850/kbd.c

    r416 r461  
    230230    _kbd_pwr_on(); 
    231231    kbd_fetch_data(kbd_new_state); 
     232    static int handle_taskTouchW = 0, isRunning_taskTouchW = 1; 
     233    extern int _taskNameToId(void*); 
     234    extern void _taskSuspend(int), _taskResume(int); 
     235    if (handle_taskTouchW == 0) { handle_taskTouchW = _taskNameToId("tTouchW"); } 
    232236 
    233237    if (kbd_process() == 0){ 
     
    237241        physw_status[2] = kbd_new_state[2]; 
    238242        //physw_status[1] |= alt_mode_key_mask; 
    239  
     243                if (!isRunning_taskTouchW) { _taskResume(handle_taskTouchW); isRunning_taskTouchW = 1; } 
    240244    } else { 
    241245      // override keys 
     
    246250        physw_status[2] = (kbd_new_state[2] & (~KEYS_MASK2)) | 
    247251              (kbd_mod_state[2] & KEYS_MASK2); 
     252        if (isRunning_taskTouchW && !state_kbd_script_run) 
     253                { _taskSuspend(handle_taskTouchW); isRunning_taskTouchW = 0; } 
     254        else if (!isRunning_taskTouchW && state_kbd_script_run) 
     255                { _taskResume(handle_taskTouchW); isRunning_taskTouchW = 1; } 
     256 
     257 
    248258    } 
    249259 
  • branches/juciphox/platform/ixus950_sd850/sub/100c/stubs_entry_2.S

    r434 r461  
    5353NHSTUB(ExpCtrlTool_StartContiAE, 0xFF971628)  
    5454NHSTUB(MakeAFScan,  0xFFB0ECB0)  
     55NHSTUB(GetBatteryTemperature, 0xFFA3D408) 
     56NHSTUB(GetCCDTemperature, 0xFFA3D3F4) 
     57NHSTUB(GetOpticalTemperature, 0xFFA3D3E0) 
     58NHSTUB(PT_PlaySound, 0xFFB1A0A4) 
     59NHSTUB(taskNameToId, 0xFF935A64) 
  • branches/juciphox/platform/s2is/sub/100e/stubs_entry_2.S

    r333 r461  
    3535NHSTUB(GetDrive_FreeClusters, 0xFF876838) 
    3636NHSTUB(GetFocusLensSubjectDistanceFromLens, 0xFFA8EEF4) 
     37NHSTUB(GetBatteryTemperature, 0xFF82E368) 
     38NHSTUB(GetCCDTemperature, 0xFF82E354) 
     39NHSTUB(GetOpticalTemperature, 0xFF82E340) 
     40NHSTUB(PT_PlaySound, 0xFF97B4A0) 
    3741 
  • branches/juciphox/platform/s2is/sub/100f/stubs_entry_2.S

    r332 r461  
    3535NHSTUB(GetDrive_FreeClusters, 0xFF876838) 
    3636NHSTUB(GetFocusLensSubjectDistanceFromLens, 0xffa8ef74) 
     37NHSTUB(GetBatteryTemperature, 0xFF82E368) 
     38NHSTUB(GetCCDTemperature, 0xFF82E354) 
     39NHSTUB(GetOpticalTemperature, 0xFF82E340) 
     40NHSTUB(PT_PlaySound, 0xFF97B478) 
  • branches/juciphox/platform/s2is/sub/100g/stubs_entry_2.S

    r332 r461  
    3535NHSTUB(GetDrive_FreeClusters, 0xFF8765C4) 
    3636NHSTUB(GetFocusLensSubjectDistanceFromLens, 0xffa8ed00) 
     37NHSTUB(GetBatteryTemperature, 0xFF82E368) 
     38NHSTUB(GetCCDTemperature, 0xFF82E354) 
     39NHSTUB(GetOpticalTemperature, 0xFF82E340) 
     40NHSTUB(PT_PlaySound, 0xFF97BAA4) 
  • branches/juciphox/platform/s3is/sub/100a/stubs_entry_2.S

    r332 r461  
    2222NHSTUB(WriteSDCard, 0xFF87FFF8) 
    2323NHSTUB(UnsetZoomForMovie, 0xFF8117EC)  //null stub 
     24NHSTUB(GetBatteryTemperature, 0xFF82D37C) 
     25NHSTUB(GetCCDTemperature, 0xFF82D368) 
     26NHSTUB(GetOpticalTemperature, 0xFF82D354) 
     27NHSTUB(PT_PlaySound, 0xFF986518) 
     28//NHSTUB(PT_PlaySound, 0xFFB3163C) //alternate adress ewavr found, the other one is easier to find 
  • branches/juciphox/platform/s5is/sub/101a/stubs_entry_2.S

    r380 r461  
    180180NSTUB(kbd_pwr_off,                               0xFF81096C) // Does not even exist, I think 
    181181NSTUB(kbd_pwr_on,                                0xFF81096C) // Does not even exist, I think 
     182NHSTUB(PT_PlaySound, 0xFF86B5A4) 
    182183 
    183184 
     185 
  • branches/juciphox/platform/s5is/sub/101b/stubs_entry_2.S

    r373 r461  
    180180NSTUB(kbd_pwr_off,                               0xFF81096C) // Does not even exist, I think 
    181181NSTUB(kbd_pwr_on,                                0xFF81096C) // Does not even exist, I think 
     182NHSTUB(PT_PlaySound, 0xFF86B4DC) 
    182183 
    183184 
  • branches/juciphox/platform/sx100is/kbd.c

    r445 r461  
    1818static long last_kbd_key = 0; 
    1919static long alt_mode_key_mask = 0x10000000; 
    20 static int alt_mode_led=0; 
    2120static int usb_power=0; 
    2221static int remote_key, remote_count; 
     
    2423 
    2524#define KEYS_MASK0 (0x0000000C) 
    26 #define KEYS_MASK1 (0x171F0300) 
     25#define KEYS_MASK1 (0x1F1F0300) 
    2726#define KEYS_MASK2 (0x00000000) 
    2827 
     
    5150        { 1, KEY_ERASE    , 0x01000000 }, 
    5251        { 1, KEY_LEFT     , 0x00040000 }, 
     52        { 1, KEY_FACE     , 0x08000000 }, 
    5353 
    5454        { 0, KEY_SHOOT_FULL, 0x0000000C },  
  • branches/juciphox/platform/sx100is/sub/100c/stubs_entry.S

    r438 r461  
    103103NSTUB(vsprintf, 0xffc0e7b4) 
    104104NSTUB(write, 0xffc0a4a0) 
     105NHSTUB(GetBatteryTemperature, 0xFFC3A350) 
     106NHSTUB(GetCCDTemperature, 0xFFC3A474) 
     107NHSTUB(GetOpticalTemperature, 0xFFDC4FC4) 
     108NHSTUB(PT_PlaySound, 0xFFC52FD4) 
  • branches/juciphox/platform/tx1/sub/100g/stubs_entry_2.S

    r427 r461  
    3333NHSTUB(ExpCtrlTool_StartContiAE, 0xFF97799C)  
    3434NHSTUB(MakeAFScan,               0xFFB2C7E4)  
     35NHSTUB(GetBatteryTemperature, 0xFFA48D00) 
     36NHSTUB(GetCCDTemperature, 0xFFA48CEC) 
     37NHSTUB(GetOpticalTemperature, 0xFFA48CD8) 
     38NHSTUB(PT_PlaySound, 0xFFB38300) 
  • branches/juciphox/platform/tx1/sub/101b/stubs_entry_2.S

    r427 r461  
    2929NHSTUB(ExpCtrlTool_StartContiAE, 0xFF97799C)  
    3030NHSTUB(MakeAFScan,  0xFFB2C864)  
     31NHSTUB(GetBatteryTemperature, 0xFFA48D80) 
     32NHSTUB(GetCCDTemperature, 0xFFA48D6C) 
     33NHSTUB(GetOpticalTemperature, 0xFFA48D58) 
     34NHSTUB(PT_PlaySound, 0xFFB38380) 
     35 
  • branches/juciphox/tools/Makefile

    r301 r461  
    55include $(topdir)makefile.inc 
    66 
    7 OBJS=pakwif.o finsig.o 
     7OBJS=pakwif.o finsig.o gensig.o 
    88 
    99all: pakwif$(EXE) finsig$(EXE) 
  • branches/juciphox/version.inc

    r416 r461  
    1 BUILD_NUMBER := 0 
     1BUILD_NUMBER := 0.10 
Note: See TracChangeset for help on using the changeset viewer.