EOS M3 porting - page 36 - DryOS Development - CHDK Forum

EOS M3 porting

  • 746 Replies
  • 391392 Views
Re: EOS M3 porting
« Reply #350 on: 21 / May / 2017, 10:55:36 »
Advertisements
I now followed all steps multiple times to install your files to my M3 but it won't start with the locked sd card used for the files.
The 120f build requires a camera running the '1.2.0' factory firmware. You can get the 1.2.0 update on Canon's support page.

Great srsa_4C and Ant, it's working now with indeed this 1.2.0 firmware!!!

*

Offline reyalp

  • ******
  • 14080
Re: EOS M3 porting
« Reply #351 on: 21 / May / 2017, 16:38:08 »
A publicly available 120f firmware dump is needed to include that port in the official SVN.
Don't forget what the H stands for.

*

Offline lapser

  • *****
  • 1093
Re: EOS M3 porting
« Reply #352 on: 23 / May / 2017, 15:31:38 »
I'm really excited to see this port for the M3 working! I use the M3 for astrophotography, but it's limited by its 30 second exposure maximum. I was able to install your port and write a script to set the exposure time to whatever I want.

However, when I tried to set the ISO, I discovered the M3 port doesn't seem to do anything. This simple script works on the G1X, but not on the M3:
Code: [Select]

--[[
@title SvTest
@chdk_version 1.4.1
#iso=200 "ISO"
]]
sv=sv96_market_to_real(iso_to_sv96(iso))
set_sv96(sv)
shoot()
Set the camera to ISO 3200 and run the script. On the G1X, the script produces a picture with ISO 200, like it should. On the M3, it shoots a photo with ISO 3200, which means that "set_sv96(sv)" didn't work.

Will you see if you can find the problem? I suspect  it may be a PROPCASE error in the port, possibly one or all of these:
Code: [Select]
props=require("propcase")
props.SV -- real sv
props.DELTA_SV
props.SV_MARKET
This is one of the first photos taken through a telescope with the EOSM3, running a CHDK Lua script! (North America Nebula 90 second exposure)



The original photo is here:
https://secure.meetupstatic.com/photos/event/1/b/b/2/highres_461107090.jpeg
EOS-M3_120f / SX50_100b / SX260_101a / G1X_100g / D20_100b
https://www.youtube.com/user/DrLapser/videos

*

Offline Ant

  • *****
  • 509
Re: EOS M3 porting
« Reply #353 on: 23 / May / 2017, 16:00:38 »
What fw version and CHDK build you are using? Your original jpeg does not contain exif info.
Right now I made 125s photo using Tv overriding.

Set the camera to ISO 3200 and run the script. On the G1X, the script produces a picture with ISO 200, like it should. On the M3, it shoots a photo with ISO 3200, which means that "set_sv96(sv)" didn't work.
On my M3(120f) I get photo with brightness equal to photo made with ISO 200, but ISO in exif is 3200.
« Last Edit: 23 / May / 2017, 16:29:39 by Ant »


*

Offline lapser

  • *****
  • 1093
Re: EOS M3 porting
« Reply #354 on: 23 / May / 2017, 18:27:52 »

What fw version and CHDK build you are using? Your original jpeg does not contain exif info.
Right now I made 125s photo using Tv overriding.

On my M3(120f) I get photo with brightness equal to photo made with ISO 200, but ISO in exif is 3200.

That's interesting. I never looked at the picture!


I did some experimenting and came up with this:
Code: [Select]

before set_iso(sv)
iso= 200  sv= 576
pSV_MARKET= 960 (iso 3200)
pDELTA_SV= 0
pSV= 960


after set_iso(sv)
shoot_half
pSV_MARKET= 576
pDELTA_SV= 0
pSV= 576
I think the EXIF data comes from a new "PROPCASE_SV2" like the PROPCASE_TV2 which provides EXIF data only.
====
I used another test script that calls set_tv96_direct(tv), to get the 90 second photo. The exif data was stripped out when I uploaded it to meetup.com.

