Canon 600D / T3i

Started by Avenger 2.0, June 16, 2015, 10:00:13 AM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

dfort

To save some time you can comment out all the tests that have already completed.

api_test.lua
    -- note: each test routine must print a blank line at the end
--  strict_tests()
--  generic_tests()
   
    printf("Module tests...\n")
--  test_io()
--  test_camera_gui()
--  test_menu()
--  test_camera_take_pics()
--  sleep(1)
--  test_multitasking()
--  test_keys()
--  test_lv()
--  test_lens_focus()
    test_camera_exposure()
    test_movie()
   
    printf("Done!\n")


It would be interesting to try the focus test on a few different lenses, just comment out all the other tests. I found that sometimes the test needs to be restarted multiple times to get one successful run depending on the lens you're using and the mode the camera is in when you run the test. For example, the 500D can't run the focus test outside of LiveView.

mk11174

Well, it wasnt the focus test that shut camera off, ran it again and as long as its wide open it always passes focus test now, just whatever test is after focus test, that one is shutting cam off and need to take battery out.

https://youtu.be/0sW4BsP8sO0

UPDATE: Good news for your 103 port, it does the exact same thing on 102, crash in same spot.
500D/T1i  550D/T2i  600D/T3i  700D/T5i

dfort

Looks like it is hanging on the ISO test. No assert error message on the console? We could try commenting out that line. Also, try running the movie test so we can narrow it down to just the test_camera_exposure() that is failing.

Good to know that I didn't break anything with the firmware update. (Like I did with the 550D.)

Got to run around this afternoon so I'll be offline for a while.

mk11174

No, no console just like on video I uploaded, just turns cam off. No crash logs either

Skipped Exposure Test, all passed fine.

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-5-6 16:31:22
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 96
    apex = 5.
    ms = 31
    value = 0.03125
  aperture = table:
    raw = 59
    apex = 6.375
    value = 9.100001
    min = table:
      raw = 37
      apex = 3.625
      value = 3.5
    max = table:
      raw = 80
      apex = 9.
      value = 22.6
  iso = table:
    raw = 72
    apex = 5.
    value = 100
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 3
  metering_mode = 3
  drive_mode = 1
  model = "Canon EOS REBEL T3i"
  model_short = "600D"
  firmware = "1.0.2"
  temperature = 161
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  shoot = function: p
  bulb = function: p
  wait = function: p
  burst = function: p
  reboot = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  show = function: p
  clear = function: p
  write = function: p
  hide = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  wait = function: p
  stop = function: p
  resume = function: p
  info = function: p
  pause = function: p
  start = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS"
  focal_length = 18
  focus_distance = 655350
  hyperfocal = 1909
  dof_near = 1903
  dof_far = 1000000
  af = true
  af_mode = 0
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  off = function: p
  on = function: p
  screenshot = function: p
  circle = function: p
  print = function: p
  rect = function: p
  notify_box = function: p
  draw = function: p
  load = function: p
  clear = function: p
  line = function: p
  pixel = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  new = function: p
  block = function: p
  set = function: p
  open = function: p
  select = function: p
  close = function: p
  get = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 9
  ms_clock = 9330
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/100CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 16
    folder_number = 100
    free_space = 15633696
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 16
    folder_number = 100
    free_space = 15633696
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    min = 31
    isdst = false
    wday = 7
    yday = 1
    month = 5
    year = 2018
    hour = 16
    day = 6
    sec = 23
  remove = function: p
  directory = function: p
  call = function: p
  rename = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:36: in function <ML/SCRIPTS/API_TEST.LUA:35>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:35: in function 'print_table'
ML/SCRIPTS/API_TEST.LUA:81: in function 'generic_tests'
ML/SCRIPTS/API_TEST.LUA:1338: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1364: in main chunktask = table:
  create = function: p
  yield = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing Canon GUI functions...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Canon GUI tests completed.

