CHDK Wiki
Advertisement

Event Shell is available on (almost?) all Cameras via UART connection. Look SD4000 for Reference.

Event Procedure are directly useable this way. It also possible to enter DryOS Shell with drysh command.

Example[]

Some Example output from SD4000:

Event[1]>?
 [PutsCameraLogEvent]
 [DispDev_EnableEventProc]
 [StopCameraLog]
 [EngineDriver.Create]
 [Mecha.Create]
 [ShowCameraLog]
 [ExMem]
 [SS.Create]
 [Driver_EnableEventProc]
 [UI_RegistDebugEventProc]
 [StartCameraLog]
 [UI.CreatePublic]
 [ShowCameraLogInfo]
 [drysh]
 [Capture.Create]
 [DispDev.Create]
 [NewTaskShell]
 [UI.Create]
 [StopRedirectUART]
 [OpLog.Create]
 [Driver.Create]
 [StartRedirectUART]
 [EngApp.Create]
 [System.Create]
 [FA.Create]
Event[1]>ShowCameraLogInfo
 === CAMERA LOG STATUS ===
 CAMERA LOG is started.
 CameraLogLevel = 0x20
 CameraLogBufferSize = 0x1000

 ShowCameraLogInfo returned 0(0x0)
ShowCameraLog
00000160: *** Camera Log Start ***
00000200: UI:LogicalEvent:0x5001:adr:0,Para:0
00000260: SS:S-Imag
00000260: UI:ScreenLock
00000260: UI:ScreenUnLock
00000270: UI:LogicalEvent:0x300a:adr:0,Para:0
00000270: UI:HDMIConnectCnt
00000270: UI:PB.Create
00000270: UI:DispSwCon_TurnOnBackLight
00000270: UI:TurnOnBackLight
00000310: UI:LogicalEvent:0x5006:adr:0,Para:0
00000430: UI:DispSwCon_MuteOffPhysicalScreen
00000430: UI:MuteOffPhysicalScreen
00000430: UI:LogicalEvent:0x3138:adr:0,Para:0
00000440: UI:LogicalEvent:0x112c:adr:0,Para:0
00000460: UI:ScreenLock
00000470: UI:ScreenUnLock
00000480: UI:PB.CreateE
00000480: UI:AC:StartPB
00000480: UI:DispSwCon_TurnOnDisplayDevice
00000480: UI:AC:EBtn
00000480: UI:PB.Start
00000480: UI:DSIC:47,0
00000490: UI:CC_CompFlhJpg
00000490: UI:_CompFlhJpg
00000490: UI:PB.Flash
00000490: UI:ScreenLock
00000490: UI:DSIC:47,0
00000490: UI:ScreenUnLock
00000520: UI:ScreenLock
00000530: UI:DSIC:47,0
00000530: UI:LogicalEvent:0x3209:adr:0x3e,Para:62
00000610: UI:PB.DrawI
00000610: UI:LogicalEvent:0x320a:adr:0,Para:0
00000780: UI:LogicalEvent:0x3203:adr:0,Para:0
00000840: UI:PB.StartE
00000840: UI:PB.TOTAL
00000840: UI:PB.DPOF
00000840: UI:PB.IHist
00000850: UI:PB.DcdCBR
00000850: UI:PB.RfrsI
00000880: UI:LogicalEvent:0x3201:adr:0,Para:0
00000890: UI:ScreenUnLock
00000900: UI:DispSw: Unlock
00000900: UI:DispSwCon:Unlock
00000900: UI:DispSwCon_TurnOnBackLight
00000900: UI:DispSwCon_MuteOffPhysicalScreen
00000900: UI:MuteOffPhysicalScreen
00000900: UI:AC:EnryPB
00000900: UI:AP:ChkCnctUSB
00001210: UI:LogicalEvent:0x321f:adr:0,Para:0
00001210: UI:PB.CTG
00001210: UI:DSIC:48,0
00002890: UI:ScreenLock
00002890: UI:ScreenUnLock
00002890: UI:ScreenLock
00002900: UI:ScreenUnLock
00007030: UI:ScreenLock
00007030: UI:ScreenUnLock
00014440: ShowCameraLogInfo
00017360: ShowCameraLog

 ShowCameraLog returned 0(0x0)
Event[1]>drysh
=== Dry-shell start ===
Dry>

ROMLOG Example[]

Camera does output ROMLOG on Error. Example from SD4000:

Event[1]>Can not Execute UIFS_Capture

