• Increased buffer size (1.2mb to 2.5mb max)
• Led on Document scene (AF Assist Lamp)
• Solarize effect now is Vivid colors™
• Color correction (Thanks to Brazzuka's)
Date: 07.03.2009.
Author: Luhccas
Nationality: Brazilian
download
// Filename: Snapshot 2.9 With led on Document // Phone project: Sofia // SPACE: 1200-1425 // Companion chips: none //Information section //========================================================= info_name=MCB991; info_vendor=Luhccas; info_major_ver=2; info_minor_ver=9; // Changes: //========================================================= - Regular Buffer size (1.2mb to 2.5mb max) - Led on Document scene (A bug will happen if you change from a non flash scene to Doc... Flash don't will work) - Solarize effect now is Vivid colors™ - Color correction (Thanks to Brazzuka's) // Macros for camera //================================================ SET_REG = 05 02 00 !0 !1 $f $r2 1 1 $d0002; READ_REG = 05 01 00 !0 01 $f $r2 4 4 $d0002; CLEAR_EVENT = 05 01 00 03 03 $f$r4 1 123 $d0002 $c3 00 $"CAMDRIVER0: Queue_was_empty" $cl $"CAMDRIVER0: Cleared_Int_Source_%1_Event_Info_%2_Event_ID_%3" $cx #SET_REG(06,03) ; CLEAR_EVENT_FIFO = $s0 01 [ 0 ff #CLEAR_EVENT $c3 00 $s0 00 $cx ]; SEND_COMMAND = 06 02 00 01 !1 !0 $f $r3 111 $d0002; WAIT_FOR_TRIG = $h 0 02 5 1000 $c0 00 $"CAMDRIVER0: TRIG_Timeout" $cl $"CAMDRIVER0: TRIG_Recieved" $cx; POLL_EVENT_ID = !0 $s0 01 [ 0 ff #CLEAR_EVENT $-3 r4 $c3 00 $"CAMDRIVER0: Successfully_acknowledged_Event_ID_%4" $s0 00 $cx ]; CAPTURE_EVENT = #WAIT_FOR_TRIG #CLEAR_EVENT; CHANGE_MODE = #CLEAR_EVENT_FIFO #SEND_COMMAND(!0,!1) #POLL_EVENT_ID($s4 ea) #SET_REG(06,03); COM_EVENT = #CLEAR_EVENT_FIFO #SEND_COMMAND(!0,!1) #WAIT_FOR_TRIG #CLEAR_EVENT; UPDATE_WB = $p5 01 $c5 00 $cl $u01 $cx; UPDATE_PHOTO = $p5 16 $c5 00 $cl $u16 $cx; CC= #SET_REG(65,F9) #SET_REG(66,06) #COM_EVENT(13,01); CC2= #SET_REG(65,FF) #SET_REG(66.FD) #COM_EVENT(13,01); WB_ISOAUTO = #SET_REG(98,26) #SET_REG(99,70); WB_ISO100 = #SET_REG(98,25) #SET_REG(99,73); WB_ISO200 = #SET_REG(98,27) #SET_REG(99,6D); WB_ISO400 = #SET_REG(98,28) #SET_REG(99,6A); FLASH_NORMAL_MODE = #SET_REG(A2,00) #SET_REG(A3,2F) #SET_REG(A4,85) #SET_REG(A5,2F); FLASH_DOC_MODE = #SET_REG(A2,00) #SET_REG(A3,2F) #SET_REG(A4,85) #SET_REG(A5,2F) #SET_REG(AD,FC); FLASH_LIMIT_ISO100 = #SET_REG(A2,C8) #SET_REG(A3,25) #SET_REG(A4,D0) #SET_REG(A5,25); FLASH_LIMIT_ISO200 = #SET_REG(A2,C7) #SET_REG(A3,21) #SET_REG(A4,D0) #SET_REG(A5,21); FLASH_LIMIT_ISO400 = #SET_REG(A2,C6) #SET_REG(A3,1D) #SET_REG(A4,D0) #SET_REG(A5,1D); UPDATE_ISO = $p5 11 $c5 00 $cl $u11 $cx; UPDATE_COLOR = $p5 08 $c5 00 #COM_EVENT(58,04) $cl #COM_EVENT(58,00) $cx; DOC_MODE = #COM_EVENT(55,00) #COM_EVENT(56,06) #COM_EVENT(13,01) #COM_EVENT(06,00) #SET_REG(AD,FF0 #SET_REG(6C,01) #SET_REG(95,01) #WB_ISO100 #FLASH_DOC_MODE; NORMAL_SCENE = #COM_EVENT(02,00) #SET_REG(77,1D) #SET_REG(78,12) #SET_REG(79,20) #SET_REG(7A,26) #SET_REG(7B,12) #SET_REG(7C,26) #COM_EVENT(55,00) #COM_EVENT(56,03) #COM_EVENT(06,00) #CC #SET_REG(95,02) #WB_ISOAUTO #FLASH_NORMAL_MODE; NOT_DOC_MODE = #COM_EVENT(02,00) #COM_EVENT(55,00) #COM_EVENT(56,04) #COM_EVENT(06,00) #CC #SET_REG(95,01) #WB_ISO200 #FLASH_LIMIT_ISO100; NIGHT = #COM_EVENT(02,04) #COM_EVENT(55,00) #COM_EVENT(56,02) #CC; W_O_FLASH = #COM_EVENT(02,00) #COM_EVENT(55,00) #COM_EVENT(56,04) #COM_EVENT(06,00) #CC #WB_ISO200; UPDATE_MIN_FRMRATE = $p5 10 $c5 03 #SET_REG(22,02) $cl #SET_REG(22,0A) $cx; FLASH_SETTINGS = #SET_REG(92,00) #SET_REG(A0,02) #SET_REG(A1,01) #SET_REG(96,00) #SET_REG(97,04) #SET_REG(9A,F0) #SET_REG(9B,A0) #SET_REG(9C,0D) #SET_REG(9D,2B); TO_DRAFT = $cf.02 0 #CHANGE_MODE(33,00) $sf.02 1 $cl $cx; //Camera characteristics section //========================================================= cam_power_on_0 = 5, 2, 31, 0, 05; cam_power_on_1 = 5, 2, 20, 1, 05; cam_power_on_2 = 5, 2, 33, 1, 00; cam_power_on_3 = 5, 2, 30, 1, 05; cam_power_on_4 = 5, 3, 9, 6590,05; cam_power_on_5 = 5, 2, 31, 1, 05; cam_power_off_0 = 5, 2, 31, 0, 05; cam_power_off_1 = 5, 3, 9, 0, 05; cam_power_off_2 = 5, 2, 30, 0, 20; cam_power_off_3 = 5, 2, 33, 0, 05; cam_power_off_4 = 5, 2, 20, 0, 05; cam_i2c_address = 1F; cam_i2c_clock = ; cam_vf_clock_freq = 9, 6590; cam_ss_clock_freq = 9, 6590; cam_vf_format = B100; cam_ss_format = 0001; cam_ss_format_10 = B100; cam_ss_format_11 = B100; cam_data_offset = 2; cam_data_offset_10 = 0; cam_data_offset_11 = 0; cam_vf_sync = 5; cam_ss_sync = 5; cam_post_processing_20 = 1; cam_post_processing_25 = 1; cam_post_processing_26 = 1; cam_post_processing_29 = 1; cam_ss_jpeg_buf_size_1 = 25800; cam_ss_jpeg_buf_size_2 = 64000; cam_ss_jpeg_buf_size_4 = 96000; cam_ss_jpeg_buf_size_5 = 177000; cam_ss_jpeg_buf_size_6 = 270000; // Supported sizes //================================================ sup_sizes = 1[280,1E0,0], 2[500,3C0,0], 4[660,4C8,0], 5[800,600,0], 6[A20,798,0], 10[140, F0,0], 11[280,1E0,0], 20[140,F0,BB8], 21[140,F0,5DC], 25[60,80,4B0], 26[90,B0,4B0], 29[90,B0,3E8], 2a[140,F0,BB8], 2b[140,F0,5DC], 2c[140,F0,2EE], 2f[140,F0,BB8] ; // I2C sequences //================================================ seq_init = $sf 00 $sf.05 1 $sf.02 1 $s8 00 $sa 09 $sc 00 $se 00 $sd 00 #CAPTURE_EVENT #CAPTURE_EVENT #SET_REG(29,01) #SET_REG(3B,03) #SET_REG(3A,E8) #SET_REG(6B,06) #SET_REG(6C,01) #SET_REG(6F,3C) #SET_REG(70,1E) #SET_REG(64,1D) #SET_REG(22,0A) #SET_REG(95,02) #CC #WB_ISOAUTO #FLASH_LIMIT_ISO100 #COM_EVENT(5A,01) ; seq_ping = ; // Supported properties //=================================================================== sup_properties = 0[3,f,9], 1[0,4,0], 2[0,3,0], 3[0,1,0], 4[0,1,0], 5[0,1,0], 6[A,A0,A], 7[0,1,0], 8[0,4,0], 9[0,1,0], A[0,2,0], B[0,0,0], C[0,0,0], D[0,0,0], E[0,4,0], F[0,0,0], 10[0,7,0], 11[0,4,0], 12[0,1,0], 13[0,0,0], 14[0,0,0], 15[0,0,0], 16[0,1,0], 17[0,0,0], 18[0,1,0], 19[0,2,0], 1A[0,0,0], 1B[0,9,0], 1C[0,3,0], 1D[0,4,0], 1E[0,1,0] ; // Property 0, Exposure //--------------------------------------------------- seq_set_prop_0 = #TO_DRAFT $s5 %0 $ma 5 $-5 09 #COM_EVENT(06,$w5); seq_get_prop_0 = $s3 00 $s2 00 $s1 00 $m0 a; // Property 1, White balance //--------------------------------------------------- seq_set_prop_1_0 = #TO_DRAFT #COM_EVENT(11,00); seq_set_prop_1_1 = #TO_DRAFT #COM_EVENT(11,03); seq_set_prop_1_2 = #TO_DRAFT #COM_EVENT(11,04); seq_set_prop_1_3 = #TO_DRAFT #COM_EVENT(11,05); seq_set_prop_1_4 = #TO_DRAFT #COM_EVENT(11,06); // Property 2, Flicker mode //--------------------------------------------------- seq_set_prop_2_0 = #COM_EVENT(21,01); seq_set_prop_2_1 = #COM_EVENT(21,02); seq_set_prop_2_2 = #COM_EVENT(21,03); seq_set_prop_2_3 = #COM_EVENT(21,00); // Property 3, Vertical mirroring //--------------------------------------------------- seq_set_prop_3_0 = #COM_EVENT(52,00); seq_set_prop_3_1 = #COM_EVENT(52,0A); // Property 4, Horizontal mirroring //--------------------------------------------------- seq_set_prop_4_0 = #COM_EVENT(52,00); seq_set_prop_4_1 = #COM_EVENT(52,05); // Property 5, JPEG compression //--------------------------------------------------- seq_set_prop_5_0 = $sf.05 1; seq_set_prop_5_1 = $sf.05 0; // Property 6, Zoom //--------------------------------------------------- seq_set_prop_6 = #TO_DRAFT $s4 %0 $ma 4 $*4 3C $/4 96 $s5 44 $-5 r4 #SET_REG(67,3C) #COM_EVENT(61,$w5); seq_get_prop_6 = #TO_DRAFT #READ_REG(69) $*4 96 $/4 3C $s0 AA $-0 r4 $s1 00 $s2 00 $s3 00; // Property 7, Night mode //--------------------------------------------------- seq_set_prop_7_0 = ; // Normal mode seq_set_prop_7_1 = ; // HS mode ON // Property 8, Effects //--------------------------------------------------- // 0 => normal, 1 => negative, 2 => Vivid Color, 3 => sepia // 4 => black&white seq_set_prop_8_0 = #COM_EVENT(53,00) #COM_EVENT(58,00); seq_set_prop_8_1 = #COM_EVENT(53,01) #COM_EVENT(58,00); seq_set_prop_8_2 = #COM_EVENT(53,00) #COM_EVENT(58,09); seq_set_prop_8_3 = #COM_EVENT(53,03) #COM_EVENT(58,00); seq_set_prop_8_4 = #COM_EVENT(53,04) #COM_EVENT(58,00); // Property 9, Focus mode //--------------------------------------------------- seq_set_prop_9_0 = #TO_DRAFT #SET_REG(6A,00); // Normal range seq_set_prop_9_1 = #TO_DRAFT #SET_REG(6A,01); // Full range // Property 10, Focus operation //---------------------------------------------------- seq_set_prop_a_0 = $cf.02 0 #CHANGE_MODE(33,00) $sf.02 1 #COM_EVENT(43,00) #COM_EVENT(5A,01) $cx ; seq_set_prop_a_1 = #CHANGE_MODE(31,06) $sf.02 0 ; seq_set_prop_a_2 = #CHANGE_MODE(31,02) $sf.02 0 ; seq_get_prop_a = 05 01 00 03 03 $f $r4 1 123 $d0005 $c3 e9 $b2 00 4 1 $c2 00 $"CAMDRIVER0: Focus_operation_succeded" $s0 04 $cl $"CAMDRIVER0: Focus_operation_failed" $s0 05 $cx $"CAMDRIVER0: Received_and_cleared_Int_Source_%0_Event_Info_%2_Event_ID_%3" #SET_REG(06,03) $cl $"CAMDRIVER0: Focus_operation_not_finnished" $s0 03 $cx $s1 00 $s2 00 $s3 00; // Property 11, EXIF 1 //---------------------------------------------------- seq_get_prop_b = #COM_EVENT(72,00) 05 01 00 B0 04 $f $r5 0 0 1 2 3 $d0002 ; // Property 12, EXIF 2 //---------------------------------------------------- seq_get_prop_c = #COM_EVENT(72,00) 05 01 00 B4 02 $f $r3 0 0 1 $d0002 $cf.06 1 $ce 00 $s2 01 $cl $s2 00 $cx $cl $s2 00 $cx #READ_REG(4A) $m3 4 ; // Property 14, Xenon flash support //---------------------------------------------------- seq_set_prop_e_0 = $sd 00 #SET_REG(91,00) #cc; seq_set_prop_e_1 = $sd 01 $p5 e2 $c5 00 #COM_EVENT(58,04) $cl #COM_EVENT(58,00) $cx; seq_set_prop_e_2 = $sd 02 $bf 00 7 1 $p5 10 $c5 00 #FLASH_NORMAL_MODE $cl #FLASH_NORMAL_MODE $cx #FLASH_SETTINGS #CC2; seq_set_prop_e_3 = $sd 03 #FLASH_SETTINGS; seq_set_prop_e_4 = $sd 04 #SET_REG(91,03); // Property 16, Scenes //---------------------------------------------------- seq_set_prop_10_0 = // Normal $sa 09 #TO_DRAFT #SET_REG(64,1D) #SET_REG(22,0D) #COM_EVENT(51,00) #UPDATE_WB #UPDATE_PHOTO #UPDATE_COLOR #NORMAL_SCENE #UPDATE_ISO #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $cl $cx ; seq_set_prop_10_1 = // Portrait $sa 09 #TO_DRAFT #SET_REG(64,1D) #SET_REG(22,0A) #COM_EVENT(02,00) #SET_REG(77,1F) #SET_REG(78,12) #SET_REG(79,20) #SET_REG(7A,26) #SET_REG(7B,12) #SET_REG(7C,26) #COM_EVENT(51,01) #UPDATE_WB #UPDATE_COLOR #NOT_DOC_MODE #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $cl $cx ; seq_set_prop_10_2 = // Landscape $sa 09 #TO_DRAFT #SET_REG(64,1D) #SET_REG(22,0A) #COM_EVENT(02,00) #COM_EVENT(51,06) #UPDATE_WB #UPDATE_COLOR #W_O_FLASH #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $cl $cx ; seq_set_prop_10_3 = // Night $sa 09 #TO_DRAFT #SET_REG(64,2A) #SET_REG(22,02) #COM_EVENT(02,00) #SET_REG(77,2A) #SET_REG(78,23) #SET_REG(79,12) #SET_REG(7A,0F) #SET_REG(7B,12) #SET_REG(7C,12) #COM_EVENT(51,08) #UPDATE_WB #UPDATE_COLOR #NIGHT #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $cl $cx ; seq_set_prop_10_4 = // Night portrait $sa 09 #TO_DRAFT #SET_REG(64,20) #SET_REG(22,0A) #COM_EVENT(02,00) #SET_REG(77,20) #SET_REG(78,12) #SET_REG(79,22) #SET_REG(7A,26) #SET_REG(7B,12) #SET_REG(7C,26) #COM_EVENT(51,08) #UPDATE_COLOR #NOT_DOC_MODE #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $cl $cx ; seq_set_prop_10_5 = // Beach & snow $sa 09 #TO_DRAFT #SET_REG(64,20) #SET_REG(22,04) #SET_REG(61,01) #COM_EVENT(02,04) #COM_EVENT(51,02) #UPDATE_WB #UPDATE_COLOR #W_O_FLASH #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $cl $cx ; seq_set_prop_10_6 = // Sports $sa 09 #TO_DRAFT #SET_REG(64,1D) #SET_REG(22,0A) #COM_EVENT(02,00) #COM_EVENT(51,05) #UPDATE_WB #UPDATE_COLOR #W_O_FLASH #CLEAR_EVENT #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $cl $cx ; seq_set_prop_10_7 = // Document $sa 09 #TO_DRAFT #SET_REG(64,1D) #SET_REG(22,0A) #COM_EVENT(02,00) #COM_EVENT(51,06) #UPDATE_WB #UPDATE_COLOR #DOC_MODE #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $cl $cx ; // Property 17, ISO //---------------------------------------------------- seq_set_prop_11_0 = #TO_DRAFT $sc 00 #SET_REG(95,02) #COM_EVENT(02,00) #WB_ISOAUTO #FLASH_LIMIT_ISO200 #COM_EVENT(5A,01); seq_set_prop_11_1 = #TO_DRAFT $sc 01 #SET_REG(61,01) #SET_REG(95,01) #COM_EVENT(02,04) #WB_ISO100 #FLASH_LIMIT_ISO100 #COM_EVENT(5A,01); seq_set_prop_11_2 = #TO_DRAFT $sc 04 #SET_REG(61,04) #SET_REG(95,04) #COM_EVENT(02,04) #WB_ISO200 #FLASH_LIMIT_ISO200 #COM_EVENT(5A,01); seq_set_prop_11_3 = #TO_DRAFT $sc 07 #SET_REG(61,07) #SET_REG(95,07) #COM_EVENT(02,04) #WB_ISO400 #FLASH_LIMIT_ISO400 #COM_EVENT(5A,01); // Property 18, Framerate reduction/restoration for GUI speed //------------------------------------------------------------ seq_set_prop_12_0 = $"CAMDRIVER0: Restore framerate" $sf.07 0 $z5 $c5 20 $p6 10 $c6 03 #SET_REG(22,02) $cl #SET_REG(22,0A) #SET_REG(25,0A) $cx #SET_REG(21,3C) #SET_REG(24,3C) $cx $c5 2f $p6 10 $c6 03 #SET_REG(22,02) $cl #SET_REG(22,0A) #SET_REG(25,0A) $cx #SET_REG(21,3C) #SET_REG(24,3C) $cx $c5 21 #SET_REG(22,0A) #SET_REG(25,0A) #SET_REG(21,3C) #SET_REG(24,3C) $cx $c5 25 #SET_REG(22,18) #SET_REG(25,18) #SET_REG(21,18) #SET_REG(24,18) $cx $c5 26 #SET_REG(22,18) #SET_REG(25,18) #SET_REG(21,18) #SET_REG(24,18) $cx $c5 29 #SET_REG(22,14) #SET_REG(25,14) #SET_REG(21,14) #SET_REG(24,14) $cx $c5 2a #SET_REG(22,3B) #SET_REG(25,3B) #SET_REG(21,3C) #SET_REG(24,3C) $cx $c5 2b #SET_REG(22,1E) #SET_REG(25,1E) #SET_REG(21,1E) #SET_REG(24,1E) $cx $c5 2c #SET_REG(22,0F) #SET_REG(25,0F) #SET_REG(21,0F) #SET_REG(24,0F) $cl $cx #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $cf.01 1 #CHANGE_MODE(38,00) $cl $cx $cl $cf.01 1 #CHANGE_MODE(37,00) $cl $cx $cx ; seq_set_prop_12_1 = $"CAMDRIVER0: Decrease framerate" $sf.07 1 #SET_REG(22,0F) #SET_REG(25,0F) #SET_REG(21,0F) #SET_REG(24,0F) #CHANGE_MODE(34,00) ; // Property 22, Photo metering //---------------------------------------------------- seq_set_prop_16_0 = #TO_DRAFT #COM_EVENT(08,00); seq_set_prop_16_1 = #TO_DRAFT #COM_EVENT(08,01); // Property 23, Xenon flash required //---------------------------------------------------- seq_get_prop_17 = // 0 = no flash, 1 = flash #READ_REG(93) $-4 02 $m0 4 $sf.06 0 $cd 02 #COM_EVENT(22,01) #SET_REG(9E,0F) $c0 01 $sf.06 1 $p5 10 $c5 04 #SET_REG(9E,1E) #SET_REG(91,23) $cl #SET_REG(91,03) $cx $cl #SET_REG(91,00) $cx $cl $cx $cd 03 #SET_REG(9E,0F) $c0 01 $sf.06 1 $p5 10 $c5 04 #SET_REG(9E,1E) #SET_REG(91,13) $cl #SET_REG(91,13) $cx $cl #SET_REG(91,00) $cx $cl $cx $s1 00 $s2 00 $s3 00 ; // Property 24, Image stabilization //---------------------------------------------------- seq_set_prop_18_0 = #TO_DRAFT #CHANGE_MODE(34,00) $sf.00 0 $cc 00 #COM_EVENT(02,00) $cl #COM_EVENT(02,04) #SET_REG(61,$wc) $cx #COM_EVENT(5A,01) $c8 01 #CHANGE_MODE(37,00) $cl $cx ; seq_set_prop_18_1 = #TO_DRAFT $sf.00 1 #COM_EVENT(02,00) #CHANGE_MODE(35,00) $c8 01 #CHANGE_MODE(38,00) $cl $cx ; // Property 25, Continuous zoom //---------------------------------------------------- seq_set_prop_19_0 = #TO_DRAFT #COM_EVENT(61,84); seq_set_prop_19_1 = #TO_DRAFT #SET_REG(67,01) #COM_EVENT(61,04); seq_set_prop_19_2 = #TO_DRAFT #SET_REG(67,01) #COM_EVENT(61,40); // Property 26, Get continuous zoom //---------------------------------------------------- seq_get_prop_1a = #TO_DRAFT #READ_REG(69) $s0 63 $*0 40 $/0 r4 $-0 54 $/0 0F $s3 00 $s2 00 $s1 00; // Property 27, Snapshot operation //---------------------------------------------------- seq_set_prop_1b = $se %0; // Property 28, BestPic image size //---------------------------------------------------- seq_set_prop_1c_0 = #SET_REG(2D,01) #SET_REG(42,46) $cf.05 1 #SET_REG(45,5A) $cl #SET_REG(45,5F) $cx; seq_set_prop_1c_1 = #SET_REG(2D,03) #SET_REG(42,40) $cf.05 1 #SET_REG(45,40) $cl #SET_REG(45,46) $cx; seq_set_prop_1c_2 = #SET_REG(2D,06) #SET_REG(42,32) $cf.05 1 #SET_REG(45,14) $cl #SET_REG(45,1E) $cx; seq_set_prop_1c_3 = #SET_REG(2D,08) #SET_REG(42,20) $cf.05 1 #SET_REG(45,05) $cl #SET_REG(45,0A) $cx; // Property 29, BestPic operation, //---------------------------------------------------- seq_set_prop_1d_0 = $sb 00; seq_set_prop_1d_1 = $sb 01; seq_set_prop_1d_2 = $sb 02; seq_set_prop_1d_3 = #CHANGE_MODE(31,02) #CHANGE_MODE(39,04) ; seq_set_prop_1d_4 = #COM_EVENT(3A,00) ; // Reset and test pattern, property 30 //--------------------------------------------------------------- seq_set_prop_1e_0 = $go 31 0 $d0020 $go 31 1 #CAPTURE_EVENT #CAPTURE_EVENT #SET_REG(29,01) #SET_REG(2B,01) ; seq_set_prop_1e_1 = #SET_REG(81,01) 03 55 AA $f $r2 01 $d0003 08 04 70 30 00 05 01 00 $f $r3 001 $d0003 ; // Viewfinder and snapshot sequences //================================================================= seq_ss_config_1 = $sf.03 1 #SET_REG(26,08) $cf.05 1 $"CAMDRIVER0: VGA NORMAL COMPRESSION" 0D 02 00 3C 96 00 A0 00 37 00 46 3C 32 $f $ra 1111111111 $d0002 $cl $"CAMDRIVER0: VGA LOW COMPRESSION" 0D 02 00 3C 96 00 A0 00 50 00 50 46 3C $f $ra 1111111111 $d0002 $cx; seq_ss_config_2 = $sf.03 1 #SET_REG(26,06) $cf.05 1 $"CAMDRIVER0: 1M NORMAL COMPRESSION" 0D 02 00 3C 90 01 3C 00 C8 00 46 3C 32 $f $ra 1111111111 $d0002 $cl $"CAMDRIVER0: 1M LOW COMPRESSION" 0D 02 00 3C 90 01 64 00 2C 01 50 46 3C $f $ra 1111111111 $d0002 $cx; seq_ss_config_4 = $sf.03 1 #SET_REG(26,05) $cf.05 1 $"CAMDRIVER0: 2M NORMAL COMPRESSION" 0D 02 00 3C 58 02 96 00 90 01 46 3C 32 $f $ra 1111111111 $d0002 $cl $"CAMDRIVER0: 2M LOW COMPRESSION" 0D 02 00 3C 58 02 90 01 F4 01 50 46 3C $f $ra 1111111111 $d0002 $cx; seq_ss_config_5 = $sf.03 1 #SET_REG(26,03) $cf.05 1 $"CAMDRIVER0: 3M NORMAL COMPRESSION" 0D 02 00 3C 46 05 9E 02 E8 03 5A 50 46 $f $ra 1111111111 $d0002 $cl $"CAMDRIVER0: 3M LOW COMPRESSION" 0D 02 00 3C DC 05 B0 04 78 05 64 5A 50 $f $ra 1111111111 $d0002 $cx; seq_ss_config_6 = $sf.03 1 #SET_REG(26,01) $cf.05 1 $"CAMDRIVER0: 5M NORMAL COMPRESSION" 0D 02 00 3C 08 07 B0 04 DC 05 5A 50 46 $f $ra 1111111111 $d0002 $cl $"CAMDRIVER0: 5M LOW COMPRESSION" 0D 02 00 3C D0 07 B0 04 40 06 5F 55 4B $f $ra 1111111111 $d0002 $cx; seq_ss_config_10 = $sf.03 0 #SET_REG(26,0C) ; seq_ss_config_11 = $sf.03 0 #SET_REG(26,08) ; seq_vf_config_20 = #SET_REG(20,0C) $cf.07 1 $cl #SET_REG(21,3C) $cx #UPDATE_MIN_FRMRATE $s8 00 ; seq_vf_config_21 = #SET_REG(20,0C) $cf.07 1 $cl #SET_REG(21,1E) $cx #UPDATE_MIN_FRMRATE $s8 00 ; seq_vf_config_25 = #SET_REG(20,14) #SET_REG(23,14) $cf.07 1 $cl #SET_REG(22,14) #SET_REG(25,14) #SET_REG(21,14) #SET_REG(24,14) $cx $s8 00 ; seq_vf_config_26 = #SET_REG(20,12) #SET_REG(23,12) $cf.07 1 $cl #SET_REG(22,18) #SET_REG(25,18) #SET_REG(21,18) #SET_REG(24,18) $cx $s8 00 ; seq_vf_config_29 = #SET_REG(20,12) #SET_REG(23,12) $cf.07 1 $cl #SET_REG(22,14) #SET_REG(25,14) #SET_REG(21,14) #SET_REG(24,14) $cx $s8 01 ; seq_vf_config_2a = #SET_REG(20,0C) #SET_REG(23,0C) $cf.07 1 $cl #SET_REG(22,3B) #SET_REG(25,3B) #SET_REG(24,3C) #SET_REG(21,3C) $cx $s8 01 ; seq_vf_config_2b = #SET_REG(20,0C) #SET_REG(23,0C) $cf.07 1 $cl #SET_REG(22,1E) #SET_REG(25,1E) #SET_REG(21,1E) #SET_REG(24,1E) $cx $s8 01 ; seq_vf_config_2c = #SET_REG(20,0C) #SET_REG(23,0C) $cf.07 1 $cl #SET_REG(22,0F) #SET_REG(25,0F) #SET_REG(21,0F) #SET_REG(24,0F) $cx $s8 01 ; seq_vf_config_2f = #SET_REG(20,0C) $cf.07 1 $cl #SET_REG(21,3C) $cx #UPDATE_MIN_FRMRATE $s8 00 ; //----------------------------------------------- seq_vf_start = $cf.02 0 #CHANGE_MODE(33,00) #COM_EVENT(43,00) #COM_EVENT(5A,01) $sf.02 1 $se 00 $cl #CHANGE_MODE(34,00) #COM_EVENT(5A,01) $cf.00 1 #CHANGE_MODE(35,00) $c8 01 #CHANGE_MODE(38,00) $cl $cx $cl $c8 01 #CHANGE_MODE(37,00) $cl $cx $cx $cx ; seq_vf_stop = ; seq_ss_start = $cf.02 1 #CHANGE_MODE(31,02) $sf.02 0 $cl $cx ; seq_ss_take = $ce 00 $cf.03 1 #CHANGE_MODE(36,80) #CAPTURE_EVENT $cl #CHANGE_MODE(36,00) $cx $cl #CHANGE_MODE(3A,$we) $cx #CAPTURE_EVENT ; seq_ss_verify = #CAPTURE_EVENT $c2 01 $s0 01 $"CAMDRVIER0: Image_verified" $cl $"CAMDRIVER0: Image_not_verified" $cx ; seq_ss_stop = ; // Functions for synchronized viewfinder images in burst mode. seq_pv_start = $cf.02 1 #CHANGE_MODE(31,02) $sf.02 0 $cl $cx $"CAMDRIVER0: seq_pv_start" $s9 00 $cb 00 #CHANGE_MODE(39,04) $cl #CHANGE_MODE(39,14) $cx; seq_pv_stop = $c9 01 $"CAMDRIVER0: seq_pv_stop" $s9 03 #COM_EVENT(3A,00) $cl $"CAMDRIVER0: seq_pv_stop is waiting for EV_RECORD_STATUS" $s9 02 $cx; seq_pv_verify = $h0 02 5 0000 05 01 00 03 03 $f $r4 0 012 05 02 00 06 03 $f $cb 02 $s0 ff $cl $s0 00 $c2 e3 $b1 00 4 4 $c1 00 $s0 01 $"CAMDRIVER0: Rotate, synch vf" $cl $"CAMDRIVER0: Compr_failed_%0_%1_%2" $cx $cl $cx $c2 ea $c1 50 $s0 ff $cl $cx $cl $cx $c2 ee $c9 02 $"CAMDRIVER0: EV_RECORD_STATUS(completed)" $"CAMDRIVER0: Change the mode to BurstOutput" $s9 03 #COM_EVENT(3A,00) $s0 00 $cl $"CAMDRIVER0: EV_RECORD_STATUS(completed)" $s9 01 $cx $cl $cx $cx; // JPEG section //================================================ jpeg_qtable_selector_0 = $s2 00 #READ_REG(4A) $m0 4 $s1 00 $"CAMDRIVER0: qtable0=%0" ; jpeg_qtable_selector_1 = $s2 01 #READ_REG(4A) $m0 4 $s1 00 $"CAMDRIVER0: qtable1=%0" ; jpeg_qtable_0 = 10 0B 0C 0E 0C 0A 10 0E 0D 0E 12 11 10 13 18 28 1A 18 16 16 18 31 23 25 1D 28 3A 33 3D 3C 39 33 38 37 40 48 5C 4E 40 44 57 45 37 38 50 6D 51 57 5F 62 67 68 67 3E 4D 71 79 70 64 78 5C 65 67 63 ; jpeg_qtable_1 = 11 12 12 18 15 18 2F 1A 1A 2F 63 42 38 42 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ; jpeg_qtable_factors = 0,320100,190000,10AB00,C8000,A0000,85500,72500,64000,58E00,50000, 48C00,42B00,3D900,39200,35500,32000,2F100,2C700,2A200,28000, 26200,24600,22D00,21500,20000,1EC00,1DA00,1C900,1B900,1AB00, 19D00,19000,18400,17800,16E00,16400,15A00,15100,14800,14000, 13800,13100,12A00,12300,11C00,11600,11000,10B00,10500,10000, FB00, F600, F100, EC00, E600, E100, DC00,D700,D200,CD00, C800, C300, BD00, B800, B300, AE00, A900,A400,9F00,9A00, 9400, 8F00, 8A00, 8500, 8000, 7B00, 7600,7100,6C00,6600, 6100, 5C00, 5700, 5200, 4D00, 4800, 4300,3D00,3800,3300, 2E00, 2900, 2400, 1F00, 1A00, 1400, F00, A00, 500, 100 ; jpeg_header= FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 00 01 00 00 FF DB 00 84 00 $qt0 01 $qt1 FF C4 01 A2 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 0A 0B 01 00 03 01 01 01 01 01 01 01 01 01 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 0A 0B 10 00 02 01 03 03 02 04 03 05 05 04 04 00 00 01 7D 01 02 03 00 04 11 05 12 21 31 41 06 13 51 61 07 22 71 14 32 81 91 a1 08 23 42 b1 c1 15 52 d1 f0 24 33 62 72 82 09 0a 16 17 18 19 1a 25 26 27 28 29 2a 34 35 36 37 38 39 3a 43 44 45 46 47 48 49 4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 68 69 6a 73 74 75 76 77 78 79 7a 83 84 85 86 87 88 89 8a 92 93 94 95 96 97 98 99 9a a2 a3 a4 a5 a6 a7 a8 a9 aa b2 b3 b4 b5 b6 b7 b8 b9 ba c2 c3 c4 c5 c6 c7 c8 c9 ca d2 d3 d4 d5 d6 d7 d8 d9 da e1 e2 e3 e4 e5 e6 e7 e8 e9 ea f1 f2 f3 f4 f5 f6 f7 f8 f9 fa 11 00 02 01 02 04 04 03 04 07 05 04 04 00 01 02 77 00 01 02 03 11 04 05 21 31 06 12 41 51 07 61 71 13 22 32 81 08 14 42 91 a1 b1 c1 09 23 33 52 f0 15 62 72 d1 0a 16 24 34 e1 25 f1 17 18 19 1a 26 27 28 29 2a 35 36 37 38 39 3a 43 44 45 46 47 48 49 4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 68 69 6a 73 74 75 76 77 78 79 7a 82 83 84 85 86 87 88 89 8a 92 93 94 95 96 97 98 99 9a a2 a3 a4 a5 a6 a7 a8 a9 aa b2 b3 b4 b5 b6 b7 b8 b9 ba c2 c3 c4 c5 c6 c7 c8 c9 ca d2 d3 d4 d5 d6 d7 d8 d9 da e2 e3 e4 e5 e6 e7 e8 e9 ea f2 f3 f4 f5 f6 f7 f8 f9 fa FF DD 00 04 00 00 FF C0 00 11 08 $h $w 03 01 21 00 02 11 01 03 11 01 FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00;
No comments:
Post a Comment