def to_fb(self, builder: flatbuffers.Builder): led_vectors = [] for led in (self.left, self.front, self.middle, self.back, self.right): CozmoAnim.BackpackLights.BackpackLightsStartLeftVector(builder, 4) builder.PrependFloat32(led.ir) builder.PrependFloat32(led.blue) builder.PrependFloat32(led.green) builder.PrependFloat32(led.red) led_vectors.append(builder.EndVector(4)) CozmoAnim.BackpackLights.BackpackLightsStart(builder) CozmoAnim.BackpackLights.BackpackLightsAddTriggerTimeMs( builder, self.trigger_time_ms) CozmoAnim.BackpackLights.BackpackLightsAddDurationTimeMs( builder, self.duration_ms) CozmoAnim.BackpackLights.BackpackLightsAddLeft(builder, led_vectors[0]) CozmoAnim.BackpackLights.BackpackLightsAddFront( builder, led_vectors[1]) CozmoAnim.BackpackLights.BackpackLightsAddMiddle( builder, led_vectors[2]) CozmoAnim.BackpackLights.BackpackLightsAddBack(builder, led_vectors[3]) CozmoAnim.BackpackLights.BackpackLightsAddRight( builder, led_vectors[4]) fbkf = CozmoAnim.BackpackLights.BackpackLightsEnd(builder) return fbkf
def to_fb(self, builder: flatbuffers.Builder): eye_vectors = [] for eye in (self.left_eye, self.right_eye): CozmoAnim.ProceduralFace.ProceduralFaceStartLeftEyeVector( builder, 19) for i in reversed(range(19)): builder.PrependFloat32(eye[i]) eye_vectors.append(builder.EndVector(19)) CozmoAnim.ProceduralFace.ProceduralFaceStart(builder) CozmoAnim.ProceduralFace.ProceduralFaceAddTriggerTimeMs( builder, self.trigger_time_ms) CozmoAnim.ProceduralFace.ProceduralFaceAddFaceAngle( builder, self.angle) CozmoAnim.ProceduralFace.ProceduralFaceAddFaceCenterX( builder, self.center_x) CozmoAnim.ProceduralFace.ProceduralFaceAddFaceCenterY( builder, self.center_y) CozmoAnim.ProceduralFace.ProceduralFaceAddFaceScaleX( builder, self.scale_x) CozmoAnim.ProceduralFace.ProceduralFaceAddFaceScaleY( builder, self.scale_y) CozmoAnim.ProceduralFace.ProceduralFaceAddLeftEye( builder, eye_vectors[0]) CozmoAnim.ProceduralFace.ProceduralFaceAddRightEye( builder, eye_vectors[1]) fbkf = CozmoAnim.ProceduralFace.ProceduralFaceEnd(builder) return fbkf
def to_fb(self, builder: flatbuffers.Builder): CozmoAnim.RobotAudio.RobotAudioStartAudioEventIdVector( builder, len(self.audio_event_ids)) for i in reversed(range(len(self.audio_event_ids))): builder.PrependInt64(self.audio_event_ids[i]) audio_event_id_vector = builder.EndVector(len(self.audio_event_ids)) CozmoAnim.RobotAudio.RobotAudioStartProbabilityVector( builder, len(self.probabilities)) for i in reversed(range(len(self.probabilities))): builder.PrependFloat32(self.probabilities[i]) probability_vector = builder.EndVector(len(self.probabilities)) CozmoAnim.RobotAudio.RobotAudioStart(builder) CozmoAnim.RobotAudio.RobotAudioAddTriggerTimeMs( builder, self.trigger_time_ms) CozmoAnim.RobotAudio.RobotAudioAddAudioEventId(builder, audio_event_id_vector) CozmoAnim.RobotAudio.RobotAudioAddVolume(builder, self.volume) CozmoAnim.RobotAudio.RobotAudioAddProbability(builder, probability_vector) CozmoAnim.RobotAudio.RobotAudioAddHasAlts(builder, self.has_alts) fbkf = CozmoAnim.RobotAudio.RobotAudioEnd(builder) return fbkf
def _serialise_floatarray(builder: flatbuffers.Builder, data: np.ndarray, source: int): ArrayFloatStartValueVector(builder, len(data)) for single_value in reversed(data): builder.PrependFloat32(single_value) array_offset = builder.EndVector(len(data)) ArrayFloatStart(builder) ArrayFloatAddValue(builder, array_offset) value_position = ArrayFloatEnd(builder) LogData.LogDataStart(builder) LogData.LogDataAddSourceName(builder, source) LogData.LogDataAddValue(builder, value_position) LogData.LogDataAddValueType(builder, Value.ArrayFloat)