Canon 1100D / T3

Started by a1ex, June 14, 2012, 04:50:54 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Walter Schulz

And here we go again:
Top of page -> Downloads -> Downloads (dropdown menu) -> Experiments -> Latest Lua updates + fixes
After installing:
Prefs tab -> PowerSave in LiveView -> 30-minute timer Disabled

rosenand

Hello. After installing magiclantern-Nightly.2018Jul03.1100D105 and searching through the user guide, forums, Google, and of course ML menu itself, I'm still at a loss whether it's possible to achieve the following (and if so, how) with 1100D:

1A. Record cropped video (1:1 sensor-video ratio, like the 640x480 crop mode in 550D, as opposed to recording with the whole sensor and then downsampling)
1B. (If the above is not possible) Record in 5x digital zoom Live View mode WITHOUT a computer connection. According to this article, recording in 5x Live View mode is "close enough" for imaging planets (which is what I'm going for). I don't understand how "close to 1:1 sampling" is acceptable (I'd imagine it has to be exact) but I'd still like to try it. I know normally this is done with a computer connection, but it's not possible for me, so I wonder if with ML it's possible to record this way directly to the SD card.
2. Record RAW video

I apologize if it looks like I didn't RTFM or search, as it seems that all of this should be obvious, but I did look at the features comparison matrix and the current raw recording modules topic and it doesn't seem like any of these functions are available for this camera model (I certainly don't see any of the relevant modules in the ML menu). Should I download the Lua build? It's newer but seems to contain fixes, not extra features.

I'd appreciate any help, thank you in advance.

Regards,
Andrew

Edit: OK, I installed the Lua build, tried MLV_Lite and MLV_Rec. It seems that they do crop the video, but also squeeze it. Since crop_rec is unavailable for my camera, apparently it's impossible to achieve what I want, although hopefully someone can prove me wrong...

greg_kennedy

Back again (only 2 years late lol)

1100D with magiclantern-Nightly.2018Nov26.1100D106.zip from https://builds.magiclantern.fm/jenkins/job/1100D.106-test/2/




Output of LUATEST.LOG:

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2020-12-22 15:39:55
===============================================================================

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 = 43
    apex = 4.375
    value = 4.5
    min = table:
      raw = 43
      apex = 4.375
      value = 4.5
    max = table:
      raw = 90
      apex = 10.250001
      value = 34.799999
  iso = table:
    raw = 0
    apex = 0
    value = 0
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 6500
  mode = 2
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS REBEL T3"
  model_short = "1100D"
  firmware = "1.0.6"
  temperature = 156
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  shoot = function: p
  reboot = function: p
  wait = function: p
  bulb = function: p
  burst = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  hide = function: p
  show = function: p
  write = function: p
  clear = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  pause = function: p
  info = function: p
  resume = function: p
  wait = function: p
  stop = function: p
  start = function: p
lens = table:
  name = "EF75-300mm f/4-5.6"
  focal_length = 135
  focus_distance = 0
  hyperfocal = 213427
  dof_near = -563463912
  dof_far = 1000000
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  rect = function: p
  notify_box = function: p
  on = function: p
  draw = function: p
  screenshot = function: p
  line = function: p
  load = function: p
  print = function: p
  off = function: p
  clear = function: p
  pixel = function: p
  circle = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  block = function: p
  open = function: p
  get = function: p
  new = function: p
  select = function: p
  close = function: p
  set = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 8
  ms_clock = 8253
  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 = 9857
    folder_number = 100
    free_space = 15438176
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 9857
    folder_number = 100
    free_space = 15438176
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    year = 2020
    sec = 57
    wday = 6
    hour = 15
    month = 12
    isdst = false
    day = 22
    yday = 1
    min = 39
  rename = function: p
  directory = 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 '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...


It's not showing here but there was a LUA error output to the screen.





Output from STUBTEST.LOG:

[Pass] is_play_mode() => 0x1
[INFO] Camera model: Canon EOS REBEL T3 1.0.6 (0x80000288 1100D)
[Pass] is_camera("DIGIC", "*") => 0x1
[Pass] is_camera(__camera_model_short, firmware_version) => 0x1
[Pass] src = fio_malloc(size) => 0x44600084
[Pass] dst = fio_malloc(size) => 0x44e04094
[Pass] memcmp(dst, src, 4097) => 0xffffff99
[Pass] edmac_memcpy(dst, src, 4097) => 0x44e04094
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x44e04094
[Pass] memcmp(dst, src, size) => 0xffffffcf
[Pass] edmac_memcpy(dst, src, size) => 0x44e04094
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0xffffffdc
[Pass] edmac_memcpy_start(dst, src, size) => 0x44e04094
       dt => 0x34fd
[Pass] copied => 0x400f6c
[Pass] copied => 0x400f6c
[Pass] copied => 0x400f6c
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0xc7
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xa7f3d8
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x960
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xef
[Pass] tries[1] => 0x105
[Pass] tries[2] => 0xff
[Pass] tries[3] => 0xf5
[Pass] failr[0] => 0x87
[Pass] failw[0] => 0xc6
[Pass] failr[1] => 0x9d
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xd9
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x41
       times[1] / tries[1] => 0x3c
       times[2] / tries[2] => 0x32
       times[3] / tries[3] => 0x3c
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
[FAIL] get_focus_confirmation() => 0x0
[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() => 0x1
[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
[FAIL] get_focus_confirmation() => 0x0
[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
[FAIL] HALFSHUTTER_PRESSED => 0x0
[FAIL] get_focus_confirmation() => 0x0
[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
[FAIL] get_focus_confirmation() => 0x0
[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


The camera crashed shortly after this and I needed to pull the battery.  I captured a photo of the screen at this point.






Output from bench.mo:






Output from SHOW_GUI_EVENTS + hitting Q once or twice






Please let me know if you'd like to see anything else!

Walter Schulz

Info about lens used would be helpful, I suppose.

a1ex

Would be nice if you can also try the Lua build from https://builds.magiclantern.fm/experiments.html - same tests.

Long answer here.

greg_kennedy

Quote from: Walter Schulz on December 22, 2020, 09:21:24 PM
Info about lens used would be helpful, I suppose.
Canon 75-300mm (no USM, no IS).

Quote from: a1ex on December 22, 2020, 09:32:26 PM
Would be nice if you can also try the Lua build from https://builds.magiclantern.fm/experiments.html - same tests.

Long answer here.

Ok, I'll give it a shot in a bit.  (Also will put the 18-55 kit on, and point it at something it can actually focus on :P)

EDIT: oh wait I have a 1.0.6, not 1.0.5

Walter Schulz

I'm afraid both lenses won't be able to provide distance info thus crashing at this point couldn't be prevented. a1ex?

a1ex

Focus distance is only printed, not used in any of the "decision" code.

1.0.5 available here: https://builds.magiclantern.fm/1100D-105.html

greg_kennedy

Quote from: a1ex on December 22, 2020, 10:17:52 PM
Focus distance is only printed, not used in any of the "decision" code.

1.0.5 available here: https://builds.magiclantern.fm/1100D-105.html

I mean my camera is already at (official) 1.0.6.  I guess I could downgrade.  Are there instructions or is it just like a regular FW flash?

greg_kennedy

Quote from: a1ex on December 22, 2020, 09:32:26 PM
Would be nice if you can also try the Lua build from https://builds.magiclantern.fm/experiments.html - same tests.

Long answer here.

Formatted card and removed ML, downgraded to 1.0.5, installed ML test from that experimental link.  Attached 18-55mm kit lens.

Lua self-test results:
===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2020-12-22 20:16:53
===============================================================================

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 = 40
    apex = 4.
    value = 4.
    min = table:
      raw = 40
      apex = 4.
      value = 4.
    max = table:
      raw = 83
      apex = 9.375
      value = 25.7
  iso = table:
    raw = 0
    apex = 0
    value = 0
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 6500
  mode = 2
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS REBEL T3"
  model_short = "1100D"
  firmware = "1.0.5"
  temperature = 156
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  wait = function: 0x5f34280
  burst = function: 0x5f35608
  bulb = function: 0x5f35588
  reboot = function: 0x5f35328
  shoot = function: 0x5f35354
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  show = function: 0x5f32c14
  write = function: 0x5f32ca8
  hide = function: 0x5f32c04
  clear = function: 0x5f32bf4
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  wait = function: 0x5f361f8
  resume = function: 0x5f35e28
  info = function: 0x5f35b34
  start = function: 0x5f35790
  stop = function: 0x5f357a0
  pause = function: 0x5f35e38
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS II"
  focal_length = 24
  focus_distance = 1130
  hyperfocal = 7626
  dof_near = 994
  dof_far = 1310
  af = true
  af_mode = 0
  focus = function: 0x5f36ea4
  autofocus = function: 0x5f36cdc
display = table:
  idle = nil
  height = 480
  width = 720
  off = function: 0x5f37720
  print = function: 0x5f38b50
  draw = function: 0x5f378cc
  load = function: 0x5f37a14
  circle = function: 0x5f38088
  pixel = function: 0x5f38984
  line = function: 0x5f386bc
  rect = function: 0x5f38358
  on = function: 0x5f37730
  screenshot = function: 0x5f3764c
  notify_box = function: 0x5f377e4
  clear = function: 0x5f3763c
key = table:
  last = 10
  press = function: 0x5f39328
  wait = function: 0x5f39060
menu = table:
  visible = false
  block = function: 0x5f39890
  open = function: 0x5f396a0
  set = function: 0x5f3a914
  new = function: 0x5f3b750
  close = function: 0x5f39688
  select = function: 0x5f3a840
  get = function: 0x5f3aaf4
movie = table:
  recording = false
  start = function: 0x5f37338
  stop = function: 0x5f372a4
dryos = table:
  clock = 45
  ms_clock = 45075
  image_prefix = "IMG_"
  config_dir = table:
    exists = true
    create = function: 0x5f3ca74
    children = function: 0x5f3c8fc
    files = function: 0x5f3c7e0
    parent = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    drive_letter = "B"
    dcim_dir = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = table:
          exists = true
          create = function: 0x5f3ca74
          children = function: 0x5f3c8fc
          files = function: 0x5f3c7e0
          parent = nil
          path = "B:/"
        path = "B:/DCIM/"
      path = "B:/DCIM/100CANON/"
    file_number = 9857
    folder_number = 100
    free_space = 15336
    image_path = function: 0x5f3cc50
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    drive_letter = "B"
    dcim_dir = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = table:
          exists = true
          create = function: 0x5f3ca74
          children = function: 0x5f3c8fc
          files = function: 0x5f3c7e0
          parent = nil
          path = "B:/"
        path = "B:/DCIM/"
      path = "B:/DCIM/100CANON/"
    file_number = 9857
    folder_number = 100
    free_space = 15336
    image_path = function: 0x5f3cc50
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  cf_card = nil
  sd_card = table:
    drive_letter = "B"
    dcim_dir = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = table:
          exists = true
          create = function: 0x5f3ca74
          children = function: 0x5f3c8fc
          files = function: 0x5f3c7e0
          parent = nil
          path = "B:/"
        path = "B:/DCIM/"
      path = "B:/DCIM/100CANON/"
    file_number = 9857
    folder_number = 100
    free_space = 15336
    image_path = function: 0x5f3cc50
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    month = 12
    sec = 55
    min = 16
    yday = 1
    isdst = false
    wday = 6
    year = 2020
    day = 22
    hour = 20
  directory = function: 0x5f3c340
  rename = function: 0x5f3c200
  remove = function: 0x5f3c2d4
  call = function: 0x5f3bffc
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: 0x5f3d690
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:45: in function <ML/SCRIPTS/API_TEST.LUA:44>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:44: in function 'print_table'
ML/SCRIPTS/API_TEST.LUA:90: in function 'generic_tests'
ML/SCRIPTS/API_TEST.LUA:1568: in function <ML/SCRIPTS/API_TEST.LUA:1564>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:1564: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1603: in main chunktask = table:
  yield = function: 0x5f3dcf8
  create = function: 0x5f3de78
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
SD card (B:/) present
- free space: 15336 MiB
- next image: B:/DCIM/100CANON/IMG_9858.JPG
- DCIM dir. : B:/DCIM/100CANON/
- B:/DCIM/
  - B:/DCIM/100CANON/
  - B:/DCIM/EOSMISC/
- B:/MISC/
- B:/ML/
  - B:/ML/CROPMKS/
    - B:/ML/CROPMKS/CINESCO2.BMP
    - B:/ML/CROPMKS/_CINES~1.BMP
    - B:/ML/CROPMKS/CRSSMTR2.BMP
    - B:/ML/CROPMKS/_CRSSM~1.BMP
    - B:/ML/CROPMKS/PASSPORT.BMP
    - B:/ML/CROPMKS/_PASSP~1.BMP
    - B:/ML/CROPMKS/PHIPHOTO.BMP
    - B:/ML/CROPMKS/_PHIPH~1.BMP
    - B:/ML/CROPMKS/PHIVIDEO.BMP
    - B:/ML/CROPMKS/_PHIVI~1.BMP
  - B:/ML/DATA/
    - B:/ML/DATA/APSC8P.LUT
    - B:/ML/DATA/_APSC8~1.LUT
    - B:/ML/DATA/APSC8R.LUT
    - B:/ML/DATA/_APSC8~2.LUT
    - B:/ML/DATA/FF8P.LUT
    - B:/ML/DATA/_FF8~1.LUT
    - B:/ML/DATA/FF8R.LUT
    - B:/ML/DATA/_FF8~~2.LUT
  - B:/ML/DOC/
  - B:/ML/FONTS/
    - B:/ML/FONTS/ARGHLF22.RBF
    - B:/ML/FONTS/_ARGHL~1.RBF
    - B:/ML/FONTS/ARGNOR23.RBF
    - B:/ML/FONTS/_ARGNO~1.RBF
    - B:/ML/FONTS/ARGNOR28.RBF
    - B:/ML/FONTS/_ARGNO~2.RBF
    - B:/ML/FONTS/ARGNOR32.RBF
    - B:/ML/FONTS/_ARGNO~3.RBF
    - B:/ML/FONTS/TERM12.RBF
    - B:/ML/FONTS/_TERM1~1.RBF
    - B:/ML/FONTS/TERM20.RBF
    - B:/ML/FONTS/_TERM2~1.RBF
  - B:/ML/MODULES/
    - B:/ML/MODULES/ADV_INT.MO
    - B:/ML/MODULES/_ADV_I~1.MO
    - B:/ML/MODULES/ARKANOID.MO
    - B:/ML/MODULES/_ARKAN~1.MO
    - B:/ML/MODULES/AUTOEXPO.MO
    - B:/ML/MODULES/_AUTOE~1.MO
    - B:/ML/MODULES/BENCH.MO
    - B:/ML/MODULES/_BENC~1.MO
    - B:/ML/MODULES/DEFLICK.MO
    - B:/ML/MODULES/_DEFLI~1.MO
    - B:/ML/MODULES/DUAL_ISO.MO
    - B:/ML/MODULES/_DUAL_~1.MO
    - B:/ML/MODULES/EDMAC.MO
    - B:/ML/MODULES/_EDMA~1.MO
    - B:/ML/MODULES/ETTR.MO
    - B:/ML/MODULES/_ETT~1.MO
    - B:/ML/MODULES/FILE_MAN.MO
    - B:/ML/MODULES/_FILE_~1.MO
    - B:/ML/MODULES/IMG_NAME.MO
    - B:/ML/MODULES/_IMG_N~1.MO
    - B:/ML/MODULES/LUA.MO
    - B:/ML/MODULES/_LU~1.MO
    - B:/ML/MODULES/MLV_LITE.MO
    - B:/ML/MODULES/_MLV_L~1.MO
    - B:/ML/MODULES/MLV_PLAY.MO
    - B:/ML/MODULES/_MLV_P~1.MO
    - B:/ML/MODULES/MLV_REC.MO
    - B:/ML/MODULES/_MLV_R~1.MO
    - B:/ML/MODULES/MLV_SND.MO
    - B:/ML/MODULES/_MLV_S~1.MO
    - B:/ML/MODULES/PIC_VIEW.MO
    - B:/ML/MODULES/_PIC_V~1.MO
    - B:/ML/MODULES/SELFTEST.MO
    - B:/ML/MODULES/_SELFT~1.MO
    - B:/ML/MODULES/SILENT.MO
    - B:/ML/MODULES/_SILEN~1.MO
    - B:/ML/MODULES/T3_105.SYM
    - B:/ML/MODULES/_T3_10~1.SYM
    - B:/ML/MODULES/LOADING.LCK
  - B:/ML/SCRIPTS/
    - B:/ML/SCRIPTS/LIB/
      - B:/ML/SCRIPTS/LIB/CONFIG.LUA
      - B:/ML/SCRIPTS/LIB/_CONFI~1.LUA
      - B:/ML/SCRIPTS/LIB/KEYS.LUA
      - B:/ML/SCRIPTS/LIB/_KEY~1.LUA
      - B:/ML/SCRIPTS/LIB/LOGGER.LUA
      - B:/ML/SCRIPTS/LIB/_LOGGE~1.LUA
      - B:/ML/SCRIPTS/LIB/STRICT.LUA
      - B:/ML/SCRIPTS/LIB/_STRIC~1.LUA
    - B:/ML/SCRIPTS/API_TEST.LUA
    - B:/ML/SCRIPTS/_API_T~1.LUA
    - B:/ML/SCRIPTS/CALC.LUA
    - B:/ML/SCRIPTS/_CAL~1.LUA
    - B:/ML/SCRIPTS/COPY2M.LUA
    - B:/ML/SCRIPTS/_COPY2~1.LUA
    - B:/ML/SCRIPTS/EDITOR.LUA
    - B:/ML/SCRIPTS/_EDITO~1.LUA
    - B:/ML/SCRIPTS/HELLO.LUA
    - B:/ML/SCRIPTS/_HELL~1.LUA
    - B:/ML/SCRIPTS/_LI~1
    - B:/ML/SCRIPTS/MENUTEST.LUA
    - B:/ML/SCRIPTS/_MENUT~1.LUA
    - B:/ML/SCRIPTS/PONG.LUA
    - B:/ML/SCRIPTS/_PON~1.LUA
    - B:/ML/SCRIPTS/RECDELAY.LUA
    - B:/ML/SCRIPTS/_RECDE~1.LUA
    - B:/ML/SCRIPTS/SCRNSHOT.LUA
    - B:/ML/SCRIPTS/_SCRNS~1.LUA
    - B:/ML/SCRIPTS/SOKOBAN.LUA
    - B:/ML/SCRIPTS/_SOKOB~1.LUA
    - B:/ML/SCRIPTS/UNLOAD.LUA
    - B:/ML/SCRIPTS/_UNLOA~1.LUA
  - B:/ML/LOGS/
    - B:/ML/LOGS/ROM0.BIN
    - B:/ML/LOGS/ROM1.BIN
    - B:/ML/LOGS/LUATEST.LOG
  - B:/ML/SETTINGS/
    - B:/ML/SETTINGS/LUA.EN
    - B:/ML/SETTINGS/MAGIC.CFG
    - B:/ML/SETTINGS/MENUS.CFG
  - B:/ML/_CROPM~1
  - B:/ML/_DAT~1
  - B:/ML/_DO~1
  - B:/ML/DOCS
  - B:/ML/_DOC~1
  - B:/ML/_FONT~1
  - B:/ML/_MODUL~1
  - B:/ML/README
  - B:/ML/_READM~1
  - B:/ML/_SCRIP~1
- B:/TRASHE~1/
- B:/TEMPOR~1/
  - B:/TEMPOR~1/FOLDERS.501/
    - B:/TEMPOR~1/FOLDERS.501/TEMPOR~1/
    - B:/TEMPOR~1/FOLDERS.501/_TEMPO~1
  - B:/TEMPOR~1/_FOLDE~1.501
- B:/AUTOEXEC.BIN
- B:/~1.TRA
- B:/~1.TEM
- B:/APDIS~1
- B:/~1.APD
- B:/_AUTOE~1.BIN
- B:/ML-SETUP.FIR
- B:/_ML-SE~1.FIR
- B:/_M~1
File I/O tests completed.

Testing Canon GUI functions...

ML/SCRIPTS/API_TEST.LUA:289: assertion failed!
stack traceback:
[C]: in function 'assert'
ML/SCRIPTS/API_TEST.LUA:289: in function 'test_camera_gui'
ML/SCRIPTS/API_TEST.LUA:1572: in function <ML/SCRIPTS/API_TEST.LUA:1564>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:1564: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1603: in main chunk


Once again the test crashes, just after switching to Image Review mode and/or trying an autofocus test.  Actually it goes to a black screen and doesn't return until I take some action (like take a photo).



looking at the script I think the half-press is supposed to take it out of play mode (it does) but put it in another, maybe shooting mode (which is, maybe, not camera.gui.mode == 0 on this one).  I added a printf and it remains that camera.gui.mode==1 after half-press.

Also, even after unpress_half_shutter (looking at the main Shoot params screen), camera.gui.mode is still 1.  No idea how that value is getting set but it obviously is not being re-set back to 0 after leaving Play mode.  If it ever WAS zero :)

greg_kennedy

More tests.  This time I commented out line 289 (gui.mode == 0).  Camera proceeds through the random GUI tests, menu tests, shooting test, and then dies in the half-shutter button test.

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2020-12-22 23:35:30
===============================================================================

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 = 48
    apex = 5.
    value = 5.6
    min = table:
      raw = 40
      apex = 4.
      value = 4.
    max = table:
      raw = 83
      apex = 9.375
      value = 25.7
  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 REBEL T3"
  model_short = "1100D"
  firmware = "1.0.5"
  temperature = 145
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  wait = function: 0x5f34280
  burst = function: 0x5f35608
  bulb = function: 0x5f35588
  reboot = function: 0x5f35328
  shoot = function: 0x5f35354
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  show = function: 0x5f32c14
  write = function: 0x5f32ca8
  hide = function: 0x5f32c04
  clear = function: 0x5f32bf4
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  wait = function: 0x5f361f8
  resume = function: 0x5f35e28
  info = function: 0x5f35b34
  start = function: 0x5f35790
  stop = function: 0x5f357a0
  pause = function: 0x5f35e38
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS II"
  focal_length = 25
  focus_distance = 580
  hyperfocal = 5924
  dof_near = 536
  dof_far = 632
  af = true
  af_mode = 0
  focus = function: 0x5f36ea4
  autofocus = function: 0x5f36cdc
display = table:
  idle = nil
  height = 480
  width = 720
  off = function: 0x5f37720
  print = function: 0x5f38b50
  draw = function: 0x5f378cc
  load = function: 0x5f37a14
  circle = function: 0x5f38088
  pixel = function: 0x5f38984
  line = function: 0x5f386bc
  rect = function: 0x5f38358
  on = function: 0x5f37730
  screenshot = function: 0x5f3764c
  notify_box = function: 0x5f377e4
  clear = function: 0x5f3763c
key = table:
  last = 10
  press = function: 0x5f39328
  wait = function: 0x5f39060
menu = table:
  visible = false
  block = function: 0x5f39890
  open = function: 0x5f396a0
  set = function: 0x5f3a914
  new = function: 0x5f3b750
  close = function: 0x5f39688
  select = function: 0x5f3a840
  get = function: 0x5f3aaf4
movie = table:
  recording = false
  start = function: 0x5f37338
  stop = function: 0x5f372a4
dryos = table:
  clock = 5
  ms_clock = 5617
  image_prefix = "IMG_"
  config_dir = table:
    exists = true
    create = function: 0x5f3ca74
    children = function: 0x5f3c8fc
    files = function: 0x5f3c7e0
    parent = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    drive_letter = "B"
    dcim_dir = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = table:
          exists = true
          create = function: 0x5f3ca74
          children = function: 0x5f3c8fc
          files = function: 0x5f3c7e0
          parent = nil
          path = "B:/"
        path = "B:/DCIM/"
      path = "B:/DCIM/100CANON/"
    file_number = 9858
    folder_number = 100
    free_space = 15334
    image_path = function: 0x5f3cc50
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    drive_letter = "B"
    dcim_dir = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = table:
          exists = true
          create = function: 0x5f3ca74
          children = function: 0x5f3c8fc
          files = function: 0x5f3c7e0
          parent = nil
          path = "B:/"
        path = "B:/DCIM/"
      path = "B:/DCIM/100CANON/"
    file_number = 9858
    folder_number = 100
    free_space = 15334
    image_path = function: 0x5f3cc50
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  cf_card = nil
  sd_card = table:
    drive_letter = "B"
    dcim_dir = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = table:
          exists = true
          create = function: 0x5f3ca74
          children = function: 0x5f3c8fc
          files = function: 0x5f3c7e0
          parent = nil
          path = "B:/"
        path = "B:/DCIM/"
      path = "B:/DCIM/100CANON/"
    file_number = 9858
    folder_number = 100
    free_space = 15334
    image_path = function: 0x5f3cc50
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    month = 12
    sec = 31
    min = 35
    yday = 1
    isdst = false
    wday = 6
    year = 2020
    day = 22
    hour = 23
  directory = function: 0x5f3c340
  rename = function: 0x5f3c200
  remove = function: 0x5f3c2d4
  call = function: 0x5f3bffc
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: 0x5f3d690
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:45: in function <ML/SCRIPTS/API_TEST.LUA:44>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:44: in function 'print_table'
ML/SCRIPTS/API_TEST.LUA:90: in function 'generic_tests'
ML/SCRIPTS/API_TEST.LUA:1568: in function <ML/SCRIPTS/API_TEST.LUA:1564>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:1564: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1603: in main chunktask = table:
  yield = function: 0x5f3dcf8
  create = function: 0x5f3de78
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
SD card (B:/) present
- free space: 15334 MiB
- next image: B:/DCIM/100CANON/IMG_9859.JPG
- DCIM dir. : B:/DCIM/100CANON/
- B:/DCIM/100CANON/IMG_9858.JPG
- B:/DCIM/
  - B:/DCIM/100CANON/
    - B:/DCIM/100CANON/IMG_9858.JPG
  - B:/DCIM/EOSMISC/
    - B:/DCIM/EOSMISC/M0100.CTG
- B:/MISC/
- B:/TRASHE~1/
- B:/ML/
  - B:/ML/CROPMKS/
    - B:/ML/CROPMKS/CINESCO2.BMP
    - B:/ML/CROPMKS/CRSSMTR2.BMP
    - B:/ML/CROPMKS/PASSPORT.BMP
    - B:/ML/CROPMKS/PHIPHOTO.BMP
    - B:/ML/CROPMKS/PHIVIDEO.BMP
  - B:/ML/DATA/
    - B:/ML/DATA/APSC8P.LUT
    - B:/ML/DATA/APSC8R.LUT
    - B:/ML/DATA/FF8P.LUT
    - B:/ML/DATA/FF8R.LUT
  - B:/ML/DOC/
  - B:/ML/FONTS/
    - B:/ML/FONTS/ARGHLF22.RBF
    - B:/ML/FONTS/ARGNOR23.RBF
    - B:/ML/FONTS/ARGNOR28.RBF
    - B:/ML/FONTS/ARGNOR32.RBF
    - B:/ML/FONTS/TERM12.RBF
    - B:/ML/FONTS/TERM20.RBF
  - B:/ML/MODULES/
    - B:/ML/MODULES/ADV_INT.MO
    - B:/ML/MODULES/ARKANOID.MO
    - B:/ML/MODULES/AUTOEXPO.MO
    - B:/ML/MODULES/BENCH.MO
    - B:/ML/MODULES/DEFLICK.MO
    - B:/ML/MODULES/DUAL_ISO.MO
    - B:/ML/MODULES/EDMAC.MO
    - B:/ML/MODULES/ETTR.MO
    - B:/ML/MODULES/FILE_MAN.MO
    - B:/ML/MODULES/IMG_NAME.MO
    - B:/ML/MODULES/LUA.MO
    - B:/ML/MODULES/MLV_LITE.MO
    - B:/ML/MODULES/MLV_PLAY.MO
    - B:/ML/MODULES/MLV_REC.MO
    - B:/ML/MODULES/MLV_SND.MO
    - B:/ML/MODULES/PIC_VIEW.MO
    - B:/ML/MODULES/SELFTEST.MO
    - B:/ML/MODULES/SILENT.MO
    - B:/ML/MODULES/T3_105.SYM
    - B:/ML/MODULES/LOADING.LCK
  - B:/ML/SCRIPTS/
    - B:/ML/SCRIPTS/LIB/
      - B:/ML/SCRIPTS/LIB/CONFIG.LUA
      - B:/ML/SCRIPTS/LIB/KEYS.LUA
      - B:/ML/SCRIPTS/LIB/LOGGER.LUA
      - B:/ML/SCRIPTS/LIB/STRICT.LUA
    - B:/ML/SCRIPTS/API_TEST.LUA
    - B:/ML/SCRIPTS/CALC.LUA
    - B:/ML/SCRIPTS/COPY2M.LUA
    - B:/ML/SCRIPTS/EDITOR.LUA
    - B:/ML/SCRIPTS/HELLO.LUA
    - B:/ML/SCRIPTS/MENUTEST.LUA
    - B:/ML/SCRIPTS/PONG.LUA
    - B:/ML/SCRIPTS/RECDELAY.LUA
    - B:/ML/SCRIPTS/SCRNSHOT.LUA
    - B:/ML/SCRIPTS/SOKOBAN.LUA
    - B:/ML/SCRIPTS/UNLOAD.LUA
  - B:/ML/LOGS/
    - B:/ML/LOGS/ROM0.BIN
    - B:/ML/LOGS/ROM1.BIN
    - B:/ML/LOGS/LUATEST.LOG
  - B:/ML/SETTINGS/
    - B:/ML/SETTINGS/LUA.EN
    - B:/ML/SETTINGS/MAGIC.CFG
    - B:/ML/SETTINGS/MENUS.CFG
  - B:/ML/DOCS
  - B:/ML/README
- B:/FSEVEN~1/
  - B:/FSEVEN~1/000000~1
  - B:/FSEVEN~1/000000~2
- B:/TEMPOR~1/
  - B:/TEMPOR~1/FOLDERS.501/
    - B:/TEMPOR~1/FOLDERS.501/TEMPOR~1/
    - B:/TEMPOR~1/FOLDERS.501/_TEMPO~1
  - B:/TEMPOR~1/_FOLDE~1.501
- B:/AUTOEXEC.BIN
- B:/~1.TRA
- B:/~1.TEM
- B:/APDIS~1
- B:/~1.APD
File I/O tests completed.

Testing Canon GUI functions...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
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...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
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_9859.CR2 not found.
B:/DCIM/100CANON/IMG_9859.JPG: 2728334
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_9860.CR2 not found.
B:/DCIM/100CANON/ABC_9860.JPG: 2726155
B:/DCIM/100CANON/ABC_9861.CR2 not found.
B:/DCIM/100CANON/ABC_9861.JPG: 2725744
Bracketed pictures...
B:/DCIM/100CANON/IMG_9862.CR2 not found.
B:/DCIM/100CANON/IMG_9862.JPG: 1772649
B:/DCIM/100CANON/IMG_9863.CR2 not found.
B:/DCIM/100CANON/IMG_9863.JPG: 2713347
B:/DCIM/100CANON/IMG_9864.CR2 not found.
B:/DCIM/100CANON/IMG_9864.JPG: 3909756
Bulb picture...
Elapsed time: 11817
B:/DCIM/100CANON/IMG_9865.CR2 not found.
B:/DCIM/100CANON/IMG_9865.JPG: 382079
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...

ML/SCRIPTS/API_TEST.LUA:657: assertion failed!
stack traceback:
[C]: in function 'assert'
ML/SCRIPTS/API_TEST.LUA:657: in function 'test_keys'
ML/SCRIPTS/API_TEST.LUA:1577: in function <ML/SCRIPTS/API_TEST.LUA:1564>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:1564: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1603: in main chunk


Line 657 is:
        assert(camera.gui.idle == true)

so, like before, half-shutter from the menu apparently does *not* put the camera into mode 0 / "idle" mode?  Or, it does, and ML is reading it wrong?  I don't know enough about the code to really say :)

I am curious why the assertions during random menu / play / liveview mode pass OK but I think it's because they are not half-shutter related.

greg_kennedy

May as well move on to the next Lua api_test issue: movie recording throws assert error as well.


===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2020-12-22 23:56:03
===============================================================================

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 = 48
    apex = 5.
    value = 5.6
    min = table:
      raw = 40
      apex = 4.
      value = 4.
    max = table:
      raw = 83
      apex = 9.375
      value = 25.7
  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 REBEL T3"
  model_short = "1100D"
  firmware = "1.0.5"
  temperature = 146
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  wait = function: 0x5f34280
  burst = function: 0x5f35608
  bulb = function: 0x5f35588
  reboot = function: 0x5f35328
  shoot = function: 0x5f35354
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  show = function: 0x5f32c14
  write = function: 0x5f32ca8
  hide = function: 0x5f32c04
  clear = function: 0x5f32bf4
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  wait = function: 0x5f361f8
  resume = function: 0x5f35e28
  info = function: 0x5f35b34
  start = function: 0x5f35790
  stop = function: 0x5f357a0
  pause = function: 0x5f35e38
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS II"
  focal_length = 24
  focus_distance = 1820
  hyperfocal = 5461
  dof_near = 1382
  dof_far = 2682
  af = true
  af_mode = 0
  focus = function: 0x5f36ea4
  autofocus = function: 0x5f36cdc
display = table:
  idle = nil
  height = 480
  width = 720
  off = function: 0x5f37720
  print = function: 0x5f38b50
  draw = function: 0x5f378cc
  load = function: 0x5f37a14
  circle = function: 0x5f38088
  pixel = function: 0x5f38984
  line = function: 0x5f386bc
  rect = function: 0x5f38358
  on = function: 0x5f37730
  screenshot = function: 0x5f3764c
  notify_box = function: 0x5f377e4
  clear = function: 0x5f3763c
key = table:
  last = 10
  press = function: 0x5f39328
  wait = function: 0x5f39060
menu = table:
  visible = false
  block = function: 0x5f39890
  open = function: 0x5f396a0
  set = function: 0x5f3a914
  new = function: 0x5f3b750
  close = function: 0x5f39688
  select = function: 0x5f3a840
  get = function: 0x5f3aaf4
movie = table:
  recording = false
  start = function: 0x5f37338
  stop = function: 0x5f372a4
dryos = table:
  clock = 26
  ms_clock = 26107
  image_prefix = "IMG_"
  config_dir = table:
    exists = true
    create = function: 0x5f3ca74
    children = function: 0x5f3c8fc
    files = function: 0x5f3c7e0
    parent = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    drive_letter = "B"
    dcim_dir = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = table:
          exists = true
          create = function: 0x5f3ca74
          children = function: 0x5f3c8fc
          files = function: 0x5f3c7e0
          parent = nil
          path = "B:/"
        path = "B:/DCIM/"
      path = "B:/DCIM/100CANON/"
    file_number = 9865
    folder_number = 100
    free_space = 15337
    image_path = function: 0x5f3cc50
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    drive_letter = "B"
    dcim_dir = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = table:
          exists = true
          create = function: 0x5f3ca74
          children = function: 0x5f3c8fc
          files = function: 0x5f3c7e0
          parent = nil
          path = "B:/"
        path = "B:/DCIM/"
      path = "B:/DCIM/100CANON/"
    file_number = 9865
    folder_number = 100
    free_space = 15337
    image_path = function: 0x5f3cc50
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  cf_card = nil
  sd_card = table:
    drive_letter = "B"
    dcim_dir = table:
      exists = true
      create = function: 0x5f3ca74
      children = function: 0x5f3c8fc
      files = function: 0x5f3c7e0
      parent = table:
        exists = true
        create = function: 0x5f3ca74
        children = function: 0x5f3c8fc
        files = function: 0x5f3c7e0
        parent = table:
          exists = true
          create = function: 0x5f3ca74
          children = function: 0x5f3c8fc
          files = function: 0x5f3c7e0
          parent = nil
          path = "B:/"
        path = "B:/DCIM/"
      path = "B:/DCIM/100CANON/"
    file_number = 9865
    folder_number = 100
    free_space = 15337
    image_path = function: 0x5f3cc50
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    month = 12
    sec = 5
    min = 56
    yday = 1
    isdst = false
    wday = 6
    year = 2020
    day = 22
    hour = 23
  directory = function: 0x5f3c340
  rename = function: 0x5f3c200
  remove = function: 0x5f3c2d4
  call = function: 0x5f3bffc
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: 0x5f3d690
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:45: in function <ML/SCRIPTS/API_TEST.LUA:44>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:44: in function 'print_table'
ML/SCRIPTS/API_TEST.LUA:90: in function 'generic_tests'
ML/SCRIPTS/API_TEST.LUA:1568: in function <ML/SCRIPTS/API_TEST.LUA:1564>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:1564: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1603: in main chunktask = table:
  yield = function: 0x5f3dcf8
  create = function: 0x5f3de78
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
SD card (B:/) present
- free space: 15337 MiB
- next image: B:/DCIM/100CANON/IMG_9866.JPG
- DCIM dir. : B:/DCIM/100CANON/
- B:/DCIM/
  - B:/DCIM/100CANON/
  - B:/DCIM/EOSMISC/
- B:/MISC/
- B:/TRASHE~1/
- B:/ML/
  - B:/ML/CROPMKS/
    - B:/ML/CROPMKS/CINESCO2.BMP
    - B:/ML/CROPMKS/CRSSMTR2.BMP
    - B:/ML/CROPMKS/PASSPORT.BMP
    - B:/ML/CROPMKS/PHIPHOTO.BMP
    - B:/ML/CROPMKS/PHIVIDEO.BMP
  - B:/ML/DATA/
    - B:/ML/DATA/APSC8P.LUT
    - B:/ML/DATA/APSC8R.LUT
    - B:/ML/DATA/FF8P.LUT
    - B:/ML/DATA/FF8R.LUT
  - B:/ML/DOC/
  - B:/ML/FONTS/
    - B:/ML/FONTS/ARGHLF22.RBF
    - B:/ML/FONTS/ARGNOR23.RBF
    - B:/ML/FONTS/ARGNOR28.RBF
    - B:/ML/FONTS/ARGNOR32.RBF
    - B:/ML/FONTS/TERM12.RBF
    - B:/ML/FONTS/TERM20.RBF
  - B:/ML/MODULES/
    - B:/ML/MODULES/ADV_INT.MO
    - B:/ML/MODULES/ARKANOID.MO
    - B:/ML/MODULES/AUTOEXPO.MO
    - B:/ML/MODULES/BENCH.MO
    - B:/ML/MODULES/DEFLICK.MO
    - B:/ML/MODULES/DUAL_ISO.MO
    - B:/ML/MODULES/EDMAC.MO
    - B:/ML/MODULES/ETTR.MO
    - B:/ML/MODULES/FILE_MAN.MO
    - B:/ML/MODULES/IMG_NAME.MO
    - B:/ML/MODULES/LUA.MO
    - B:/ML/MODULES/MLV_LITE.MO
    - B:/ML/MODULES/MLV_PLAY.MO
    - B:/ML/MODULES/MLV_REC.MO
    - B:/ML/MODULES/MLV_SND.MO
    - B:/ML/MODULES/PIC_VIEW.MO
    - B:/ML/MODULES/SELFTEST.MO
    - B:/ML/MODULES/SILENT.MO
    - B:/ML/MODULES/T3_105.SYM
    - B:/ML/MODULES/LOADING.LCK
  - B:/ML/SCRIPTS/
    - B:/ML/SCRIPTS/LIB/
      - B:/ML/SCRIPTS/LIB/CONFIG.LUA
      - B:/ML/SCRIPTS/LIB/KEYS.LUA
      - B:/ML/SCRIPTS/LIB/LOGGER.LUA
      - B:/ML/SCRIPTS/LIB/STRICT.LUA
    - B:/ML/SCRIPTS/API_TEST.LUA
    - B:/ML/SCRIPTS/CALC.LUA
    - B:/ML/SCRIPTS/COPY2M.LUA
    - B:/ML/SCRIPTS/EDITOR.LUA
    - B:/ML/SCRIPTS/HELLO.LUA
    - B:/ML/SCRIPTS/MENUTEST.LUA
    - B:/ML/SCRIPTS/PONG.LUA
    - B:/ML/SCRIPTS/RECDELAY.LUA
    - B:/ML/SCRIPTS/SCRNSHOT.LUA
    - B:/ML/SCRIPTS/SOKOBAN.LUA
    - B:/ML/SCRIPTS/UNLOAD.LUA
  - B:/ML/LOGS/
    - B:/ML/LOGS/ROM0.BIN
    - B:/ML/LOGS/ROM1.BIN
    - B:/ML/LOGS/LUATEST.LOG
  - B:/ML/SETTINGS/
    - B:/ML/SETTINGS/LUA.EN
    - B:/ML/SETTINGS/MAGIC.CFG
    - B:/ML/SETTINGS/MENUS.CFG
  - B:/ML/DOCS
  - B:/ML/README
- B:/FSEVEN~1/
  - B:/FSEVEN~1/FSEVEN~1
  - B:/FSEVEN~1/000000~1
  - B:/FSEVEN~1/000000~2
  - B:/FSEVEN~1/000000~3
  - B:/FSEVEN~1/000000~4
- B:/TEMPOR~1/
  - B:/TEMPOR~1/FOLDERS.501/
    - B:/TEMPOR~1/FOLDERS.501/TEMPOR~1/
    - B:/TEMPOR~1/FOLDERS.501/_TEMPO~1
  - B:/TEMPOR~1/_FOLDE~1.501
- B:/AUTOEXEC.BIN
- B:/~1.TRA
- B:/~1.TEM
- B:/APDIS~1
- B:/~1.APD
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...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume 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_9866.CR2 not found.
B:/DCIM/100CANON/IMG_9866.JPG: 2768933
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_9867.CR2 not found.
B:/DCIM/100CANON/ABC_9867.JPG: 2958982
B:/DCIM/100CANON/ABC_9868.CR2 not found.
B:/DCIM/100CANON/ABC_9868.JPG: 3069728
Bracketed pictures...
B:/DCIM/100CANON/IMG_9869.CR2 not found.
B:/DCIM/100CANON/IMG_9869.JPG: 1893654
B:/DCIM/100CANON/IMG_9870.CR2 not found.
B:/DCIM/100CANON/IMG_9870.JPG: 2939208
B:/DCIM/100CANON/IMG_9871.CR2 not found.
B:/DCIM/100CANON/IMG_9871.JPG: 3281851
Bulb picture...
Elapsed time: 11626
B:/DCIM/100CANON/IMG_9872.CR2 not found.
B:/DCIM/100CANON/IMG_9872.JPG: 702038
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:
- Zebras: LumaFast, over 99%
- Focus Peak: OFF
- Magic Zoom: OFF
- Cropmarks: OFF
- Ghost image: OFF
- Spotmeter: Percent, AFbox
- False color: OFF
- Histogram: RAW N/A, Log
- Waveform: Small
- Vectorscope: OFF
Turning everything off:
- Zebras: LumaFast, over 99% -> OFF
- Spotmeter: Percent, AFbox -> OFF
- Histogram: RAW N/A, Log -> OFF
- Waveform: Small -> OFF
Turning on one by one:
- Zebras: ON/OFF (LumaFast, over 99%)
- Focus Peak: ON/OFF (ON,0.5,local)
- Magic Zoom: ON/OFF ((+), Med, TL, 2:1)
- Cropmarks: ON/OFF (CINESCO2.BMP)
- Ghost image: ON/OFF (ON)
- Spotmeter: ON/OFF (Percent, AFbox)
- False color: ON/OFF (Marshall)
- Histogram: ON/OFF (RAW N/A, Log)
- Waveform: ON/OFF (Small)
- Vectorscope: ON/OFF (ON)
Turning everything on:
- Zebras: ON
- Focus Peak: ON
- Magic Zoom: ON
- Cropmarks: ON
- Ghost image: ON
- Spotmeter: ON
- False color: ON
- Histogram: ON
- Waveform: ON
- Vectorscope: ON
Restoring previous state:
- Zebras: LumaFast, over 99%
- Focus Peak: OFF
- Magic Zoom: OFF
- Cropmarks: OFF
- Ghost image: OFF
- Spotmeter: Percent, AFbox
- False color: OFF
- Histogram: RAW N/A, Log
- Waveform: Small
- Vectorscope: OFF
Overlays working :)
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...
Is there something to focus on?
29...Focus distance: 1820
Autofocus in LiveView...
Please trigger autofocus (half-shutter / AF-ON / * ).
59...58...Autofocus triggered.
Autofocus completed.
Focus distance: 1820
Focusing backward...
Focus distance: 655350
Focus motor position: 421
Focusing forward with step size 3, wait=true...
.........
Focus distance: 250
Focus motor position: -1468
Focusing backward with step size 3, wait=true...
..........
Focus distance: 655350
Focus motor position: 428
Focus range: 9 steps forward, 10 steps backward.
Motor steps: 1889 forward, 1896 backward, 7 lost.
Focusing forward with step size 3, wait=false...
...............................
Focus distance: 250
Focus motor position: -1460
Focusing backward with step size 3, wait=false...
..............................
Focus distance: 655350
Focus motor position: 434
Focus range: 31 steps forward, 30 steps backward.
Motor steps: 1888 forward, 1894 backward, 6 lost.
Focusing forward with step size 2, wait=true...
...........................................................
Focus distance: 250
Focus motor position: -1430
Focusing backward with step size 2, wait=true...
...........................................................
Focus distance: 655350
Focus motor position: 466
Focus range: 59 steps forward, 59 steps backward.
Motor steps: 1864 forward, 1896 backward, 32 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 250
Focus motor position: -1394
Focusing backward with step size 2, wait=false...
...
Focus distance: 655350
Focus motor position: 498
Focus range: 135 steps forward, 139 steps backward.
Motor steps: 1860 forward, 1892 backward, 32 lost.

Focus test completed.

Testing exposure settings...
Camera    : Canon EOS REBEL T3 (1100D) 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  : Å5.6 (raw 48, f/5.6, apex 5.)
Av range  : Å4.0..Å25 (raw 40..83, f/4...f/25.7, apex 4...9.375)
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.

ML/SCRIPTS/API_TEST.LUA:1537: assertion failed!
stack traceback:
[C]: in function 'assert'
ML/SCRIPTS/API_TEST.LUA:1537: in function 'test_movie'
ML/SCRIPTS/API_TEST.LUA:1581: in function <ML/SCRIPTS/API_TEST.LUA:1564>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:1564: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1603: in main chunk


which in this case would be:
    -- now it should work
    -- hide the console for a nicer look
    console.hide(); assert(not console.visible)
    movie.start()
    assert(movie.recording)


so movie recording apparently does not actually start when calling movie.start().  Which is true, there are no .mov files on my card.

EDIT: odd, just re-ran this part of the test, and it completed fine this time.  No idea what the deal was before.  Maybe needs a delay before or after movie.start.

EDIT2: one other thing to add is that the console flickers a lot in manual / Av / Tv / etc modes as it is continually being overwritten by the shot params UI, and then draws atop it, etc.  I may as well take a vid if you want to see the whole thing :)

greg_kennedy

Once again Stub Test (selftest.mo) crashes and requires a battery pull.
[Pass] is_play_mode() => 0x1
[INFO] Camera model: Canon EOS REBEL T3 1.0.5 (0x80000288 1100D)
[Pass] is_camera("DIGIC", "*") => 0x1
[Pass] is_camera(__camera_model_short, firmware_version) => 0x1
[Pass] src = fio_malloc(size) => 0x45fb4154
[Pass] dst = fio_malloc(size) => 0x42e00084
[Pass] memcmp(dst, src, 4097) => 0xffffffa9
[Pass] edmac_memcpy(dst, src, 4097) => 0x42e00084
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x42e00084
[Pass] memcmp(dst, src, size) => 0xffffff6f
[Pass] edmac_memcpy(dst, src, size) => 0x42e00084
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0x8d
[Pass] edmac_memcpy_start(dst, src, size) => 0x42e00084
       dt => 0x37a8
[Pass] copied => 0x4013bc
[Pass] copied => 0x4013bc
[Pass] copied => 0x4013bc
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0xa
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0x5fb4154
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x98e
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0x100
[Pass] tries[1] => 0xfe
[Pass] tries[2] => 0xff
[Pass] tries[3] => 0xeb
[Pass] failr[0] => 0x97
[Pass] failw[0] => 0xce
[Pass] failr[1] => 0x8f
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xc5
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x3b
       times[1] / tries[1] => 0x44
       times[2] / tries[2] => 0x3d
       times[3] / tries[3] => 0x3f
Cache tests finished.

[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x0
[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 => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x1
[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 => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[FAIL] HALFSHUTTER_PRESSED => 0x0
[FAIL] get_focus_confirmation() => 0x0
[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 => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x1
[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 => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x1
[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 => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x1
[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 => 0x2


I am looking at the code and the log is written after each successful test.  These last lines are from the AF test, the next is the file-io test, which I guess is where it's dying.

On the root of the card is TEST.DAT, 131072 bytes (exactly 128K), and is full of mostly junk data - probably uninitialized.  It appears to die without any helpful print before it can create the file full of "Will it blend?" messages.  My wild unfounded guess is... I don't see the first TEST.DAT file getting deleted anywhere in selftest.c, before attempting to FIO_Create a new file with the exact same name.  Is it possible that the camera will not let you overwrite files like this, causing the test to crash?

a1ex

Now we are talking :)

Quote from: greg_kennedy on December 23, 2020, 04:51:21 AM
so, like before, half-shutter from the menu apparently does *not* put the camera into mode 0 / "idle" mode?  Or, it does, and ML is reading it wrong?

Apparently yes - in consts.h, CURRENT_GUI_MODE might be 0x3960 (at least for pattern matching).

Will try reproducing it in QEMU.

Quote from: greg_kennedy on December 24, 2020, 01:57:47 AM
On the root of the card is TEST.DAT, 131072 bytes (exactly 128K), and is full of mostly junk data - probably uninitialized.  It appears to die without any helpful print before it can create the file full of "Will it blend?" messages.  My wild unfounded guess is... I don't see the first TEST.DAT file getting deleted anywhere in selftest.c, before attempting to FIO_Create a new file with the exact same name.  Is it possible that the camera will not let you overwrite files like this, causing the test to crash?

Junk data is expected - it dumps a section of the ROM, same block written twice (2 x 65536 bytes). If the contents of that file match the description, the first few lines from stub_test_file_io() might have succeeded.

Overwriting should be OK - the wrapper code in fio-ml.c will call FIO_RemoveFile prior to FIO_CreateFile. Otherwise, at least on some models, FIO_CreateFile would happily create multiple files with the same name on the filesystem, and that confuses at least the FAT32 driver in Linux - didn't check other systems on this particular one :)

Next test is checking the resulting file size - no surprises expected.

The following test is attempting to read back the file from card; that's where I would expect things to go wrong if memory allocation fails. You might be able to see some error messages - not yet written to a log file - directly on the screen.

This issue should be reproducible in QEMU as well.




Edit Dec.28 2020: both issues hopefully fixed (tested in QEMU only); new build available on the Experiments page. Please report back.

jonekone

Hi I'm new and currently trying to complete the test described on the LUA scripting thread with my old 1100D, I'm using the latest dec 28 2020 build.
https://www.magiclantern.fm/forum/index.php?topic=14828.msg194706#msg194706


I will post results when I find them.

Wel the camera is still running tests.. now lua test.. However it did crash

- selftest.mo -> stubs tests (upload the log)
https://imgur.com/a/UeVMVFY


The Lua script was flashing flashing flashing flashing and when I realized that the battery is going down and the test just goes on and on picket the camera and between the flashing screen noticed it wanted to switch to M mode (text was so so small and constantly flashing but managed to read it.) Maybe it shouldn't flash that "info"  it could make the same beeping as asking for half shutter.

Ok the LUA test crashed also. I will upload logs.7z to somewhere... i quest.

https://ufile.io/w7jddbvp

- api_test.lua (upload the log)
- selftest.mo -> stubs tests (upload the log)
- bench.mo -> memory benchmarks (upload the screenshot)

Soo I'm not at all sure I did this correctly but I did complete all the test I think :) Also the errors could be due to low battery idk. Hope the logs help, I will try to run the tests again, not the benchmarks but the 2 other tests after the battery is full again.

For sanity... Welllll the menu sometimes becomes transparent, now its probably me as setting default settings made it not transparent.
ML is really cool :)  Eats allot of battery but that's not an issue.. Well it is for me as I don't have a mod/power cort.

a1ex

Thanks, you did the tests correctly.

ERR70 from the stubs test appears to come from here (first fail):

       m0 = GetFreeMemForAllocateMemory() => 0x6361c
[FAIL] p = (void*)_AllocateMemory(128*1024) => 0x0


The memory backend reports 0x6361c = 407068 bytes available for AllocateMemory, but... attempting to allocate 128K (131072 bytes) fails for some reason. Best guess: memory fragmentation. Most of the subsequent failures are caused by the initial crash.

If you try to load only selftest.mo, and run the stubs test only with that module loaded, does it still crash?

Lua test worked for the most part, but crashed near the end (at "Setting aperture to random values"). Is this crash repeatable? If you run the same test a few times, does it crash in the same place?

Menu becoming transparent... is a feature, if you press LiveView while in ML menu (which might help when adjusting settings that affect the image).

When asking for M mode change, api_test.lua actually does attempt to beep, in the same way as when asking for half-shutter. If it didn't beep, there might be a problem with beeps as well. Beeps are not yet emulated in QEMU.

jonekone

Re running the LUA test and it passed fine, (multiple runs, with all the mods initialized). This time it was on Manual photo mode from the start.

Could be that initially it was just running the switch to Manual call so many times, as it was cycling quite along time. Dunno. I could try to run the lua test again, with the movie record mode and see if it gets stuck again. (running now.) Will post results later

I will take video of the (switch to manual mode loop.)  https://youtu.be/EYLJFQxn2Xo
So it definitively doesn't make a beep when asking for M mode.

https://youtu.be/0fDR3bcC1bQ  Flickering.


Re sunning the selftest.mo (stubs test) and only that mod was loaded. still crashing. I re run it with RAW and switched to low quality jpeg output in the hopes it had something to do with it, same result.

https://ufile.io/25loyiop new  logs.

elenhil

The feature comparison matrix says mlv_lite isn't supported on 1100d. Is that still the case?