ASSERT!! EvntProc.c Line 221
Occured Time  2011:02:11 19:23:11
Task ID: 14811165
Task name: CtrlSrv
SP: 0x00387C78
StackDump:
0x00000000
0xFF88BAEC
0x000000DD
0x00002F44
0x00387CBC
0x00000000
0x00387CD4
0x00000001
0x00000000
0x0000082A
0x0000083C
0xFF88BA1C
0x00002F58
0x00176F70
0x003D0EA8
0xFF97740C
0x003CE86C
0x00000005
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x0016E080
0x00176F00
0x00000000
0xFF9BC854
0x00176F00
0xFF888E30
0x00000070
0x00176F00
0x00000860
0x00000000
0x20000000
0x00007DEC
0x00000000
0x00000862
0x0000082A
0xFF9BC594
0x00000000
0x001C7830
0x00003118
0x00000860
0x00001504
0x20000000
0x20000000
0x19980218
0x19980218
0xFF89309C
0x001C7830
0x00000001
0x00003118
0x00000860
0x00001504
0xFF8935A4
0x0003A3B0
0x00003100
0x19980218
0x19980218
0x19980218
0x19980218
0x19980218
0xFF892A78
0x0003A3B0
0x00372EE8
0x19980218
0xFF816AEC
0x19980218
0x19980218
0x00000808
ShootConDump:
0f 0f 0f 0f 0f 0f 0f 0f 0f 0f
CameraConDump:
07 0a 02 0f 0f 0f 0f 0f 0f 0f
00000160: *** Camera Log Start ***
00000200: UI:LogicalEvent:0x5001:adr:0,Para:0
00000260: UI:LogicalEvent:0x5006:adr:0,Para:0
00000270: SS:S-Imag
00000280: UI:ScreenLock
00000280: UI:ScreenUnLock
00000280: UI:LogicalEvent:0x300a:adr:0,Para:0
00000280: UI:HDMIConnectCnt
00000280: UI:PB.Create
00000280: UI:DispSwCon_TurnOnBackLight
00000280: UI:TurnOnBackLight
00000320: UI:Button:0x00001004:UnpressPBButton
00000430: UI:DispSwCon_MuteOffPhysicalScreen
00000430: UI:MuteOffPhysicalScreen
00000430: UI:LogicalEvent:0x3138:adr:0,Para:0
00000460: UI:LogicalEvent:0x112c:adr:0,Para:0
00000480: UI:ScreenLock
00000480: UI:ScreenUnLock
00000490: UI:PB.CreateE
00000490: UI:AC:StartPB
00000490: UI:DispSwCon_TurnOnDisplayDevice
00000490: UI:AC:EBtn
00000490: UI:PB.Start
00000490: UI:DSIC:47,0
00000490: UI:CC_CompFlhJpg
00000490: UI:_CompFlhJpg
00000490: UI:PB.Flash
00000500: UI:ScreenLock
00000500: UI:LogicalEvent:0x321f:adr:0,Para:0
00000500: UI:DSIC:47,0
00000500: UI:ScreenUnLock
00000500: UI:LogicalEvent:0x320a:adr:0,Para:0
00001010: UI:ScreenLock
00001010: UI:ScreenUnLock
00001020: UI:LogicalEvent:0x3201:adr:0,Para:0
00001020: UI:ScreenLock
00001020: UI:ScreenUnLock
00001020: UI:ScreenLock
00001020: UI:ScreenUnLock
00001030: UI:PB.StartE
00001030: UI:PB.CTG
00001030: UI:PB.DPOF
00001030: UI:DSIC:48,0
00001030: UI:DispSw: Unlock
00001030: UI:DispSwCon:Unlock
00001030: UI:DispSwCon_TurnOnBackLight
00001030: UI:DispSwCon_MuteOffPhysicalScreen
00001030: UI:MuteOffPhysicalScreen
00001030: UI:AC:EnryPB
00001030: UI:AP:ChkCnctUSB
00003020: UI:ScreenLock
00003020: UI:ScreenUnLock
00003020: UI:ScreenLock
00003020: UI:ScreenUnLock
00003600: UI:Button:0x0000089B:TouchRightButton
00003660: UI:Button:0x0000089C:UntouchRightButton
00003780: UI:Button:0x0000089B:TouchRightButton
00004400: UI:Button:0x00000860:PressSetButton
00005380: UI:Button:0x00000861:UnpressSetButton
00005400: UI.CreatePublic
00005410: UI.Create
00005420: LCDMsg_Create
00005420: UI:ScreenLock
00005430: UI:ScreenUnLock
00005430: LCDMsg_SetStr

Erase Done. 0xffffe000

Erase Done. 0xff800000

Log Write to ROM... Successful.

Operation Log Write to ROM... Successful.

See Debugging for more information about ROMLOG and ASSERT.

Advertisement