Craig, thank you very much for the quality of your response
I can confirm that my application reacts correctly to the value of the state field (done or inProgress after /osc/commands/execute or /osc/commands/status).
Here are the settings I am using (7 shots - Z1) :
1- ISO 100 - aperture 2.1 - shutter_speed 0.625 - color_temprature 2500
2- ISO 100 - aperture 2.1 - shutter_speed 0.16666666 - color_temprature 2500
3- ISO 100 - aperture 2.1 - shutter_speed 0.04 - color_temprature 2500
4- ISO 100 - aperture 2.1 - shutter_speed 0.01 - color_temprature 2500
5- ISO 100 - aperture 2.1 - shutter_speed 0.0025 - color_temprature 2500
6- ISO 100 - aperture 2.1 - shutter_speed 0.000625 - color_temprature 2500
7- ISO 100 - aperture 2.1 - shutter_speed 0.00015625 - color_temprature 2500
Exemple of sequence (7/10 it’s work):
1- /osc/commands/execute camera.setOptions (shutter_speed: 0.625…) -> done
2- /osc/commands/execute camera.takePicture -> done
3- /osc/commands/execute camera.setOptions (shutter_speed: 0.16666666…) -> done
4- /osc/commands/execute camera.takePicture -> done
3- /osc/commands/execute camera.setOptions (shutter_speed: 0.04…) -> done
4- /osc/commands/execute camera.takePicture -> inProgress (“id”:“333”)
5- wait 4s
6- /osc/commands/status (“id”:“333”) -> inProgress
7- wait 4s
8- /osc/commands/status (“id”:“333”) -> inProgress
9- wait 4s
10- /osc/commands/status (“id”:“333”) -> inProgress
… (Loop: the state is always inProgress)
I just added the call to /osc/state when I exceed the limit (> 10 status inProgress) here is the result I got:
{
"fingerprint": "FIG_0092",
"state": {
"_apiVersion": 2,
"batteryLevel": 0.76,
"_batteryState": "disconnect",
"_cameraError": [
"NO_DATE_SETTING"
],
"_captureStatus": "idle",
"_capturedPictures": 0,
"_compositeShootingElapsedTime": 0,
"_function": "normal",
"_latestFileUrl": "http://192.168.1.1/files/90014a6843396150330100a0e99a8700/100RICOH/R0010333.JPG",
"_mySettingChanged": false,
"_pluginRunning": false,
"_pluginWebServer": true,
"_recordableTime": 0,
"_recordedTime": 0,
"storageUri": "http://192.168.1.1/files/90014a6843396150330100a0e99a8700/"
}
}
To get the error “serviceUnavailable” I have to call /osc/commands/execute…
My impression is as follows:
- your tests show that with your equipment (computer and command line tools) the results are very stable
- my tests show that with my equipment (ios application - on iOS 14) something is going wrong …
The problem can come from the Payload sent … What surprises me is that my application has been working correctly for 3 years (without the slightest error on thousands of pictures taken).
I may have an explanation: when serializing JSON iOS represents floating point numbers to 15 decimal places, which might go something like: 2.1000000000000001 instead of 2.1… I will test…