CHDK Wiki
(Available Event Procedure added)
Tags: Visual edit apiedit
 
(6 intermediate revisions by 2 users not shown)
Line 39: Line 39:
   
 
== Firmware info ==
 
== Firmware info ==
  +
The only reported firmware version is 1.00d
Note: ver.req or vers.req does not work on SD4000!
 
  +
Use [[CameraVersion]] to get your Firmware Version from EXIF Data.
 
  +
Note: ver.req or vers.req do not work on SD4000! Use [[CameraVersion]] to get your Firmware Version from EXIF Data.
   
 
==CHDK Specialties==
 
==CHDK Specialties==
  +
* Camera has a fixed <ALT> key - a short press on the Playback button. A longer press gives the original function.
''This section describes special CHDK-related things...''
 
 
* To enter CHDK ALT mode press LEFT + UP on JogDial (Camera has no special button like Print for CHDK)
 
 
 
==For Developers==
 
==For Developers==
   
Line 67: Line 65:
 
===Firmware dumps===
 
===Firmware dumps===
 
* Firmware Dump 1.00d by pixeldoc
 
* Firmware Dump 1.00d by pixeldoc
  +
CRC32: C938C618
  +
MD5: 9033C9DB73192E9F7C2902F474138FA5
  +
SHA-1: A4269BCBDFD873DDA6C29CE5EE9DB61EEC8CD63D
  +
SHA-256: E3882D9A2E5050E23C07B4494362330B1843C37D015B2909A596BC0148002D65
   
 
{{DL_dumps}}
 
{{DL_dumps}}
Line 72: Line 74:
 
===Porting process & links===
 
===Porting process & links===
 
