Does the Kompact allow use of Camera2 API? A yes means that could (perhaps) also run Open-Camera-Sensors.
I’m not sure what that means. Is that an app?
No.
API = Application Programming Interface
I recieved this reply in email, which may help:
“Yes to Camera2, but not to the part of Open Camera Sensors that matters.
Checked on a Kompakt (Android 12, API 31). The camera reports:
-
Hardware level: FULL
-
Capabilities: BACKWARD_COMPATIBLE, MANUAL_SENSOR, MANUAL_POST_PROCESSING,
READ_SENSOR_SETTINGS -
SYNC_MAX_LATENCY: PER_FRAME_CONTROL
-
Exposure 100 us - 400 ms, ISO 100-2400
-
One camera, rear only - 3264x2448 stills, 1080p30 video, no RAW
-
SENSOR_INFO_TIMESTAMP_SOURCE: UNKNOWN
Full Camera2 with manual sensor control and per-frame control, which is better
than most e-ink phones manage. But that last line is the blocker. Open Camera
Sensors gates camera-IMU synchronisation on exactly one thing:
public boolean supportsVideoImuSync() {
Integer source = characteristics.get(
CameraCharacteristics.SENSOR_INFO_TIMESTAMP_SOURCE);
return source != null
&& source == CameraMetadata.SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME;
}
UNKNOWN isn’t REALTIME, so that returns false. Frame timestamps don’t share a
clock with SensorEvent.timestamp, and there’s no fixed offset to correct for -
which is the whole point of the fork. RecSync is out for the same reason. Their
README is upfront about it: “Smartphones are required to support real-time
timestamping to be correctly synchronized.”
I installed it anyway (v1.48.3.1, package com.opencamera_sensors.app - it
coexists with regular Open Camera). Preview and manual controls work fine.
Settings crashes with an NPE at MyPreferenceFragment.java:895, on the branch you
only reach if the device passes the Camera2 check, so it’s devices like this one
that trip it.
The IMU itself is fine - gyro to 400 Hz, accel to 200 Hz, both with a
4500-event FIFO. It’s the clock that’s missing, not the sensors.”
@notyet I will have to ask our team about this because I honestly don’t know.