280 lines
6.9 KiB
Markdown
280 lines
6.9 KiB
Markdown
|
|
---
|
|
<div style="display:flex;align-items:center;justify-content:center;flex-direction:column;" align="center">
|
|
<img style="width:10px;" src="https://www.digikey.com/-/media/Images/Vendors/B/web-belden.png?la=en-US&ts=db9a9e88-b1c7-415a-a252-934462927b19&w=200&h=100">
|
|
</div>
|
|
|
|
---
|
|
|
|
<div style="display:flex;align-items:center;justify-content:center;flex-direction:column;" align="center">
|
|
<h3><b>Belden Jukebox Front/Back Specification: </b></h3>
|
|
<p><b>This document outlines how data will be transmitted between the frontend and the backend.</b></p>
|
|
</div>
|
|
|
|
|
|
### Standard Object
|
|
All objects sent between the frontend and backend will follow this format.
|
|
|
|
```json
|
|
{
|
|
"type": "name_of_request",
|
|
"call": "send, request",
|
|
"data": {}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## CABLE_MAP Object
|
|
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
"type": "cable_map",
|
|
"call": "request",
|
|
"data": {}
|
|
}
|
|
|
|
One Liner: {"type":"cable_map","call":"request","data":{}}
|
|
```
|
|
|
|
### Back:
|
|
> Back -> Front
|
|
```json
|
|
{
|
|
"type": "cable_map",
|
|
"call": "send",
|
|
"data": {
|
|
"map": [
|
|
{
|
|
"part_number": 12345,
|
|
"position": 0, // 0-53
|
|
"name": "Fancy Displayable Name",
|
|
"brand": "Belden",
|
|
"description": "This is a good cable!",
|
|
"short_description": "Good cable!",
|
|
"image": "https://google.com"
|
|
}
|
|
// many more items
|
|
]
|
|
}
|
|
}
|
|
|
|
One Liner: {"type":"cable_map","call":"send","data":{"map":[{"part_number":12345,"position":0,"name":"Fancy Displayable Name","brand":"Belden","description":"This is a good cable!","short_description":"Good cable!"}]}}
|
|
```
|
|
|
|
|
|
## CABLE_DETAILS Object
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
"type": "cable_details",
|
|
"call": "request",
|
|
"data": {
|
|
"part_number": [12345, 67890, 54321, 98765],
|
|
"position": [0, 1, 2, 53]
|
|
}
|
|
}
|
|
|
|
One Liner: {"type":"cable_details","call":"request","data":{"part_number":[12345,67890,54321,98765],"position":[0,1,2,53]}}
|
|
```
|
|
|
|
### Back:
|
|
> Back -> Front
|
|
```json
|
|
{
|
|
"type": "cable_details",
|
|
"call": "send",
|
|
"data": {
|
|
"cables": [
|
|
{
|
|
"part_number": 12345,
|
|
"position": 0, // 0-53
|
|
"part_image_url": "https://belden.com",
|
|
"brand_image_url": "https://belden.com",
|
|
"extracted_object": {
|
|
// brand will be in here
|
|
}
|
|
}
|
|
// more cables
|
|
]
|
|
}
|
|
}
|
|
|
|
One Liner: {"type":"cable_details","call":"send","data":{"cables":[{"part_number":12345,"position":0,"part_image_url":"https://belden.com","brand_image_url":"https://belden.com","extracted_object":{}}]}}
|
|
```
|
|
|
|
---
|
|
## CABLE_SEARCH Object
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
"type": "cable_search",
|
|
"call": "request",
|
|
"data": {
|
|
"string": "name/part_number/type/category/etc"
|
|
}
|
|
}
|
|
|
|
One Liner: {"type":"cable_search","call":"request","data":{"string":"name/part_number/type/category/etc"}}
|
|
```
|
|
|
|
### Back:
|
|
> Back -> Front
|
|
```json
|
|
{
|
|
"type": "cable_search",
|
|
"call": "send",
|
|
"data": {
|
|
"cables": [
|
|
{
|
|
"part_number": 12345,
|
|
"position": 0, // 0-53
|
|
"part_image_url": "https://belden.com",
|
|
"brand_image_url": "https://belden.com",
|
|
"extracted_object": {
|
|
// brand will be in here
|
|
}
|
|
}
|
|
// more cables
|
|
]
|
|
}
|
|
}
|
|
|
|
One Liner: {"type":"cable_search","call":"send","data":{"cables":[{"part_number":12345,"position":0,"part_image_url":"https://belden.com","brand_image_url":"https://belden.com","extracted_object":{}}]}}
|
|
```
|
|
|
|
---
|
|
## KEYBOARD Object
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
"type": "keyboard",
|
|
"call": "request",
|
|
"data": {
|
|
"enabled": true
|
|
}
|
|
}
|
|
|
|
One Liner: {"type":"keyboard","call":"request","data":{"enabled":true}}
|
|
```
|
|
|
|
---
|
|
## MACHINE_SETTINGS Object
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
"type": "machine_settings",
|
|
"call": "request",
|
|
"data": {}
|
|
}
|
|
|
|
One Liner: {"type":"machine_settings","call":"request","data":{}}
|
|
```
|
|
|
|
### Back:
|
|
> Back -> Front
|
|
```json
|
|
{
|
|
"type": "machine_settings",
|
|
"call": "send",
|
|
"data": {
|
|
"settings": [
|
|
{
|
|
"setting_name": "text field",
|
|
"type": "text",
|
|
"advanced": true,
|
|
"current_value": "current value of seting"
|
|
},
|
|
{
|
|
"setting_name": "radio button",
|
|
"type": "radio",
|
|
"advanced": true,
|
|
"current_value": "option 1",
|
|
"radio_values": ["option 1", "option 2", "option 3"]
|
|
},
|
|
{
|
|
"setting_name": "check box",
|
|
"type": "check",
|
|
"advanced": true,
|
|
"current_value": ["option 1", "option 2"],
|
|
"radio_values": ["option 1", "option 2", "option 3"]
|
|
},
|
|
{
|
|
"setting_name": "enabled or disabled",
|
|
"type": "boolean",
|
|
"advanced": true,
|
|
"current_value": true
|
|
},
|
|
{
|
|
"setting_name": "slider bar",
|
|
"type": "slider",
|
|
"advanced": true,
|
|
"current_value": 50.0,
|
|
"min": -100.0,
|
|
"max": 100.0
|
|
},
|
|
{
|
|
"setting_name": "button",
|
|
"advanced": true,
|
|
"type": "button"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
One Liner: {"type":"machine_settings","call":"send","data":{"settings":[{"setting_name":"text field","type":"text","advanced":true,"current_value":"current value of seting"},{"setting_name":"radio button","type":"radio","advanced":true,"current_value":"option 1","radio_values":["option 1","option 2","option 3"]},{"setting_name":"check box","type":"check","advanced":true,"current_value":["option 1","option 2"],"radio_values":["option 1","option 2","option 3"]},{"setting_name":"enabled or disabled","type":"boolean","advanced":true,"current_value":true},{"setting_name":"slider bar","type":"slider","advanced":true,"current_value":50,"min":-100,"max":100},{"setting_name":"button","advanced":true,"type":"button"}]}}
|
|
```
|
|
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
"type": "machine_settings",
|
|
"call": "send",
|
|
"data": {
|
|
"settings": [
|
|
{
|
|
"setting_name": "text field",
|
|
"type": "text",
|
|
"new_value": "current value of seting"
|
|
},
|
|
{
|
|
"setting_name": "radio button",
|
|
"type": "radio",
|
|
"new_value": ["option 1", "option 2", "option 3"]
|
|
},
|
|
{
|
|
"setting_name": "check box",
|
|
"type": "check",
|
|
"new_value": ["option 1", "option 2", "option 3"]
|
|
},
|
|
{
|
|
"setting_name": "enabled or disabled",
|
|
"type": "boolean",
|
|
"new_value": false
|
|
},
|
|
{
|
|
"setting_name": "slider bar",
|
|
"type": "slider",
|
|
"new_value": 100.0
|
|
},
|
|
{
|
|
"setting_name": "button",
|
|
"type": "button",
|
|
"new_value": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
One Liner: {"type":"machine_settings","call":"send","data":{"settings":[{"setting_name":"text field","type":"text","new_value":"current value of seting"},{"setting_name":"radio button","type":"radio","new_value":["option 1","option 2","option 3"]},{"setting_name":"check box","type":"check","new_value":["option 1","option 2","option 3"]},{"setting_name":"enabled or disabled","type":"boolean","new_value":false},{"setting_name":"slider bar","type":"slider","new_value":100},{"setting_name":"button","type":"button","new_value":true}]}}
|
|
```
|
|
|
|
---
|