Testing ML menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_0017.CR2: 25094833
B:/DCIM/100CANON/IMG_0017.JPG: 4848220
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_0018.CR2: 25128798
B:/DCIM/100CANON/ABC_0018.JPG: 4849283
B:/DCIM/100CANON/ABC_0019.CR2: 25097122
B:/DCIM/100CANON/ABC_0019.JPG: 4831500
Bracketed pictures...
B:/DCIM/100CANON/IMG_0020.CR2: 24226800
B:/DCIM/100CANON/IMG_0020.JPG: 4858297
B:/DCIM/100CANON/IMG_0021.CR2: 25116757
B:/DCIM/100CANON/IMG_0021.JPG: 4864994
B:/DCIM/100CANON/IMG_0022.CR2: 23374510
B:/DCIM/100CANON/IMG_0022.JPG: 3675372
Bulb picture...
Elapsed time: 11925
B:/DCIM/100CANON/IMG_0023.CR2: 14243432
B:/DCIM/100CANON/IMG_0023.JPG: 363713
Picture taking tests completed.

Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...
Half-shutter test OK.

Testing module 'lv'...
Starting LiveView...
Overlays: Canon
Overlays: ML
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Overlays: Canon
Overlays: disabled
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Overlays: Canon
Overlays: disabled
Overlays: ML
Overlays: disabled
Overlays: ML
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.


Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 5270
Autofocus in LiveView...
Please trigger autofocus (half-shutter / AF-ON / * ).
19...18...17...Autofocus triggered.
Autofocus completed.
Focus distance: 655350
Focusing backward...
Focus distance: 655350
Focus motor position: 92
Focusing forward with step size 3, wait=true...
.......
Focus distance: 250
Focus motor position: -1796
Focusing backward with step size 3, wait=true...
........
Focus distance: 655350
Focus motor position: 111
Focus range: 7 steps forward, 8 steps backward.
Motor steps: 1888 forward, 1907 backward, 19 lost.
Focusing forward with step size 3, wait=false...
.........................
Focus distance: 250
Focus motor position: -1761
Focusing backward with step size 3, wait=false...
.......................
Focus distance: 655350
Focus motor position: 134
Focus range: 25 steps forward, 23 steps backward.
Motor steps: 1872 forward, 1895 backward, 23 lost.
Focusing forward with step size 2, wait=true...
.....................................
Focus distance: 250
Focus motor position: -1753
Focusing backward with step size 2, wait=true...
.....................................
Focus distance: 655350
Focus motor position: 119
Focus range: 37 steps forward, 37 steps backward.
Motor steps: 1887 forward, 1872 backward, 15 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 250
Focus motor position: -1768
Focusing backward with step size 2, wait=false...
...
Focus distance: 655350
Focus motor position: 109
Focus range: 156 steps forward, 105 steps backward.
Motor steps: 1887 forward, 1877 backward, 10 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 250
Focus motor position: -1850
Focusing backward with step size 1, wait=true...
...
Focus distance: 655350
Focus motor position: 126
Focus range: 149 steps forward, 150 steps backward.
Motor steps: 1959 forward, 1976 backward, 17 lost.
Focusing forward with step size 1, wait=false...
...
Focus distance: 250
Focus motor position: -1850
Focusing backward with step size 1, wait=false...
...
Focus distance: 655350
Focus motor position: 121
Focus range: 307 steps forward, 299 steps backward.
Motor steps: 1976 forward, 1971 backward, 5 lost.

Focus test completed.


Testing movie recording...
Please switch to Movie mode.
Movie recording tests completed.

Done!