* [http://chdk.setepontos.com/index.php/topic,5574.0.html SD 4000 IS / IXUS 300 HS / IXY 30S - Porting Thread] and CHDK Beta Download
 
* [http://chdk.setepontos.com/index.php/topic,5574.0.html SD 4000 IS / IXUS 300 HS / IXY 30S - Porting Thread] and CHDK Beta Download
* [http://chdk.setepontos.com/index.php?topic=5045.0 PowerShot SX210 IS - Porting Thread]
 
   
 
=== UART ===
 
=== UART ===
Line 92: Line 93:
 
*(18-Dec-2010) Beta v7 is available
 
*(18-Dec-2010) Beta v7 is available
 
*(29-Jan-2011) [http://chdk.setepontos.com/index.php?topic=5574.msg60426#msg60426 UART pinout discovered]
 
*(29-Jan-2011) [http://chdk.setepontos.com/index.php?topic=5574.msg60426#msg60426 UART pinout discovered]
  +
*(31-Jan-2011) Beta v8 is available
==Available Event Procedures==
 
  +
*(01-Jan-2011) Beta v9 is available
Available [[Event Procedure]] in [[Event Shell]] after registering all functions.
 
  +
*(15-Feb-2011) Beta v10 is available
Event[1]>?
 
  +
*(31-May-2011) Beta v11 is available
[LiveImageTool.StopEVF]
 
  +
*(01-Jun-2011) Source added to SVN at Revision #1196
[IsLensOutside]
 
  +
*(01-Jul-2017) Update to fix various things that did not work properly
[GetBuildTime]
 
  +
[TerminateTestRec]
 
[PT_MoveDigitalZoomAt]
 
[LCDMsg_SetStr]
 
[MoveIrisWithAvAndSpeed]
 
[RotateElectronicMainDialLeft]
 
[TouchRightButton]
 
[LCDMsg_SetNum]
 
[DispCon_TurnOffBackLight]
 
[PT_MoveOpticalZoomToTele]
 
[HoldLeftButton]
 
[ModeDialToSCN]
 
[ChangeImagerToWideDraft]
 
[PointDefDetect]
 
[ActivateAdjLog]
 
[MoveIrisToPositionWithoutBacklash]
 
[Wait]
 
[PrintFaexeVersioin]
 
[SetISHallGainAaxis]
 
[UnpressReductionButton]
 
[PressEditButton]
 
[PressMultiButton]
 
[CreateController]
 
[DisableIrisPiCircuit]
 
[GetFocusLensSubjectDistance]
 
[SetGyroFilterChargeStart]
 
[E2LatOn]
 
[CreateCountingSemaphore]
 
[UnpressRemoteDpButton]
 
[PressSw2AndSet]
 
[Read]
 
[GetBpDBAdjustmentOffset]
 
[PutsCameraLogEvent]
 
[HoldDownButton]
 
[ConnectUSBCable]
 
[ChangeImagerToHoneyFlashHD]
 
[MoveZoomLensToMechaEdge]
 
[PressUpButton]
 
[PressModeButton]
 
[ExpCtrlTool.SetExpMode]
 
[Fclose_Fut]
 
[SleepTask]
 
[DispDev_EnableEventProc]
 
[GetFocusLensPullInMaxSpeed]
 
[DisableFocusLens]
 
[PT_MoveOpticalZoomAt]
 
[GetSDDetect]
 
[ResetIrisActuator]
 
[ModeDialToAv]
 
[memcpy]
 
[IsFactoryMode]
 
[MoveFocusLensWithPosition]
 
[PT_NextShootAvailable]
 
[SetIgnoreAVJACK]
 
[CPrintf]
 
[ExecuteTestRecCF]
 
[MoveFocusLensWithPositionWithoutBacklash]
 
[ExecuteDefectRecAndSaveImage]
 
[PressRightAndSetAndMenu]
 
[LCDMsg_Delete]
 
[PressISButton]
 
[UnmountExtFlash]
 
[UIFS_ClosePopupStrobe]
 
[ChangeImagerToOITA_XAVIER]
 
[ChangeImagerToFocusJetHD]
 
[EF.SetEFChargeTimeOut]
 
[ExecuteTestRecDevelopProcess]
 
[UnpressSelfButton]
 
[ModeDialToParty]
 
[ExpDialToZero]
 
[PTM_SetCurrentItem]
 
[LiveImageTool.ChangeDzoom]
 
[StopCameraLog]
 
[DispCon_ShowWhiteChart]
 
[GetFocusLensSettingWaitVoltage]
 
[UnpressTeleMagButton]
 
[LCDMsg_SwDisp]
 
[ChangeImagerToCombiParallel]
 
[CreateTask]
 
[UnpressSetButton]
 
[PressRemoteMultiButton]
 
[UiEvnt_StopDisguiseCradleStatus]
 
[GetSelfControllerHandle]
 
[SetISHallGainBaxis]
 
[PressLButton]
 
[ChangeImagerToHoneyFlash]
 
[FADBGPrintf]
 
[LcdCon_SaveLcdAdjParameter]
 
[NR_SetDefectCorrectType]
 
[UIFS_WriteFirmInfoToFile]
 
[InitializeAdjustmentSystem]
 
[GetMechaShutterStatus]
 
[ClearISZData]
 
[PressSw1AndAE]
 
[SetDCMotorWaitTime]
 
[DisableFocusLensWaveLock]
 
[UnpressPrintShareButton]
 
[PressSw1AndAF]
 
[ModeDialToNightScene]
 
[RemoveTransparentMemory]
 
[SetFocusLensMaxSpeedLimit]
 
[GetFocusLensResetPosition]
 
[ShutdownRecModeMenu]
 
[StartLogOut]
 
[PT_CompletePreCapt]
 
[UnholdMenuButton]
 
[CloseLensCover]
 
[UIFS_MoveZoomTo]
 
[ChangeImagerToHoneyFlashDark]
 
[OpenConsole]
 
[GetdccdImage]
 
[DispCon_ShowHdChart]
 
[IsCCDTemperature]
 
[UnpressRemoteRightButton]
 
[PTM_IsEnableItem]
 
[ExecuteDefectRec]
 
[DisableZoomLensEncoderPowerControl]
 
[GetFocusLensLoadSubjectDistance]
 
[PressRemoteSetButton]
 
[PressSw1AndDown]
 
[EngineDriver.Create]
 
[PressMenuButton]
 
[UnpressMacroButton]
 
[UnholdDispButton]
 
[UnpressAvExpButton]
 
[PressDispAndRightButton]
 
[PressSetAndTeleAndMenu]
 
[CloseBatMediaCover]
 
[UIFS_GetCurrentTvString]
 
[ChangeImagerToWholeParallelBPOne]
 
[LiveImageTool.StartEVFMovXGA]
 
[GetMacroSupportZoomPoint]
 
[sprintf]
 
[IsBatteryTemperature]
 
[SetISTuningFlag]
 
[NR_GetDarkSubType]
 
[IsoDialToMinSpd]
 
[StartSoundPlay]
 
[DispCon_SetVideoAdjParameter]
 
[GetISHallGainAaxis]
 
[UnpressUpExpButton]
 
[UnpressMFSoundButton]
 
[PressSw1AndTouch]
 
[GetZoomLensCurrentPosition]
 
[GetISParamVersion]
 
[PT_MovieRecordStopped]
 
[PressDispButton]
 
[UIFS_GetAvItemCount]
 
[LiveImageTool.Pause]
 
[OpLog.Start]
 
[UnpressAFFrameButton]
 
[EF.SetChargeMode]
 
[ModeDialToC]
 
[RotateIsoDialLeft]
 
[UIFS_GetMovieRecoadableNumber]
 
[PTM_RestoreUIProperty]
 
[PTM_AllResetToFactorySetting]
 
[UnholdFlashButton]
 
[LoadDefectAdjTable]
 
[PressSetAndWide]
 
[LiveImageTool.StartEVFMovQVGA60]
 
[RomCheckSum]
 
[atol]
 
[MemoryChecker]
 
[GetLogData]
 
[UnpressISOButton]
 
[SensDefCrowdCheck]
 
[ExecuteTestRec]
 
[ExpDialToM0TwoThird]
 
[DisableIris]
 
[PT_MFOn]
 
[ISInitMotion]
 
[IsoDialTo400]
 
[UIFS_IsAutoPopupDownStrobe]
 
[ShutdownPlayModeMenu]
 
[PrintAdjTableMap]
 
[ISMDStart]
 
[i2c_read_event]
 
[MoveTouchPanel]
 
[DispCon_TurnOnDisplay]
 
[EnableFocusLens]
 
[MoveIrisToPositionWithBacklash]
 
[PT_mod]
 
[NR_SetTassenType]
 
[HdmiSimulateModeStart]
 
[TransitFeatherUp]
 
[ModeDialToM]
 
[FlickUpTouchPanel]
 
[StartFactoryModeController]
 
[UIFS_EndClockMode]
 
[SelectPositionSignal]
 
[MechaUnRegisterEventProcedure]
 
[EF.StartInternalMainFlash]
 
[exec]
 
[InitializeAdjustmentFunction]
 
[Mecha.Create]
 
[GetOpticalTemperature]
 
[GetCCDTemperature]
 
[UnpressSetAFFrameButton]
 
[ModeDialToP]
 
[OpenForScrip]
 
[DispCon_GetLcdGainAdjParameter]
 
[LcdCon_SetLcdBackLightBrightness]
 
[LcdCon_GetLcdBackLightParameter]
 
[LcdCon_SetLcdAdjParameter]
 
[GetISHallGainBaxis]
 
[EF.AdjPreFlash]
 
[EngDrvReadDump]
 
[GetFocusLensMoveMaxPosition]
 
[PTM_PrevItem]
 
[SetDefectRecParam]
 
[PressFeatherLeftButton]
 
[UnpressRemoteUpButton]
 
[PressMacroJumpButton]
 
[ShowCameraLog]
 
[MoveDCMotorCCW]
 
[PressFeatherRightButton]
 
[ModeDialToRec]
 
[Fopen_Fut]
 
[PT_MoveDigitalZoomToTele]
 
[PressSw1AndAELock]
 
[CloseLensCoverHalf]
 
[Initializedccd]
 
[EraseAdjustmentArea]
 
[ChangeFocusDistanceToPosition]
 
[GetMechaShutterMoveTime]
 
[RemoveBattery]
 
[ShutdownPlayModeMenuWithoutPbRedraw]
 
[EnableIrisPiCircuit]
 
[UnpressSwTwo]
 
[LiveImageTool.StartEVF]
 
[ResetFocusLens]
 
[GetTestRecCrawAddress]
 
[WRITEADJUSTMENTDATATOFROM]
 
[PressFeatherDownButton]
 
[RemoveMedia]
 
[PTM_GetWorkingCaptureMode]
 
[GetCurrentCaptureModeType]
 
[UnlockMainPower]
 
[LCDMsg_ChangeColor]
 
[Fseek_Fut]
 
[LcdCon_SetLcdDriver]
 
[GetGyroHPFINYaw]
 
[PT_CompleteStopZoom]
 
[PrintFirmVersion]
 
[SetZoomPosition]
 
[PressSetAndDisp]
 
[ChangeImagerToWholeParallelBP]
 
[Fread_Fut]
 
[ExecuteTestRecSD]
 
[ResetRegistNoticeCBR]
 
[UIFS_ConnectVideo]
 
[QuietImager]
 
[LiveImageTool.StartEVFFocusJet]
 
[Write]
 
[MoveFocusLensWithDistance]
 
[ChangeImagerToWideDraftHD]
 
[ExportToEventProcedure]
 
[PT_CompleteSynchroWrite]
 
[PressSetButton]
 
[DisconnectUSBCable]
 
[StationaryTouchPanel]
 
[UiEvnt_SetLogicalEventActive]
 
[VerifyByte]
 
[ModeDialToFunColor]
 
[DetachCradle]
 
[LiveImageTool.Dister]
 
[CheckSumAll]
 
[EngDrvIn]
 
[ClearISIComponent]
 
[SetDUIDFixFlag]
 
[PT_CompleteCharge]
 
[GetLatestHVPosition]
 
[PressWBButton]
 
[TouchUpButton]
 
[ConnectVideoCable]
 
[PressSelfButton]
 
[UnpressPowerButton]
 
[DispCon_SaveLcdGainAdjParameter]
 
[ChangeParallelMode]
 
[GetFirmwareVersion]
 
[ISPanModeStart]
 
[DisableISDriveError]
 
[HoldMenuButton]
 
[GetDateAndTime]
 
[SetISHallOffsetAaxis]
 
[GetGyroHPFINPitch]
 
[RotateIsoDialRight]
 
[ChangeDefectRecParam]
 
[Scene.TestSunset]
 
[MoveCZToPointByOVF]
 
[GetDialEventId]
 
[HoldDispButton]
 
[PressRemoteDpButton]
 
[ExpDialToM1TwoThird]
 
[PTM_SetProprietyEnable]
 
[GUISrv_StartGUISystem]
 
[ExMem.FreeCacheable]
 
[UnpressAspectButton]
 
[UnpressRemoteSetButton]
 
[RepeatLeftButton]
 
[SetScriptMode]
 
[ChangeImagerToUltraGhostQ]
 
[DisableZoomPiCircuit]
 
[MakeBootDisk]
 
[SS.Create]
 
[UnpressJumpButton]
 
[UIFS_GetTvItemCount]
 
[LiveImageTool.StartEVFMovVGA]
 
[AllocateMemory]
 
[LcdCon_GetLcdAdjParameter]
 
[ShowFocusLensCurrentSpeedTable]
 
[GetAdVBattBottom]
 
[OffPrintPhySw]
 
[PointKizuCheck]
 
[LiveImageTool.DzoomWide]
 
[GetdccdFilterValue]
 
[DispCon_TurnOnBackLight]
 
[GetZoomPiSensorLevel]
 
[GetZoomActuatorCurrentPosition]
 
[ModeDialToNightSnap]
 
[DispCon_ShowFiveStep]
 
[MoveCZToWide]
 
[UIFS_GetNumberOfDisplayedImage]
 
[LiveImageTool.StartEVFMovHD]
 
[GetGyroHPFINOffsetPitch]
 
[SetISControlType]
 
[UnpressSoundButton]
 
[RepeatDownButton]
 
[ResetZoomLens]
 
[SetFocusLensDriveVoltage]
 
[PT_RecreviewAvailable]
 
[UnholdDriveButton]
 
[PressISOButton]
 
[CreateDefectTableMirror]
 
[ShowMechaMacro]
 
[SetRawSWCheckMode]
 
[ModeDialToLandscape]
 
[strcmp]
 
[StopWDT]
 
[SetNdDacSetting]
 
[PressRemoteLeftButton]
 
[PressSw2AndTele]
 
[ExecuteEventProcedure]
 
[DispCon_SetLcdGainAdjParameter]
 
[HoldFlashButton]
 
[UnpressFuncButton]
 
[UnpressDpButton]
 
[GetFocusLensLoadCamTable]
 
[CzDebugPrint]
 
[ExecuteResetFactoryWithRomWrite]
 
[GetTimeOfSystem]
 
[Driver_EnableEventProc]
 
[LockHdmiState]
 
[PressMFButton]
 
[PressDispAndSetAndPs]
 
[IsoDialTo200]
 
[EraseSignature]
 
[DispCon_ShowBlackChart]
 
[EnableFocusLensWaveLock]
 
[StartISLocalHallAdjust]
 
[SetISHallOffsetBaxis]
 
[PressSw1AndShortcut]
 
[IsoDialToAuto]
 
[OpLog.Get]
 
[InitializeDigicon]
 
[MoveIrisToFullOpen]
 
[SetAutoShutdownTime]
 
[StartRecModeMenu]
 
[PressRemoteDownButton]
 
[CancelImager]
 
[ChangeImagerToMangoPuddingHD]
 
[IsNormalCameraMode]
 
[ShowPhySwStatus]
 
[UnpressShortcutButton]
 
[PressFlashMultiButton]
 
[UnpressPBButton]
 
[GetDefectCrawInfo]
 
[DispCon_ShowBitmapColorBar]
 
[MechaReset]
 
[PressFlashButton]
 
[DisableIrisActuator]
 
[UntouchRightButton]
 
[UIFS_IsAvailableMovieRecDigZoom]
 
[RotateExpDialLeft]
 
[GetFocusLensPositionRatio]
 
[StartISLocalAdjust]
 
[UnholdRightButton]
 
[UnpressMacroJumpButton]
 
[WriteEnableMedia]
 
[WriteToRom]
 
[LoadAdjustmentValue]
 
[SetMechaShutterOpenDacSetting]
 
[PressSetAndMenu]
 
[EF.StartInternalPreFlash]
 
[ClearPMByGpio]
 
[ISPanModeStop]
 
[ExpDialToM0OneThird]
 
[PTM_SetCurrentCaptureMode]
 
[LCDMsg_Move]
 
[PT_GetDigitalZoomPosition]
 
[UnpressMultiButton]
 
[PressAspectButton]
 
[PT_GetDigitalZoomTele]
 
[PrintAdjKabotanInfo]
 
[GetGyro10BitDACPitch]
 
[SetLPFParallelBest]
 
[PT_CompleteFileWrite]
 
[BeepDriveComp]
 
[ExitTask]
 
[EngDrvOut]
 
[PostLogicalEventForNotPowerType]
 
[CreateAdjustmentTableMirror]
 
[GetAdjTableValueVersion]
 
[ChangeImagerToHoneyHDFlashDark]
 
[EraseSectorOfRom]
 
[InitializeSoundRec]
 
[UI_RegistDebugEventProc]
 
[MoveLensToFirstPoint]
 
[UnpressAEFELockButton]
 
[PressMFAndUp]
 
[DisconnectVideoCable]
 
[PressMoviePlayButton]
 
[PressSetAndPs]
 
[SetISGyroGainAaxis]
 
[HdmiRegDump]
 
[ChangePowerState]
 
[UnpressRecButton]
 
[InsertBattery]
 
[DisconnectHDMI]
 
[PTM_AllReset]
 
[strlen]
 
[CloseMechaShutterWithTiming]
 
[PT_CompleteCaptModeChange]
 
[UnpressFaceButton]
 
[RotateRingFuncRight]
 
[UIFS_StopMovieRecord]
 
[UIFS_GetStillShotableNumber]
 
[SaveDefectAdjTable]
 
[GetSystemTime]
 
[Poke16]
 
[UnpressOffButton]
 
[UnpressTouchPanel]
 
[UIFS_IsAvailableAvTvMode]
 
[SetFactoryMode]
 
[TurnOffNdFilter]
 
[PTM_GetCurrentItem]
 
[PTM_NextItem]
 
[Dump]
 
[DispCon_ShowWhiteLine]
 
[MoveZoomActuator]
 
[MoveFocusLensToTerminate]
 
[PT_MoveOpticalZoomToWide]
 
[IsoDialToHighAuto]
 
[ChangeImagerToMillefeAdjust]
 
[EnableFocusLensGainLockWithVoltage]
 
[EnableISDriveError]
 
[PT_CompleteStoreLens]
 
[PressMovieButton]
 
[SingleTap]
 
[DisplayFactoryMode]
 
[SetISHallAmpFirstGain]
 
[ChangeImagerToJumboDraft]
 
[StartCameraLog]
 
[DispCon_SetDisplayType]
 
[GetBatteryTemperature]
 
[UIFS_UnmountExtFlash]
 
[ShowLogicalEventName]
 
[SetTestRecSkimmingYUV]
 
[Terminatedccd]
 
[SetZoomActuatorSpeedPPS]
 
[PressRemoteUpButton]
 
[FlickDownTouchPanel]
 
[UIFS_CaptureNoneStop]
 
[ChangeImagerToMontblancMillefe]
 
[Scene.ForbidContiSceneDetect]
 
[TerminateSoundRec]
 
[DispCon_SetMaxBackLightBrightness]
 
[GetFocusLensResetVoltage]
 
[InsertMedia]
 
[LiveImageTool.StopMjpegMaking]
 
[PressSetAndRight]
 
[UnpressSwOne]
 
[ModeDialToTv]
 
[Peek16]
 
[EraseLogSector]
 
[HoldSetButton]
 
[StopLoopGainCalc]
 
[PressSetAndJump]
 
[LcdCon_ShowLcdParameter]
 
[SetFocusLensHoldVoltage]
 
[UIFS_GetLastPath]
 
[LCDMsg_Create]
 
[LoadAdjustmentTable]
 
[LcdCon_ShowLcdAdjParameter]
 
[ClearDUIDFixFlag]
 
[CloseMechaShutter]
 
[SetISGyroGainBaxis]
 
[PressFeatherUpButton]
 
[OpLog.Stop]
 
[EnableZoomPiCircuit]
 
[AddTransparentMemory]
 
[GetTransparentMemorySize]
 
[PressJumpButton]
 
[CreateFADBGSingalID]
 
[GetISHallOut1Amp]
 
[ExMem.View]
 
[UnpressRemotePcPlayButton]
 
[UIFS_RestartPostingUIEvent]
 
[UIFS_OpenPopupStrobe]
 
[GetFocusLensSubjectDistanceNumber]
 
[GetFocusLensMoveMinPosition]
 
[PressEnjoyButton]
 
[EF.IsChargeFull]
 
[Open]
 
[EnableZoomEncoderCircuit]
 
[GetLPFParallelBest]
 
[UnpressUpButton]
 
[ExpDialToP0TwoThird]
 
[EngDrvRead]
 
[UnpressExpButton]
 
[HoldDriveButton]
 
[ExpDialToM1OneThird]
 
[UIFS_IsAvailableServoAF]
 
[UiEvnt_StartDisguiseCradleStatus]
 
[MakeScriptDisk]
 
[GetFocusPiSensorLevel]
 
[IsoDialToMaxSpd]
 
[GetISGyroGainAaxis]
 
[UnholdISButton]
 
[UIFS_SetDialMovieRec]
 
[PressFuncButton]
 
[IsoDialTo1600]
 
[ClearPMByFs]
 
[EnableISAutoGyroOffset]
 
[UnholdMacroButton]
 
[UnpressISButton]
 
[UnholdAvExpButton]
 
[GetZoomLensMechaEdgePosition]
 
[EnableIrisActuator]
 
[ISMDStop]
 
[UnpressRemoteMultiButton]
 
[UnpressRemoteMagnifyButton]
 
[DisconnectACCable]
 
[DispCon_ShowColorBar]
 
[UIFS_ChangeShootState]
 
[HardwareDefectWithRestart]
 
[CrossDefDetect]
 
[Close]
 
[MoveZoomLensWithPosition]
 
[MoveCZToPoint]
 
[PressDriveButton]
 
[OpenMediaCover]
 
[SetFocusLensDefaultPullOutTable]
 
[HdmiHpd5VOutput]
 
[UnpressSpotButton]
 
[UnpressTeleButton]
 
[PressRemoteMagnifyButton]
 
[DevelopTool.DevelopTest]
 
[GetBuildDate]
 
[SetDurianMode]
 
[LEDDrive]
 
[GetFocusLensDriveVoltage]
 
[UIFS_IsAvailableShots]
 
[Poke32]
 
[DisableDebugLogMode]
 
[UnpressRemoteReleaseButton]
 
[PressMenuAndSetAndPs]
 
[UnpressDownWBButton]
 
[ClearDurianMode]
 
[EngApp.Delete]
 
[System.Delete]
 
[FA.Delete]
 
[SetFocusLensSpeed]
 
[SetFocusLensSpeedTable]
 
[OpenMechaShutter]
 
[PT_SetPropertyCaseInt]
 
[HoldRightButton]
 
[UnpressWideButton]
 
[CancelTouchPanel]
 
[LcdCon_GetLcdParameter]
 
[MoveFocusActuator]
 
[NR_GetDefectCorrectType]
 
[PressRemoteReleaseButton]
 
[UIFS_SetCaptureModeToP]
 
[Lseek]
 
[ExecuteTestRecSw1]
 
[GetIrisCurrentPosition]
 
[PT_DoAELock]
 
[i2c_write_event]
 
[PostEventShootSeqToUI]
 
[InactivateAdjLog]
 
[SetFocusLensAccelerationTable]
 
[ExMem.AllocUncacheable]
 
[ModeDialToSlowShutter]
 
[ConnectHDMI]
 
[sscanf]
 
[UI.CreatePublic]
 
[ISControlStart]
 
[ExMem.AllocCacheable]
 
[PressRecButton]
 
[strcpy]
 
[ShowCameraLogInfo]
 
[MoveZoomLensWithPoint]
 
[UnpressMoviePlayButton]
 
[PostLogicalEventToUI]
 
[UndisplayFactoryMode]
 
[MoveDCMotorCW]
 
[ISMoveToMechaEdgeOPEN]
 
[GetISGyroGainBaxis]
 
[ChangeImagerToMangoPudding]
 
[GetTransparentMemory]
 
[GetZoomLensCurrentPoint]
 
[GetLensErrorStatus]
 
[StartLoopGainCalc]
 
[PressRemoteMenuButton]
 
[PressOffButton]
 
[Peek32]
 
[RegistFirmScanNoticeCBR]
 
[OutputLogToFile]
 
[EnableFocusPiCircuit]
 
[MoveIrisWithAv]
 
[SetMechaShutterWaitTimeSetting]
 
[SetMechaShutterCloseDacSetting]
 
[SetISHPFCutoff]
 
[OnPrintPhySw]
 
[PressRightButton]
 
[UnholdFaceButton]
 
[drysh]
 
[DisableFocusLensGainLock]
 
[MountExtFlash]
 
[LiveImageTool.Resume]
 
[PressEraseButton]
 
[PressRemoteDispButton]
 
[UIFS_DisconnectVideo]
 
[DispCon_GetVideoAdjParameter]
 
[UnholdAFFrameButton]
 
[PressFaceButton]
 
[PressSw2AndErase]
 
[ModeDialToPlay]
 
[PressShortcutButton]
 
[OpenLensCover]
 
[ChangeImagerToHarleyDavidson]
 
[Capture.Create]
 
[UnpressRingFuncButton]
 
[PressTouchPanel]
 
[UIFS_SetDialStillRec]
 
[GetFocusLensCurrentPosition]
 
[InitializeTestRec]
 
[DispDev.Create]
 
[UntouchLeftButton]
 
[ChangeGradeTable]
 
[UnpressLButton]
 
[ExpDialToP1TwoThird]
 
[EF.SetFlashTime]
 
[PT_MoveDigitalZoomToWide]
 
[RefreshAdjustmentTableMirror]
 
[ISAutoCenter]
 
[GetISFirmVersion]
 
[PT_EraseAllFile]
 
[PT_DoAFLock]
 
[TransitFeatherDown]
 
[DumpTransparentMemoryItem]
 
[TransitFeatherLeft]
 
[PressSw2AndPs]
 
[DeleteProxyOfEventProcedure]
 
[SaveAdjustmentValue]
 
[GetISHallAmpFirstGain]
 
[SetDefaultRecParameter]
 
[ClearFactoryMode]
 
[PressRemoteRightButton]
 
[UIFS_GetTvItem]
 
[HardwareDefect]
 
[FreeMemory]
 
[ShowDefaultAdjTableVersion]
 
[SetGyroHPFINOffsetYaw]
 
[SetISMovieStatus]
 
[UnpressFeatherLeftButton]
 
[UnpressFeatherUpButton]
 
[UntouchDownButton]
 
[PressDownWBButton]
 
[GetLogDataOnlyAddMemory]
 
[SetZoomLensSpeedMode]
 
[UnpressLeftButton]
 
[PressAEFELockButton]
 
[UnpressPonButton]
 
[HoldPrintShareButton]
 
[GiveSemaphore]
 
[ExpDialToM1]
 
[UnpressRemoteLeftButton]
 
[ExpDialToM2]
 
[LiveImageTool.StartEVFMovQVGA]
 
[DisableLensError]
 
[PT_ShootPicture]
 
[FlickRightTouchPanel]
 
[UIFS_MountExtFlash]
 
[ExecuteTestRecWithInteg]
 
[SetFocusLensSlowdownTable]
 
[DisableISAutoGyroOffset]
 
[PT_GetPropertyCaseInt]
 
[UnpressPcPlayButton]
 
[DisableZoomEncoderCircuit]
 
[GetSDProtect]
 
[PressExpButton]
 
[UIFS_GetAvItem]
 
[UnpressFeatherDownButton]
 
[UIFS_StartMovieRecord]
 
[ChangeImagerToSuperWideDraft]
 
[GetStringWithPrompt]
 
[SetISStillStatus]
 
[UnpressDownButton]
 
[ShowAllTaskInfo]
 
[LcdCon_SaveLcdBackLightParameter]
 
[ResetZoomLensToTermiante]
 
[UnpressRemoteDownButton]
 
[DisableMechaCircuit]
 
[UnpressFlashMultiButton]
 
[PressSwTwo]
 
[UIFS_StartClockMode]
 
[StartWDT]
 
[SetGyro10BitDACYaw]
 
[TerminateDefectRec]
 
[HoldAFFrameButton]
 
[EF.SetMainFlashTime]
 
[GetISDriveAaxis]
 
[GetGyroDataYaw]
 
[BeepDrive]
 
[GetBatteryCoverClose]
 
[ModeDialToStitchAssist]
 
[ModeDialToEasy]
 
[DispCon_SaveVideoAdjParameter]
 
[EscapeFocusLens]
 
[SetFocusLensSettingWaitVoltage]
 
[ISControlStop]
 
[RotateJogDialRight]
 
[MoveIrisToFullClose]
 
[PressSetAndTele]
 
[ModeDialToMovie]
 
[LiveImageTool.StartEVFMovQQVGA]
 
[TerminateDigicon]
 
[GetDccdAdjustmentOffset]
 
[SendMechaCircuitData]
 
[UnpressWBButton]
 
[HoldMacroButton]
 
[HoldAvExpButton]
 
[UntouchUpButton]
 
[ModeLeverMovieRec]
 
[EnableDebugLogMode]
 
[UnpressFlashButton]
 
[GetCurrentMaximumLogSize]
 
[DispCon_ShowVideoAdjParameter]
 
[GetGyroDataPitch]
 
[UnholdSoundButton]
 
[ExpDialToP0OneThird]
 
[ModeDialToCreative]
 
[UIFS_SetCradleSetting]
 
[OpLog.ReadFromROM]
 
[GetLogToFile]
 
[RotateExpDialRight]
 
[CloseBatteryCover]
 
[ConnectDTerminal]
 
[LoadDataFromAdjTableBin]
 
[NewTaskShell]
 
[SetGyroFilterChargeStop]
 
[PT_UnlockAE]
 
[PressSpotButton]
 
[PressTeleButton]
 
[UnpressMagButton]
 
[InitializeDefectRec]
 
[LcdCon_SetLcdParameter]
 
[PT_UnlockAF]
 
[DisconnectDTerminal]
 
[OpLog.WriteToSD]
 
[SaveAdjustmentTable]
 
[FAPrintf]
 
[HdmiSimulateModeStop]
 
[ChangeMainDial]
 
[ChangeImagerToMontblancWhole]
 
[AdditionAgentRAM]
 
[RefreshDefectTableMirror]
 
[UI.Create]
 
[TurnOnNdFilter]
 
[PressRightAndSetAndPs]
 
[OpenBatMediaCover]
 
[CPutChar]
 
[DispCon_TurnOffDisplay]
 
[SetFocusLensCondition]
 
[MoveCzPeakPositon]
 
[PressMacroButton]
 
[PressPrintShareButton]
 
[PressAvExpButton]
 
[PressSw2AndWide]
 
[HoldSetAFFrameButton]
 
[ModeDialToFastShutter]
 
[GetCh]
 
[SetISLPFAaxis]
 
[NR_SetLotasPonyType]
 
[RotateElectronicMainDialRight]
 
[PressWideButton]
 
[UIFS_SetDialPlay]
 
[ResetZoomLensToFirst]
 
[NR_SetDarkSubType]
 
[IsHvSensorExist]
 
[PressUpExpButton]
 
[PressDispAndLeft]
 
[UIFS_IsAvailableMovieRecOptZoom]
 
[LockMainPower]
 
[TerminateAdjustmentSystem]
 
[GetISHallOffsetAaxis]
 
[HoldFaceButton]
 
[ModeDialToSport]
 
[GetZoomLensTelePoint]
 
[PressSetAndUp]
 
[ModeLeverPlay]
 
[LiveImageTool.StartEVFMF]
 
[GetAdjTableVersion]
 
[AttachCradle]
 
[PressPcPlayButton]
 
[SetCurrentCaptureModeType]
 
[ChangeImagerToWholeParallel]
 
[ChangeImagerToFastBP]
 
[DispCon_ShowCustomColorBar]
 
[StartImStEventProc]
 
[ISChangeOPENtoCLOSE]
 
[GetISDriveBaxis]
 
[VbattGet]
 
[ModeDialToAuto]
 
[IsControlEventActive]
 
[memset]
 
[GetZoomActuatorSpeedPPS]
 
[UI_ShowStateOfRecMode]
 
[GetIrisPiSensorLevel]
 
[GetLoopGainCalcData]
 
[GetISCenterShiftA]
 
[GetISCenterShiftB]
 
[UIFS_ShootSeqToUI]
 
[UIFS_PostModeDial]
 
[memcmp]
 
[UnpressTouchRelease]
 
[FreeBufferForSoundRec]
 
[DumpAdjMirror]
 
[LcdCon_SaveLcdParameter]
 
[GetFocusLensHoldVoltage]
 
[EnableLensError]
 
[WRITEADJTABLETOFROM]
 
[UnpressMovieButton]
 
[IsoDialTo800]
 
[ActivateImagerXOne]
 
[CalculateTestRecYUVData]
 
[MoveZoomLensToTerminatePosition]
 
[GetMechaDSPVersion]
 
[UnpressMFButton]
 
[GetGyro10BitDACYaw]
 
[PressRemotePcPlayButton]
 
[MoveIrisToTerminatePosition]
 
[ExMem.FreeUncacheable]
 
[ModeLeverStillRec]
 
[ModeDialToCamera]
 
[OpLog.Play]
 
[AttachToTransparentMemory]
 
[StopRedirectUART]
 
[TouchLeftButton]
 
[UnpressAEFELockEraseButton]
 
[OpenBatteryCover]
 
[EF.StopEFCharge]
 
[MonSelEvent]
 
[MoveLensToTerminatePoint]
 
[SetISLPFBaxis]
 
[PressPonButton]
 
[UnpressEditButton]
 
[RotateRingFuncLeft]
 
[UIFS_IsAvailableRecMenuAFMode]
 
[GetISHallOffsetBaxis]
 
[PressAEFELockEraseButton]
 
[DeleteController]
 
[IsZoomActuatorResetSensorPlusSide]
 
[SetISCenterShiftA]
 
[UnholdPrintShareButton]
 
[PressMenuAndSetAndEdit]
 
[OpLog.ReadFromSD]
 
[SetPMByGpio]
 
[SetISCenterShiftB]
 
[UnholdLeftButton]
 
[PressMFAndDown]
 
[ConnectACCable]
 
[PTM_BackupUIProperty]
 
[LoadScript]
 
[PressReductionButton]
 
[RotateJogDialLeft]
 
[PressSw2AndDisp]
 
[OpenLensCoverHalf]
 
[ShowTransparentMemory]
 
[IsLogOutType]
 
[StartISLocalAutoCenter]
 
[TouchDownButton]
 
[PressSetAFFrameButton]
 
[UnpressModeButton]
 
[PressLeftButton]
 
[PressPsAndLeft]
 
[UIFS_StopPostingUIEvent]
 
[ChangeImagerToAlternateDraft]
 
[IsOpticalTemperature]
 
[GetGyroHPFINOffsetYaw]
 
[ExpDialToP1OneThird]
 
[memShow]
 
[OpLog.Create]
 
[UnpressEnjoyButton]
 
[PressPsAndRight]
 
[ChangeImagerToFocusJet]
 
[EnableMechaCircuit]
 
[ShowSDStatus]
 
[UnholdDownButton]
 
[MoveControllerToTopOfZOrder]
 
[SetSDPwrPort]
 
[PressDpButton]
 
[PressRingFuncButton]
 
[LiveImageTool.Jump]
 
[Driver.Create]
 
[LiveImageTool.DzoomTele]
 
[CreateProxyOfEventProcedure]
 
[ExecuteDigicon]
 
[SetLoopGainAdjValue]
 
[PressDownButton]
 
[IsDUIDFixFlag]
 
[SetFaexeEventTableActivation]
 
[SetISDriveAaxis]
 
[WriteProtectMedia]
 
[MoveCZToTele]
 
[GetISPositionAaxis]
 
[PT_ChangeZoomSpeed]
 
[UnpressFeatherRightButton]
 
[ExpDialToP1]
 
[Printf]
 
[GetIrisAv]
 
[ExpDialToP2]
 
[DoubleTap]
 
[GetAdChValue]
 
[PressPBButton]
 
[CloseMediaCover]
 
[PressTouchRelease]
 
[EnableZoomLensEncoderPowerControl]
 
[CzDebugPrintToFile]
 
[PressPowerButton]
 
[LoadParamDataFromAdjTableBin]
 
[DispCon_ShowLcdGainAdjParameter]
 
[StartCzTuning]
 
[UnpressDriveButton]
 
[PressMagButton]
 
[GetTransparentMemoryPosition]
 
[SetGyro10BitDACPitch]
 
[PressSw1AndRight]
 
[RepeatRightButton]
 
[CloseConsole]
 
[Dump32]
 
[GetFocusStartZoomPosition]
 
[UnpressWideReductionButton]
 
[StartPlayModeMenu]
 
[PressMenuAndSetAndUp]
 
[TakeSemaphore]
 
[Executedccd]
 
[GetAdjTableMapVersion]
 
[HoldSoundButton]
 
[StartSoundRecord]
 
[ReceiveMechaCircuitDataAll]
 
[MoveIrisToStandbyPosition]
 
[UnpressMenuButton]
 
[PressWideReductionButton]
 
[Fwrite_Fut]
 
[Poke8]
 
[EngDrvBits]
 
[UnholdSetButton]
 
[TransitFeatherRight]
 
[PressSw2AndFunc]
 
[PressTeleMagButton]
 
[ModeDialToC1]
 
[ModeDialToLowLight]
 
[GetGyroFilterCharge]
 
[UnpressRemoteMenuButton]
 
[ModeDialToC2]
 
[IsoDialTo100]
 
[LiveImageTool.StartMjpegMaking]
 
[DeviceUniqueIDCheckSum]
 
[MoveIrisWithAvAndSpeedWithoutBacklash]
 
[NR_SetDoubleNRType]
 
[UnpressDispButton]
 
[ActivateImager]
 
[GetFocusLensResetDefaultPosition]
 
[PressSwOne]
 
[SDump]
 
[StartRedirectUART]
 
[UnpressRemoteDispButton]
 
[UIFS_Capture]
 
[ChangeImagerToDigiconMode]
 
[RotateConsoleZOder]
 
[SetISDriveBaxis]
 
[ModeDialToPortrait]
 
[OpLog.WriteToROM]
 
[DeleteSemaphore]
 
[EnableIris]
 
[GetISPositionBaxis]
 
[PressSoundButton]
 
[FmtMenu_ExecuteQuickFormat]
 
[LiveImageTool.StopDzoom]
 
[LcdCon_SetLcdBackLightParameter]
 
[GetLoopGainAdjValue]
 
[ChangeCrossThresholdTable]
 
[LcdCon_ShowLcdBackLightParameter]
 
[DisableFocusPiCircuit]
 
[CancelFocusLensMaxSpeedLimit]
 
[GetSwitchStatus]
 
[UnpressRightButton]
 
[ModeDialToKidsAndPets]
 
[MechaTerminate]
 
[LiveImageTool.GetDzoomPosition]
 
[ResetIris]
 
[MoveIrisWithAvWithoutBacklash]
 
[EdidDump]
 
[UnpressEraseButton]
 
[ChangeImagerToJetDraft]
 
[EngApp.Create]
 
[System.Create]
 
[FA.Create]
 
[DispCon_ShowColorChart]
 
[HoldISButton]
 
[RepeatUpButton]
 
[StopLogOut]
 
[FADBGSingal]
 
[PressMFSoundButton]
 
[AFTool.GetEVal]
 
[Peek8]
 
[PressSetAndDown]
 
[PressSw1AndMF]
 
[EF.StartEFCharge]
 
[UnLoadScript]
 
[TurnOffE1]
 
[SetGyroHPFINOffsetPitch]
 
[PT_CompleteStopDigZoom]
 
[PT_MFOff]
 
[PressAFFrameButton]
 
[PressSetAndLeft]
 
[PressSw2AndSound]
 
[PressSw2AndMenu]
 
[ModeDialToQuick]
 
[FlickLeftTouchPanel]
 
[UIFS_GetCurrentAvString]
 
Event[1]>
 
 
[[Category:Cameras]]
 
[[Category:Cameras]]
 
[[Category:Development]]
 
[[Category:Development]]

Latest revision as of 16:58, 14 July 2017

Powershot SD4000 IS (USA) / IXUS 300HS (Europe) / IXY 30S (Japan).

Attention

CHDK Beta is available for the Powershot SD4000 IS / IXUS 300HS / IXY 30S


PowerShot SD4000 IS all

Powershot SD4000 IS All Color Options

PowerShot SD4000 IS front

Powershot SD4000 IS Front

PowerShot SD4000 IS back

Powershot SD4000 IS Back

Reviews

Technical Data

Camera specifications: Canon (English), DPReview Press Release with Specifications

  • DIGIC IV image processor
  • DryOS operating system
  • 10.0 megapixel back-illuminated CMOS, 1/2.3 inch (pixel density: 35 MP/cm²)
  • Lens: 28-105mm (35mm equiv), 3.8x optical zoom, F2.0-5.3
  • Face Detection / 9-point AiAF
  • Image stabilization (lens shift type)
  • Display: 3.0 inch LCD, 230,000 pixels
  • ISO: 125-3200
  • Built-in flash
  • Video: 1280 x 720 @ 30 fps (720p HD), 640 x 480 @ 30 fps, 320 x 240 @ 30 fps, 320 x 240 @ 240 fps
  • Video format: MOV (H.264 + Linear PCM (Stereo))
  • HDMI mini connector
  • Storage: SD, SDHC, SDXC, MMC, MMCplus, HC MMCplus
  • Power: Canon Li-ion Battery NB-6L
  • Weight (without battery): 157g
  • Weight (with battery): 175g
  • Dimensions: 100.0 x 54.1 x 23.6 mm (3.94 x 2.13 x 0.93 inch)
  • Release Date: 2010

Firmware info

The only reported firmware version is 1.00d

Note: ver.req or vers.req do not work on SD4000! Use CameraVersion to get your Firmware Version from EXIF Data.

CHDK Specialties

  • Camera has a fixed <ALT> key - a short press on the Playback button. A longer press gives the original function.

For Developers

General info

  • P-ID: 12791 (0x31F7)
  • Firmware Version: 1.00d
  • OS: DRYOS version 2.3, release #0043
  • Firmware can be dumped with Canon_Basic#CBasic_dumper
  • NEED_ENCODED_DISKBOOT=4
  • KEYSYS=d4a (Dancing Bits)
  • SX210 Firmware is very simular to SD4000 (Buttons and Sensor are different)

LED addresses

0xC0220130 Green Led (backside)
0xc0220134 Red Led (backside)
0xC0223030 Red AF Led (front)

Firmware dumps

  • Firmware Dump 1.00d by pixeldoc
CRC32: C938C618
MD5: 9033C9DB73192E9F7C2902F474138FA5
SHA-1: A4269BCBDFD873DDA6C29CE5EE9DB61EEC8CD63D
SHA-256: E3882D9A2E5050E23C07B4494362330B1843C37D015B2909A596BC0148002D65
Saveas64

Download location for firmware dumps:
P&S firmware dumps mirror

Porting process & links

UART

Canon ixus300 sd4000 uart

Canon IXUS300 / SD4000 UART Pinout

UART Settings: 115200/8/1/N (115200 Baud)
Voltage Level: 3.3V

UART connection provide access to Event Shell and DryOS Shell.


News & Development History:

  • (11-May-2010) Canon press release of new camera
  • (18-Aug-2010) Firmware 1.00d has been dumped with Canon_Basic/Scripts/Dumper and porting hast started
  • (12-Sep-2010) Beta v1 is available
  • (20-Sep-2010) Beta v2 is available
  • (20-Sep-2010) Beta v3 is available
  • (02-Oct-2010) Beta v4 is available
  • (06-Oct-2010) Beta v5 is available
  • (30-Oct-2010) Beta v6 is available
  • (18-Dec-2010) Beta v7 is available
  • (29-Jan-2011) UART pinout discovered
  • (31-Jan-2011) Beta v8 is available
  • (01-Jan-2011) Beta v9 is available
  • (15-Feb-2011) Beta v10 is available
  • (31-May-2011) Beta v11 is available
  • (01-Jun-2011) Source added to SVN at Revision #1196
  • (01-Jul-2017) Update to fix various things that did not work properly