SD 4000 IS / IXUS 300 HS / IXY 30S porting thread

  • 302 Replies
  • 65245 Views
*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #160 on: 07 / January / 2011, 20:34:42 »
Advertisements
@wasabi1023

I fixed issus with larger scripts today which cause crash or other problems (hooked mykbd_task() without increased stack size).

Bad Idea:
Code: [Select]
void taskHook(context_t **context) {
...
if(!_strcmp(tcb->name, "PhySw"))           tcb->entry = (void*)mykbd_task;    // cause crash with large scripts because we hook task without increased stack size
}

Working:
Code: [Select]
// ROM:FF834434
void __attribute__((naked,noinline)) taskcreate_PhySw_my() {
    asm volatile (
            "STMFD   SP!, {R3-R5,LR}\n"
            "LDR     R4, =0x1C28\n"
            "LDR     R0, [R4,#0x10]\n"
            "CMP     R0, #0\n"
            "BNE     sub_FF834468\n"
            "MOV     R3, #0\n"
            "STR     R3, [SP]\n"

            //"LDR     R3, =0xFF834400\n"        // compiler does not like ADR
            "LDR     R3, =mykbd_task\n"          // +
            //"MOV     R2, #0x800\n"             // original stack size is to small
            "MOV     R2, #0x2000\n"              // + increase stack size for our task_PhySw so we don't have to do stack switch, if stack is too small large scripts may cause crash !!!

            "B       sub_FF834458\n"             // Continue in Firmware
    );
};

I also read Motion Detection depends on correct Viewport / Bitmap Buffer which is still broken (looks like SD4000 dont have PROPCASE_ASPECT_RATIO at all).

Looks like you need to be wait patient till i'm able to fix Viewport stuff... sorry.
« Last Edit: 07 / January / 2011, 20:43:38 by pixeldoc2000 »

Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #161 on: 08 / January / 2011, 09:19:10 »
It's good to know it's being worked on, thanks :)

Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #162 on: 25 / January / 2011, 12:13:57 »
Hey pixeldoc2000,

First I want to say "Thank you" for your fantastic work porting chdk to Ixus 300 HS!!!

May I ask you (and maybe others with a 300 HD) a question:
Last days I tried to figure out how the bracketing function works - for some HDR shots. The only way to use the bracketing in continuous mode is to use the "HighSpeedPufferSpeicher" setting in canons manual mode. Only this mode will enable the Bracket/Steps display info, other modes Tv or Av from canons manual mode do not work. The problem is that in HighSpeedPufferSpeicher mode the picture size is limited to 2Mpix.

Any tipps or hints to use the bracketing function?

Ok, I think I found the problem:

1. Bracketing in continuous mode needs shooting_get_drive_mode() > 0 (see gui_osd.c).
2. shooting_get_drive_mode() depends on _GetPropertyCase(PROPCASE_DRIVE_MODE, &m, sizeof(m)); (see shooting.c).
3. On IXUS 300 HD the value PROPCASE_DRIVE_MODE (102) is 1 for HighSpeedPufferSpeicher mode, on all other modes 0.

I found a workaround for some camera models in shooting_get_drive_mode() (see shooting.c) which deals with the custom timer. PROPCASE_TIMER_MODE (225) on  IXUS 300 HD reports:

0 for no timer mode,
1 for 2 seconds timer,
2 for 10 seconds timer,
3 for custom timer.

So I suggest to add the IXUS 300 HD to the workaround in shooting_get_drive_mode().

My last edit:
It works! I add "defined (CAMERA_ixus300_sd4000) || \" at the begining of the function shooting_get_drive_mode() and recompile your beta7. Now bracketing in continuous mode will work on several canon modes, no more limited to HighSpeedPufferSpeicher mode.


« Last Edit: 26 / January / 2011, 14:07:21 by chdk2011 »

*

Offline na01

  • *
  • 17
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #163 on: 26 / January / 2011, 08:26:03 »
I don't know if is the correct way to do it, but on my 300 hs I can obtain different exposures under P mode using the continuous option.

I can obtain different exposure results using the option tv bracketing under "bracketing in continuous mode" in the chdk menu.
I suppose that AV bracketing does not work: with the same shutter speed and the same iso value I obtain a set of images that are equally exposed.