UPDATE: If the Exposure test is done by itself, it passes just fine.
===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-5-6 16:49:11
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 75
    apex = 2.375
    ms = 193
    value = 0.192776
  aperture = table:
    raw = 59
    apex = 6.375
    value = 9.100001
    min = table:
      raw = 37
      apex = 3.625
      value = 3.5
    max = table:
      raw = 80
      apex = 9.
      value = 22.6
  iso = table:
    raw = 104
    apex = 9.
    value = 1600
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 3
  metering_mode = 3
  drive_mode = 1
  model = "Canon EOS REBEL T3i"
  model_short = "600D"
  firmware = "1.0.2"
  temperature = 168
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  wait = function: p
  bulb = function: p
  reboot = function: p
  shoot = function: p
  burst = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  show = function: p
  write = function: p
  clear = function: p
  hide = function: p
lv = table:
  enabled = true
  paused = false
  running = true
  zoom = 1
  overlays = 2
  stop = function: p
  wait = function: p
  pause = function: p
  resume = function: p
  start = function: p
  info = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS"
  focal_length = 18
  focus_distance = 655350
  hyperfocal = 1909
  dof_near = 1903
  dof_far = 1000000
  af = true
  af_mode = 0
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  on = function: p
  rect = function: p
  pixel = function: p
  clear = function: p
  load = function: p
  draw = function: p
  notify_box = function: p
  circle = function: p
  off = function: p
  print = function: p
  screenshot = function: p
  line = function: p
key = table:
  last = 9
  wait = function: p
  press = function: p
menu = table:
  visible = false
  set = function: p
  close = function: p
  open = function: p
  get = function: p
  new = function: p
  select = function: p
  block = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 20
  ms_clock = 20466
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/100CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 24
    folder_number = 100
    free_space = 15404160
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 24
    folder_number = 100
    free_space = 15404160
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    month = 5
    year = 2018
    min = 49
    hour = 16
    wday = 7
    isdst = false
    yday = 1
    day = 6
    sec = 13
  directory = function: p
  remove = function: p
  rename = function: p
  call = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:36: in function <ML/SCRIPTS/API_TEST.LUA:35>
[C]: in function 'globals.xpcall'
ML/SCRIPTS/API_TEST.LUA:35: in function 'globals.print_table'
ML/SCRIPTS/API_TEST.LUA:81: in function 'globals.generic_tests'
ML/SCRIPTS/API_TEST.LUA:1338: in function 'globals.api_tests'
ML/SCRIPTS/API_TEST.LUA:1364: in main chunktask = table:
  yield = function: p
  create = function: p
property = table:
Generic tests completed.

Module tests...
Testing exposure settings...
Camera    : Canon EOS REBEL T3i (600D) 1.0.2
Lens      : EF-S18-55mm f/3.5-5.6 IS
Shoot mode: 3
Shutter   : ,5 (raw 75, 0.192776s, 193ms, apex 2.375)
Aperture  : 9.1 (raw 59, f/9.100001, apex 6.375)
Av range  : 3.5..22 (raw 37..80, f/3.5..f/22.6, apex 3.625..9.)
ISO       : €1600 (raw 104, 1600, apex 9.)
EC        : 0.0 (raw 0, 0 EV)
Flash EC  : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.

Done!
500D/T1i  550D/T2i  600D/T3i  700D/T5i

dfort

Great -- I'm still waiting for my wife to get ready to go out so---Don't kill me but yet another test?

