simonmitchell / rocc

A Swift framework for remote control of digital Cameras
MIT License
123 stars 15 forks source link

Investigate 40401 error on RX0 #20

Open simonmitchell opened 4 years ago

simonmitchell commented 4 years ago

Steps to reproduce:

Try and call getCameraFunction rapidly after just connecting to RX0.

Actual behavior:

The function call returns a 40401 error (Camera not ready)

Expected behavior:

This function call should not return a 40401

System configuration

Rocc version:

1.0.2

iOS/macOS version:

iOS 13.2.1

Camera manufacturer and model:

Sony RX0

simonmitchell commented 4 years ago

Attached are logs:

2019-12-05T12:10:08Z [RequestController] Request: http://192.168.122.1:10000/sony/camera
2019-12-05T12:10:08Z [RequestController]
URL: http://192.168.122.1:10000/sony/camera
Method: POST
Request Headers: ["Content-Type": "application/json"]
Body: {"version":"1.0","method":"getAvailableApiList","params":[],"id":1}

Response Status: 200
Response Body: {"id":1,"result":[["getAvailableApiList","setShootMode","getShootMode","getSupportedShootMode","getAvailableShootMode","getSupportedSelfTimer","getSupportedMovieQuality","startLiveview","stopLiveview","setExposureMode","getExposureMode","getSupportedExposureMode","getAvailableExposureMode","setFocusMode","getFocusMode","getSupportedFocusMode","getAvailableFocusMode","getStorageInformation","setExposureCompensation","getExposureCompensation","getSupportedExposureCompensation","getAvailableExposureCompensation","getFNumber","getSupportedFNumber","getAvailableFNumber","setWhiteBalance","getWhiteBalance","getSupportedWhiteBalance","getAvailableWhiteBalance","getShutterSpeed","getSupportedShutterSpeed","getAvailableShutterSpeed","setIsoSpeedRate","getIsoSpeedRate","getSupportedIsoSpeedRate","getAvailableIsoSpeedRate","actHalfPressShutter","cancelHalfPressShutter","startContShooting","stopContShooting","getSupportedMovieFileFormat","setContShootingMode","getContShootingMode","getSupportedContShootingMode","getAvailableContShootingMode","setNearModeInPF","getNearModeInPF","getSupportedNearModeInPF","getAvailableNearModeInPF","getApplicationInfo","getEvent","getTemporarilyUnavailableApiList"]]}

2019-12-05T12:10:17Z [RequestController] Request: http://192.168.122.1:10000/sony/camera
2019-12-05T12:10:17Z [RequestController]
URL: http://192.168.122.1:10000/sony/camera
Method: POST
Request Headers: ["Content-Type": "application/json"]
Body: {"id":1,"version":"1.0","method":"getAvailableShootMode","params":[]}

Response Status: 200
Response Body: {"id":1,"result":["still",["still","movie","super slow rec"]]}

2019-12-05T12:10:17Z [RequestController] Request: http://192.168.122.1:10000/sony/camera
2019-12-05T12:10:17Z [RequestController]
URL: http://192.168.122.1:10000/sony/camera
Method: POST
Request Headers: ["Content-Type": "application/json"]
Body: {"version":"1.0","method":"getCameraFunction","params":[],"id":1}

Response Status: 200
Response Body: {"error":[40401,""],"id":1}

According to the user, when clicking "Retry" in-app this never resolves itself. This could mean that the RX0 doesn't support this function, however will need to access further logs to confirm/deny this. I'm tempted to just try not making this call for this camera, unfortunately Sony doesn't cover the RX0 in their docs, and I don't own one so we'll be relying on the reporter of the issue for this one!