Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - saulbass

#26
Camera-specific Development / Re: Canon 650D / T4i
April 23, 2018, 09:58:52 PM
this is my edit

function api_tests()
    menu.close()
    console.clear()
    console.show()
    test_log = logger("LUATEST.LOG")

    -- 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")
   
    test_log:close()
    key.wait()
    console.hide()
end
#27
Camera-specific Development / Re: Canon 650D / T4i
April 23, 2018, 09:37:33 PM
650D.104 - kit lens - 18/55mm EFS
magiclantern-lua_fix.2018Mar31.650D104
fresh card install - camera reset

edited api_test.lua as per dforts recommendation of commenting out most of the tests.


===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-23 21:17:38
===============================================================================

Module tests...

Testing lens focus functionality...
Please enable autofocus.
(or, remove the lens from the camera to skip this test)
Autofocus outside LiveView...
Focus distance: 655350
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: 410
Focusing backward...
Focus distance: 655350
Focus motor position: 0
Focusing forward with step size 3, wait=true...
.............
Focus distance: 655350
Focus motor position: 0
Focusing backward with step size 3, wait=true...
..
Focus distance: 655350
Focus motor position: 0
Focus range: 13 steps forward, 2 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 3, wait=false...
...................................
Focus distance: 250
Focus motor position: 0
Focusing backward with step size 3, wait=false...
.......................................................
Focus distance: 410
Focus motor position: 0
Focus range: 35 steps forward, 55 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 2, wait=true...
...................................
Focus distance: 410
Focus motor position: 0
Focusing backward with step size 2, wait=true...
.............
Focus distance: 410
Focus motor position: 0
Focus range: 35 steps forward, 13 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 410
Focus motor position: 0
Focusing backward with step size 2, wait=false...
...
Focus distance: 410
Focus motor position: 0
Focus range: 280 steps forward, 146 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 410
Focus motor position: 0
Focusing backward with step size 1, wait=true...
...
Focus distance: 410
Focus motor position: 0
Focus range: 240 steps forward, 336 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 1, wait=false...
...
Focus distance: 410
Focus motor position: 0
Focusing backward with step size 1, wait=false...
...
Focus distance: 410
Focus motor position: 0
Focus range: 651 steps forward, 691 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.

Focus test completed.

