summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/data/uncalibrated.json
blob: 16a01e940b42236f13dc0ee7f6e05f18832859da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{
    "rpi.black_level":
    {
        "black_level": 4096
    },
    "rpi.awb":
    {
        "use_derivatives": 0,
        "bayes": 0
    },
    "rpi.agc":
    {
        "metering_modes":
        {
            "centre-weighted": {
                "weights": [4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0]
            }
        },
        "exposure_modes":
        {
            "normal":
            {
                "shutter": [ 100, 15000, 30000, 60000, 120000 ],
                "gain":    [ 1.0, 2.0,   3.0,   4.0,   6.0    ]
            }
        },
        "constraint_modes":
        {
            "normal":
            [
                { "bound": "LOWER", "q_lo": 0.98, "q_hi": 1.0, "y_target": [ 0, 0.4, 1000, 0.4 ] }
            ]
        },
        "y_target": [ 0, 0.16, 1000, 0.165, 10000, 0.17 ]
    },
    "rpi.ccm":
    {
        "ccms":
        [
            { "ct": 4000, "ccm": [ 2.0, -1.0, 0.0,   -0.5, 2.0, -0.5,   0, -1.0, 2.0 ] }
        ]
    },
    "rpi.contrast":
    {
        "ce_enable": 0,
        "gamma_curve": [
            0,     0,
            1024,  5040,
            2048,  9338,
            3072,  12356,
            4096,  15312,
            5120,  18051,
            6144,  20790,
            7168,  23193,
            8192,  25744,
            9216,  27942,
            10240, 30035,
            11264, 32005,
            12288, 33975,
            13312, 35815,
            14336, 37600,
            15360, 39168,
            16384, 40642,
            18432, 43379,
            20480, 45749,
            22528, 47753,
            24576, 49621,
            26624, 51253,
            28672, 52698,
            30720, 53796,
            32768, 54876,
            36864, 57012,
            40960, 58656,
            45056, 59954,
            49152, 61183,
            53248, 62355,
            57344, 63419,
            61440, 64476,
            65535, 65535
        ]
    }
}
opt">::slotDisconnect); } void slotInteger1(int value) { values_[0] = value; } void slotInteger2(int value) { values_[1] = value; } void slotMultiArgs(int value, const std::string &name) { values_[2] = value; name_ = name; } int slotReturn() { return 0; } int init() { return 0; } int run() { /* ----------------- Signal -> !Object tests ---------------- */ /* Test signal emission and reception. */ called_ = false; signalVoid_.connect(this, &SignalTest::slotVoid); signalVoid_.emit(); if (!called_) { cout << "Signal emission test failed" << endl; return TestFail; } /* Test signal with parameters. */ values_[2] = 0; name_.clear(); signalMultiArgs_.connect(this, &SignalTest::slotMultiArgs); signalMultiArgs_.emit(42, "H2G2"); if (values_[2] != 42 || name_ != "H2G2") { cout << "Signal parameters test failed" << endl; return TestFail; } /* Test signal connected to multiple slots. */ memset(values_, 0, sizeof(values_)); valueStatic_ = 0; signalInt_.connect(this, &SignalTest::slotInteger1); signalInt_.connect(this, &SignalTest::slotInteger2); signalInt_.connect(&slotStatic); signalInt_.emit(42); if (values_[0] != 42 || values_[1] != 42 || values_[2] != 0 || valueStatic_ != 42) { cout << "Signal multi slot test failed" << endl; return TestFail; } /* Test disconnection of a single slot. */ memset(values_, 0, sizeof(values_)); signalInt_.disconnect(this, &SignalTest::slotInteger2); signalInt_.emit(42); if (values_[0] != 42 || values_[1] != 0 || values_[2] != 0) { cout << "Signal slot disconnection test failed" << endl; return TestFail; } /* Test disconnection of a whole object. */ memset(values_, 0, sizeof(values_)); signalInt_.disconnect(this); signalInt_.emit(42); if (values_[0] != 0 || values_[1] != 0 || values_[2] != 0) { cout << "Signal object disconnection test failed" << endl; return TestFail; } /* Test disconnection of a whole signal. */ memset(values_, 0, sizeof(values_)); signalInt_.connect(this, &SignalTest::slotInteger1); signalInt_.connect(this, &SignalTest::slotInteger2); signalInt_.disconnect(); signalInt_.emit(42); if (values_[0] != 0 || values_[1] != 0 || values_[2] != 0) { cout << "Signal object disconnection test failed" << endl; return TestFail; } /* Test disconnection from slot. */ signalVoid_.disconnect();