[
    {
        "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
            }
        }
    }
]