I have another question: I would like to use the raw option, but I have a lot of bad pixels that make the photo unusable.
I tried to generate a badpixel file with some basic image processing on two shots and it seems that I have identified almost all my bad pixels, but inserting them in badpixel file as a sequence of binary integers does not work.
How is fixed the reference frame for badpixel positions?

Thanks


*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #164 on: 27 / January / 2011, 14:01:48 »
First I want to say "Thank you" for your fantastic work porting chdk to Ixus 300 HS!!!
Thanks!

It works! I add "defined (CAMERA_ixus300_sd4000) || \" at the begining of the function shooting_get_drive_mode() and recompile your beta7. Now bracketing in continuous mode will work on several canon modes, no more limited to HighSpeedPufferSpeicher mode.
Thanks! Looks like it now works as supposed AFAIK.
Commit: https://github.com/pixeldoc2000/chdk/commit/398a1f948017bcca5f77677812ba364f85ef5fbd

@na01
If i understand your post correctly, this is related to bracketing stuff we just fixed.
About RAW (DNG), did you read http://chdk.wikia.com/wiki/Badpixel_removal ? You didn't test Bad pixel removal on Carmera?

*

Offline na01

  • *
  • 17
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #165 on: 28 / January / 2011, 08:36:41 »
You didn't test Bad pixel removal on Carmera?
Thanks for the answer!
The idea is exactly to use the camera, but I need a badpixel file.
The executable show_bad does not recognize my cr2/crw files because their size is 15935616 bytes, and there is no case in the switch that gives the correct result.

So I have tried to build a badpixel file with a simple program that works on dng files (it is the only format that is recognized on my computer), but without any success.

Can I consider other alternatives to build it?

Thanks for your help!

*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
UART Serial Console
« Reply #166 on: 29 / January / 2011, 14:12:53 »
UART Serial Console

I've discovered UART pinout for my Canon SD4000 (see attached Image)  :)
UART Settings: 115200/8/1/N (115200 Baud)
Voltage Level: 3.3V

We have access to Canon "Event Shell" and DryOS Shell (Dry-shell).

Looks like "Event Shell" provides direct access to Event Procedure like Canon Basic.

Here is some Output:

Code: [Select]
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]

Code: [Select]
Event[1]>drysh
=== Dry-shell start ===
Dry>

Code: [Select]
Dry> help
[Debug]
 task  sem  event  mq  mutex  timer  mkobjsize  extask  kill  suspend  resume
 release  delete  prio  mkcfg  meminfo  xd  xm  memmap  objinfo
[Misc]
 vers  exit  dminfo

Code: [Select]
Dry> vers
DRYOS version 2.3, release #0043
  Dry-MK 2.52
  Dry-DM 1.16
  Dry-stdlib 1.44
  Dry-efat 1.06 091030-3171+
  Dry-shell 1.15
  Dry-command alpha 050

Code: [Select]
Dry> meminfo
usage: meminfo [-{l|s|m|L}]
       -l  allocated list
       -s  system memory info
       -m  malloc memory info
       -L  all list (corruption safe)
Dry> meminfo -s
System Memory Information
  Start Address       = 0x00379c08
  End Address         = 0x003ccc00
  Total Size          = 0x00052ff8 (   339960)
  Allocated Size      = 0x00032840 (   206912)
  Allocated Peak      = 0x00034858 (   215128)
  Allocated Count     = 0x00000040 (       64)
  Free Size           = 0x000207b8 (   133048)
  Free Block Max Size = 0x0001e720 (   124704)
  Free Block Count    = 0x00000005 (        5)
  Extendable Size     = 0x00000000 (        0)
Dry> meminfo -m
Malloc Information (onetime type)
  Start Address       = 0x0014b3a0
  End Address         = 0x003724a8
  Total Size          = 0x00227108 (  2257160)
  Allocated Size      = 0x0012b498 (  1225880)
  Allocated Peak      = 0x001331a8 (  1257896)
  Allocated Count     = 0x00000129 (      297)
  Free Size           = 0x000fbc70 (  1031280)
  Free Block Max Size = 0x000f9338 (  1020728)
  Free Block Count    = 0x00000003 (        3)

