EOS M3 porting

  • 480 Replies
  • 130399 Views
*

Offline Ant

  • ****
  • 362
Re: EOS M3 porting
« Reply #440 on: 12 / September / 2017, 15:01:59 »
Advertisements
I have sometimes the problem, the CHDK after the boot does not start (Bootable SD Card Method).
Try this build(fw101a).
If this condition is not met, you will see AF beam. This will indicate that DISKBOOT.BIN was executed.
« Last Edit: 12 / September / 2017, 15:05:28 by Ant »

*

Offline lapser

  • *****
  • 1093
Re: EOS M3 porting
« Reply #441 on: 13 / September / 2017, 12:27:11 »
I figured out a new way to find the active area of the sensor with a script (Active.lua).

To use the script, first set the camera for manual exposure and make sure the shot is overexposed, with no dark pixels. I.E. 1 second ISO 128,000, pointed at a bright scene. The output is saved in LOG_0001.TXT

The script finds the first pixel from the left that is > 2*black_level. That should be CAM_ACTIVE_AREA_X1. The last pixel > 2*black_level is CAM_ACTIVE_AREA_X2. Y1 and Y2 use the same method. It seems to have worked.
Code: [Select]
--[[
@title Active Area Test
@chdk_version 1.4.1
]]
print_screen(1)
print("Active Area Test")
hook_raw.set(100000)
press("shoot_full")
while not hook_raw.is_ready() do sleep(10) end
release("shoot_full")

xcenter=rawop.get_active_left() + rawop.get_active_width()/2
ycenter=rawop.get_active_top() + rawop.get_active_height()/2
cutoff=rawop.get_black_level()*2

i=0
repeat
  p=rawop.get_pixel(i,ycenter)
  if p~=nil then
    if p>cutoff then p=nil end
    i=i+1
  end
until p==nil
ax1=i-1
repeat
  p=rawop.get_pixel(i,ycenter)
  if p~=nil then
    if p<cutoff then p=nil end
    i=i+1
  end
until p==nil
ax2=i-1

i=0
repeat
  p=rawop.get_pixel(xcenter,i)
  if p~=nil then
    if p>cutoff then p=nil end
    i=i+1
  end
until p==nil
ay1=i-1
repeat
  p=rawop.get_pixel(xcenter,i)
  if p~=nil then
    if p<cutoff then p=nil end
    i=i+1
  end
until p==nil
ay2=i-1

hook_raw.continue()

print("CAM_ACTIVE_AREA_X1 =",ax1)
print("CAM_ACTIVE_AREA_X2 =",ax2)
print("CAM_ACTIVE_AREA_Y1 =",ay1)
print("CAM_ACTIVE_AREA_Y2 =",ay2)
print_screen(0)
Here's the result for the EOS M3, and the current values from platform_camera.h
Code: [Select]
    #define CAM_RAW_ROWPIX                      6112 //6096
    #define CAM_RAW_ROWS                        4060 //4056
...
    #define CAM_ACTIVE_AREA_X1                  84
    #define CAM_ACTIVE_AREA_Y1                  46
    #define CAM_ACTIVE_AREA_X2                  6100 // not 6084 - lapser
    #define CAM_ACTIVE_AREA_Y2                  4052 // not 4046 - lapser

Active Area Test
CAM_ACTIVE_AREA_X1 = 78
CAM_ACTIVE_AREA_X2 = 6106
CAM_ACTIVE_AREA_Y1 = 36
CAM_ACTIVE_AREA_Y2 = 4058
The script should work for all cameras. It would be interesting to compare the script generated values with the platform_camera.h values for other cameras.

Also, the jpg position that I figured out for the M3 is unchanged in X, and moves down 2 in Y with the new active area values from the script. It was harder for me to see the Y position of the jpg, so I think this will be more accurate.
« Last Edit: 13 / September / 2017, 13:12:14 by lapser »
EOS-M3_120f / SX50_100b / SX260_101a / G1X_100g / D20_100b
https://www.youtube.com/user/DrLapser/videos

Re: EOS M3 porting
« Reply #442 on: 16 / November / 2017, 06:43:23 »
thanks all , finally I had make tutorial how to install timelapse  in canon eos m3  :D
( english version)

(indonesian version)

this is useful forum for canon eos m3

Re: EOS M3 porting
« Reply #443 on: 17 / November / 2017, 04:58:07 »
finally I had make tutorial how to install timelapse  in canon eos m3 
Why changing Firmware to 101a? There is also a Version for 120f…
Changing to a lower Firmware would scare user…


Re: EOS M3 porting
« Reply #444 on: 19 / November / 2017, 06:50:22 »
 

Why changing Firmware to 101a? There is also a Version for 120f…
Changing to a lower Firmware would scare user…
[/quote]

Yeah,I know but I don't try v1.20. this is video since 2 months ago that I make.

*

Offline Ant

  • ****
  • 362
Re: EOS M3 porting
« Reply #445 on: 19 / November / 2017, 07:24:35 »

Re: EOS M3 porting
« Reply #446 on: 10 / December / 2017, 08:04:34 »
this is video since 2 months ago that I make.
2 months?
https://app.assembla.com/spaces/chdk/subversion/commits/4834

yeah , But upload in youtube on september. so I don't try fw120 maybe next time

*

Offline srsa_4c

  • ******
  • 3629
Re: EOS M3 porting
« Reply #447 on: 09 / February / 2018, 13:38:31 »
@Ant
For 101a, the movie recording time limit seems to be defined by this
Code: [Select]
FC140606    movw    r9, #0x707
Unfortunately, it's in a very long routine (that btw appears to do all sorts of initialization, res and bitrates), and it's used calculate more than one limit.
0x707 is 1799 aka 29 minutes 59 seconds.
Tried changing the equivalent on the sx280, using slow-mo video which has a 30 second limit, and it appeared to work.


*

Offline Ant

  • ****
  • 362
Re: EOS M3 porting
« Reply #448 on: 09 / February / 2018, 14:22:27 »
Thanks. But it's more interesting to change video bitrate and framerate (enable 1080p50/60 if image sensor can provide it)

*

Offline srsa_4c

  • ******
  • 3629
Re: EOS M3 porting
« Reply #449 on: 10 / February / 2018, 11:53:29 »
to change video bitrate
My guess is that bitrate definitions are these constants (there are more sets of bitrates in that routine, not all are used by fw):
Code: [Select]
    FC140418 45 F6 5C 51   movw      r1, #0x5D5C
    FC14041C 45 F6 F8 42   movw      r2, #0x5CF8
...
    FC140452 45 F6 C0 50   movw      r0, #0x5DC0
However, when I attempted to change these (still on sx280), video recording failed to start and eventually the camera crashed with E09.
There's framerate related stuff, near function start, but I'm not convinced that trickery will work there (those settings likely only influence the video stream properties, not the sensor setup). Full HD 60p is likely not implemented (it's not in 750D/760D which appears to use a similar sensor).

 

Related Topics