Coverage for src/susi/io/camera_param_convertion.py: 84%

38 statements  

« prev     ^ index     » next       coverage.py v7.5.0, created at 2025-08-11 10:03 +0000

1""" 

2Parameter conversion functions 

3 

4Author: K. Heerlein 

5""" 

6 

7 

8def polynom2ndorder(f1, f2, offset, value): 

9 if isinstance(value, list): 

10 converted = [(x * x * f1 + x * f2 + offset) for x in value] 

11 else: 

12 converted = value * value * f1 + value * f2 + offset 

13 return converted 

14 

15 

16def convertADC15toTemperature(value, cf): 

17 cst1 = cf.cst_ADC15toTemperature_cst1 

18 cst2 = cf.cst_ADC15toTemperature_cst2 

19 offset = cf.cst_ADC15toTemperature_offs 

20 if isinstance(value, list): 

21 value = [float(x) for x in value] 

22 converted = [polynom2ndorder(cst1, cst2, offset, x) for x in value] 

23 else: 

24 converted = polynom2ndorder(cst1, cst2, offset, float(value)) 

25 format = '3.2f' 

26 unitstr = '[°C]' 

27 return converted, format, unitstr 

28 

29 

30def convertADC2toTemperature(value, cf): 

31 cst1 = cf.cst_ADC02toTemperature_cst1 

32 cst2 = cf.cst_ADC02toTemperature_cst2 

33 offset = cf.cst_ADC02toTemperature_offs 

34 if isinstance(value, list): 

35 converted = [polynom2ndorder(cst1, cst2, offset, float(x)) for x in value] 

36 else: 

37 value = float(value) 

38 converted = polynom2ndorder(cst1, cst2, offset, value) 

39 format = '3.2f' 

40 unitstr = '[°C]' 

41 

42 return converted, format, unitstr 

43 

44 

45def convertADC1toTemperature(value, cf): 

46 cst1 = cf.cst_ADC01toTemperature_cst1 

47 cst2 = cf.cst_ADC01toTemperature_cst2 

48 offset = cf.cst_ADC01toTemperature_offs 

49 if isinstance(value, list): 

50 converted = [polynom2ndorder(cst1, cst2, offset, float(x)) for x in value] 

51 else: 

52 value = float(value) 

53 converted = polynom2ndorder(cst1, cst2, offset, value) 

54 format = '3.2f' 

55 unitstr = '[°C]' 

56 

57 return converted, format, unitstr