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 - mk11174

#1
Quote from: theBilalFakhouri on July 11, 2018, 11:52:09 PM
You can use the preset "Full-res LiveView" 5208x3230 in this crop_rec you can get 1 frame in mlv_lite 14-bit lossless sometimes you didn't get any frames (blank MLV) but if you use uncompressed 10-12-14 bit it will become more stable (3 frames in 10-bit). The problem and the solution here and Here.
I am using my own compiled crop_rec module, its updated with all alex new tweaks, I can record at that res too, but I dont feel its stable that high, it freezes randomly during recording, and I need preview to work, so the other bits will not work for me, 14bit and 14bit compressed work just fine with preview.

Not really having an issue with the module, just was adding that info in case it was useful since there seems to be some type of limiting factor.

But thanks for the info.  :)
#2
While playing with resolutions on my 700D, I wanted to see why silent picture will not take a regular silent picture at these custom presets for Fullres LV in crop_rec.

Wanted to tweak with it because even though we can see the frame check preview at the higher res preset, you can't record it without it freezing.

So figured was easier to use regular silent pictures while adjusting.

Here are some configurations I did to see what the limit was trying both sides at max. These all take a silent picture, any higher on either side, just says preparing.
Not sure if this info is useful or not, but figured I would post since it seems there is some sort of limit factor of what we can actually record.
3900x3500  0xdcc03f1  = 0x16C7E8C
3956x3445  0xd9503ff  = 0x16BEB07
3960x3444  0xd940400  = 0x16C2E28
5208x2626  0xa620538  = 0x16D31B4


Also, this is max you can record in mlv-lite without it crashing after a few seconds.
And recording as I mean, setting to record while hold HS, so like pressing it quick to grab some frames after a few tries will crash any higher then what these dimensions equal.
5208x2159  0x88F0538  = 0x12C3FC6
#3
Yeah, def not good for lightning, was just thinking that was pretty fast, which is pretty cool if it can be used for anything, maybe water drops possible.

Just good to know its correct and not just some false value.
#4
I noticed while using crop_rec module with Full Res Live view preset, resized to 4464x2512 16:9 in the preset because anything higher freezes during recording, but anyway, while using this mode, since I can stay in regular mode and don't have to go to x5 mode, I get 6.527fps and I am able to adjust my shutter in ML to 12k down to 1/7 is this really 12k?

If I go into x5 mode, can only adjust to 1/11 down to 1/7.

I also noticed, if you try to set a shutter with ML it reverts back to canon shutter speeds when you goto x5 mode, press shutter button, or go back into ML menu.

So if I goto Full Res live view preset, then goto ML menu and switch to say a non canon value, like 12K, I see the screen get super dark, if I exit ML it holds until I either go back into ML menu or try to switch to x5 mode even though I don't need to in this mode, or if I press half shutter, it will then go to 1/30 again all by itself.

If I switch to the 12k and leave ML menu and go right to recording, it holds until I do any of the above.

Is this to be expected, or not normal with your new update for these shutter blanking registries?

Update! I just tested build before these new changes and I guess this is how it works as far as not holding ML shutter speeds anyways.

I see I def dont have 12k shutter speed though before these changes, so thats new for sure, but is it really that fast, it does get pretty dark?
#5
Guess different on my 700D?
Also, I was getting an N/A for ML shutter Display until I changed the addresses for my camera, once I did, I get shutter value in ML again.
In movie mode 1080P nothing enabled in ML other then ADTG tool.
FPS Override off, everything default ML settings
They also only stay loaded in ADTG tool for a few seconds then gone until I restart camera.
The values are different in both images because on the 700D, the frame rate jumps around randomly 29.973 and 29.958, has always done this, so these values change with the frame rate jump.

