With Phil's latest build (thankfully uploaded to all cameras using existing chdkptp):
Test was:
lock_ptp_comms
switch to record
repeat x 8
preshoot->usb_sync_shoot->open 5V switch->download to PC->delete camera image
was successful.
On the 9th cycle, at download an I/O error occurred and cam2 made the usb disconnect sound.
romlog attached (date is as per camera).
Final section of cli trace:
___> !return mc:cmdwait('preshoot')
preshoot
=true,{
[1]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[2]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[3]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[4]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[5]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[6]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[7]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[8]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[9]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[10]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[11]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[12]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[13]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[14]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[15]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
[16]={
failed=false,
done=true,
status={
status=true,
cmd="preshoot",
},
},
}
___> !return mc:cmdwait('usb_sync_wait')
usb_sync_wait
=true,{
[1]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[2]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[3]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[4]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[5]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[6]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[7]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[8]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[9]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[10]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[11]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[12]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[13]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[14]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[15]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
[16]={
failed=false,
done=true,
status={
status=true,
cmd="usb_sync_wait",
},
},
}
___> !mc:download_images({lastimg=1,fmatch='JPG$'})
ERROR: call failed:I/O error
___> !mc:camstatus()
#1 connected
#2 NOT connected
#3 connected
#4 connected
#5 connected
#6 connected
#7 connected
#8 connected
#9 connected
#10 connected
#11 connected
#12 connected
#13 connected
#14 connected
#15 connected
#16 connected
Summary: 16 cameras (15 connected, 1 disconnected)
___>