Code: [Select]
Dry> mkcfg
vers_dry                 DRYOS version 2.3, release #0043
vers_mk                  2.52
act_spi_sem              1
act_spi_event            1
act_spi_mq               1
act_spi_mutex            1
act_spi_cond             0
act_spi_timer            1
act_spi_clock            1
act_spi_mem              1
act_spi_isr              0
act_spi_objlist          1
act_spi_objinfo          1
act_spi_objsetname       1
act_timeout              1
act_objname              1
dbg_stack_check          1
dbg_error_check          1
dbg_logging              0
sys_mem_start   0x00379c00
sys_mem_max         339968
user_mem_start  0x0014b394
user_mem_max       2257172
sys_objs_start  0x003724a8
sys_objs_end    0x00379c00
priority_max            34
task_max               104
semaphore_max          411
event_max              150
message_q_max          120
mutex_max              100
condition_max            0
timer_max                0
vector_max               0
it4_mbx_max              0
it4_mpf_max              0
it4_mpl_max              0
level_low                0
level_timer            128
level_kern             128
prio_default            16
stack_default         2048
stack_idle             160
stack_init             640
stack_addr_idle 0x00000000
stack_addr_init 0x00000000

Code: [Select]
Dry> task
      ID   STATE PRI         WAIT(ID)  NAME
00010001   READY  33         -------   idle
000e0004   READY  32         -------   ClockSave
00190005    WAIT  24  SLEEP(00190005)  WdtReset
001b0006    WAIT   1    SEM(001a0013)  WdtPrint
00520007    WAIT  25  RCVMQ(004f0002)  HdmiDriverTask
005a0008    WAIT   2  EVENT(00590009)  _ImageSensorTask
005d0009    WAIT  26  SLEEP(005d0009)  Thermometer
007a000a    WAIT   7    SEM(00780060)  TmgGen
007f000b    WAIT  10  RCVMQ(007e0005)  ZoomLens
0082000c    WAIT   8  EVENT(0080000a)  ZoomEvent
0085000d    WAIT   9  EVENT(0083000b)  ZoomActuatorSpeedCheck
008b000e    WAIT   9  RCVMQ(008a0007)  FocusLens
008e000f    WAIT   8  EVENT(008d000c)  FocusEvent
00950010    WAIT   9  RCVMQ(00940009)  Iris
00980011    WAIT   8  EVENT(0097000d)  IrisEvent
009e0012    WAIT   1    SEM(009c006e)  MechaShutter
00a30013    WAIT   5    SEM(00a00071)  Nd
00a80014    WAIT  17  RCVMQ(00a7000b)  CZ
00aa0015    WAIT  20  EVENT(00a9000e)  MechaNCTask
00b50016    WAIT  22    SEM(00b4007b)  ISComTask
00bc0017    WAIT  22  RCVMQ(00ba000c)  LEDCon
00c60018    WAIT  19  RCVMQ(00c1000d)  ImgPlayDrv
00cc0019    WAIT   9    SEM(00cb0087)  ASIF
00d5001a    WAIT  22    SEM(00d1008a)  BeepTask
00d6001b SUSPEND   0         -------   errLogTask
00dc001c    WAIT  24  RCVMQ(00d80010)  CtrlSrv
00de001d    WAIT  23  SLEEP(00de001d)  PhySw
00df001e    WAIT  24  RCVMQ(00e00013)  RotarySw
00e3001f    WAIT  23  RCVMQ(00e20014)  SsTask
00f40020    WAIT  23  RCVMQ(00f10015)  CaptSeqTask
00f90021    WAIT   1    SEM(00f80096)  Bye
00fe0022    WAIT  29  RCVMQ(00fd0016)  BatteryTask
01220026    WAIT  23  EVENT(01200023)  Fencing
01290027    WAIT  21  RCVMQ(01250018)  MotionVector
012b0028    WAIT  21  EVENT(012a0027)  SceneDetectTask
012e0029    WAIT  23  RCVMQ(012d001b)  AutoShutterMan
0144002a    WAIT  21  RCVMQ(01430023)  LiveImageTask
014c002b    WAIT  25  RCVMQ(014b0024)  DevelopModule
0159002c    WAIT   1  EVENT(0155002e)  SynchTask
015a002d    WAIT   1    SEM(015700cd)  SyncPeriod
015f002e    WAIT  21  RCVMQ(015e0026)  AfIntSrvTask
0164002f    WAIT  23  RCVMQ(01620029)  AFTask
01790030    WAIT   6  RCVMQ(01770034)  WBIntegTask
017d0031    WAIT  21  EVENT(017c0037)  OBCtrlTask
01810032    WAIT  21  RCVMQ(017f0038)  ExpDrvTask
01870033    WAIT  22  RCVMQ(0185003b)  BrtMsrTask
018c0034    WAIT  22  RCVMQ(018a003e)  EFChargeT
01900035    WAIT  21  EVENT(018d003c)  CntFlashTask
01980036    WAIT  23  RCVMQ(01970041)  WBCtrl
01b40037    WAIT  22  RCVMQ(01b2004f)  PrcssFil
01b90038    WAIT  25  EVENT(01b80040)  DispFace
01bd0039    WAIT  25  EVENT(01ba0041)  ChaseFrame
01c0003a    WAIT  26  RCVMQ(01be0050)  DetectMoveTask
01c7003b   READY   1         -------   EvShel
01cc003c SUSPEND  25         -------   LowConsole
01cd003d    WAIT  24  RCVMQ(01c80052)  ConsoleSvr
01d40040    WAIT  23  RCVMQ(01d30053)  FsIoNotifyTask
01db0041    WAIT  29  EVENT(01d80043)  DPOFTask
01e70042    WAIT  27  EVENT(01e60044)  ReadScheduleTask
01e90043    WAIT  27  EVENT(01e80045)  ReadFileTask
01ee0044    WAIT  23  EVENT(01ed0046)  ISMainTask
02010046    WAIT  30  RCVMQ(01ff0056)  MetaCtgPrsTask
02020047    WAIT  30  RCVMQ(01fe0055)  MetaCtg
« Last Edit: 29 / January / 2011, 16:50:35 by pixeldoc2000 »