Guess I didnt need to post all these images because I now see these values are only differ cause shutter speed was different, LOL!! OOOPS  :-[

1080P @30fps Movie Mode






1080P @24fps Movie Mode






x5 and x10 Mode in Movie Mode all resolution modes
In x5 or x10 mode, these registries don't vanish like they do while not in x5 or x10 mode, they stay in the ADTG tool and if I go back to non x5 or x10 mode, and come back to ADTG tool, these registries vanish after a few seconds until restart.




#6
Quote from: Levas on June 21, 2018, 01:38:25 PM
Found the Engio write address for 6d in the stubs.s file for 6d:


/** Engio **/
NSTUB(0xFF2ADE1C, _EngDrvOut)                               // AJ_EngDrvOut_1xVar_to_ShadowStruct
NSTUB(0xFF2AE134, _engio_write)
NSTUB(0xFF2ADEB8,  shamem_read)                             // AJ_0x8FB0_engio_struct_n_R0_manipulation_to_get_ptr
// NSTUB(    ???,  EngDrvOut)                               /* present on 7D_MASTER.203 */


Yeah, that was my bad, I checked the 6D stubs and put in the DrvOut address instead of the write, sorry, why always good to double check thing.
#7
Quote from: Levas on June 21, 2018, 02:24:46 PM
Already changed everything on these lines and it's working now.

That's great! Glad to hear!

Note, anyone looking at this for 700D, FullRes is not Fullres, it was a work in progress, can't get stable Fullres going in Crop_Rec for some reason like can in ADTG tool, so it is basically set to the highest possible working resolution.
#8
Quote from: Levas on June 21, 2018, 10:12:15 AM
mk11174 made a version of crop_rec.c with an 2K preset for the 6d.
:) Def didnt make it, just chopped it up so I can sort of understand what needed to go where, why most of the 5D3 stuff is missing, nothing was changing for me until I chopped it up and looked at what was left, then understood a tiny bit more what needed to go where to make the changes happen like they did in ADTG tool and now it works for 700D.

Was hoping it would help you get the 6D preset you wanted going, But Alex I guess is working on this for many of you, maybe best to wait for his update, you know it will be perfect as usual!

There were this lines that were hard coded though that should be changed for the 6D like I mentions in the PM, so prob try getting all those right first, maybe will work?
444        const int default_timerA[] = { 0x20F, 0x27F, 0x20f, 0x27F, 0x20F };
445        const int default_timerB[] = { 0x9DE, 0x7CF, 0x7E5, 0x3D7, 0x3F2 };
446        const int default_fps_1k[] = { 23976, 25000, 29973, 50000, 59940 };
551        int adtg_blanking_reg = (lv_dispsize == 1) ? 0x8061 : 0x805F;
639        adtg_new[0] = (struct adtg_new) {6, 0x8061, shutter_blanking};
640        adtg_new[1] = (struct adtg_new) {6, 0x805F, shutter_blanking};
1052       (old == 0x4540298) ||/* x5 zoom */ (old == 0x4a601d4 || old == 0x2d701d4);   /* 1080p or 720p */
#10
Doesn't seem to be either of them cause the whole exposure test finishes just fine if done by itself, just crashes cam if all tests are done with it. So guess there's no point in editing the exposure script.

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

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




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

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

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

Strict mode tests...
Strict mode tests passed.

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

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

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

Testing ML menu API...
Menu tests completed.

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

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

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

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


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

Focus test completed.

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


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

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

Skipped Exposure Test, all passed fine.

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

Strict mode tests...
Strict mode tests passed.

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

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

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

Testing ML menu API...
Menu tests completed.

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

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

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

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


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

Focus test completed.


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

Done!


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

Strict mode tests...
Strict mode tests passed.

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

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

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

https://youtu.be/0sW4BsP8sO0

UPDATE: Good news for your 103 port, it does the exact same thing on 102, crash in same spot.
#13
600D does not have the option for continuous focus like the 700D has

Weird, on this 2nd test, it never did the lens focus part.

Update: Got lens focus test to finish by changing zoom to wide open and it finished all focus movements, but the next test shut camera off and lost log results.
#14
Trying the API_Test on 103 seems to be going on FOREVER doing the same thing on this Lens Moving test, light flashing away, but going so long battery almost dead, console showing same repeating text? Gonna give up I guess. Reset all camera settings and Formatted and set to continuous shooting also.

Battery died, here is log it saved

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-5-6 13:45:28
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 109
    apex = 6.625
    ms = 10
    value = 0.010132
  aperture = table:
    raw = 48
    apex = 5.
    value = 5.6
    min = table:
      raw = 48
      apex = 5.
      value = 5.6
    max = table:
      raw = 91
      apex = 10.375001
      value = 36.400001
  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 = 1
  model = "Canon EOS REBEL T3i"
  model_short = "600D"
  firmware = "1.0.3"
  temperature = 188
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  shoot = function: p
  burst = function: p
  reboot = 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:
  clear = function: p
  show = function: p
  write = function: p
  hide = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  resume = function: p
  start = function: p
  stop = function: p
  info = function: p
  pause = function: p
  wait = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS"
  focal_length = 55
  focus_distance = 1820
  hyperfocal = 28540
  dof_near = 1722
  dof_far = 1929
  af = true
  af_mode = 0
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  line = function: p
  notify_box = function: p
  draw = function: p
  load = function: p
  clear = function: p
  off = function: p
  print = function: p
  screenshot = function: p
  on = function: p
  rect = function: p
  pixel = function: p
  circle = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  new = function: p
  block = function: p
  set = function: p
  close = function: p
  select = function: p
  open = function: p
  get = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 101
  ms_clock = 101541
  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 = 9988
    folder_number = 100
    free_space = 15633664
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 9988
    folder_number = 100
    free_space = 15633664
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    year = 2018
    yday = 1
    hour = 13
    wday = 7
    sec = 29
    month = 5
    isdst = false
    min = 45
    day = 6
  call = function: p
  directory = function: p
  remove = 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 '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 PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Exit 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_9989.CR2: 19657379
