{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"title": "Pulse Position Modulation",
	"description": "Laser pulse position modulation used for MTA resolution",
	"type": "object",
	"properties": {
		"length": {
			"type": "integer",
			"description": "Length of code",
			"minimum": 0,
			"maximum": 255
		},
		"num_mod_ampl": {
			"type": "integer",
			"description": "Number of different modulation amplitudes (2: binary modulation)",
			"minimum": 0,
			"maximum": 255
		},
		"code_phase_mode": {
			"type": "integer",
			"description": "0: no synchronization, 1: toggle between 2 phases, 2: increment with phase_increment",
			"minimum": 0,
			"maximum": 255
		},
		"phase_step": {
			"type": "integer",
			"description": "Step width in phase of modulation code from line to line",
			"minimum": 0,
			"maximum": 255
		},
		"pulse_interval": {
			"type": "array",
			"description": "Explicit table of the pulse position modulation used for MTA resolution. Table gives times between successive laser pulses in seconds.",
			"items": {
				"type": "number",
				"minimum": 0
			}
		}
	},
	"required": [
		"length",
		"num_mod_ampl",
		"pulse_interval"
	]
}