1# Copyright 2013 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15import its.caps 16import its.device 17 18import numpy as np 19 20 21def main(): 22 """Basic test for bring-up of 3A. 23 24 To pass, 3A must converge. Check that the returned 3A values are legal. 25 """ 26 27 with its.device.ItsSession() as cam: 28 props = cam.get_camera_properties() 29 its.caps.skip_unless(its.caps.read_3a(props)) 30 mono_camera = its.caps.mono_camera(props) 31 32 sens, exp, gains, xform, focus = cam.do_3a(get_results=True, 33 mono_camera=mono_camera) 34 print 'AE: sensitivity %d, exposure %dms' % (sens, exp/1000000) 35 print 'AWB: gains', gains, 'transform', xform 36 print 'AF: distance', focus 37 assert sens > 0 38 assert exp > 0 39 assert len(gains) == 4 40 for g in gains: 41 assert not np.isnan(g) 42 assert len(xform) == 9 43 for x in xform: 44 assert not np.isnan(x) 45 assert focus >= 0 46 47if __name__ == '__main__': 48 main() 49 50