{
    "$id": "https://exampleremsdaq.com/callisto4.schema.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Callisto 4 bootloader configuration",
    "description": "Callisto 4 bootloader configuration specifies current and recovery image locations as well as being used to implement application upgrade.",
    "type": "object",
    "properties": {
	"version": "string",
	"description": "Bootloader configuration version in the form maj.min.rev",
	"PlatformApp": {
	    "type": "object",
	    "properties": {
		"Tag": "designation",
		"Application": "LocSize",
		"Config": "LocSize"
		"AppAddress": {
		    "type": "HexDigit",
		    "description": "Location of  application in Flash memory. The Tag specifies whether this is the address to run at Boot, the Current image, the Recovery image or a space to ."
		},
		"AppSize": {
		"ConfigAddress": {
		    "type": "HexDigit",
	    }
	},
	"Plugin": {
	    "type": "object",
	    "properties": {
		"Tag": "designation",
		"address": {
		    "type": "array",
		    "items": {
			"type": "HexDigit"
		    }
		}
	    }
	    "Arguments": {
		"type": "object",
		"properties": {
		    "Tag": "designation",
		    "address": {
		    "type": "HexDigit",
		    "description": "Location of Platform application to be run on boot."
		}
	    }
	}
		
	},
    },
    
    "checksum": {
	"type": "HexDigit",
	"description": "CRC to verify that configuration is correct"
    },
    "definitions": {
	"designation": {
	    "type": "string",
	    "enum": ["boot", "current", "recovery", "update"]
	}
    },
    "examples": [ {
	"version": "1.0.1",
	"PlatformApp": {
	    "Tag": "Boot",
	    "Address": 60080000
	},
	"PlatformApp": {
	    "Tag": "Current",
	    "Address": 60180000
	},
	"PlatformApp": {
	    "Tag": "Recovery",
	    "Address": 60280000
	},
	"PlatformApp": {
	    "Tag": "Update",
	    "Address": 60380000
	},
	"Plugin": {
	    "Tag": "Boot",
	    "Address": [60100000, 60130000, 60160000, 60190000, 601C0000]
	},
	"Plugin": {
	    "Tag": "Current",
	    "Address": [60100000, 60130000, 60160000, 60190000, 601C0000]
	},	
	"Plugin": {
	    "Tag": "Recovery",
	    "Address": [60100000, 60130000, 60160000, 60190000, 601C0000]
	},	
	"Plugin": {
	    "Tag": "Update",
	    "Address": [60100000, 60130000, 60160000, 60190000, 601C0000]
	}
	"Checksum": 12345678
    ]
}