*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
DryOs Shell
« Reply #167 on: 29 / January / 2011, 15:13:05 »
DryOs Shell

Code: [Select]
Dry> mkobjsize
 sizeof(dlqueue_t) =   8
 sizeof(   task_t) =  84
 sizeof(    sem_t) =  24
 sizeof(  event_t) =  24
 sizeof(     mq_t) =  44
 sizeof(  mutex_t) =  28
 sizeof(  timer_t) =  40

Code: [Select]
Dry> extask
 NAME            ID   STATE PRI         WAIT(ID)      STACK  %        SP
errLogTask 00d6001b SUSPEND   0         -------   0040/0400 06  00386160
WdtPrint   001b0006    WAIT   1    SEM(001a0013)  0098/0200 29  0037b460
MechaShutt 009e0012    WAIT   1    SEM(009c006e)  01e8/0800 23  003804d0
Bye        00f90021    WAIT   1    SEM(00f80096)  0088/0200 26  0038ab48
SynchTask  0159002c    WAIT   1  EVENT(0155002e)  00d0/1000 05  00393f58
SyncPeriod 015a002d    WAIT   1    SEM(015700cd)  0090/1000 03  00394fa0
EvShel     01c7003b RUNNING   1         -------   0358/8000 02  003a7b10
_ImageSens 005a0008    WAIT   2  EVENT(00590009)  0198/1000 09  0037cc08
Nd         00a30013    WAIT   5    SEM(00a00071)  0218/0400 52  003808a8
WBIntegTas 01790030    WAIT   6  RCVMQ(01770034)  02c0/1000 17  00397f68
TmgGen     007a000a    WAIT   7    SEM(00780060)  0088/0400 13  0037d490
ZoomEvent  0082000c    WAIT   8  EVENT(0080000a)  00c0/0400 18  0037e068
FocusEvent 008e000f    WAIT   8  EVENT(008d000c)  00c0/0400 18  0037f080
IrisEvent  00980011    WAIT   8  EVENT(0097000d)  00c0/0400 18  0037fc90
ZoomActuat 0085000d    WAIT   9  EVENT(0083000b)  00c8/0400 19  0037e468
FocusLens  008b000e    WAIT   9  RCVMQ(008a0007)  0200/0800 25  0037ec88
Iris       00950010    WAIT   9  RCVMQ(00940009)  0200/0800 25  0037f898
ASIF       00cc0019    WAIT   9    SEM(00cb0087)  00a0/1000 03  003854f0
ZoomLens   007f000b    WAIT  10  RCVMQ(007e0005)  0210/0800 25  0037dc70
CZ         00a80014    WAIT  17  RCVMQ(00a7000b)  00b0/0800 08  003810b8
ImgPlayDrv 00c60018    WAIT  19  RCVMQ(00c1000d)  05d8/1000 36  003844a8
MechaNCTas 00aa0015    WAIT  20  EVENT(00a9000e)  00c0/1000 04  003820b0
MotionVect 01290027    WAIT  21  RCVMQ(01250018)  0468/1000 27  0038f548
SceneDetec 012b0028    WAIT  21  EVENT(012a0027)  0728/1000 44  003906f0
LiveImageT 0144002a    WAIT  21  RCVMQ(01430023)  0250/0800 28  00391f68
AfIntSrvTa 015f002e    WAIT  21  RCVMQ(015e0026)  01c8/1000 11  00395f80
OBCtrlTask 017d0031    WAIT  21  EVENT(017c0037)  00e8/0400 22  00398368
ExpDrvTask 01810032    WAIT  21  RCVMQ(017f0038)  0358/0800 41  00398b80
CntFlashTa 01900035    WAIT  21  EVENT(018d003c)  00c8/0800 09  0039aba8
ISComTask  00b50016    WAIT  22    SEM(00b4007b)  02f0/1000 18  003830f0
LEDCon     00bc0017    WAIT  22  RCVMQ(00ba000c)  0108/0400 25  00383478
BeepTask   00d5001a    WAIT  22    SEM(00d1008a)  00b0/0800 08  00385ce8
BrtMsrTask 01870033    WAIT  22  RCVMQ(0185003b)  0668/1000 40  00399ad0
EFChargeT  018c0034    WAIT  22  RCVMQ(018a003e)  0220/0800 26  0039a390
PrcssFil   01b40037    WAIT  22  RCVMQ(01b2004f)  0738/1000 45  0039cbc8
PhySw      00de001d    WAIT  23  SLEEP(00de001d)  0248/0800 28  00388138
SsTask     00e3001f    WAIT  23  RCVMQ(00e20014)  0220/1000 13  00389908
CaptSeqTas 00f40020    WAIT  23  RCVMQ(00f10015)  0ae8/1000 68  0038a908
Fencing    01220026    WAIT  23  EVENT(01200023)  0630/1000 38  0038e728
AutoShutte 012e0029    WAIT  23  RCVMQ(012d001b)  00b0/1000 04  00391760
AFTask     0164002f    WAIT  23  RCVMQ(01620029)  0328/1000 19  00396f88
WBCtrl     01980036    WAIT  23  RCVMQ(01970041)  0548/1000 33  0039bbc0
FsIoNotify 01d40040    WAIT  23  RCVMQ(01d30053)  00b0/1000 04  0037b038
ISMainTask 01ee0044    WAIT  23  EVENT(01ed0046)  0138/1000 07  003adc18
WdtReset   00190005    WAIT  24  SLEEP(00190005)  0080/0200 25  0037b270
CtrlSrv    00dc001c    WAIT  24  RCVMQ(00d80010)  09c0/1800 40  003878f8
RotarySw   00df001e    WAIT  24  RCVMQ(00e00013)  00f0/0800 11  003888c8
ConsoleSvr 01cd003d    WAIT  24  RCVMQ(01c80052)  0190/0800 19  003a8bf0
HdmiDriver 00520007    WAIT  25  RCVMQ(004f0002)  0170/0800 17  0037bc38
DevelopMod 014c002b    WAIT  25  RCVMQ(014b0024)  01f8/1000 12  00392e28
DispFace   01b90038    WAIT  25  EVENT(01b80040)  0760/1000 46  0039d618
ChaseFrame 01bd0039    WAIT  25  EVENT(01ba0041)  01e0/1000 11  0039eab0
LowConsole 01cc003c SUSPEND  25         -------   00e0/0800 10  003a8408
Thermomete 005d0009    WAIT  26  SLEEP(005d0009)  00f8/0400 24  0037d018
DetectMove 01c0003a    WAIT  26  RCVMQ(01be0050)  02c8/1000 17  0039fa90
ReadSchedu 01e70042    WAIT  27  EVENT(01e60044)  00c0/1000 04  003abc08
ReadFileTa 01e90043    WAIT  27  EVENT(01e80045)  00d0/1000 05  003acc00
BatteryTas 00fe0022    WAIT  29  RCVMQ(00fd0016)  00e8/0400 22  0038af10
DPOFTask   01db0041    WAIT  29  EVENT(01d80043)  0238/1000 13  003aabc8
MetaCtgPrs 02010046    WAIT  30  RCVMQ(01ff0056)  0188/1000 09  003afb60
MetaCtg    02020047    WAIT  30  RCVMQ(01fe0055)  00b8/1000 04  003b0c38
ClockSave  000e0004   READY  32         -------   0060/0200 18  00379e58
idle       00010001   READY  33         -------   0070/00a0 70  00379c40

