Helper function to create Float32MultiArray with proper dimension info
(self, data, dimensions_info)
| 249 | "Waiting for /dar/toggle to start generating...") |
| 250 | |
| 251 | def _create_msg_array(self, data, dimensions_info): |
| 252 | """Helper function to create Float32MultiArray with proper dimension info""" |
| 253 | msg = Float32MultiArray() |
| 254 | |
| 255 | # Set data |
| 256 | if isinstance(data, np.ndarray): |
| 257 | msg.data = data.flatten().astype(np.float32).tolist() |
| 258 | else: |
| 259 | msg.data = [float(x) for x in data] |
| 260 | |
| 261 | # Set dimensions |
| 262 | msg.layout.dim = [] |
| 263 | for label, size, stride in dimensions_info: |
| 264 | dim = MultiArrayDimension() |
| 265 | dim.label = label |
| 266 | dim.size = size |
| 267 | dim.stride = stride |
| 268 | msg.layout.dim.append(dim) |
| 269 | |
| 270 | msg.layout.data_offset = 0 |
| 271 | return msg |
| 272 | |
| 273 | def _convert_motion_to_msg_instance(self): |
| 274 | """Convert motion dictionary to complete MotionBlock message instance and cache it""" |
no outgoing calls
no test coverage detected