Author |
first prototype (v2) of supermode camdriver for K790/K800/K810 |
sokolr Joined: Jan 16, 2008 Posts: 1 From: http://se-center.info PM, WWW
|
Great I am waiting for some photos....
I niech mi ktoś powie że POLACY nie są najlepsi na świecie :P:P:P Pozdro i dzięx :] |
|
pietropizzi Joined: Nov 16, 2007 Posts: 130 From: Vienna PM |
OK, I tried to analyze the code:
This is what it should look like:
But I dont understand some calculations done from
e --> $w5
concerning Bit-Shifting < >
Can't it just be done with math operations ?
If theres something wrong in the table, and I expect that , tell me and I correct it in Excel.
OK, I know Color Range is way LARGER, I'll correct that.
[ This Message was edited by: pietropizzi on 2008-01-30 18:52 ] |
stat5bot Joined: Jan 16, 2008 Posts: 67 PM |
wow!! nice!! cnt wait for it to be officially released!!  |
pietropizzi Joined: Nov 16, 2007 Posts: 130 From: Vienna PM |
OK herre some code to play with:
1.) Set STEPS-Number dependeng on Property-needed-Steps (Example)
// controls slide bar steps
seq_get_prop_1a=
// #READ(3c,$r2 0 0)
$p5 00
$c5 0a
$m1 e
$*1 05 // steps: 05 = 12 (Exposure)
$s0 40
$-0 r1
$cl
$m1 e
$*1 03 // steps: 01 = 60, 02 = 30, 03 = 20
$s0 40
$-0 r1
$cx
$s3 00 $s2 00 $s1 00
// FIX add cycle update if zoom key is in still pressed state
;
--> now possible to use <-- --> as Auto/On/Off Switch
2.) Some Adpations to Functions concerning Range
// exposure
SET_EXPOSURE=
$ce 00
#INIT_EXPOSURE
$cl
$m5 e
// $-5 14 // Raider FIX for K800 -3, -2.7, -2.3 can be unreachable
$-5 07 // Pietro FIX for K800 STEP1=-2.0EV STEP7=0EV STEP13=2.0EV
#CMD(06,$w5)
$cx;
// focus
SET_FOCUS=
$ce 00
$s5 00
#CMD(61,40) // Zoom Out
#IMG_MFOC_UNSET
$cl
$m5 e
// $-5 00 // Raider FIX fit to zoom steps
$*5 10 $/5 0a // Pietro FIXED to fit 20 Steps (Ext.Range)
#CMD(61,0a) // Pietro 6.4x Zoom for closer view
#CMD(41,04) // Pietro SPU 04 = macro (for the full range with a priority focus in the area of macro)
#IMG_MFOC_SET
$cx
#CMD(43,$w5);
This all works now in my camdriver. Makes fun !
To fix:
-- implement automatic ZoomOut after MF setting
-- HalfRelease is responsible for annoying FocusReset - maybe override ?
-- implement FORCE ISO auto, 100, 200, 400, 800 (4 steps)
-- implement WB / WB override (on/off)
-- Implement Reg(s) to remember e setting for every function even after EV change --> store the "marker"
[ This Message was edited by: pietropizzi on 2008-01-30 19:01 ] |
Raiderski Joined: Jul 03, 2006 Posts: > 500 From: Poland, Hell, Mountains PM, WWW
|
i have almost working prototype2 with continuous slider steps, no more boring click-click-click
pietropizzi
nice to see that you're doing changes in code. this prototype was only to show all of you how supermode is working thus many functions doesn't worked properly as you can see most of them are corrected in proto2
1. interesting idea
2. yeah, parameters wasn't well-fitting. ok, i am a liar - they wasn't at all
#CMD(41,04)
this isn't for K800, this is for 2MP phones and for autofocus system only. we have #SET_REG(32,..) instead of cmd41 but, what is very strange, K800 doesn't have macro range scanning only in autofocus or i can't find value
-- implement automatic ZoomOut after MF setting[/i]
-- HalfRelease is responsible for annoying FocusReset - maybe override ?
-- Implement Reg(s) to remember e setting for every function even after EV change --> store the "marker"
-- for example, you can switch zoom on/off in half release
--
seq_set_prop_1c_0=
#CHANGE_MODE(34,01)
#IMG_MFOC_GET
$c0 00
#CMD(43,00)
$cx;
-- some values can be retrieved with #READ_REG() but not all. i had this problem during development for 2MP phones
|
number1 Joined: Sep 12, 2007 Posts: > 500 From: UK,kent,Sittingbourne PM |
k800i has four different focus types,
#SET_REG(32,00)<<<< normal auto
#SET_REG(32,01)<<<< macro focuses on a point
#SET_REG(32,04)<<<< used on portrait focuses the whole picture uses mulitiple af windows has limted range
#SET_REG(32,05)<<<<<< used by document, focuses the whole picture using mulitple af windows it is full range af. |
pietropizzi Joined: Nov 16, 2007 Posts: 130 From: Vienna PM |
On 2008-01-30 20:56:08, Raiderski wrote:
#CMD(41,04)
this isn't for K800
-- for example, you can switch zoom on/off in half release
--
seq_set_prop_1c_0=
#CHANGE_MODE(34,01)
#IMG_MFOC_GET
$c0 00
#CMD(43,00)
$cx;
-- some values can be retrieved with #READ_REG() but not all. i had this problem during development for 2MP phones
Thank you, I took your code, works !
I thought about #CMD(41,04) not working, I just found it in SPU's manual.
I have now the SET(32,01) again.
For storing I tried just:
$ma e
in the Focus Function
and
seq_set_prop_0_9= $me a
Works for Focus !
I think as REGa can hold at least 8bits and is free, it maybe possible to hold all slider positions in one Reg.
But as I don't know anything about Read-Write-Reg operations, I have to use a whole Reg for now. But I think it could be shared....
New Preview of OSD: (ISO not implemented in Code atm)