Remove this section out of the exposure test and run just the exposure test again. Let's see if shutter and aperture are working and it is only ISO that's the problem.

    request_mode(MODE.M, "M")
    old_value = camera.iso.raw
    printf("Setting ISO to random values...\n")
    for k = 1,100 do
        local method = math.random(1,3)
        local d = nil
        if method == 1 then
            local iso = math.random(100, 6400)
            if math.random(1,2) == 1 then
                camera.iso.value = iso
            else
                camera.iso = iso
            end
            d = math.abs(math.log(camera.iso.value,2) - math.log(iso,2))
        elseif method == 2 then
            local apex = math.random(5*100,11*100)/100
            camera.iso.apex = apex
            d = math.abs(camera.iso.apex - apex)
        elseif method == 3 then
            local raw = math.random(72, 120)
            camera.iso.raw = raw
            d = math.abs(camera.iso.raw - raw) / 8
        end

        -- difference between requested and actual ISO should be max 1/3 EV
        if d > 1/3 then
            printf("Error: ISO delta %s EV\n", d)
        end

        -- ISO and Sv (APEX) should be consistent
        local expected_apex = math.log(camera.iso.value/3.125, 2)
        if math.abs(expected_apex - camera.iso.apex) > 0.2 then
            printf("Error: ISO %s != Sv%s, expected %s\n", camera.iso.value, camera.iso.apex, expected_apex)
        end

        -- setting ISO to the same value, using any method (value,apex,raw)
        -- should not change anything
        for i,field in pairs{"value","apex","raw"} do
            local current = {}
            current.apex  = camera.iso.apex
            current.value = camera.iso.value
            current.raw   = camera.iso.raw
           
            camera.iso[field] = current[field]
           
            if camera.iso.value ~= current.value then
                printf("Error: ISO set to %s=%s, got %s, expected %s\n", field, current[field], camera.iso.value, current.value)
            end
            if camera.iso.apex ~= current.apex then
                printf("Error: ISO set to %s=%s, got Sv%s, expected Sv%s\n", field, current[field], camera.iso.apex, current.apex)
            end
            if camera.iso.raw ~= current.raw then
                printf("Error: ISO set to %s=%s, got %s, expected %s (raw)\n", field, current[field], camera.iso.raw, current.raw)
            end
        end
    end
    camera.iso.raw = old_value

mk11174

Doesn't seem to be either of them cause the whole exposure test finishes just fine if done by itself, just crashes cam if all tests are done with it. So guess there's no point in editing the exposure script.

The camera state must be changed in some way by the time it gets to the exposure test that makes it crash since it can pass just fine from a fresh cam restart.

UPDATE:
Well, I played with placement of Camera Exposure Test, if it is first in the list, all tests complete fine.
If it goes anywhere after IO test, it crashes with this.




UPDATE 2: It seems to be copy_test("autoexec.bin", "tmp.bin") inside IO test
Guess its just running out of memory to finish the other tests after it copies?

If I put all the tests back in the normal order and just comment out copy_test inside test_io test then that fixes everything.

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-5-6 20:59:23
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 128
    apex = 9.
    ms = 2
    value = 0.001953
  aperture = table:
    raw = 59
    apex = 6.375
    value = 9.100001
    min = table:
      raw = 37
      apex = 3.625
      value = 3.5
    max = table:
      raw = 80
      apex = 9.
      value = 22.6
  iso = table:
    raw = 72
    apex = 5.
    value = 100
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = -12
    value = -1.5
  kelvin = 5200
  mode = 3
  metering_mode = 3
  drive_mode = 1
  model = "Canon EOS REBEL T3i"
  model_short = "600D"
  firmware = "1.0.2"
  temperature = 155
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  burst = function: p
  wait = function: p
  bulb = function: p
  shoot = function: p
  reboot = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  write = function: p
  show = function: p
  hide = function: p
  clear = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  stop = function: p
  start = function: p
  info = function: p
  wait = function: p
  pause = function: p
  resume = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS"
  focal_length = 18
  focus_distance = 760
  hyperfocal = 1909
  dof_near = 558
  dof_far = 1216
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  screenshot = function: p
  off = function: p
  rect = function: p
  line = function: p
  notify_box = function: p
  draw = function: p
  load = function: p
  pixel = function: p
  print = function: p
  on = function: p
  circle = function: p
  clear = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  block = function: p
  select = function: p
  set = function: p
  open = function: p
  new = function: p
  get = function: p
  close = function: p
movie = table:
  recording = false
  start = function: p
  stop = function: p