Done!
#28
perhaps you switched the phone off or (I can't be certain) perhaps you went back to photo mode - I think at present the patch is not persistent - no doubt this will change in time.
#30
@Danne - thanks!

the sd_uhs build that you posted seems to work on the 650D - I managed two passes of 3100 frames each lossless 14bit 1920x1076 - the best I've managed yet! (both old glass and 50/1.8) - so that continuous ever so nearly FULL HD 14bit raw from a 2013 camera...
#31
@ _DK_ - things are gradually developing - afaik presently there are no 650D builds that support these fast card speeds but I'm sure something stable will come eventually..
#32
Camera-specific Development / Re: Canon 650D / T4i
April 19, 2018, 03:33:14 PM
Not sure why my experience is different from others.

650D.105 - lua_fix.2018Apr16.650D105 - battery out / card out / battery in / card in / canon reset menu:

With old zoom lens - no electronics - first run - malloc1 13d9c0
                    second run - malloc2 13d990

then third run

650D.104 - magiclantern-lua_fix.2018Mar31.650D104 -  battery out / card out / battery in / card in / canon reset menu:

With old zoom lens - no electronics - malloc3 13d9c0

At no point have I been able to run the movie tests - with 105 kit 18/55; 50/18mm EFS; old glass or 104: old glass.


run 1:


===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-18 20:08:23
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "api_test.lua"
camera = table:
  shutter = table:
    raw = 0
    apex = -7.
    ms = 0
    value = 0
  aperture = table:
    raw = 0
    apex = 0
    value = 0
    min = table:
      raw = 0
      apex = 0
      value = 0
    max = table:
      raw = 0
      apex = 0
      value = 0
  iso = table:
    raw = 0
    apex = 0
    value = 0
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 2
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.5"
  temperature = 153
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  burst = function: p
  bulb = function: p
  wait = function: p
  reboot = function: p
  shoot = 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
  clear = function: p
  hide = function: p
  show = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  resume = function: p
  stop = function: p
  pause = function: p
  info = function: p
  start = function: p
  wait = function: p
lens = table:
  name = ""
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = false
  af_mode = 3
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  circle = function: p
  on = function: p
  notify_box = function: p
  line = function: p
  draw = function: p
  off = function: p
  print = function: p
  clear = function: p
  pixel = function: p
  screenshot = function: p
  load = function: p
  rect = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  get = function: p
  select = function: p
  close = function: p
  block = function: p
  set = function: p
  new = function: p
  open = function: p
movie = table:
  recording = false
  start = function: p
  stop = function: p
dryos = table:
  clock = 19
  ms_clock = 19539
  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 = 4893
    folder_number = 100
    free_space = 31106560
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 4893
    folder_number = 100
    free_space = 31106560
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    min = 8
    year = 2018
    sec = 24
    yday = 108
    wday = 4
    isdst = false
    month = 4
    hour = 20
    day = 18
  call = function: p
  remove = function: p
  directory = 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...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Stop LiveView...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Canon GUI tests completed.

Testing ML menu API...
Menu tests completed.

Testing picture taking functions...
Please switch to M mode.
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_4894.CR2 not found.
B:/DCIM/100CANON/IMG_4894.JPG: 2053258
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_4895.CR2 not found.
B:/DCIM/100CANON/ABC_4895.JPG: 2046680
B:/DCIM/100CANON/ABC_4896.CR2 not found.
B:/DCIM/100CANON/ABC_4896.JPG: 2045892
Bracketed pictures...
B:/DCIM/100CANON/IMG_4897.CR2 not found.
B:/DCIM/100CANON/IMG_4897.JPG: 2069086
B:/DCIM/100CANON/IMG_4898.CR2 not found.
B:/DCIM/100CANON/IMG_4898.JPG: 2057219
B:/DCIM/100CANON/IMG_4899.CR2 not found.
B:/DCIM/100CANON/IMG_4899.JPG: 2059938
Bulb picture...
Elapsed time: 11855
B:/DCIM/100CANON/IMG_4900.CR2 not found.
B:/DCIM/100CANON/IMG_4900.JPG: 2162965
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.

===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-18 23:34:40
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "api_test.lua"
camera = table:
  shutter = table:
    raw = 112
    apex = 7.
    ms = 8
    value = 0.007812
  aperture = table:
    raw = 48
    apex = 5.
    value = 5.6
    min = table:
      raw = 0
      apex = 0
      value = 0
    max = table:
      raw = 0
      apex = 0
      value = 0
  iso = table:
    raw = 0
    apex = 0
    value = 0
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.5"
  temperature = 149
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  wait = function: p
  bulb = function: p
  burst = function: p
  reboot = function: p
  shoot = 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
  clear = function: p
  hide = function: p
  show = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  info = function: p
  resume = function: p
  wait = function: p
  stop = function: p
  pause = function: p
  start = function: p
lens = table:
  name = ""
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = false
  af_mode = 3
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  notify_box = function: p
  off = function: p
  rect = function: p
  pixel = function: p
  screenshot = function: p
  load = function: p
  clear = function: p
  line = function: p
  circle = function: p
  draw = function: p
  print = function: p
  on = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  set = function: p
  block = function: p
  new = function: p
  get = function: p
  close = function: p
  open = function: p
  select = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 47
  ms_clock = 47833
  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 = 4900
    folder_number = 100
    free_space = 31092192
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 4900
    folder_number = 100
    free_space = 31092192
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    day = 18
    wday = 4
    yday = 108
    month = 4
    sec = 42
    min = 34
    year = 2018
    isdst = false
    hour = 23
  rename = function: p
  call = function: p
  remove = function: p
  directory = 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 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...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Start LiveView...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Stop LiveView...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU 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_4901.CR2 not found.
B:/DCIM/100CANON/IMG_4901.JPG: 2072086
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_4902.CR2 not found.
B:/DCIM/100CANON/ABC_4902.JPG: 2093835
B:/DCIM/100CANON/ABC_4903.CR2 not found.
B:/DCIM/100CANON/ABC_4903.JPG: 2110052
Bracketed pictures...
B:/DCIM/100CANON/IMG_4904.CR2 not found.
B:/DCIM/100CANON/IMG_4904.JPG: 2077956
B:/DCIM/100CANON/IMG_4905.CR2 not found.
B:/DCIM/100CANON/IMG_4905.JPG: 2076692
B:/DCIM/100CANON/IMG_4906.CR2 not found.
B:/DCIM/100CANON/IMG_4906.JPG: 2089538
Bulb picture...
Elapsed time: 11765
B:/DCIM/100CANON/IMG_4907.CR2 not found.
B:/DCIM/100CANON/IMG_4907.JPG: 2161874
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: 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: 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...
This test requires an electronic lens.
Testing exposure settings...
Camera    : Canon EOS 650D (650D) 1.0.5
Lens      :
Shoot mode: 3
Shutter   : ‚5 (raw 75, 0.192776s, 193ms, apex 2.375)
Aperture  : 5.6 (raw 48, f/5.6, apex 5.)
Av range  : 0.0..0.0 (raw 0..0, f/0..f/0, apex 0..0)
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...


run 2:


===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-18 23:44:53
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "api_test.lua"
camera = table:
  shutter = table:
    raw = 112
    apex = 7.
    ms = 8
    value = 0.007812
  aperture = table:
    raw = 0
    apex = 0
    value = 0
    min = table:
      raw = 0
      apex = 0
      value = 0
    max = table:
      raw = 0
      apex = 0
      value = 0
  iso = table:
    raw = 0
    apex = 0
    value = 0
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.5"
  temperature = 155
  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:
  clear = function: p
  hide = function: p
  write = function: p
  show = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  wait = function: p
  start = function: p
  pause = function: p
  resume = function: p
  stop = function: p
  info = function: p
lens = table:
  name = ""
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = false
  af_mode = 3
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  off = function: p
  notify_box = function: p
  rect = function: p
  load = function: p
  clear = function: p
  print = function: p
  screenshot = function: p
  circle = function: p
  on = function: p
  line = function: p
  draw = function: p
  pixel = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  new = function: p
  open = function: p
  set = function: p
  block = function: p
  select = function: p
  close = function: p
  get = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 17
  ms_clock = 17225
  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 = 4907
    folder_number = 100
    free_space = 31105248
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 4907
    folder_number = 100
    free_space = 31105248
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    month = 4
    yday = 108
    wday = 4
    day = 18
    min = 44
    isdst = false
    hour = 23
    year = 2018
    sec = 54
  directory = function: p
  rename = function: p
  call = function: p
  remove = 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...
Start LiveView...
Pause LiveView...
Enter PLAY mode...
Enter PLAY 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 PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY 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 PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Start LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU 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_4908.CR2 not found.
B:/DCIM/100CANON/IMG_4908.JPG: 2063782
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_4909.CR2 not found.
B:/DCIM/100CANON/ABC_4909.JPG: 2071183
B:/DCIM/100CANON/ABC_4910.CR2 not found.
B:/DCIM/100CANON/ABC_4910.JPG: 2073104
Bracketed pictures...
B:/DCIM/100CANON/IMG_4911.CR2 not found.
B:/DCIM/100CANON/IMG_4911.JPG: 2054915
B:/DCIM/100CANON/IMG_4912.CR2 not found.
B:/DCIM/100CANON/IMG_4912.JPG: 2059847
B:/DCIM/100CANON/IMG_4913.CR2 not found.
B:/DCIM/100CANON/IMG_4913.JPG: 2054703
Bulb picture...
Elapsed time: 11835
B:/DCIM/100CANON/IMG_4914.CR2 not found.
B:/DCIM/100CANON/IMG_4914.JPG: 2212739
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: ML
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Overlays: Canon
Overlays: disabled
Overlays: ML
Overlays: disabled
Overlays: Canon
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...
This test requires an electronic lens.
Testing exposure settings...
Camera    : Canon EOS 650D (650D) 1.0.5
Lens      :
Shoot mode: 3
Shutter   : ‚5 (raw 75, 0.192776s, 193ms, apex 2.375)
Aperture  : 0.0 (raw 0, f/0, apex 0)
Av range  : 0.0..0.0 (raw 0..0, f/0..f/0, apex 0..0)
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...


run 3:


===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-19 00:04:13
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "api_test.lua"
camera = table:
  shutter = table:
    raw = 112
    apex = 7.
    ms = 8
    value = 0.007812
  aperture = table:
    raw = 0
    apex = 0
    value = 0
    min = table:
      raw = 0
      apex = 0
      value = 0
    max = table:
      raw = 0
      apex = 0
      value = 0
  iso = table:
    raw = 0
    apex = 0
    value = 0
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.4"
  temperature = 158
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  wait = function: p
  reboot = function: p
  burst = function: p
  bulb = function: p
  shoot = 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:
  hide = function: p
  show = function: p
  clear = function: p
  write = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  pause = function: p
  stop = function: p
  start = function: p
  info = function: p
  wait = function: p
  resume = function: p
lens = table:
  name = ""
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = false
  af_mode = 3
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  notify_box = function: p
  circle = function: p
  line = function: p
  rect = function: p
  print = function: p
  pixel = function: p
  draw = function: p
  load = function: p
  clear = function: p
  off = function: p
  on = function: p
  screenshot = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  open = function: p
  new = function: p
  close = function: p
  block = function: p
  get = function: p
  set = function: p
  select = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 14
  ms_clock = 14471
  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 = 4914
    folder_number = 100
    free_space = 31105152
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 4914
    folder_number = 100
    free_space = 31105152
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    min = 4
    yday = 109
    month = 4
    isdst = false
    hour = 0
    year = 2018
    day = 19
    sec = 15
    wday = 5
  rename = function: p
  call = function: p
  remove = function: p
  directory = 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 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...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Stop LiveView...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Exit 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_4915.CR2 not found.
B:/DCIM/100CANON/IMG_4915.JPG: 2098247
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_4916.CR2 not found.
B:/DCIM/100CANON/ABC_4916.JPG: 2075091
B:/DCIM/100CANON/ABC_4917.CR2 not found.
B:/DCIM/100CANON/ABC_4917.JPG: 2075600
Bracketed pictures...
B:/DCIM/100CANON/IMG_4918.CR2 not found.
B:/DCIM/100CANON/IMG_4918.JPG: 2056299
B:/DCIM/100CANON/IMG_4919.CR2 not found.
B:/DCIM/100CANON/IMG_4919.JPG: 2099576
B:/DCIM/100CANON/IMG_4920.CR2 not found.
B:/DCIM/100CANON/IMG_4920.JPG: 2082700
Bulb picture...
Elapsed time: 11766
B:/DCIM/100CANON/IMG_4921.CR2 not found.
B:/DCIM/100CANON/IMG_4921.JPG: 2176619
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: 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: 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...
This test requires an electronic lens.
Testing exposure settings...
Camera    : Canon EOS 650D (650D) 1.0.4
Lens      :
Shoot mode: 3
Shutter   : ‚5 (raw 75, 0.192776s, 193ms, apex 2.375)
Aperture  : 0.0 (raw 0, f/0, apex 0)
Av range  : 0.0..0.0 (raw 0..0, f/0..f/0, apex 0..0)
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...
#33
Camera-specific Development / Re: Canon 650D / T4i
April 18, 2018, 06:38:22 PM
Retried with a 50/1.8mm EF lens

Same result - though this time the camera isn't in a frozen loop at the end.

Perhaps the next test could jump straight to the movie section as it takes ages to get to movie mode.


===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-18 17:19:51
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "api_test.lua"
camera = table:
  shutter = table:
    raw = 0
    apex = -7.
    ms = 0
    value = 0
  aperture = table:
    raw = 37
    apex = 3.625
    value = 3.5
    min = table:
      raw = 22
      apex = 1.75
      value = 1.8
    max = table:
      raw = 80
      apex = 9.
      value = 22.6
  iso = table:
    raw = 104
    apex = 9.
    value = 1600
  ec = table:
    raw = 8
    value = 1.
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 2
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.5"
  temperature = 153
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  reboot = function: p
  burst = function: p
  shoot = function: p
  bulb = function: p
  wait = 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:
  hide = function: p
  show = function: p
  clear = function: p
  write = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  info = function: p
  wait = function: p
  stop = function: p
  start = function: p
  resume = function: p
  pause = function: p
lens = table:
  name = "EF50mm f/1.8 II"
  focal_length = 50
  focus_distance = 0
  hyperfocal = 37693
  dof_near = -667390699
  dof_far = 1000000
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  screenshot = function: p
  clear = function: p
  pixel = function: p
  on = function: p
  line = function: p
  notify_box = function: p
  circle = function: p
  draw = function: p
  print = function: p
  load = function: p
  rect = function: p
  off = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  get = function: p
  select = function: p
  block = function: p
  set = function: p
  close = function: p
  open = function: p
  new = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 24
  ms_clock = 24924
  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 = 4885
    folder_number = 100
    free_space = 31107264
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 4885
    folder_number = 100
    free_space = 31107264
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    year = 2018
    hour = 17
    isdst = false
    month = 4
    yday = 108
    min = 19
    sec = 52
    day = 18
    wday = 4
  rename = function: p
  remove = 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...
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...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Pause LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Enter MENU mode...
Exit MENU mode...
Canon GUI tests completed.

Testing ML menu API...
Menu tests completed.

Testing picture taking functions...
Please switch to M mode.
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_4886.CR2 not found.
B:/DCIM/100CANON/IMG_4886.JPG: 5597364
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_4887.CR2 not found.
B:/DCIM/100CANON/ABC_4887.JPG: 4960855
B:/DCIM/100CANON/ABC_4888.CR2 not found.
B:/DCIM/100CANON/ABC_4888.JPG: 4980309
Bracketed pictures...
B:/DCIM/100CANON/IMG_4889.CR2 not found.
B:/DCIM/100CANON/IMG_4889.JPG: 2851113
B:/DCIM/100CANON/IMG_4890.CR2 not found.
B:/DCIM/100CANON/IMG_4890.JPG: 5024390
B:/DCIM/100CANON/IMG_4891.CR2 not found.
B:/DCIM/100CANON/IMG_4891.JPG: 5933476
Bulb picture...
Elapsed time: 11866
B:/DCIM/100CANON/IMG_4892.CR2 not found.
B:/DCIM/100CANON/IMG_4892.JPG: 365721
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: 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: 0
Autofocus in LiveView...
Please trigger autofocus (half-shutter / AF-ON / * ).
19...18...17...16...Autofocus triggered.
Autofocus completed.
Focus distance: 0
Focusing backward...
Focus distance: 0
Focus motor position: 0
Focusing forward with step size 3, wait=true...
.................
Focus distance: 0
Focus motor position: 0
Focusing backward with step size 3, wait=true...
.................
Focus distance: 0
Focus motor position: 0
Focus range: 17 steps forward, 17 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 3, wait=false...
...........................
Focus distance: 0
Focus motor position: 0
Focusing backward with step size 3, wait=false...
.....................
Focus distance: 0
Focus motor position: 0
Focus range: 27 steps forward, 21 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 2, wait=true...
...
Focus distance: 0
Focus motor position: 0
Focusing backward with step size 2, wait=true...
..............................
Focus distance: 0
Focus motor position: 0
Focus range: 7145 steps forward, 30 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 0
Focus motor position: 0
Focusing backward with step size 2, wait=false...
...
Focus distance: 0
Focus motor position: 0
Focus range: 10304 steps forward, 246 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 0
Focus motor position: 0
Focusing backward with step size 1, wait=true...
...
Focus distance: 0
Focus motor position: 0
Focus range: 469 steps forward, 505 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 1, wait=false...
...
Focus distance: 0
Focus motor position: 0
Focusing backward with step size 1, wait=false...
...
Focus distance: 0
Focus motor position: 0
Focus range: 321 steps forward, 2502 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.

Focus test completed.

Testing exposure settings...
Camera    : Canon EOS 650D (650D) 1.0.5
Lens      : EF50mm f/1.8 II
Shoot mode: 3
Shutter   : ‚5 (raw 75, 0.192776s, 193ms, apex 2.375)
Aperture  : 4.5 (raw 43, f/4.5, apex 4.375)
Av range  : 1.8..22 (raw 22..80, f/1.8..f/22.6, apex 1.75..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.


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



#34
Camera-specific Development / Re: Canon 650D / T4i
April 18, 2018, 05:22:46 PM
@dfort - It is asking you to switch the camera to movie mode -- did you do that?

Yes



#35
Camera-specific Development / Re: Canon 650D / T4i
April 18, 2018, 04:14:35 PM
ran the default lua script in - dforts lua_fix.2018Apr16.650D105 with the kit 18-55 lens again - this time paying closer attention to its requests.

Get to the movie mode and then the camera seems to get stuck in a loop. wouldnt turn off so had to do a battery removal.

Here is how the screen looked at the end.

http://





===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-18 15:35:46
===============================================================================

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 = 43
    apex = 4.375
    value = 4.5
    min = table:
      raw = 42
      apex = 4.25
      value = 4.3
    max = table:
      raw = 85
      apex = 9.625
      value = 28.1
  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 = 0
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.5"
  temperature = 152
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  reboot = function: p
  bulb = function: p
  burst = function: p
  wait = function: p
  shoot = 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
  clear = function: p
  show = function: p
  hide = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  start = function: p
  info = function: p
  resume = function: p
  stop = function: p
  wait = function: p
  pause = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS II"
  focal_length = 32
  focus_distance = 760
  hyperfocal = 12040
  dof_near = 721
  dof_far = 802
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  clear = function: p
  print = function: p
  pixel = function: p
  line = function: p
  draw = function: p
  notify_box = function: p
  load = function: p
  on = function: p
  rect = function: p
  off = function: p
  circle = function: p
  screenshot = function: p
key = table:
  last = 8
  wait = function: p
  press = function: p
menu = table:
  visible = false
  select = function: p
  new = function: p
  set = function: p
  open = function: p
  close = function: p
  block = function: p
  get = function: p
movie = table:
  recording = false
  start = function: p
  stop = function: p
dryos = table:
  clock = 43
  ms_clock = 43491
  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 = 4878
    folder_number = 100
    free_space = 31104544
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 4878
    folder_number = 100
    free_space = 31104544
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    wday = 4
    year = 2018
    month = 4
    day = 18
    isdst = false
    hour = 15
    sec = 47
    min = 35
    yday = 108
  rename = function: p
  call = function: p
  remove = function: p
  directory = 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:
  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...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Pause LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Stop LiveView...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
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_4879.CR2 not found.
B:/DCIM/100CANON/IMG_4879.JPG: 5730938
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_4880.CR2 not found.
B:/DCIM/100CANON/ABC_4880.JPG: 4522822
B:/DCIM/100CANON/ABC_4881.CR2 not found.
B:/DCIM/100CANON/ABC_4881.JPG: 4619671
Bracketed pictures...
B:/DCIM/100CANON/IMG_4882.CR2 not found.
B:/DCIM/100CANON/IMG_4882.JPG: 3018846
B:/DCIM/100CANON/IMG_4883.CR2 not found.
B:/DCIM/100CANON/IMG_4883.JPG: 6124164
B:/DCIM/100CANON/IMG_4884.CR2 not found.
B:/DCIM/100CANON/IMG_4884.JPG: 3983791
Bulb picture...
Elapsed time: 12269
B:/DCIM/100CANON/IMG_4885.CR2 not found.
B:/DCIM/100CANON/IMG_4885.JPG: 365721
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: 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: 280
Autofocus in LiveView...
Please trigger autofocus (half-shutter / AF-ON / * ).
19...18...17...16...15...14...13...12...11...10...9...8...Autofocus triggered.
Autofocus completed.
Focus distance: 280
Focusing backward...
Focus distance: 300
Focus motor position: 0
Focusing forward with step size 3, wait=true...
......
Focus distance: 250
Focus motor position: 0
Focusing backward with step size 3, wait=true...
..............
Focus distance: 655350
Focus motor position: 0
Focus range: 6 steps forward, 14 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 3, wait=false...
.............................................................................
Focus distance: 330
Focus motor position: 0
Focusing backward with step size 3, wait=false...
..................................
Focus distance: 330
Focus motor position: 0
Focus range: 77 steps forward, 34 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 2, wait=true...
........................................................................................
Focus distance: 330
Focus motor position: 0
Focusing backward with step size 2, wait=true...
......................................................................................
Focus distance: 330
Focus motor position: 0
Focus range: 88 steps forward, 86 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 330
Focus motor position: 0
Focusing backward with step size 2, wait=false...
...
Focus distance: 330
Focus motor position: 0
Focus range: 173 steps forward, 175 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 330
Focus motor position: 0
Focusing backward with step size 1, wait=true...
...
Focus distance: 330
Focus motor position: 0
Focus range: 522 steps forward, 466 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 1, wait=false...
...
Focus distance: 330
Focus motor position: 0
Focusing backward with step size 1, wait=false...
...
Focus distance: 330
Focus motor position: 0
Focus range: 485 steps forward, 986 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.

Focus test completed.

Testing exposure settings...
Camera    : Canon EOS 650D (650D) 1.0.5
Lens      : EF-S18-55mm f/3.5-5.6 IS II
Shoot mode: 3
Shutter   : ‚5 (raw 75, 0.192776s, 193ms, apex 2.375)
Aperture  : 4.5 (raw 43, f/4.5, apex 4.375)
Av range  : 4.3..28 (raw 42..85, f/4.3..f/28.1, apex 4.25..9.625)
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.


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

#36
Camera-specific Development / Re: Canon 650D / T4i
April 18, 2018, 03:39:37 PM
just tried running the default lua script in - dforts lua_fix.2018Apr16.650D105

with the kit 18-55 lens

All seems fine.

Log attached here... seemed to run okay

Let me know what else I can do.


===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-17 01:30:24
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "api_test.lua"
camera = table:
  shutter = table:
    raw = 104
    apex = 6.
    ms = 16
    value = 0.015625
  aperture = table:
    raw = 43
    apex = 4.375
    value = 4.5
    min = table:
      raw = 42
      apex = 4.25
      value = 4.3
    max = table:
      raw = 85
      apex = 9.625
      value = 28.1
  iso = table:
    raw = 120
    apex = 11.000001
    value = 6400
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.5"
  temperature = 157
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  reboot = function: p
  burst = function: p
  shoot = function: p
  bulb = function: p
  wait = 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:
  hide = function: p
  show = function: p
  clear = function: p
  write = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  info = function: p
  wait = function: p
  stop = function: p
  start = function: p
  resume = function: p
  pause = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS II"
  focal_length = 30
  focus_distance = 280
  hyperfocal = 10586
  dof_near = 275
  dof_far = 284
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  screenshot = function: p
  clear = function: p
  pixel = function: p
  on = function: p
  line = function: p
  notify_box = function: p
  circle = function: p
  draw = function: p
  print = function: p
  load = function: p
  rect = function: p
  off = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  get = function: p
  select = function: p
  block = function: p
  set = function: p
  close = function: p
  open = function: p
  new = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 31
  ms_clock = 31129
  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 = 4864
    folder_number = 100
    free_space = 31104480
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 4864
    folder_number = 100
    free_space = 31104480
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    year = 2018
    hour = 1
    isdst = false
    month = 4
    yday = 107
    min = 30
    sec = 25
    day = 17
    wday = 3
  rename = function: p
  remove = 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...
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...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU 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...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Canon GUI tests completed.

Testing ML menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_4865.CR2 not found.
B:/DCIM/100CANON/IMG_4865.JPG: 12398540
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_4866.CR2 not found.
B:/DCIM/100CANON/ABC_4866.JPG: 4556953
B:/DCIM/100CANON/ABC_4867.CR2 not found.
B:/DCIM/100CANON/ABC_4867.JPG: 6395459
Bracketed pictures...
B:/DCIM/100CANON/IMG_4868.CR2 not found.
B:/DCIM/100CANON/IMG_4868.JPG: 3399721
B:/DCIM/100CANON/IMG_4869.CR2 not found.
B:/DCIM/100CANON/IMG_4869.JPG: 4030088
B:/DCIM/100CANON/IMG_4870.CR2 not found.
B:/DCIM/100CANON/IMG_4870.JPG: 5797509
Bulb picture...
Elapsed time: 12216
B:/DCIM/100CANON/IMG_4871.CR2 not found.
B:/DCIM/100CANON/IMG_4871.JPG: 365721
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: 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: 270
Autofocus in LiveView...
Please trigger autofocus (half-shutter / AF-ON / * ).
19...18...17...16...15...14...13...12...11...10...9...Autofocus triggered.
Autofocus completed.
Focus distance: 480
Focusing backward...
Focus distance: 370
Focus motor position: 0
Focusing forward with step size 3, wait=true...
......
Focus distance: 270
Focus motor position: 0
Focusing backward with step size 3, wait=true...
............
Focus distance: 655350
Focus motor position: 0
Focus range: 6 steps forward, 12 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 3, wait=false...
.............................................
Focus distance: 250
Focus motor position: 0
Focusing backward with step size 3, wait=false...
.....................................
Focus distance: 655350
Focus motor position: 0
Focus range: 45 steps forward, 37 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 2, wait=true...
..............................................................................
Focus distance: 250
Focus motor position: 0
Focusing backward with step size 2, wait=true...
..........................................................................................
Focus distance: 655350
Focus motor position: 0
Focus range: 78 steps forward, 90 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 1820
Focus motor position: 0
Focusing backward with step size 2, wait=false...
...
Focus distance: 1820
Focus motor position: 0
Focus range: 181 steps forward, 266 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 1820
Focus motor position: 0
Focusing backward with step size 1, wait=true...
...
Focus distance: 1820
Focus motor position: 0
Focus range: 374 steps forward, 423 steps backward.
Motor steps: 0 forward, 0 backward, 0 lost.
Focusing forward with step size 1, wait=false...
...
===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-18 15:18:49
===============================================================================

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 = 43
    apex = 4.375
    value = 4.5
    min = table:
      raw = 42
      apex = 4.25
      value = 4.3
    max = table:
      raw = 85
      apex = 9.625
      value = 28.1
  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 = 0
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.5"
  temperature = 149
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  burst = function: p
  bulb = function: p
  reboot = function: p
  wait = function: p
  shoot = 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
  hide = function: p
  clear = function: p
  show = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  info = function: p
  pause = function: p
  wait = function: p
  stop = function: p
  start = function: p
  resume = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS II"
  focal_length = 30
  focus_distance = 280
  hyperfocal = 10586
  dof_near = 275
  dof_far = 284
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  notify_box = function: p
  circle = function: p
  on = function: p
  load = function: p
  print = function: p
  line = function: p
  off = function: p
  clear = function: p
  pixel = function: p
  rect = function: p
  draw = function: p
  screenshot = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  get = function: p
  new = function: p
  close = function: p
  block = function: p
  set = function: p
  select = function: p
  open = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 167
  ms_clock = 167604
  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 = 4871
    folder_number = 100
    free_space = 31068192
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 4871
    folder_number = 100
    free_space = 31068192
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    isdst = false
    day = 18
    yday = 108
    month = 4
    sec = 50
    wday = 4
    min = 18
    hour = 15
    year = 2018
  rename = function: p
  call = function: p
  remove = function: p
  directory = 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 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...
Start LiveView...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Stop LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Start LiveView...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU 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_4872.CR2 not found.
B:/DCIM/100CANON/IMG_4872.JPG: 5840802
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_4873.CR2 not found.
B:/DCIM/100CANON/ABC_4873.JPG: 5716103
B:/DCIM/100CANON/ABC_4874.CR2 not found.
B:/DCIM/100CANON/ABC_4874.JPG: 5761638
Bracketed pictures...
B:/DCIM/100CANON/IMG_4875.CR2 not found.
B:/DCIM/100CANON/IMG_4875.JPG: 5604238
B:/DCIM/100CANON/IMG_4876.CR2 not found.
B:/DCIM/100CANON/IMG_4876.JPG: 5750003
B:/DCIM/100CANON/IMG_4877.CR2 not found.
B:/DCIM/100CANON/IMG_4877.JPG: 1338543
Bulb picture...
Elapsed time: 12257
B:/DCIM/100CANON/IMG_4878.CR2 not found.
B:/DCIM/100CANON/IMG_4878.JPG: 365721
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: 480
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...2...1...0...


#37
Camera-specific Development / Re: Canon 650D / T4i
April 17, 2018, 01:37:06 AM
Slightly behind Walter here - running - lua_fix.2018Apr16.650D105

running selftest module: "Stubs API test."

I get the following - Test complete, 11781 passed, 1 failed.
second time - Test complete, 11780 passed, 2 failed.
third time - Test complete, 11781 passed, 1 failed.
Not sure why the number of failings changes - perhaps I'm too slow to switch to movie mode...
this is the log from the first run:

[Pass] is_play_mode() => 0x1
[INFO] Camera model: Canon EOS 650D 1.0.5 (0x80000301 650D)
[Pass] is_camera("DIGIC", "*") => 0x1
[Pass] is_camera(__camera_model_short, firmware_version) => 0x1
[Pass] src = fio_malloc(size) => 0x4a104084
[Pass] dst = fio_malloc(size) => 0x4a908090
[Pass] memcmp(dst, src, 4097) => 0xffffffd7
[Pass] edmac_memcpy(dst, src, 4097) => 0x4a908090
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x4a908090
[Pass] memcmp(dst, src, size) => 0xffffff99
[Pass] edmac_memcpy(dst, src, size) => 0x4a908090
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0xffffff52
[Pass] edmac_memcpy_start(dst, src, size) => 0x4a908090
       dt => 0x276f
[Pass] copied => 0x407810
[Pass] copied => 0x407810
[Pass] copied => 0x407810
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0xffffffc3
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0x79e03c
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x95f
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xfa
[Pass] tries[1] => 0x105
[Pass] tries[2] => 0xfb
[Pass] tries[3] => 0xee
[Pass] failr[0] => 0x80
[Pass] failw[0] => 0xe3
[Pass] failr[1] => 0x6e
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xe5
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x16
       times[1] / tries[1] => 0x17
       times[2] / tries[2] => 0x19
       times[3] / tries[3] => 0x1a
Cache tests finished.

[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x407f5e34
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x4a104084
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] is_file("test.dat") => 0x1
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] is_file("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x8330
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x5
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x83a0
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x1e0aa
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x11e
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0xfb
[Pass] ABS((get_us_clock() - t0) - 110000) => 0x216
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x1e0ac
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 300000) => 0x2a1
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x286
[Pass] ABS((get_us_clock() - t0) - 310000) => 0xb2
       t0 = GET_DIGIC_TIMER() => 0x4b417
       msleep(250)
       t1 = GET_DIGIC_TIMER() => 0x86b44
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x7
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x2b
       Date/time: 2018/04/17 01:03:43
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x2d
[Pass] MOD(s1-s0, 60) => 0x2
[Pass] MOD(s1-s0, 60) => 0x2
       m0 = MALLOC_FREE_MEMORY => 0x26650
[Pass] p = (void*)_malloc(50*1024) => 0x1191f0
[Pass] CACHEABLE(p) => 0x1191f0
       m1 = MALLOC_FREE_MEMORY => 0x19e40
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x26650
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x37b5e8
[Pass] p = (void*)_AllocateMemory(128*1024) => 0x7f5df4
[Pass] CACHEABLE(p) => 0x7f5df4
       m1 = GetFreeMemForAllocateMemory() => 0x35b5dc
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x37b5e8
[Pass] ABS((m0-m1) - 128*1024) => 0xc
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x26650
       m02 = GetFreeMemForAllocateMemory() => 0x37b5e8
[Pass] p = (void*)_alloc_dma_memory(128*1024) => 0x407f5e34
[Pass] UNCACHEABLE(p) => 0x407f5e34
[Pass] CACHEABLE(p) => 0x7f5e34
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x407f5e34
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(16*1024*1024) => 0x4a104074
[Pass] UNCACHEABLE(p) => 0x4a104074
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x26650
       m12 = GetFreeMemForAllocateMemory() => 0x37b5e8
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(16*1024*1024) => 0x119148
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x1191f0
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a104070
[Pass] UNCACHEABLE(p) => 0x4a104070
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0x119148
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1f24000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x1191f0
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1f24000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x44000064
[Pass] UNCACHEABLE(p) => 0x44000064
       largest_shoot_block = suite->size => 0x1f24000
[INFO] largest_shoot_block: 31MB
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(largest_shoot_block + 1024*1024) => 0x119148
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x3
[Pass] suite->size => 0x2024000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x1191f0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x18b8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a104070
[Pass] UNCACHEABLE(p) => 0x4a104070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119228
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1cb8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x419ff0a4
[Pass] UNCACHEABLE(p) => 0x419ff0a4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119260
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2024000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42200064
[Pass] UNCACHEABLE(p) => 0x42200064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x2024000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0x119148
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x6
[Pass] suite->size => 0x5b00000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x1191f0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x18b8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a104070
[Pass] UNCACHEABLE(p) => 0x4a104070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119228
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1cb8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x419ff0a4
[Pass] UNCACHEABLE(p) => 0x419ff0a4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119260
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3ab4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42200064
[Pass] UNCACHEABLE(p) => 0x42200064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119298
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3b8c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x45f240e4
[Pass] UNCACHEABLE(p) => 0x45f240e4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x1192d0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x5ab0000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x44000064
[Pass] UNCACHEABLE(p) => 0x44000064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119308
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x5b00000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x49f240e4
[Pass] UNCACHEABLE(p) => 0x49f240e4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x5b00000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x1b4094
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x1b4060
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x1b4040
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0xbe9e00b0
[Pass] test_task_created => 0x1
[Pass] get_current_task_name() => 'run_test'
[Pass] get_task_name_from_id(current_task->taskId) => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0xbea000b2
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0xbea20246
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0xbea40098
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[Pass] dialog->type => 'DIALOG'
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       SW1(1,100)
[Pass] HALFSHUTTER_PRESSED => 0x1
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x1
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[FAIL] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
=========================================================
Test complete, 11781 passed, 1 failed.
.
#38
Camera-specific Development / Re: Canon 650D / T4i
April 16, 2018, 03:22:31 AM
Hmm - tried - new-dryos-task-hooks_no-commit_4cf70155104c.2018Apr15.650D105

back to the AF problems again.

crashes with mlv_lite and mlv_rec when AF on
works fine if AF off.

Tried with an EF 50mm and the problems still appear with AF on.

mlv's look fine though.

crash logs and core dump here...https://we.tl/9hWQ2PNwEf


[100] raw_rec_task: NULL PTR (80c3e100,e1a00000)
pc=    ce28 lr=    ce28 stack=1ac1d8+0x1000
entry=a67578(0)
e1a00000 e59ff014 e59ff014 e59f001d
e59ff014 e1a00000 e59ff010 e59ff010
[100] raw_rec_task: NULL PTR (80c3e100,e1a00000)
pc=    ce28 lr=    ce28 s
Magic Lantern version : Nightly.2018Apr15.650D105
Mercurial changeset   : afa08020138b+ (new-dryos-task-hooks_650D.105) tip
Built on 2018-04-16 00:58:46 UTC by rosiefort@RosieFoComputer.
Free Memory  : 127K + 3591K

#39
Camera-specific Development / Re: Canon 650D / T4i
April 16, 2018, 02:54:39 AM
Okay - just retested with dforts new-dryos-task-hooks.2018Apr15.650D105

It now seems fine - I've tried mlv_lite and mlv_raw (only) and the AF slider on the lens on / off and it works fine now - no crashes -
Repeated the test a couple of times.



#40
Camera-specific Development / Re: Canon 650D / T4i
April 16, 2018, 02:42:14 AM
Retested using dforts 650.105 firmware
clean install of dforts magiclantern-Nightly.2018Apr14.650D105
As before empty SDcard
set mlv_lite only
set fps 24 fps

What I've noticed is that if I turn off the auto focus on the lens - its the kit lens -  EFS 18-55mm, the camera works fine - no crashing.
If I turn on the AF on the side of the lens then I get crashes when recording.

I've turned the AF-on off and retested a few times - its seems repeatable. Without the AF on the build works okay on the 650.105.

This wasn't a problem with 650.104.

crash log here. https://we.tl/ppp6sfeK2l

[86] raw_rec_task: NULL PTR (e0703800,e1a00000)
pc=    c288 lr=    c288 stack=1abdd0+0x1000
entry=a53f94(0)
e1a00000 e59ff014 e59ff014 e59f0034
e59ff014 e1a00000 e59ff010 e59ff010
[86] raw_rec_task: NULL PTR (e0703800,e1a00000)
pc=    c288 lr=    c288 sta
Magic Lantern version : Nightly.2018Apr14.650D105
Mercurial changeset   : b7315277e327 (update-to-650D.105)
Built on 2018-04-14 15:57:11 UTC by rosiefort@RosieFoComputer.
Free Memory  : 128K + 3630K

#41
Camera-specific Development / Re: Canon 650D / T4i
April 15, 2018, 08:24:01 PM
@a1ex - not sure if you are replying in general or to dfort.

If it's a general reply - I can repeat the test again with dforts 105 firmware updater and his dforts magiclantern-Nightly.2018Apr14.650D105.
I'm trying to be a clinicial as possible - empty SD card - drag the ML over - so no prefs set. Then set fps to 24 and then test with only mlv_lite or mlv_rec active. (restart between each test with a blank SD card).

(not sure what - update-to-650D.105 (based on unified) & update-to-650D.105 + new-dryos-task-hooks are? - QEMU? maybe.)

#42
Camera-specific Development / Re: Canon 650D / T4i
April 15, 2018, 05:20:13 PM
650D.105 - from dforts 105 firmware updater
working from dforts magiclantern-Nightly.2018Apr14.650D105

testing both mlv_lite and mlv_rec

clean install of ML.
mlv_rec  and frame rate changed (24fps)
(1728x972) - crash and stops recording as usual (data rate too high)

[99] raw_rec_task: NULL PTR (80c3e100,e1a00000)
pc=    ce28 lr=    ce28 stack=1abdd0+0x1000
entry=a56298(0)
e1a00000 e59ff014 e59ff014 e59f0034
e59ff014 e1a00000 e59ff010 e59ff010

Magic Lantern version : Nightly.2018Apr14.650D105
Mercurial changeset   : b7315277e327 (update-to-650D.105)
Built on 2018-04-14 15:57:11 UTC by rosiefort@RosieFoComputer.
Free Memory  : 127K + 3591K


clean install of ML.
only mlv_lite and frame rate changed (24fps)
(1728x972) - crash and stops recording as usual (data rate too high)

[85] raw_rec_task: NULL PTR (80c3e100,e1a00000)
pc=    c288 lr=    c288 stack=1ac1d8+0x1000
entry=a60f74(0)
e1a00000 e59ff014 e59ff014 e59f0034
e59ff014 e1a00000 e59ff010 e59ff010

Magic Lantern version : Nightly.2018Apr14.650D105
Mercurial changeset   : b7315277e327 (update-to-650D.105)
Built on 2018-04-14 15:57:11 UTC by rosiefort@RosieFoComputer.
Free Memory  : 128K + 3630K






(1280x720) - crash but keeps recording.

[85] raw_rec_task: NULL PTR (80c3e100,e1a00000)
pc=    c288 lr=    c288 stack=1ac1d8+0x1000
entry=a60f74(0)
e1a00000 e59ff014 e59ff014 e59f0034
e59ff014 e1a00000 e59ff010 e59ff010
[85] raw_rec_task: NULL PTR (80c3e100,e1a00000)
pc=    c288 lr=    c288 sta
Magic Lantern version : Nightly.2018Apr14.650D105
Mercurial changeset   : b7315277e327 (update-to-650D.105)
Built on 2018-04-14 15:57:11 UTC by rosiefort@RosieFoComputer.
Free Memory  : 128K + 3630K


then a second crash while keeping recording. (same crash code)

all mlv's well formed.




crash DAT archive here....

https://we.tl/8iQJgew0JJ
#43
running magiclantern-crop_rec_4k.2018Mar10.650D104 with a1ex's sd_uhs module loaded
doesn't seem to give a performance improvement on the 650D.104 despite the card benchmarks matching others improvements using a 700D.
running crop mode 1920x1076 24fps 12bit LossLess gives 144 frames on multiple runs filming same shot whether to not the sd_uhs module is running or not. Tested multiple times.
#44

Following on from Tony Weller - this is my card - fwiw I've had it quite a few years now - originally from Amazon - I think at one time there was a problem with re-badged counterfeit cards being sold - not sure how you can check though.

Also wondering if your card needs to be formatted as an Ex Fat? Mine is.




#45
Camera-specific Development / Re: Canon 650D / T4i
April 05, 2018, 04:58:37 AM
Okay - used dforts 650D105 firmware updater - seemed to work okay.

Then Tried using - magiclantern-Nightly.2018Apr04.650D105 & a1ex's sd_uhs.mo

No go as these screen shots attest....

tried mlv_lite.mo & mlv_rec.mo both which did seem to work(ish) but obviously missing all the recent goodness of the crop_rec

Here is the crash log - I have the COREDUMP.DAT if needed...

[100] raw_rec_task: NULL PTR (80c3e100,e1a00000)
pc=    ce28 lr=    ce28 stack=1ac1d8+0x1000
entry=a56438(0)
e1a00000 e59ff014 e59ff014 e59f001d
e59ff014 e1a00000 e59ff010 e59ff010

Magic Lantern version : Nightly.2018Apr04.650D105
Mercurial changeset   : e4abf5dddb65 (update-to-650D.105) tip
Built on 2018-04-04 23:24:00 UTC by rosiefort@RosieFoComputer.
Free Memory  : 127K + 3591K




#46
Using magiclantern-crop_rec_4k.2018Mar10.650D104 & the most recent sd_uhs.mo

I think I am getting the same level of performance as before the recent sd_uhs.mo update.

1736x976 14bit lossless - 365 frames before it crashes out

2520x1078 14bit lossless - 102 frames before it crashes out

but at least things still working.
#47

Similar results to Walter - just a smidge slower! - but nearly double the old speed of 35Mbs.

Amazing find a1ex
and thanks to dfort too.

SanDisk 95Mbs Extreme Pro 32Gb

Can someone explain if I can now use these speeds to up the record performance on my 650D?
Is this already working?



===================
2018/04/05 02:10:21
===================
Before the hack: r:43MB/s w:41MB/s  W:36MB/s R:42MB/s  8)  [best 41MB/s]
SDR50 @ 96MHz  : r:43MB/s w:41MB/s  W:40MB/s R:43MB/s  ::) [best 41MB/s]
SDR50 @ 96MHz  : r:43MB/s w:41MB/s  W:39MB/s R:44MB/s  ::) [best 41MB/s]
SDR50 @ 80MHz  : r:36MB/s w:35MB/s  W:34MB/s R:36MB/s  meh [best 41MB/s]
SDR50 @ 80MHz  : r:36MB/s w:35MB/s  W:34MB/s R:36MB/s  meh [best 41MB/s]
SDR50 @ 120MHz : r:53MB/s w:50MB/s  W:36MB/s R:54MB/s  8)  [best 50MB/s]
SDR50 @ 120MHz : r:53MB/s w:50MB/s  W:48MB/s R:54MB/s  :)  [best 50MB/s]
SDR104 @ 96MHz : D0 D0 r:43MB/s w:41MB/s  W:41MB/s R:44MB/s  meh [best 50MB/s]
SDR104 @ 96MHz : D1 D1 r:43MB/s w:41MB/s  W:40MB/s R:43MB/s  meh [best 50MB/s]
SDR104 @ 80MHz : D0 D0 r:36MB/s w:35MB/s  W:34MB/s R:36MB/s  meh [best 50MB/s]
SDR104 @ 80MHz : D1 D1 r:36MB/s w:35MB/s  W:33MB/s R:36MB/s  meh [best 50MB/s]
SDR104 @ 120MHz: D0 D0 r:52MB/s w:50MB/s  W:49MB/s R:54MB/s  ::) [best 50MB/s]
SDR104 @ 120MHz: D1 D1 r:53MB/s w:50MB/s  W:49MB/s R:54MB/s  :)  [best 50MB/s]
SDR104 @ 132MHz: D0 D0 r:49MB/s w:47MB/s  W:30MB/s R:49MB/s  ::) [best 50MB/s]
SDR104 @ 132MHz: D1 D1 r:49MB/s w:47MB/s  W:44MB/s R:50MB/s  ::) [best 50MB/s]
SDR104 @ 160MHz: D0 D0 r:69MB/s w:65MB/s  W:65MB/s R:72MB/s  8)  [best 65MB/s]
SDR104 @ 160MHz: D1 D1 r:69MB/s w:65MB/s  W:64MB/s R:72MB/s  :)  [best 65MB/s]
SDR104 @ 160MHz: D2 D2 r:69MB/s w:66MB/s  W:63MB/s R:72MB/s  :)  [best 66MB/s]
SDR104 @ 160MHz: D3 D3 r:69MB/s w:65MB/s  W:61MB/s R:72MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D0 D0 r:69MB/s w:65MB/s  W:63MB/s R:72MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D1 D1 r:69MB/s w:65MB/s  W:63MB/s R:72MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D2 D2 r:69MB/s w:65MB/s  W:41MB/s R:72MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D3 D3 r:69MB/s w:65MB/s  W:64MB/s R:72MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D0 D0 r:69MB/s w:65MB/s  W:64MB/s R:71MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D1 D1 r:69MB/s w:65MB/s  W:63MB/s R:71MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D2 D2 r:69MB/s w:65MB/s  W:60MB/s R:71MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D3 D3 r:69MB/s w:65MB/s  W:63MB/s R:71MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D0 D0 r:70MB/s w:66MB/s  W:62MB/s R:72MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D1 D1 r:69MB/s w:65MB/s  W:63MB/s R:72MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D2 D2 r:70MB/s w:65MB/s  W:41MB/s R:71MB/s  ::) [best 66MB/s]
SDR104 @ 160MHz: D3 D3 r:69MB/s w:65MB/s  W:63MB/s R:72MB/s  ::) [best 66MB/s]
Best: D2 D2 r:69MB/s w:65MB/s  W:63MB/s R:72MB/s  ::) [best 66MB/s]
Best: D2 D2 r:70MB/s w:65MB/s  W:61MB/s R:71MB/s  ::) [best 66MB/s]

Done.
Please run THOROUGH tests before using!!!



#48
Just tried a1ex's sd_uhs.mo on my venerable 650D.
Came up with a FIXME unsupported model, but carried on...
The reported Benchmarks on a fast 95mb SD card were as follows:





suggesting that perhaps the module isnt configured for the 650D. If any kind soul has the time to set this up for the 650D I will check it.
#49
Camera-specific Development / Re: Canon 650D / T4i
March 14, 2018, 07:41:02 PM
@a1ex: I'm afraid coding is going to be beyond me but happy to do any testing.

The 650D functionally works really well with the recent builds so this is more of a gilding the lily kind of thing...


#50
Camera-specific Development / Re: Canon 650D / T4i
March 14, 2018, 04:00:30 PM
just wondering if it is possible to remove the flickering live view overlay (bottom right) that persistently appears on the 650D whenever live view is activated as it obscures the menus. Appreciate this is something of a first world problem and maybe a limiting factor of these smaller canons but I was looking at some of the 700D screen dumps and noticed it wasn't there.

This has appeared in a large number of ML builds for the 650D and is there on the latest builds

Apologies if this has been brought up before..