main_ubi_sdk
v 0.1.3
This is UBI4 documentation
p2p_protocol.h
Go to the documentation of this file.
1
/*
2
******************************************************************************
3
* @file p2p_protocol.h
4
* @author A.Alborov
5
******************************************************************************
6
*/
7
8
#ifndef INC_P2P_PROTOCOL_H_
9
#define INC_P2P_PROTOCOL_H_
10
11
12
#include "
TransportLevel/a_protocol.h
"
13
#include "stdint.h"
14
16
typedef
struct
17
{
18
uint8_t
port
:3;
19
uint8_t
exist_uid
: 1;
20
uint8_t
package_type
: 2;
21
uint8_t
direction
: 1;
22
uint8_t
bridge
: 1;
23
24
uint8_t
addr
;
25
uint8_t
package_code
;
26
uint8_t
Data
[6];
27
uint8_t
crc
;
28
}__attribute__((__packed__))
p2p_port_header
;
29
33
34
//P2P high level port
35
36
typedef
struct
37
{
38
uint8_t
port
: 5;
39
uint8_t
waiting_answer
: 1;
40
uint8_t
request_type
: 1;
41
uint8_t
bridge
: 1;
42
uint8_t
package_code
;
43
uint8_t
package_id
;
44
uint16_t
package_size
;
45
uint8_t
crc
;
46
uint8_t
address
;
47
}__attribute__((__packed__))
p2p_high_level_port_header
;
48
49
/*
50
typedef struct
51
{
52
uint8_t port:7;
53
uint8_t brige: 1;
54
uint8_t package_code;
55
uint8_t package_id;
56
uint16_t package_size;
57
uint8_t crc;
58
uint8_t address;
59
}__attribute__((__packed__)) p2p_brige_high_level_port_header;
60
*/
61
62
63
64
typedef
struct
65
{
66
uint16_t
ID
;
67
p2p_high_level_port_header
header
;
68
}__attribute__((__packed__))
usb_package_info_struct
;
69
70
void
p2p_hight_level_protocol_init
(
base_port_struct
* port,
ubi4_bus_protocol_obj_struct
** protocol_obj_str);
71
73
74
#endif
/* INC_P2P_PROTOCOL_H_ */
a_protocol.h
p2p_hight_level_protocol_init
void p2p_hight_level_protocol_init(base_port_struct *port, ubi4_bus_protocol_obj_struct **protocol_obj_str)
Definition
p2p_protocol.c:378
base_port_struct
Definition
a_port.h:99
p2p_high_level_port_header
Definition
p2p_protocol.h:37
p2p_high_level_port_header::package_id
uint8_t package_id
Definition
p2p_protocol.h:43
p2p_high_level_port_header::waiting_answer
uint8_t waiting_answer
Definition
p2p_protocol.h:39
p2p_high_level_port_header::port
uint8_t port
Definition
p2p_protocol.h:38
p2p_high_level_port_header::bridge
uint8_t bridge
Definition
p2p_protocol.h:41
p2p_high_level_port_header::package_size
uint16_t package_size
Definition
p2p_protocol.h:44
p2p_high_level_port_header::package_code
uint8_t package_code
Definition
p2p_protocol.h:42
p2p_high_level_port_header::crc
uint8_t crc
Definition
p2p_protocol.h:45
p2p_high_level_port_header::request_type
uint8_t request_type
Definition
p2p_protocol.h:40
p2p_high_level_port_header::address
uint8_t address
Definition
p2p_protocol.h:46
p2p_port_header
Not used!
Definition
p2p_protocol.h:17
p2p_port_header::Data
uint8_t Data[6]
Definition
p2p_protocol.h:26
p2p_port_header::port
uint8_t port
Definition
p2p_protocol.h:18
p2p_port_header::bridge
uint8_t bridge
Definition
p2p_protocol.h:22
p2p_port_header::package_type
uint8_t package_type
Definition
p2p_protocol.h:20
p2p_port_header::package_code
uint8_t package_code
Definition
p2p_protocol.h:25
p2p_port_header::exist_uid
uint8_t exist_uid
Definition
p2p_protocol.h:19
p2p_port_header::crc
uint8_t crc
Definition
p2p_protocol.h:27
p2p_port_header::direction
uint8_t direction
Definition
p2p_protocol.h:21
p2p_port_header::addr
uint8_t addr
Definition
p2p_protocol.h:24
ubi4_bus_protocol_obj_struct
Definition
a_protocol.h:313
usb_package_info_struct
Definition
p2p_protocol.h:65
usb_package_info_struct::ID
uint16_t ID
Definition
p2p_protocol.h:66
usb_package_info_struct::header
p2p_high_level_port_header header
Definition
p2p_protocol.h:67
TransportLevel
p2p_protocol.h
Generated by
1.13.2