287 lines
5.6 KiB
Markdown
287 lines
5.6 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: {
|
|
}
|
|
}
|
|
```
|
|
|
|
### Back:
|
|
> Back -> Front
|
|
```json
|
|
{
|
|
type: "cable_map"
|
|
call: "send"
|
|
data: {
|
|
map: [
|
|
item {
|
|
part_number: 12345
|
|
position: 0-53
|
|
name: "Fancy Displayable Name"
|
|
brand: "Belden"
|
|
description: "This is a good cable!"
|
|
short_description: "Good cable!"
|
|
}
|
|
... many more items
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
|
|
## CABLE_DETAILS Object
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
type: "cable_details"
|
|
call: "request"
|
|
data: {
|
|
part_number: [
|
|
12345,
|
|
67890,
|
|
...
|
|
]
|
|
position: [
|
|
0,
|
|
1,
|
|
2,
|
|
... 53
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Back:
|
|
> Back -> Front
|
|
```json
|
|
{
|
|
type: "cable_details"
|
|
call: "send"
|
|
data: {
|
|
cables: [
|
|
{
|
|
part_number: 12345
|
|
position: 0-53
|
|
part_image_url: "https://belden.com"
|
|
brand_image_url: "https://belden.com"
|
|
extracted_object: {
|
|
....... #brand will be in here
|
|
}
|
|
},
|
|
.....
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
## CABLE_SEARCH Object
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
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-53
|
|
part_image_url: "https://belden.com"
|
|
brand_image_url: "https://belden.com"
|
|
extracted_object: {
|
|
....... #brand will be in here
|
|
}
|
|
},
|
|
....
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
## KEYBOARD Object
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
type: "keyboard"
|
|
call: "request"
|
|
data: {
|
|
enabled: True / False
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
## MACHINE_SETTINGS Object
|
|
### Front:
|
|
> Front -> Back
|
|
```json
|
|
{
|
|
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 #Float
|
|
min: -100.0 #Float
|
|
max: 100.0 #Float
|
|
},
|
|
{
|
|
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 #Float
|
|
},
|
|
{
|
|
setting_name: "button"
|
|
type: "button"
|
|
new_value: True
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|