My fw is 101a, with your build 4794
EOS-M3_120f / SX50_100b / SX260_101a / G1X_100g / D20_100b
https://www.youtube.com/user/DrLapser/videos

*

Offline lapser

  • *****
  • 1093
Re: EOS M3 porting
« Reply #355 on: 24 / May / 2017, 04:31:11 »
I wrote a script to look through all the propcase values searching for ones that equaled propcase_SV. Propcase #354 was always equal to propcase_SV regardless of how I changed the ISO (with the camera controls).

However, when I changed the ISO with set_iso(sv), propcase #354 didn't change. I tried set_prop(354,sv), and then get_prop(354)==sv as expected.

Interestingly, this also changes the EXIF data, so propcase #354 is definitely involved with EXIF data. But it changed the EXIF from 3200 to 6400, instead of 200. Maybe that's because of the timing. Propcase #354 needs to change right after propcase.SV, I suspect. That has to be done in shooting_set_sv96().

Hopefully, someone will investigate this further? Thanks.
EOS-M3_120f / SX50_100b / SX260_101a / G1X_100g / D20_100b
https://www.youtube.com/user/DrLapser/videos

*

Offline fe50

  • ******
  • 3147
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: EOS M3 porting
« Reply #356 on: 26 / May / 2017, 03:18:43 »
Added the
  • EOS M3 1.01A
full 32MB dump by joerg_c from this forum post to the CHDK P&S FW dumps repository.

@reyalp: thx for the hint !
« Last Edit: 26 / May / 2017, 04:31:37 by fe50 »

*

Offline Ant

  • *****
  • 509
Re: EOS M3 porting
« Reply #357 on: 29 / May / 2017, 17:06:59 »
Since the eventflag functions are in RAM, it's possible to modify them and add some logging or other custom code (similar to what we do with CreateTask).
After little investigation I found that Sigma lens problem is somewhere inside FC2F13E2 function which is called from EFLensComTask (at FC2F0F0A).
Usually its execution takes ~ 2 seconds, but when a problem occurs, it takes ~ 60 seconds.

How it work on EOS M10?


*

Offline srsa_4c

  • ******
  • 4451
Re: EOS M3 porting
« Reply #358 on: 03 / June / 2017, 07:34:11 »
After little investigation I found that Sigma lens problem is somewhere inside FC2F13E2 function which is called from EFLensComTask (at FC2F0F0A).
Usually its execution takes ~ 2 seconds, but when a problem occurs, it takes ~ 60 seconds.

How it work on EOS M10?
I don't have a lens that would trigger this behaviour, unfortunately.
The function you found seems easy to replace because its address comes from a table that resides in pre-initialized data - in RAM. Have you been able to isolate the problem further?

Found this link in the ML forum, about old Sigmas. It's not the problem you're experiencing, but shows how a compatibility problem looks like.

*

Offline Ant

  • *****
  • 509
Re: EOS M3 porting
« Reply #359 on: 03 / June / 2017, 11:32:52 »
Have you been able to isolate the problem further?
The problem is a loop inside function FC2F124A. The condition of exit is result of function fc2cb942. Maybe it's need to abort this cycle by timeout, but I have not tried yet.
The function FC2F124A is not executed when EF-M lens attached because of  lens type checking at FC2F12F8.

Quote
Found this link in the ML forum, about old Sigmas. It's not the problem you're experiencing, but shows how a compatibility problem looks like.
My lens is not old - released at 2009. It works correctly on EOS DSLR.
I didn't found how camera communicates with the lens.
It looks like they use message queues for it.

Edit:
Found a solution by inserting "b loc_fc2f12d4" before loc_fc2f12c2.
But not sure this trick is proper...
« Last Edit: 03 / June / 2017, 15:25:36 by Ant »

 

Related Topics