Code: [Select]
Dry> memmap
== ITCM ==
00000000 : DRY_VECTOR_ADDR
000004b0 : DRY_HANDLER_ADDR
           0x00000214(532)
000006c4 : DRY_HANDLER_END_ADDR
000006c4 : DRY_IRQ_STACK_START
000006c4 : DRY_RESET_STACK_START
           0x0000093c(2364)
00001000 : DRY_IRQ_STACK
00001000 : DRY_RESET_STACK
00001000 : ITCM_END_ADDR

== DTCM ==
80000728 : DRY_VECTOR_FUNC
           0x00000400(1024)
80000b28 : DRY_VECTOR_ARG
           0x00000400(1024)
80001000 : DTCM_END_ADDR

== ROM  ==
ff810000 : text start
           0x004106d4(4261588)
ffc206d4 : romdata start
           0x0000d944(55620)
ffc2e018 : romdata end

== DRAM ==
00001900 : data start
           0x0000d944(55620)
0000f244 : bss start
           0x0013c150(1294672)
0014b394 : heap start
           0x00227114(2257172)
003724a8 : DRY_HEAP_END
003724a8 : DRY_SYS_OBJS_START
           0x00007758(30552)
00379c00 : DRY_SYS_MEM_START
           0x00053000(339968)
003ccc00 : DRY_ERREX_STACK_START
           0x00000400(1024)