B:/DCIM/100CANON/IMG_9989.JPG: 1746728
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_9990.CR2: 19633952
B:/DCIM/100CANON/ABC_9990.JPG: 1728852
B:/DCIM/100CANON/ABC_9991.CR2: 19601666
B:/DCIM/100CANON/ABC_9991.JPG: 1725152
Bracketed pictures...
B:/DCIM/100CANON/IMG_9992.CR2: 26354896
B:/DCIM/100CANON/IMG_9992.JPG: 4597540
B:/DCIM/100CANON/IMG_9993.CR2: 19554523
B:/DCIM/100CANON/IMG_9993.JPG: 1635620
B:/DCIM/100CANON/IMG_9994.CR2: 15526094
B:/DCIM/100CANON/IMG_9994.JPG: 437395
Bulb picture...
Elapsed time: 12755
B:/DCIM/100CANON/IMG_9995.CR2: 14504886
B:/DCIM/100CANON/IMG_9995.JPG: 363713
Picture taking tests completed.

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

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

Testing module 'lv'...
Starting LiveView...
Overlays: 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: 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: 1820
Autofocus in LiveView...
Please trigger autofocus (half-shutter / AF-ON / * ).
19...18...17...16...15...14...13...Autofocus triggered.
Autofocus completed.
Focus distance: 655350
Focusing backward...
Focus distance: 655350
Focus motor position: 469
Focusing forward with step size 3, wait=true...
...........
Focus distance: 250
Focus motor position: -1414
Focusing backward with step size 3, wait=true...
..........
Focus distance: 655350
Focus motor position: 500
Focus range: 11 steps forward, 10 steps backward.
Motor steps: 1883 forward, 1914 backward, 31 lost.
Focusing forward with step size 3, wait=false...
...
Focus distance: 250
Focus motor position: -1401
Focusing backward with step size 3, wait=false...
............................................................................
Focus distance: 655350
Focus motor position: 501
Focus range: 101 steps forward, 76 steps backward.
Motor steps: 1901 forward, 1902 backward, 1 lost.
Focusing forward with step size 2, wait=true...
................................................................
Focus distance: 250
Focus motor position: -1457
Focusing backward with step size 2, wait=true...
..............................................................
Focus distance: 655350
Focus motor position: 467
Focus range: 64 steps forward, 62 steps backward.
Motor steps: 1958 forward, 1924 backward, 34 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 250
Focus motor position: -1472
Focusing backward with step size 2, wait=false...
...
Focus distance: 655350
Focus motor position: 458
Focus range: 248 steps forward, 222 steps backward.
Motor steps: 1939 forward, 1930 backward, 9 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 5270
Focus motor position: 29990
Focusing backward with step size 1, wait=true...
...
Focus distance: 5270
Focus motor position: 29990
Focus range: 17990 steps forward, 753 steps backward.
Motor steps: 29532 forward, 0 backward, 29532 lost.
Focusing forward with step size 1, wait=false...
...


Stubs Test Fine
[Pass] is_play_mode() => 0x1
[INFO] Camera model: Canon EOS REBEL T3i 1.0.3 (0x80000286 600D)
[Pass] is_camera("DIGIC", "*") => 0x1
[Pass] is_camera(__camera_model_short, firmware_version) => 0x1
[Pass] src = fio_malloc(size) => 0x423ec154
[Pass] dst = fio_malloc(size) => 0x42bf0164
[Pass] memcmp(dst, src, 4097) => 0xda
[Pass] edmac_memcpy(dst, src, 4097) => 0x42bf0164
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x42bf0164
[Pass] memcmp(dst, src, size) => 0x78
[Pass] edmac_memcpy(dst, src, size) => 0x42bf0164
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0xffffffa5
[Pass] edmac_memcpy_start(dst, src, size) => 0x42bf0164
       dt => 0x3208
