Ok--sanity check. What would Walter do? Remove battery, remove card, reset custom settings, ah! Got through that sticking point but then the camera would just shut down after about a minute. Doh! Disable Auto Power off.
Here we go:
===============================================================================
ML/SCRIPTS/api_test.lua - 2017-2-19 20:23:08
===============================================================================
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 = 48
apex = 5
value = 5.599999
min = table:
raw = 13
apex = 0.624999
value = 1.2
max = table:
raw = 72
apex = 8
value = 16
iso = table:
raw = 92
apex = 7.5
value = 560
ec = table:
raw = 0
value = 0
flash_ec = table:
raw = 0
value = 0
kelvin = 5200
mode = 3
metering_mode = 3
drive_mode = 0
model = "Canon EOS 5D Mark III"
model_short = "5D3"
firmware = "1.3.4"
temperature = 160
state = 0
burst = function: p
reboot = function: p
bulb = function: p
shoot = function: p
event = table:
pre_shoot = nil
post_shoot = nil
shoot_task = nil
seconds_clock = nil
keypress = nil
custom_picture_taking = nil
intervalometer = nil
config_save = nil
console = table:
clear = function: p
write = function: p
show = function: p
hide = function: p
lv = table:
enabled = true
paused = false
running = true
zoom = 1
resume = function: p
wait = function: p
info = function: p
pause = function: p
start = function: p
stop = function: p
lens = table:
name = "EF50mm f/1.2L USM"
focal_length = 101
focus_distance = 261120
hyperfocal = 62915
dof_near = 50655
dof_far = 1000000
af = true
af_mode = 0
autofocus = function: p
focus = function: p
display = table:
idle = true
height = 480
width = 720
on = function: p
screenshot = function: p
line = function: p
load = function: p
off = function: p
clear = function: p
notify_box = function: p
pixel = function: p
draw = function: p
circle = function: p
rect = function: p
print = function: p
key = table:
last = 20
wait = function: p
press = function: p
menu = table:
visible = false
close = function: p
set = function: p
new = function: p
block = function: p
get = function: p
open = function: p
movie = table:
recording = false
start = function: p
stop = function: p
dryos = table:
clock = 14
ms_clock = 14657
prefix = "1Y7A"
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/100EOS5D/"
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 = 131072
drive_letter = "B"
file_number = 2502
folder_number = 100
free_space = 62705152
type = "SD"
_card_ptr = userdata
path = "B:/"
shooting_card = table:
cluster_size = 131072
drive_letter = "B"
file_number = 2502
folder_number = 100
free_space = 62705152
type = "SD"
_card_ptr = userdata
path = "B:/"
date = table:
wday = 1
day = 19
month = 2
sec = 10
isdst = false
year = 2017
hour = 20
min = 23
yday = 50
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:
level = 49
id = 0
performance = 3
time = nil
drain_rate = 33
task = 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 half-shutter...
Half-shutter test OK.
Testing module 'lv'...
LiveView is running; stopping...
Starting LiveView...
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: 261120
Autofocus in LiveView...
Focus distance: 261120
Focusing backward...
Focus distance: 261120
Focusing forward with step size 3, wait=true...
.......................
Focus distance: 261120
Focusing backward with step size 3, wait=true...
.......................
Focus distance: 261120
Focus range: 23 steps forward, 23 steps backward.
Focusing forward with step size 3, wait=false...
...
Focus distance: 261120
Focusing backward with step size 3, wait=false...
...
Focus distance: 261120
Focus range: 106 steps forward, 108 steps backward.
Focusing forward with step size 2, wait=true...
...
Focus distance: 261120
Focusing backward with step size 2, wait=true...
...
Focus distance: 261120
Focus range: 161 steps forward, 162 steps backward.
Focusing forward with step size 2, wait=false...
...
Focus distance: 261120
Focusing backward with step size 2, wait=false...
...
Focus distance: 261120
Focus range: 482 steps forward, 485 steps backward.
Focusing forward with step size 1, wait=true...
...
Focus distance: 261120
Focusing backward with step size 1, wait=true...
...
Focus distance: 261120
Focus range: 1237 steps forward, 1235 steps backward.
Focusing forward with step size 1, wait=false...
...
Focus distance: 261120
Focusing backward with step size 1, wait=false...
...
Focus distance: 261120
Focus range: 1679 steps forward, 1681 steps backward.
Focus test completed.
Testing picture taking functions...
Snap simulation test...
Single picture...
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
Bulb picture...
Elapsed time: 13658
Picture taking tests completed.
Testing exposure settings...
Camera : Canon EOS 5D Mark III (5D3) 1.3.4
Lens : EF50mm f/1.2L USM
Shoot mode: 3
Shutter : Ç50 (raw 101, 0.020263s, 20ms, apex 5.625)
Aperture : Å5.6 (raw 48, f/5.599999, apex 5)
Av range : Å1.2..Å16 (raw 13..72, f/1.2..f/16, apex 0.624999..8)
ISO : 560 (raw 92, 560, apex 7.5)
EC : 0.0 (raw 0, 0 EV)
Flash EC : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.
Testing movie recording...
Please switch to Movie mode.
Movie recording tests completed.
Done!
A few interesting observations. The 113 firmware gave one error while the 134 firmware seemed to pass all tests:
Setting aperture to random values...
Error: aperture delta 0.25 EV (expected < 0.1875, Å11, method=3)
I have a couple of borrowed lenses for these tests, a gorgeous 50mm f1.2 L USM and a curious looking Canon 40mm f/2.8 STM. The STM lens focused much quicker and quieter than the USM lens. Here is just the focus section for the lua API test run with the 40mm "pancake" lens:
===============================================================================
ML/SCRIPTS/api_test.lua - 2017-2-19 20:49:13
===============================================================================
...
Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 473600
Autofocus in LiveView...
Focus distance: 473600
Focusing backward...
Focus distance: 483840
Focusing forward with step size 3, wait=true...
.........
Focus distance: 432640
Focusing backward with step size 3, wait=true...
..........
Focus distance: 483840
Focus range: 9 steps forward, 10 steps backward.
Focusing forward with step size 3, wait=false...
...
Focus distance: 432640
Focusing backward with step size 3, wait=false...
...
Focus distance: 483840
Focus range: 151 steps forward, 146 steps backward.
Focusing forward with step size 2, wait=true...
................................................................
Focus distance: 432640
Focusing backward with step size 2, wait=true...
................................................................
Focus distance: 483840
Focus range: 64 steps forward, 64 steps backward.
Focusing forward with step size 2, wait=false...
...
Focus distance: 432640
Focusing backward with step size 2, wait=false...
...
Focus distance: 483840
Focus range: 224 steps forward, 220 steps backward.
Focusing forward with step size 1, wait=true...
Focus distance: 483840
Focusing backward with step size 1, wait=true...
Focus distance: 483840
Focus range: 0 steps forward, 0 steps backward.
Focusing forward with step size 1, wait=false...
.
Focus distance: 483840
Focusing backward with step size 1, wait=false...
Focus distance: 483840
Focus range: 1 steps forward, 0 steps backward.
Focus test completed.
Testing picture taking functions...
Snap simulation test...
Single picture...
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
Bulb picture...
Elapsed time: 13680
Picture taking tests completed.
Testing exposure settings...
Camera : Canon EOS 5D Mark III (5D3) 1.3.4
Lens : EF40mm f/2.8 STM
So the good new is that it looks like this 1.3.4 build is passing all the tests. The bad new is that there are still some wrinkles to iron out.
adtg_gui from the unified branch is reporting the wrong CMOS[0] values that are needed for dual_iso and the adtg_gui from the iso-research branch is crashing. I'm pretty sure that I got the right values for 134 to work:
else if (is_camera("5D3", "1.3.4"))
{
ADTG_WRITE_FUNC = 0xE440; // 0xFFA02514 - RAM_OFFSET
CMOS_WRITE_FUNC = 0xE7CC; // 0xFFA028A0 - RAM_OFFSET
CMOS2_WRITE_FUNC = 0xE584; // 0xFFA02658 - RAM_OFFSET
CMOS16_WRITE_FUNC = 0xE8B8; // 0xFFA0298C - RAM_OFFSET
ENGIO_WRITE_FUNC = 0xFF2910FC+8;
ENG_DRV_OUT_FUNC = 0xFF290DE4;
}
Yeah, ENGIO_WRITE_FUNC is funky but I took that from the 123 code.
There is also some Canon menu flashing when first opening the ML menu with LiveView off.