[ This Message was edited by: pietropizzi on 2008-01-31 09:16 ] |
rockygali Joined: Nov 21, 2005 Posts: > 500 From: PM, WWW
|
is these assembly language?!
coz you guys rock!!!! good luck to all of you!
"Darkness is the absence of light.. and not the opposite..." |
Raiderski Joined: Jul 03, 2006 Posts: > 500 From: Poland, Hell, Mountains PM, WWW
|
small update in first post
rockygali
i don't know but this is probably script
|
jomateixa Joined: Dec 09, 2007 Posts: > 500 From: PM |
awesome work, raider |
Raiderski Joined: Jul 03, 2006 Posts: > 500 From: Poland, Hell, Mountains PM, WWW
|
thx
that's all in control matter. from now no more prototypes
|
number1 Joined: Sep 12, 2007 Posts: > 500 From: UK,kent,Sittingbourne PM |
is the latest prototype stable?, have you solved all the problems i don't really know much about supermode drivers. |
Raiderski Joined: Jul 03, 2006 Posts: > 500 From: Poland, Hell, Mountains PM, WWW
|
every version is stable. the only thing which can be fixed is zoom function - i didn't matched correct values
|
pietropizzi Joined: Nov 16, 2007 Posts: 130 From: Vienna PM |
Thanks for V2 ! Great ! - I like the Slider, even that the code is more complicated now (for me )
I implemented in supermode controls:
// FORCING ISO (when flash OFF or not needed)
SET_ISO=
$c0 00
$s8 00 #CMD(02,00) #UPDATE_WB
$cl
$c0 01
$s8 01 #SET(2a,01) #CMD(02,04) #UPDATE_WB
$cl
$c0 02
$s8 04 #SET(2a,04) #CMD(02,04) #UPDATE_WB
$cl
$c0 03
$s8 07 #SET(2a,07) #CMD(02,04) #UPDATE_WB
$cl
$c0 04
$s8 0a #SET(2a,0a) #CMD(02,04) #UPDATE_WB
$cl
$cx $cx $cx $cx $cx;
and call it in "CUSTOMIZE FUNCTIONS" with
$c1 0c #SET_ISO $cl
at EV +1
Works ! ISO is forced to 100,200,400 or 800 and shutter is adapted accordingly !
[ This Message was edited by: pietropizzi on 2008-01-31 20:50 ] |
Mike2 Joined: Feb 04, 2005 Posts: 322 From: Thessaloniki, Greece PM, WWW
|
Can we really force exposure with this driver?
I haven't tried this driver yet, that's why I'm asking... |
|
Access the forum with a mobile phone via esato.mobi
|