003cd000 : DRY_ERREX_STACK
003cd000 : DRY_EXCEP_STACK_START
           0x00001000(4096)
003ce000 : DRY_EXCEP_STACK

Code: [Select]
Dry> objinfo
          MAX  COUNT   PEAK
task      104     63     71
sem       411    293    315
event     150     71     76
mq        120     85     95
mb          0      0      0
mutex     100     20     20
cond        0      0      0
timer       0      0      0

Code: [Select]
Dry> dminfo
[Driver Entry]
  total :   8 (DRV_ENTRY_MAX)
  used  :   3
[Created Devices]
  drvNo  name
     2   A
     0   /_term
[Default Device]
  device name :
[File Descriptor]
  total :  31 (DM_FILE_MAX)
  used  :   3
  open  :   3

Anybody interested in examing specific stuff?


*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #168 on: 29 / January / 2011, 16:33:10 »
I've added DryOS Shell and UART Info for SD4000 to WIKI.

I'll put more infos there soon.

EDIT: attached Rigol Scope Screenshot from UART RX Pin sending String "Event[1]>" on Camera Startup.

Myth CONFIRMED: Camera has UART Serial Console!
Next step: Make use of it  8)
« Last Edit: 29 / January / 2011, 18:20:15 by pixeldoc2000 »

*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #169 on: 29 / January / 2011, 17:18:30 »
Just in case somebody want to know how my UART rig looks..

I soldered small wire from a dvd motor coil to UART pads and hooked it to my BusPirate v3 in UART mode. With this small Wires it's possible to reessemble the camera. I'm thinking about putting a small connector to it  somewhere.

I have to test if UART is connected to HDMI Connector too.
« Last Edit: 29 / January / 2011, 17:23:57 by pixeldoc2000 »

 

Related Topics