[Pass] copied => 0x400f5c
[Pass] copied => 0x400f5c
[Pass] copied => 0x400f5c
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0xffffffb2
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xbed50
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x740
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0x119
[Pass] tries[1] => 0xe4
[Pass] tries[2] => 0xf4
[Pass] tries[3] => 0xf7
[Pass] failr[0] => 0xe4
[Pass] failw[0] => 0x114
[Pass] failr[1] => 0x86
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xeb
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x34
       times[1] / tries[1] => 0x2f
       times[2] / tries[2] => 0x38
       times[3] / tries[3] => 0x34
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() => 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
[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
[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
[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
[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] 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) => 0x40c0cef4
[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) => 0x423ec154
[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) => 0x99de
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x6
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x9a04
       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) => 0x1fa
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x13f
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0x10e
[Pass] ABS((get_us_clock() - t0) - 110000) => 0x1b8
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x1fc
       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) => 0x24f
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x226
[Pass] ABS((get_us_clock() - t0) - 310000) => 0x1e6
       t0 = GET_DIGIC_TIMER() => 0x3e5c9
       msleep(250)
       t1 = GET_DIGIC_TIMER() => 0x79643
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x9
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x38
       Date/time: 2018/05/06 14:21:56
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x3a
[Pass] MOD(s1-s0, 60) => 0x2
[Pass] MOD(s1-s0, 60) => 0x2
       m0 = MALLOC_FREE_MEMORY => 0x42dd8