dryos = table:
  clock = 18
  ms_clock = 18904
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/100CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 53
    folder_number = 100
    free_space = 15600928
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 53
    folder_number = 100
    free_space = 15600928
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    month = 5
    year = 2018
    day = 6
    yday = 1
    min = 59
    isdst = false
    sec = 24
    wday = 7
    hour = 20
  remove = function: p
  rename = function: p
  directory = function: p
  call = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:36: in function <ML/SCRIPTS/API_TEST.LUA:35>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:35: in function 'print_table'
ML/SCRIPTS/API_TEST.LUA:81: in function 'generic_tests'
ML/SCRIPTS/API_TEST.LUA:1338: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1364: in main chunktask = table:
  yield = function: p
  create = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing Canon GUI functions...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Canon GUI tests completed.

Testing ML menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_0054.CR2: 22956594
B:/DCIM/100CANON/IMG_0054.JPG: 4822231
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_0055.CR2: 23009531
B:/DCIM/100CANON/ABC_0055.JPG: 4848494
B:/DCIM/100CANON/ABC_0056.CR2: 23052820
B:/DCIM/100CANON/ABC_0056.JPG: 4864321
Bracketed pictures...
B:/DCIM/100CANON/IMG_0057.CR2: 20934042
B:/DCIM/100CANON/IMG_0057.JPG: 3050554
B:/DCIM/100CANON/IMG_0058.CR2: 23038542
B:/DCIM/100CANON/IMG_0058.JPG: 4853789
B:/DCIM/100CANON/IMG_0059.CR2: 26637511
B:/DCIM/100CANON/IMG_0059.JPG: 5049995
Bulb picture...
Elapsed time: 11754
B:/DCIM/100CANON/IMG_0060.CR2: 17216150
B:/DCIM/100CANON/IMG_0060.JPG: 1215102
Picture taking tests completed.

Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...
Half-shutter test OK.

Testing module 'lv'...
LiveView is running; stopping...
Starting LiveView...
Overlays: Canon
Overlays: Canon
Overlays: Canon
Overlays: ML
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Overlays: Canon
Overlays: disabled
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Overlays: Canon
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.


Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 1130
Autofocus in LiveView...
Please trigger autofocus (half-shutter / AF-ON / * ).
19...18...17...16...15...14...13...12...11...10...9...8...7...6...5...4...3...Autofocus triggered.
Autofocus completed.
Focus distance: 760
Focusing backward...
Focus distance: 655350
Focus motor position: 582
Focusing forward with step size 3, wait=true...
.......
Focus distance: 250
Focus motor position: -1287
Focusing backward with step size 3, wait=true...
.......
Focus distance: 655350
Focus motor position: 607
Focus range: 7 steps forward, 7 steps backward.
Motor steps: 1869 forward, 1894 backward, 25 lost.
Focusing forward with step size 3, wait=false...
..............................
Focus distance: 250
Focus motor position: -1263
Focusing backward with step size 3, wait=false...
............................
Focus distance: 655350
Focus motor position: 630
Focus range: 30 steps forward, 28 steps backward.
Motor steps: 1870 forward, 1893 backward, 23 lost.
Focusing forward with step size 2, wait=true...
....................................
Focus distance: 250
Focus motor position: -1230
Focusing backward with step size 2, wait=true...
.....................................
Focus distance: 655350
Focus motor position: 652
Focus range: 36 steps forward, 37 steps backward.
Motor steps: 1860 forward, 1882 backward, 22 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 250
Focus motor position: -1210
Focusing backward with step size 2, wait=false...
...
Focus distance: 655350
Focus motor position: 667
Focus range: 120 steps forward, 126 steps backward.
Motor steps: 1862 forward, 1877 backward, 15 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 250
Focus motor position: -1283
Focusing backward with step size 1, wait=true...
...
Focus distance: 655350
Focus motor position: 685
Focus range: 150 steps forward, 151 steps backward.
Motor steps: 1950 forward, 1968 backward, 18 lost.
Focusing forward with step size 1, wait=false...
...
Focus distance: 250
Focus motor position: -1266
Focusing backward with step size 1, wait=false...
...
Focus distance: 655350
Focus motor position: 743
Focus range: 296 steps forward, 325 steps backward.
Motor steps: 1951 forward, 2009 backward, 58 lost.

