pbcom
PBCom
#
Source code in cogip/tools/copilot/pbcom.py
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |
can_receiver()
async
#
Async worker reading messages from the robot on CAN bus.
Messages is base64-encoded. After decoding, first byte is the message type, following bytes are the Protobuf encoded message (if any).
Source code in cogip/tools/copilot/pbcom.py
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | |
can_sender()
async
#
Async worker encoding and sending Protobuf messages to the robot on CAN bus.
See can_receiver for message encoding.
Source code in cogip/tools/copilot/pbcom.py
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |
payload_decoder()
async
#
Async worker decoding messages received from the robot.
Source code in cogip/tools/copilot/pbcom.py
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | |
register_message_handler(uuid, handler)
#
Register a message handler at runtime.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
uuid |
int
|
The message UUID to handle. |
required |
handler |
Callable
|
The async callable to handle the message. |
required |
Raises:
| Type | Description |
|---|---|
ValueError
|
If a handler for this UUID is already registered. |
Source code in cogip/tools/copilot/pbcom.py
47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |
run()
async
#
Start PBCom.
Source code in cogip/tools/copilot/pbcom.py
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | |