Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
{
"SPDX-FileCopyrightText": "2014-2026 The Beach Lab <https://beachlab.org>",
"SPDX-License-Identifier": "MIT",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "message_protocol.schema.json",
"title": "Alphabets V2 message protocol packet",
"oneOf": [
{
"$ref": "#/$defs/displayDescribe"
},
{
"$ref": "#/$defs/displayDescription"
},
{
"$ref": "#/$defs/displayShow"
},
{
"$ref": "#/$defs/displayAccepted"
},
{
"$ref": "#/$defs/displayReady"
},
{
"$ref": "#/$defs/displayError"
}
],
"$defs": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"layout": {
"type": "object",
"additionalProperties": false,
"properties": {
"wrap": {
"enum": [
"word",
"character",
"none"
],
"default": "word"
},
"horizontal": {
"enum": [
"left",
"center",
"right"
],
"default": "center"
},
"vertical": {
"enum": [
"top",
"middle",
"bottom"
],
"default": "middle"
}
}
},
"displayDescribe": {
"type": "object",
"required": [
"v",
"id",
"type"
],
"additionalProperties": false,
"properties": {
"v": {
"const": 1
},
"id": {
"$ref": "#/$defs/id"
},
"type": {
"const": "display.describe"
}
}
},
"displayDescription": {
"type": "object",
"required": [
"v",
"id",
"type",
"display",
"modules",
"character_set"
],
"additionalProperties": false,
"properties": {
"v": {
"const": 1
},
"id": {
"$ref": "#/$defs/id"
},
"type": {
"const": "display.description"
},
"display": {
"type": "object",
"required": [
"rows",
"columns",
"cells",
"layout_revision"
],
"additionalProperties": false,
"properties": {
"rows": {
"type": "integer",
"minimum": 1,
"maximum": 255
},
"columns": {
"type": "integer",
"minimum": 1,
"maximum": 255
},
"cells": {
"type": "integer",
"minimum": 1,
"maximum": 255
},
"layout_revision": {
"type": "integer",
"minimum": 0
}
}
},
"modules": {
"type": "object",
"required": [
"discovered",
"state"
],
"additionalProperties": false,
"properties": {
"discovered": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"state": {
"enum": [
"ready",
"topology_fault",
"return_path_fault"
]
}
}
},
"character_set": {
"type": "object",
"required": [
"id",
"characters"
],
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"characters": {
"type": "string",
"minLength": 64,
"maxLength": 64
}
}
}
}
},
"displayShow": {
"type": "object",
"required": [
"v",
"id",
"type",
"text"
],
"additionalProperties": false,
"properties": {
"v": {
"const": 1
},
"id": {
"$ref": "#/$defs/id"
},
"type": {
"const": "display.show"
},
"text": {
"type": "string",
"maxLength": 1024
},
"layout_revision": {
"type": "integer",
"minimum": 0
},
"layout": {
"$ref": "#/$defs/layout"
}
}
},
"displayAccepted": {
"type": "object",
"required": [
"v",
"id",
"type",
"layout_revision",
"rendered"
],
"additionalProperties": false,
"properties": {
"v": {
"const": 1
},
"id": {
"$ref": "#/$defs/id"
},
"type": {
"const": "display.accepted"
},
"layout_revision": {
"type": "integer",
"minimum": 0
},
"rendered": {
"type": "array",
"minItems": 1,
"maxItems": 255,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 255
}
}
}
},
"displayReady": {
"type": "object",
"required": [
"v",
"id",
"type"
],
"additionalProperties": false,
"properties": {
"v": {
"const": 1
},
"id": {
"$ref": "#/$defs/id"
},
"type": {
"const": "display.ready"
}
}
},
"displayError": {
"type": "object",
"required": [
"v",
"id",
"type",
"code",
"message"
],
"additionalProperties": false,
"properties": {
"v": {
"const": 1
},
"id": {
"$ref": "#/$defs/id"
},
"type": {
"const": "display.error"
},
"code": {
"enum": [
"invalid_packet",
"unsupported_version",
"invalid_character",
"text_overflow",
"stale_layout",
"topology_fault",
"return_path_fault",
"busy",
"motion_timeout"
]
},
"message": {
"type": "string",
"minLength": 1
},
"details": {
"type": "object",
"additionalProperties": true,
"properties": {
"cells": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "integer",
"minimum": 0,
"maximum": 254
}
}
}
}
}
}
}
}
166172941This file is pinned to the selected release. Download the original to open it in your design tool.