Search code examples
androidsony-camera-api

Sony remote camera API QX 10, Error 1


I got "Error 1" without any comment as a response for most of my requests to Sony qx10 (last firmware 3.00).

For example:

03-10 13:22:50.830: D/SimpleRemoteApi(4418): Request:  {"method":"getAvailableExposureCompensation","params":[],"id":11,"version":"1.0"}
03-10 13:22:51.012: D/SimpleRemoteApi(4418): Response: {"error":[1,""],"id":11}

Same result have

  • getAvailableWhiteBalance
  • getAvailableIsoSpeedRate
  • getAvailableExposureCompensation

But getAvailableStillSize returns proper response with list of image sizes.

Also getAvailableFocusMode returns error "40401, Camera Not Ready". What does it mean? Liveview is started, and camera is sending images to phone.

All my request are sent in this way (just a bit modified code from example SDK):

public JSONObject getSomeParameter() throws IOException {
    String service = "camera";
    try {
        JSONObject requestJson =
                new JSONObject().put("method", "getSomeParameter") //
                        .put("params", new JSONArray()).put("id", id()) //
                        .put("version", "1.0");
        String url = findActionListUrl(service) + "/" + service;

        log("Request:  " + requestJson.toString());
        String responseJson = SimpleHttpClient.httpPost(url, requestJson.toString());
        log("Response: " + responseJson);
        return new JSONObject(responseJson);
    } catch (JSONException e) {
        throw new IOException(e);
    }
}

My questions are:

  1. How to solve error 1?
  2. How to solve error 40401?
  3. Is there more detailed documentation for errors and other stuff, then PDF supplied with SDK usage example?

Solution

  • To get availability to control settings of camera (such as Exposure compensation, WB mode, ISO mode) you should call "setExposureMode" with parameter "Program Auto".