Wikia

Magic Lantern Firmware Wiki

2.0.4 EventDispatch

328pages on
this wiki
Talk0

Parent:http://magiclantern.wikia.com/wiki/2.0.4_AJ Related Page: StateObjects

Parent TASK page: http://magiclantern.wikia.com/wiki/2.0.4_Tasks


This page is for the Tasks which are are specifically used for Event Dispatching

The Full List of task can be found here


After an Events or StateObject has been created - AJ_Setup_EventDispatch() is called with the subroutine that will be used to Dispatch (ie Process) the Event


AJ_Setup_EventDispatch() - create a Task Specifically for Event DispatchEdit

+--------------------------------------------------+
|  AJ_Setup_EventDispatch() located at 0xFF9B8BB8  |
+--------------------------------------------------+

int R0   = TaskName             [eg "FrontShtDevelop"]     
int R1   = Priority             [eg 17.    0..32 allowed]
int R2   = Unknown1             [eg 0, 0x8000 ]
int R3   = Unknown2             [25,  100, 1000]
STACKx00 = Unknown3             [eg. 100]
STACKx04 = dispatch_sub         [eg. AJ_scsEventDispatch()]


List of all occurances that AJ_Setup_EventDispatch() is called:

Sub where StateObj created

before call to AJ_Setup_EventDispatch

Routine where

AJ_Setup_EventDispatch

is called from

AJ_Setup_EventDispatch

R0=

taskname

R1=

Priority

[ 0..32 allowed]

R2=

Unk1

R3=

Unk2

Stk[00]=

Unk3

Stk[04]=

Dispatch_sub

CBR

Guess_id
AJ_CreateStateObject_SCS()

AJ_SCS_Initialize_p2()

at 0xFF822848

"ShootCapture"
17 0 100 100 AJ_scsEventDispatch()

AJ_calls_NotifyComplete(

parm=0x40000


)

147
AJ_CreateStateObject_SCS()

AJ_SCS_related()

at 0xFF822A08

Orphan sub

"ShootCapture" =AJ_SCS_related(R1) 0 100 100 AJ_scsEventDispatch()

AJ_calls_NotifyComplete(

AJ_SCS_related(R3)

)

=AJ_SCS_related(R0)
AJ_CreateStateObject_SBS()

AJ_SBS_Initialize()

at 0xFF822E4C

"ShootBlack" 21 0 100 100 AJ_sbsEventDispatch()

AJ_calls_NotifyComplete(

0x80000


)

148
AJ_CreateStateObject_SPS()

AJ_SPS_Initialize()

at 0xFF82313C

"ShootPreDevelop" 22 0x8000 100 100 AJ_spsEventDispatch() <no CBR called> 149
AJ_CreateStateObject_SDSFront()

AJ_setup_sdsEventDispatch()

at 0xFF8233F8

"FrontShtDevelop" 20 0 100 100 AJ_sdsEventDispatch() <no CBR called> 150
AJ_CreateStateObject_SDSRear()

AJ_setup_RearDevelop_

sdsEventDispatch() at 0xFF8236A0

"RearShtDevelop" 20 0 100 100

AJ_RearDevelop_

sdsEventDispatch()

<no CBR called> 151
AJ_CreateStateObject_FSS()

AJ_FSS_Initialize()

at 0xFF8256EC

"Fstorage" 25 0 300 200 AJ_fssEventDispatch()

AJ_fssResultCBR() and


AJ_fssChangeAckCBR()

158
AJ_CreateStateObject_FCS()

AJ_FCS_Initialize()

at 0xFF825C10

"Fcreate" 25 0 1000 1000 AJ_fcsEventDispatch <no CBR called> 157
<No StateObject>

AJ_RMT_Initialize()


at 0xFF8273E8

"Remote" 25 0 100 100 AJ_rmtEventDispatch()

AJ_rmt_PROP_n_ChangeAckCBR()

159

AJ_CreateStateObject_PtpDps1_

PtpDps2_PtpDpsMgr()

AJ_PD_Initialize()


at 0xFF83AF8C

"PtpDps" 25 0 1000 1000 AJ_pdEventDispatch() AJ_PD_DeRegistGetObjectCBR() 64 [Duplicate]
AJ_CreateStateObject_TOM()

AJ_TOM_Initialize()

at 0xFF843840

"TOMgr" 26 0 1000 1000 AJ_tomEventDispatch()

TH_prop_register_slave(

AJ_tomChangeAckCBR

)

65
AJ_CreateStateObject_FRState()

AJ_frCreate()


at 0xFF969654

"Fread" 25 0 100 100 AJ_frEventDispatch() <no CBR called>

Not sure yet.

It is the value of

[R0,#0xC] when

State related subs

are called in

aAJ_0xFFC7E838_

FMNormalState_

ValSubList

AJ_CreateStateObject_FWState()

AJ_fwCreate()


at 0xFF96A460

"Fwrite" 26 0 100 100 AJ_FW_EventDispatch() <no CBR called>

Not sure yet.


Same as above box.

Same as routine to box on right.


Note: EventDispatch is setup before StateObjects

AJ_CreateStateObjects_USB()

at 0xFF997F24

"DiUSB20Drv" 25 0 100 100 AJ_USB20StateDispatch() <no CBR called> 49
AJ_CreateStateObject_PtpSdioEvent()

AJ_PtpSdioEvent_n_

EventDispatch()

at 0xFFA1C638

"PtpSdioEvent" 25 0 100 100

AJ_PD_EVENT_

pdSdioEventDispatch()

<no CBR called> 64 [Duplicate]
AJ_CreateStateObject_PtpTrans()

AJ_USB_n_PtpTrans_related2()


at 0xFFAE9AA0

"PtpTrans" 25 0 100 100

AJ_PD_TRANS_

pdEventDispatch()

<no CBR called> 64 [Duplicate]
AJ_CreateStateObject_PtpEvent()

AJ_TrsnCtrl_Event_USB_related()


at 0xFFAE9C74

"PtpEvent" 25 0 100 100

AJ_PD_EVENT_

pdEventDispatch()

<no CBR called> 64 [Duplicate]
AJ_CreateStateObject_PtpSdioTrans()

AJ_PtpSdioTrans_related()


at 0xFFAE9E48

"PtpSdioTrans" 25 0 100 100

AJ_PD_SDIO_

pdEventDispatch

<no CBR called> 50 [Duplicate]
AJ_CreateStateObject_PtpSdioHddTrans()

AJ_PtpSdioHddTrans_related()


at 0xFFAE9FF4

"PtpSdioHddTrans" 25 0 100 100

AJ_PD_HDD_

pdEventDispatch

<no CBR called> 50 [Duplicate]

Around Wikia's network

Random Wiki