Focus test completed.

Testing exposure settings...
Camera    : Canon EOS REBEL T3i (600D) 1.0.2
Lens      : EF-S18-55mm f/3.5-5.6 IS
Shoot mode: 3
Shutter   : ,5 (raw 75, 0.192776s, 193ms, apex 2.375)
Aperture  : 9.1 (raw 59, f/9.100001, apex 6.375)
Av range  : 3.5..22 (raw 37..80, f/3.5..f/22.6, apex 3.625..9.)
ISO       : €1600 (raw 104, 1600, apex 9.)
EC        : 0.0 (raw 0, 0 EV)
Flash EC  : -1.5 (raw -12, -1.5 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.


Testing movie recording...
Please switch to Movie mode.
Movie recording tests completed.

Done!
500D/T1i  550D/T2i  600D/T3i  700D/T5i

dfort

Nice find. Not the first time I saw that error message. So it looks like the 600D is passing all the tests and 1.0.3 should be good to go once we get reports on that last item a1ex asked for:

Quote from: a1ex on December 16, 2017, 01:36:42 AM
- overall sanity check (for example, if you decide to take this build out and use it for a couple of hours, please report back)

irvcobb

I have 1.0.3 and the test version of ML up and running. I'll walk around with it for a few days. Anything specific I should be looking for?

dfort

Quote from: irvcobb on May 09, 2018, 04:14:13 PM
Anything specific I should be looking for?

Nothing specific. Basically try it out and tell us if it is working for you. If you encounter any issues check to see if the same issues are in 1.0.2. Most important of all, please report back.

irvcobb

I've taken the camera on a couple brief outings, and ML seems to work as expected. Specifically, DualISO, ETTR, and focus blinkies are working fine. I'm not a video guy, so don't know enough to play with that. Will continue to experiment and report.

dfort

Thanks for the testing. Looks like the firmware update is working fine. At least we didn't break anything that was working and found some quirks with the ML tests on various cameras.

Stryker1

@a1ex and all others here :)

Are there any news/fixes for the bug with the black bars that appear on the HDMI out display?
See my posts from january, beginning here: https://www.magiclantern.fm/forum/index.php?topic=15360.msg196249#msg196249

irvcobb

I've shot some more with 1.0.3 with no issues. Specifically checked focus stacking and it works fine.

a1ex

I'm troubleshooting a 600D that no longer boots, and would like some logs to cross-check the results:

https://builds.magiclantern.fm/jenkins/view/Experiments/job/startup-log/
-> build #25 was reported to work (able to save a log from the bad camera, but screen is black)

https://builds.magiclantern.fm/jenkins/view/Experiments/job/startup-log-mpu/
-> build #7 was reported not to boot, but it works fine in QEMU (direct link)
-> build #10 is from an older codebase (same as #25 from above, just with different logging options)

Would like to make sure these 3 builds are all working fine on a healthy 600D. They all work in QEMU.

Danne

This one boots fine on the 600D:
magiclantern-startup-log.2018May20.600D102.zip
LOG(accidentally overwrote this log with one below, tell me if you need it at all and rerun it.)

This one working too:
magiclantern-startup-log-mpu.2018May29.600D102.zip
LOG
https://bitbucket.org/Dannephoto/magic-lantern/downloads/DM-0000.LOG

There was a third build to test. Would appreciate a direct link to it. Gotta run atm...

EDIT:
Last one also working
magiclantern-startup-log-mpu.2018May20.600D102.zip

LOG:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/magiclantern-startup-log-mpu.2018May20.600D102.zip.LOG

All three versions working.

Danne


irvcobb

