{ "definitions": { "BaseModel": { "properties": {}, "title": "BaseModel", "type": "object" }, "HarpAnalogInput": { "properties": { "device_type": { "const": "analoginput", "default": "analoginput", "title": "Device Type", "type": "string" }, "additional_settings": { "default": null, "description": "Additional settings", "oneOf": [ { "$ref": "#/definitions/BaseModel" }, { "type": "null" } ] }, "calibration": { "default": null, "description": "Calibration", "oneOf": [ { "$ref": "#/definitions/BaseModel" }, { "type": "null" } ] }, "who_am_i": { "const": 1236, "default": 1236, "title": "Who Am I", "type": "integer" }, "serial_number": { "default": null, "description": "Device serial number", "oneOf": [ { "type": "string" }, { "type": "null" } ], "title": "Serial Number" }, "port_name": { "description": "Device port name", "title": "Port Name", "type": "string" } }, "required": [ "port_name" ], "title": "HarpAnalogInput", "type": "object" }, "HarpClockGenerator": { "properties": { "device_type": { "const": "clockgenerator", "default": "clockgenerator", "title": "Device Type", "type": "string" }, "additional_settings": { "default": null, "description": "Additional settings", "oneOf": [ { "$ref": "#/definitions/BaseModel" }, { "type": "null" } ] }, "calibration": { "default": null, "description": "Calibration", "oneOf": [ { "$ref": "#/definitions/BaseModel" }, { "type": "null" } ] }, "who_am_i": { "const": 1158, "default": 1158, "title": "Who Am I", "type": "integer" }, "serial_number": { "default": null, "description": "Device serial number", "oneOf": [ { "type": "string" }, { "type": "null" } ], "title": "Serial Number" }, "port_name": { "description": "Device port name", "title": "Port Name", "type": "string" } }, "required": [ "port_name" ], "title": "HarpClockGenerator", "type": "object" }, "Olfactometer": { "properties": { "device_type": { "const": "olfactometer", "default": "olfactometer", "title": "Device Type", "type": "string" }, "additional_settings": { "default": null, "description": "Additional settings", "oneOf": [ { "$ref": "#/definitions/BaseModel" }, { "type": "null" } ] }, "calibration": { "default": null, "oneOf": [ { "$ref": "#/definitions/OlfactometerCalibration" }, { "type": "null" } ], "title": "Calibration of the olfactometer" }, "who_am_i": { "const": 1140, "default": 1140, "title": "Who Am I", "type": "integer" }, "serial_number": { "default": null, "description": "Device serial number", "oneOf": [ { "type": "string" }, { "type": "null" } ], "title": "Serial Number" }, "port_name": { "description": "Device port name", "title": "Port Name", "type": "string" } }, "required": [ "port_name" ], "title": "Olfactometer", "type": "object" }, "OlfactometerCalibration": { "description": "Olfactometer calibration class", "properties": { "device_name": { "default": "Olfactometer", "description": "Name of the device being calibrated", "title": "Device name", "type": "string" }, "input": { "allOf": [ { "$ref": "#/definitions/OlfactometerCalibrationInput" } ], "title": "Input of the calibration" }, "output": { "allOf": [ { "$ref": "#/definitions/OlfactometerCalibrationOutput" } ], "title": "Output of the calibration" }, "date": { "default": null, "oneOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Date" }, "description": { "const": "Calibration of the harp olfactometer device", "default": "Calibration of the harp olfactometer device", "title": "Description", "type": "string" }, "notes": { "default": null, "oneOf": [ { "type": "string" }, { "type": "null" } ], "title": "Notes" } }, "required": [ "input", "output" ], "title": "OlfactometerCalibration", "type": "object" }, "OlfactometerCalibrationInput": { "properties": { "channel_config": { "additionalProperties": { "$ref": "#/definitions/OlfactometerChannelConfig" }, "default": {}, "description": "Configuration of olfactometer channels", "title": "Channel Config", "type": "object" } }, "title": "OlfactometerCalibrationInput", "type": "object" }, "OlfactometerCalibrationOutput": { "properties": {}, "title": "OlfactometerCalibrationOutput", "type": "object" }, "OlfactometerChannelConfig": { "properties": { "channel_index": { "title": "Channel index", "type": "integer" }, "channel_type": { "allOf": [ { "$ref": "#/definitions/OlfactometerChannelType" } ], "default": "Odor", "title": "Channel type" }, "flow_rate_capacity": { "default": 100, "enum": [ 100, 1000 ], "title": "Flow capacity. mL/min", "type": "integer" }, "flow_rate": { "default": 100, "maximum": 100.0, "title": "Target flow rate. mL/min. If channel_type == CARRIER, this value is ignored.", "type": "number" }, "odorant": { "default": null, "oneOf": [ { "type": "string" }, { "type": "null" } ], "title": "Odorant name" }, "odorant_dilution": { "default": null, "oneOf": [ { "type": "number" }, { "type": "null" } ], "title": "Odorant dilution (%v/v)" } }, "required": [ "channel_index" ], "title": "OlfactometerChannelConfig", "type": "object" }, "OlfactometerChannelType": { "description": "Channel type", "enum": [ "Odor", "Carrier" ], "title": "OlfactometerChannelType", "type": "string" } }, "properties": { "version": { "const": "0.0.0", "default": "0.0.0", "title": "Version", "type": "string" }, "computer_name": { "description": "Computer name", "title": "Computer Name", "type": "string" }, "rig_name": { "description": "Rig name", "title": "Rig Name", "type": "string" }, "harp_olfactometer": { "allOf": [ { "$ref": "#/definitions/Olfactometer" } ], "title": "Olfactometer device" }, "harp_analog_input": { "allOf": [ { "$ref": "#/definitions/HarpAnalogInput" } ], "title": "Analog input device" }, "harp_clock_generator": { "allOf": [ { "$ref": "#/definitions/HarpClockGenerator" } ], "title": "Clock generator device" } }, "required": [ "rig_name", "harp_olfactometer", "harp_analog_input", "harp_clock_generator" ], "title": "CalibrationRig", "type": "object" }