ucan_json_parser
Version:
Parse JSON data to uCAN compatible byte streams
220 lines (217 loc) • 5.01 kB
JSON
[
{
"type": "relay",
"id": 1,
"frame_len": 1,
"signals":
{
"relay_open" : {
"byte": 0,
"bit": 0,
"size":1,
"description": "relay state to be set"
},
"relay_open_save" : {
"byte": 0,
"bit": 1,
"size":1,
"description": "relay state to be set after connection lost"
}
}
},
{
"type": "relay_status",
"id": 2,
"frame_len": 1,
"signals":
{
"relay_status" : {
"byte": 0,
"bit": 0,
"size":1,
"description": "relay status"
},
"relay_status_save" : {
"byte": 0,
"bit": 1,
"size":1,
"description": "relay status in case of connection lost"
}
}
},
{
"type": "line_motor",
"id": 3,
"frame_len": 3,
"signals":
{
"control_type" : {
"byte": 0,
"bit": 0,
"size":1,
"description": "What is controll mode for motor. 0 - Speed, 1 - Position"
},
"direction" : {
"byte": 0,
"bit": 4,
"size":1
},
"speed" : {
"byte": 1,
"bit": 0,
"size":8
},
"position" : {
"byte": 2,
"bit": 0,
"size":8
}
}
},
{
"type": "line_motor_status",
"id": 4,
"frame_len": 3,
"signals":
{
"control_type" : {
"byte": 0,
"bit": 0,
"size":1,
"description": "What is controll mode for motor. 0 - Speed, 1 - Position"
},
"direction" : {
"byte": 0,
"bit": 4,
"size":1
},
"speed" : {
"byte": 1,
"bit": 0,
"size":8
},
"position" : {
"byte": 2,
"bit": 0,
"size":8
}
}
},
{
"type": "stepper_motor",
"id": 5,
"frame_len": 3,
"signals":
{
"direction" : {
"byte": 0,
"bit": 0,
"size":1
},
"step_size" : {
"byte": 1,
"bit": 0,
"size":8
},
"steps_number" : {
"byte": 2,
"bit": 0,
"size":8
}
}
},
{
"type": "stepper_motor_status",
"id": 6,
"frame_len": 3,
"signals":
{
"direction" : {
"byte": 0,
"bit": 0,
"size":1
},
"step_size" : {
"byte": 1,
"bit": 0,
"size":8
},
"steps_number" : {
"byte": 2,
"bit": 0,
"size":8
}
}
},
{
"type": "hall_sensor_status",
"id": 7,
"frame_len": 3,
"signals":
{
"x" : {
"byte": 0,
"bit": 0,
"size":8
},
"y" : {
"byte": 1,
"bit": 0,
"size":8
},
"z" : {
"byte": 2,
"bit": 0,
"size":8
}
}
},
{
"type": "diag_request",
"id":60,
"frame_len":8,
"signals":
{
"nad" : {
"byte": 0,
"bit": 0,
"size":8
},
"pci" : {
"byte": 1,
"bit": 0,
"size":8
},
"sid" : {
"byte": 2,
"bit": 0,
"size":8
},
"d0" : {
"byte": 3,
"bit": 0,
"size":8
},
"d1" : {
"byte": 4,
"bit": 0,
"size":8
},
"d2" : {
"byte": 5,
"bit": 0,
"size":8
},
"d3" : {
"byte": 6,
"bit": 0,
"size":8
},
"d4" : {
"byte": 7,
"bit": 0,
"size":8
}
}
}
]