Just returned from vacation. Shot about 1000 frames with 1.0.3. No issues noted.
There's a new build for 1.0.2. Any chance for one for 1.0.3, dfort?

dfort

I recently returned from vacation too. Updating firmware pull requests to the latest unified commits is on my todo list. Thanks for the wake up call.

a1ex

Also got something to test on 600D, for the audio side: https://bitbucket.org/hudson/magic-lantern/pull-requests/420/refactor-audio-to-use-new-config-var/diff

Please document any changes in functionality in the config_var_refactor branch, compared to unified. There shouldn't be any, as the PR is supposed to just refactor things, but I did notice surprises on other models.

dfort

@irvcobb - made a bunch of new firmware update builds including the 600D.103

All other 600D users, I also made a test build of the config_var_refactor that you can compare to the unified build on the nightly builds page.

As usual, my test builds are posted on my Bitbucket downloads page.

irvcobb

Got it, and thanks. Will see what it does later tonight.

irvcobb

Took the 600D to the stock car races last night. Battery consumption seemed very high. Might be be ML, might be my batteries, might be my imagination. Thought I'd report. Will check into it some, but will be slow. Life keeps getting in the way of leisure.

spaingaroo

hi everyone, newbie to the forum.
I notice that newbies are pretty useless, (and maybe not too welcome) and I may well be the same.
However that said, I have read through this entire thread, and my question is pretty simple.

If I want to be safe, I should only update my firmware to 1.02, (which I was able to get from a link provided in the thread), instead of the 1.03 which is available on the Canon website?
I have just bought a Canon EOS 600D (used, as new) which came from Germany. It's got version 1.01 firmware on it at the moment.

I see the last few posts (apart from the testing posts, which mainly go right over my head) mention that everything seems to be working with 1.03.
In some ways I would rather use the latest Canon official firmware, but I see that the first page still says to use version 1.02, although it links to the Canon website, which only offers 1.03.

Also, I wish to note that I saw (and understand) the general warning given that until one is used to the original Canon software functions, one doesn't need the extra complexity. However, I only bought this camera to do timelapse videos (or at least mainly) and I misunderstood the Canon specifications where it said
QuoteDrive Modes Single, Continuous, Self timer (2s, 10s+remote, 10s + continuous shots 2-10)
I thought this last referred to being able to take shots at intervals from 2 to ten seconds, not that it would take two to ten shots after self timer.
My bad.
Your software seems to be my saviour, as of course, it offers the intervalometer, and also the reduced frame rate shooting videos.
Most of the rest of the functions are probably just extra confusion for me, without a doubt.
I owned a Canon A-1 as a teenager (yes, I am that old!) and it was my pride and joy, bought with my own money earned in my part time jobs, but I sold it to buy a motorbike later. I never had another SLR (too much sadness) and have only had compact cameras since I started having cameras again a couple of decades ago.

I am also investigating as it seems that that the EOS software that comes with the camera, perhaps allows timelapse to be organised from the computer itself. That would allow me to set up my main project, as it is timelapse of my drawing projects, but I would still be interested in the more general use of the camera for timelapse.

Thanks in advance to anyone who takes the time to answer my query.

Saludos, as they say here in Spain.



Audionut

Quote from: spaingaroo on September 23, 2018, 05:07:05 PM
If I want to be safe, I should only update my firmware to 1.02, (which I was able to get from a link provided in the thread), instead of the 1.03 which is available on the Canon website?
I have just bought a Canon EOS 600D (used, as new) which came from Germany. It's got version 1.01 firmware on it at the moment.

In some ways I would rather use the latest Canon official firmware, but I see that the first page still says to use version 1.02, although it links to the Canon website, which only offers 1.03.

Fixed the link in the first post.  Thanks.  Valid links are always present in the camera download pages.  https://builds.magiclantern.fm/