[Pass] p = (void*)_malloc(50*1024) => 0xc0a90
[Pass] CACHEABLE(p) => 0xc0a90
       m1 = MALLOC_FREE_MEMORY => 0x365c8
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x42dd8
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0xbc198
[Pass] p = (void*)_AllocateMemory(128*1024) => 0xc0ceb4
[Pass] CACHEABLE(p) => 0xc0ceb4
       m1 = GetFreeMemForAllocateMemory() => 0x9c188
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0xbc198
[Pass] ABS((m0-m1) - 128*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x42dd8
       m02 = GetFreeMemForAllocateMemory() => 0xbc198
[Pass] p = (void*)_alloc_dma_memory(128*1024) => 0x40c0cef4
[Pass] UNCACHEABLE(p) => 0x40c0cef4
[Pass] CACHEABLE(p) => 0xc0cef4
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40c0cef4
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(16*1024*1024) => 0x423ec144
[Pass] UNCACHEABLE(p) => 0x423ec144
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x42dd8
       m12 = GetFreeMemForAllocateMemory() => 0xbc198
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(16*1024*1024) => 0xc0a90
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc0ab8
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x423ec140
[Pass] UNCACHEABLE(p) => 0x423ec140
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xc0a90
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1f68000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc0ab8
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1f68000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       largest_shoot_block = suite->size => 0x1f68000
[INFO] largest_shoot_block: 31MB
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(largest_shoot_block + 1024*1024) => 0xc0a90
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x3
[Pass] suite->size => 0x2068000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc0ab8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1c10000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x423ec140
[Pass] UNCACHEABLE(p) => 0x423ec140
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc0b18
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d34000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc0b50
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2068000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x2068000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xc0a90
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x4
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc0ab8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1c10000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x423ec140
[Pass] UNCACHEABLE(p) => 0x423ec140
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc0b18
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d34000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc0b50
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2938000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc0b88
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x16a01c
[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) => 0x16a000
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x169fe0
[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) => 0x328e00c0
[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) => 0x32900094
[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) => 0x32920202
[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) => 0x32940098
[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
[Pass] is_pure_play_movie_mode() => 0x1
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
=========================================================
Test complete, 11622 passed, 0 failed.
.



API Test Redid new battery

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-5-6 14:25:23
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 133
    apex = 9.625
    ms = 1
    value = 0.001266
  aperture = table:
    raw = 48
    apex = 5.
    value = 5.6
    min = table:
      raw = 37
      apex = 3.625
      value = 3.5
    max = table:
      raw = 80
      apex = 9.
      value = 22.6
  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 = 1
  model = "Canon EOS REBEL T3i"
  model_short = "600D"
  firmware = "1.0.3"
  temperature = 172
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  bulb = function: p
  shoot = function: p
  burst = function: p
  wait = 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
  write = function: p
  hide = function: p
  show = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  info = function: p
  pause = function: p
  stop = function: p
  resume = function: p
  wait = function: p
  start = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS"
  focal_length = 18
  focus_distance = 655350
  hyperfocal = 3081
  dof_near = 3066
  dof_far = 1000000
  af = true
  af_mode = 0
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  print = function: p
  clear = function: p
  on = function: p
  off = function: p
  notify_box = function: p
  draw = function: p
  load = function: p
  line = function: p
  circle = function: p
  rect = function: p
  screenshot = function: p
  pixel = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  get = function: p
  set = function: p
  close = function: p
  block = function: p
  open = function: p
  select = function: p
  new = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 24
  ms_clock = 24404
  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 = 9997
    folder_number = 100
    free_space = 15633696
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 9997
    folder_number = 100
    free_space = 15633696
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    min = 25
    wday = 7
    yday = 1
    year = 2018
    month = 5
    hour = 14
    day = 6
    isdst = false
    sec = 24
  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...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY 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...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Start LiveView...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
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_9998.CR2: 22508842
B:/DCIM/100CANON/IMG_9998.JPG: 3915831
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
#15
I can do that, I only noticed the focus conf fail, did not seem very important since I had lens cap on, seems to be ok to fail it, both tests came back same for both versions so I thought the main goal was to show 103 was good for merge, if both versions give same results, that should show it is good to go?
#16
Quote from: dfort on May 06, 2018, 06:51:16 AM
Look pretty much the same to me. Did you by any chance have the colorspace set to adobe? Reason I ask is because we had a similar situation happen with the 1200D. Note that the Stubs API test from the selftest module didn't complete.
Yes, Adobe RGB colorspace was set for this camera at time of testing.


QuoteCould you next try the lua_fix builds. 1.0.3 is on my downloads page and 1.0.2 is on the experiments download page.
This 103 version is the build from your downloads page. And the 102 is from experiments page

#17
600D 102 Memory Benchmark




600D 103 Memory Benchmark


#18
600D 103 lua/fix Stubs Test
[Pass] is_play_mode() => 0x1
[INFO] Camera model: Canon EOS REBEL T3i 1.0.3 (0x80000286 600D)
[Pass] is_camera("DIGIC", "*") => 0x1
[Pass] is_camera(__camera_model_short, firmware_version) => 0x1
[Pass] src = fio_malloc(size) => 0x422c00c4
[Pass] dst = fio_malloc(size) => 0x42ac40d4
[Pass] memcmp(dst, src, 4097) => 0xec
[Pass] edmac_memcpy(dst, src, 4097) => 0x42ac40d4
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x42ac40d4
[Pass] memcmp(dst, src, size) => 0x1a
[Pass] edmac_memcpy(dst, src, size) => 0x42ac40d4
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0xffffff97
[Pass] edmac_memcpy_start(dst, src, size) => 0x42ac40d4
       dt => 0x3151
[Pass] copied => 0x400d6c
[Pass] copied => 0x400d6c
[Pass] copied => 0x400d6c
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0x37
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xbcfb0
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x1030
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xfe
[Pass] tries[1] => 0x106
[Pass] tries[2] => 0xee
[Pass] tries[3] => 0xf6
[Pass] failr[0] => 0xc4
[Pass] failw[0] => 0xf6
[Pass] failr[1] => 0x97
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xe6
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x2f
       times[1] / tries[1] => 0x29
       times[2] / tries[2] => 0x33
       times[3] / tries[3] => 0x31
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
[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
[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
[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] 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) => 0x40bc215c
[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) => 0x422c00c4
[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) => 0x95c0
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x1
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x95e6
       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) => 0x1e0
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x12d
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0x103
[Pass] ABS((get_us_clock() - t0) - 110000) => 0x219
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x1e2
       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) => 0x2b8
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x28e
[Pass] ABS((get_us_clock() - t0) - 310000) => 0x227
       t0 = GET_DIGIC_TIMER() => 0x3037c
       msleep(250)
       t1 = GET_DIGIC_TIMER() => 0x6b218
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x9
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x11
       Date/time: 2018/05/06 00:42:17
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x12
[Pass] MOD(s1-s0, 60) => 0x1
[Pass] MOD(s1-s0, 60) => 0x1
       m0 = MALLOC_FREE_MEMORY => 0x43f78
[Pass] p = (void*)_malloc(50*1024) => 0xc0a40
[Pass] CACHEABLE(p) => 0xc0a40
       m1 = MALLOC_FREE_MEMORY => 0x37768
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x43f78
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0xe1f8c
[Pass] p = (void*)_AllocateMemory(128*1024) => 0xbc211c
[Pass] CACHEABLE(p) => 0xbc211c
       m1 = GetFreeMemForAllocateMemory() => 0xc1f7c
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0xe1f8c
[Pass] ABS((m0-m1) - 128*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x43f78
       m02 = GetFreeMemForAllocateMemory() => 0xe1f8c
[Pass] p = (void*)_alloc_dma_memory(128*1024) => 0x40bc215c
[Pass] UNCACHEABLE(p) => 0x40bc215c
[Pass] CACHEABLE(p) => 0xbc215c
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40bc215c
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(16*1024*1024) => 0x422c00b4
[Pass] UNCACHEABLE(p) => 0x422c00b4
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x43f78
       m12 = GetFreeMemForAllocateMemory() => 0xe1f8c
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(16*1024*1024) => 0xbbd10
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xbbd38
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x422c00b0
[Pass] UNCACHEABLE(p) => 0x422c00b0
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xbbd10
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1f68000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xbbd38
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1f68000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       largest_shoot_block = suite->size => 0x1f68000
[INFO] largest_shoot_block: 31MB
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(largest_shoot_block + 1024*1024) => 0xbbd10
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x2
[Pass] suite->size => 0x2068000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xbbd38
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d3c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x422c00b0
[Pass] UNCACHEABLE(p) => 0x422c00b0
       chunk = GetNextMemoryChunk(suite, chunk) => 0xbbd98
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2068000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x2068000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xbbd10
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x3
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xbbd38
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d3c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x422c00b0
[Pass] UNCACHEABLE(p) => 0x422c00b0
       chunk = GetNextMemoryChunk(suite, chunk) => 0xbbd98
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2940000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xbbdd0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x16a01c
[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) => 0x16a000
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x169fe0
[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) => 0x1aaa00be
[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) => 0x1aac0094
[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) => 0x1aae030c
[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) => 0x1ab000a4
[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
[Pass] is_pure_play_movie_mode() => 0x1
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
=========================================================
Test complete, 11457 passed, 5 failed.
.


600D 102 lua/fix Stubs Test
[Pass] is_play_mode() => 0x1
[INFO] Camera model: Canon EOS REBEL T3i 1.0.2 (0x80000286 600D)
[Pass] is_camera("DIGIC", "*") => 0x1
[Pass] is_camera(__camera_model_short, firmware_version) => 0x1
[Pass] src = fio_malloc(size) => 0x42204094
[Pass] dst = fio_malloc(size) => 0x42a080a4
[Pass] memcmp(dst, src, 4097) => 0x7f
[Pass] edmac_memcpy(dst, src, 4097) => 0x42a080a4
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x42a080a4
[Pass] memcmp(dst, src, size) => 0x78
[Pass] edmac_memcpy(dst, src, size) => 0x42a080a4
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0x7
[Pass] edmac_memcpy_start(dst, src, size) => 0x42a080a4
       dt => 0x31fd
[Pass] copied => 0x400a9c
[Pass] copied => 0x400a9c
[Pass] copied => 0x400a9c
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0xfffffffc
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xbd1f0
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x10df
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xe6
[Pass] tries[1] => 0x102
[Pass] tries[2] => 0xf8
[Pass] tries[3] => 0x108
[Pass] failr[0] => 0xbe
[Pass] failw[0] => 0xe3
[Pass] failr[1] => 0x98
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xf4
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x2c
       times[1] / tries[1] => 0x32
       times[2] / tries[2] => 0x2e
       times[3] / tries[3] => 0x2c
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
[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
[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
[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] 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) => 0x40bc20f0
[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) => 0x42204094
[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) => 0x956e
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0xa
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x9594
       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) => 0x1e0
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x128
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0xfc
[Pass] ABS((get_us_clock() - t0) - 110000) => 0x220
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x1e2
       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) => 0x2c2
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x294
[Pass] ABS((get_us_clock() - t0) - 310000) => 0x23f
       t0 = GET_DIGIC_TIMER() => 0xcafa5
       msleep(250)
       t1 = GET_DIGIC_TIMER() => 0x5fbf
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x9
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x23
       Date/time: 2018/05/06 00:52:35
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x25
[Pass] MOD(s1-s0, 60) => 0x2
[Pass] MOD(s1-s0, 60) => 0x2
       m0 = MALLOC_FREE_MEMORY => 0x44158
[Pass] p = (void*)_malloc(50*1024) => 0xc0c80
[Pass] CACHEABLE(p) => 0xc0c80
       m1 = MALLOC_FREE_MEMORY => 0x37948
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x44158
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0xe1f9c
[Pass] p = (void*)_AllocateMemory(128*1024) => 0xbc20b0
[Pass] CACHEABLE(p) => 0xbc20b0
       m1 = GetFreeMemForAllocateMemory() => 0xc1f8c
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0xe1f9c
[Pass] ABS((m0-m1) - 128*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x44158
       m02 = GetFreeMemForAllocateMemory() => 0xe1f9c
[Pass] p = (void*)_alloc_dma_memory(128*1024) => 0x40bc20f0
[Pass] UNCACHEABLE(p) => 0x40bc20f0
[Pass] CACHEABLE(p) => 0xbc20f0
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40bc20f0
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(16*1024*1024) => 0x42204084
[Pass] UNCACHEABLE(p) => 0x42204084
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x44158
       m12 = GetFreeMemForAllocateMemory() => 0xe1f9c
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(16*1024*1024) => 0xbbb30
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xbbb58
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xbbb30
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1f68000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xbbb58
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1f68000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       largest_shoot_block = suite->size => 0x1f68000
[INFO] largest_shoot_block: 31MB
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(largest_shoot_block + 1024*1024) => 0xbbb30
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x2
[Pass] suite->size => 0x2068000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xbbb58
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1df8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       chunk = GetNextMemoryChunk(suite, chunk) => 0xbbbb8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2068000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x2068000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xbbb30
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x3
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xbbb58
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1df8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       chunk = GetNextMemoryChunk(suite, chunk) => 0xbbbb8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x29fc000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xbbbf0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x16a01c
[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) => 0x16a000
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x169fe0
[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) => 0x169400be
[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) => 0x16960094
[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) => 0x16980318
[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) => 0x169a00a4
[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
[Pass] is_pure_play_movie_mode() => 0x1
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
=========================================================
Test complete, 11457 passed, 5 failed.
.

#19
600D 103 API TEST
===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-5-6 00:26:13
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 101
    apex = 5.625
    ms = 20
    value = 0.020263
  aperture = table:
    raw = 47
    apex = 4.875
    value = 5.4
    min = table:
      raw = 47
      apex = 4.875
      value = 5.4
    max = table:
      raw = 90
      apex = 10.250001
      value = 34.799999
  iso = table:
    raw = 104
    apex = 9.
    value = 1600
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 4700
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS REBEL T3i"
  model_short = "600D"
  firmware = "1.0.3"
  temperature = 167
  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:
  show = function: p
  clear = function: p
  write = function: p
  hide = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  resume = function: p
  info = function: p
  wait = function: p
  pause = function: p
  start = function: p
  stop = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS"
  focal_length = 49
  focus_distance = 655350
  hyperfocal = 23499
  dof_near = 22692
  dof_far = 1000000
  af = false
  af_mode = 3
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  rect = function: p
  on = function: p
  circle = function: p
  draw = function: p
  pixel = function: p
  notify_box = function: p
  screenshot = function: p
  print = function: p
  clear = function: p
  load = function: p
  line = function: p
  off = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  select = function: p
  close = function: p
  set = function: p
  block = function: p
  open = function: p
  get = function: p
  new = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 8
  ms_clock = 8875
  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 = 8192
    drive_letter = "B"
    file_number = 9976
    folder_number = 100
    free_space = 15567104
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 8192
    drive_letter = "B"
    file_number = 9976
    folder_number = 100
    free_space = 15567104
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    min = 26
    isdst = false
    sec = 14
    year = 2018
    day = 6
    month = 5
    hour = 0
    yday = 1
    wday = 7
  remove = function: p
  call = function: p
  rename = 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 '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...
Exit MENU mode...
Start LiveView...
Stop LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Stop LiveView...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Enter MENU 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...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Start LiveView...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Exit PLAY 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_9977.CR2 not found.
B:/DCIM/100CANON/IMG_9977.JPG not found.


600D 102 API Test
===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-5-6 00:18:23
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 101
    apex = 5.625
    ms = 20
    value = 0.020263
  aperture = table:
    raw = 47
    apex = 4.875
    value = 5.4
    min = table:
      raw = 47
      apex = 4.875
      value = 5.4
    max = table:
      raw = 90
      apex = 10.250001
      value = 34.799999
  iso = table:
    raw = 104
    apex = 9.
    value = 1600
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 4700
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS REBEL T3i"
  model_short = "600D"
  firmware = "1.0.2"
  temperature = 165
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  bulb = function: p
  burst = function: p
  reboot = function: p
  shoot = 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:
  clear = function: p
  show = function: p
  hide = function: p
  write = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  resume = function: p
  stop = function: p
  wait = function: p
  info = function: p
  pause = function: p
  start = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS"
  focal_length = 49
  focus_distance = 655350
  hyperfocal = 23499
  dof_near = 22692
  dof_far = 1000000
  af = false
  af_mode = 3
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  print = function: p
  on = function: p
  screenshot = function: p
  draw = function: p
  line = function: p
  load = function: p
  pixel = function: p
  notify_box = function: p
  off = function: p
  clear = function: p
  circle = function: p
  rect = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  new = function: p
  open = function: p
  close = function: p
  block = function: p
  select = function: p
  set = function: p
  get = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 29
  ms_clock = 29294
  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 = 8192
    drive_letter = "B"
    file_number = 9974
    folder_number = 100
    free_space = 15527360
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 8192
    drive_letter = "B"
    file_number = 9974
    folder_number = 100
    free_space = 15527360
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    month = 5
    sec = 24
    day = 6
    isdst = false
    yday = 1
    hour = 0
    year = 2018
    min = 18
    wday = 7
  call = function: p
  directory = function: p
  remove = 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 '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...
Exit MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Start LiveView...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
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_9975.CR2 not found.
B:/DCIM/100CANON/IMG_9975.JPG not found.
#20
Quote from: a1ex on May 02, 2018, 12:18:55 PM
Does that work in the current lua_fix experimental build?

Additionally, can you open ML submenus (e.g. options for Zebras or Magic Zoom) with the same build?

I tried this on both 1.02 and 1.03 and I get the exact same results, no problem with Format changing option with Q button in Live View or Without Live view.

As for ML submenus, these can be used only while in Photo Mode without Live View, once you turn on Live View or Moviemode, it seems like Q button no longer works with ML menus to get in the Submenus, BUT, the Play button seems to work as the Q button. So I can get in and out of Submenus with Play button and Q button in Photo Mode no Live View  and In Live View or Movie mode only Play button allows use of Submenus.
#21
Quote from: ahmedvienna on April 15, 2018, 02:33:53 PM
I am trying to implement sd_uhs on my 6d. using the latest nightbuild.  have an error when I do it.  can anyone assist me.

You need to be using the crop_rec_4k build, not latest nightly.
#22
Yes, using it in Photomode, non live view will def work fine, but, when in Movie mode and Raw enabled somehow, its important to note, the module will cause memory error.

I normally start in Photomode myself, but wanted to point out to the other user about maybe why he was getting the malloc error in case he might have been using movie mode with MLV On.
#23
Quote from: loknar on April 14, 2018, 08:16:20 PM

Then I could record videos with high bitrate. Once i switched camera off and on again memory patch wasn't (obviously) applied, so i tried to enable SD hack again, but i've got this:
===================
2018/04/10 08:29:10
===================
Before the hack: malloc error
[best 66MB/s]
SDR50 @ 96MHz  : malloc error
[best 66MB/s]
SDR50 @ 96MHz  : malloc error
[best 66MB/s]
SDR50 @ 80MHz  : malloc error
[best 66MB/s]
SDR50 @ 80MHz  : malloc error
[best 66MB/s]
SDR50 @ 120MHz : malloc error
[best 66MB/s]
SDR50 @ 120MHz : malloc error
[best 66MB/s]
SDR104 @ 96MHz : malloc error
[best 66MB/s]
SDR104 @ 96MHz : malloc error
[best 66MB/s]
SDR104 @ 80MHz : malloc error
[best 66MB/s]
SDR104 @ 80MHz : malloc error
[best 66MB/s]
SDR104 @ 120MHz: malloc error
[best 66MB/s]
SDR104 @ 120MHz: malloc error
[best 66MB/s]
SDR104 @ 132MHz: malloc error
[best 66MB/s]
SDR104 @ 132MHz: malloc error
[best 66MB/s]
SDR104 @ 160MHz: malloc error
[best 66MB/s]
SDR104 @ 160MHz: malloc error
[best 66MB/s]

Done.
Please run THOROUGH tests before using!!!

Strangely enough, after this memory patch have been applied and i could continue recording with high bitrate.
I wanted to ask if is it possible to streamline usage of the hack (like add menu "apply saved SD clock values", or to avoid opening console), but since you retracted the module, i don't know whether you intend to explore this more. (And as far as i'm concerned i'm not giving this module back :D )

I only get memory error if I am in movie mode with MLV-Lite or MLV-REC turned ON, make sure these modules are off before you run this card speed module, once it is working, then ok to turn ON the MLV modules you want to use.

Obviously if you turn off camera, you will need to go through same procedure in same order again next time you turn camera on if you want the card speed boost.

Not sure if this memory error is normal, or how it was expected to work, but, thats when I get the memory error, if I do it in the right order, all is good.
#24
Camera-specific Development / Re: Canon 550D / T2i
April 15, 2018, 08:43:18 PM
Quote from: loknar on April 15, 2018, 06:21:11 PM
so i don't  even remember how it should behave

Yeah, it is def not how it should behave, already made sure of that by downgrading back to 109 to be sure, and my other models do not behave that way, Display you def come back to the setting it was at, or by default, come back as On, you should not need to press Display button to bring it back everytime you restart camera and you should not have to wait either, 109 works fine, this version will to, once the issue is figured out.
#25
Quote from: a1ex on April 15, 2018, 11:41:22 AM
Boo. OK, maybe these messages refer to the AF assist light from the external flash, rather than the front LED on the camera.
I do have an external flash with the red pattern flash like on Canon speedlight, its just not a Canon.

I tried it with that also, and nothing happens on camera or external flash, if that helps?