Publicly available builds of ML for the 600D are only available (working on) firmware 1.0.2.  If you want to use ML for the 600D, then you must be running the correct firmware for code.
I see the value in wanting to use the latest update (the 1.0.2 version we link to is official Canon firmware, just to be precise), but there is also value in the saying, "if it ain't broke, don't fix it".
The 1.0.3 firmware update only fixed a minor issue.

https://www.canon.com.au/support/support-news/firmware-updates/2016/eos-600d-firmware-version-1,-d-,0,-d-,3
QuoteFirmware Version 1.0.3 incorporates the following fixes:

Corrects a phenomenon in which when using the camera with the EF-S 18-135mm f/3.5-5.6 IS USM or EF 70-300mm f/4-5.6 IS II USM lens, even if lens aberration correction is set to "Enable", correction will not be applied.

If you don't use this lens with this camera, then the update is mostly mute (imho).


Quote from: spaingaroo on September 23, 2018, 05:07:05 PM
I see the last few posts (apart from the testing posts, which mainly go right over my head) mention that everything seems to be working with 1.03.


There is a pull request to port the main builds of ML to firmware 1.0.3.  These pull requests are subject to a bunch of development related stuff before they are made available to all users.  If you spend some time here, read sticky threads are so forth, it's actually reasonably easy to setup your own compiling environment, so that you may make your own 1.0.3 build of ML and help the developers test the code (beta test).  If you're worried about breaking your camera, that's fine too.  :)

Based on your own observations of the discussion in this thread, it seems like the 1.0.3 port is stable, and just waiting for that developer stuff (users to test and report back to devs) to be polished.

You can still use the 1.0.3 firmware and help test ML without having to compile code by yourself.  @dfort has builds available on his bitbucket page.  See a few posts above this one.

spaingaroo

Quote from: Audionut on September 25, 2018, 07:48:37 AM
Fixed the link in the first post.  Thanks.  Valid links are always present in the camera download pages.  https://builds.magiclantern.fm/

Publicly available builds of ML for the 600D are only available (working on) firmware 1.0.2.  If you want to use ML for the 600D, then you must be running the correct firmware for code.
I see the value in wanting to use the latest update (the 1.0.2 version we link to is official Canon firmware, just to be precise), but there is also value in the saying, "if it ain't broke, don't fix it".
The 1.0.3 firmware update only fixed a minor issue.

https://www.canon.com.au/support/support-news/firmware-updates/2016/eos-600d-firmware-version-1,-d-,0,-d-,3
If you don't use this lens with this camera, then the update is mostly mute (imho).



There is a pull request to port the main builds of ML to firmware 1.0.3.  These pull requests are subject to a bunch of development related stuff before they are made available to all users.  If you spend some time here, read sticky threads are so forth, it's actually reasonably easy to setup your own compiling environment, so that you may make your own 1.0.3 build of ML and help the developers test the code (beta test).  If you're worried about breaking your camera, that's fine too.  :)

Based on your own observations of the discussion in this thread, it seems like the 1.0.3 port is stable, and just waiting for that developer stuff (users to test and report back to devs) to be polished.

You can still use the 1.0.3 firmware and help test ML without having to compile code by yourself.  @dfort has builds available on his bitbucket page.  See a few posts above this one.

Thanks for that Audionut, I ended finding that out too, about the fact it was only a fix for that one lens, basically as you said.
I am not game to risk the camera, nor I am really willing to learn enough to be of use to others.
Sorry.

I really have enough trouble trying to keep up with my own needs. Sounds selfish, but my own needs include 12 rescues, so it's only sort of.
Instead, I will happily use the firmware 1.02 and try not to make anything break.

haha

Hopefully I can make some timelapses that seem worth it.
Cheers.

Thanks for fixing the link too, I got the link from within the discussion, but good move.
And thanks to all those who are helping with the community and getting this sort of software out there.

Canon needs to learn a trick or two.

I was so disappointed when I realised the camera couldn't do it for itself, and then along came magiclantern and led me out of the darkness, I hope. jaja