/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['timestamp_snapshot' => null, 'linear_acceleration_x' => null, 'linear_acceleration_y' => null, 'linear_acceleration_z' => null, 'magnetic_field_x' => null, 'magnetic_field_y' => null, 'magnetic_field_z' => null, 'magnetic_field_accuracy' => null, 'attitude_pitch' => null, 'attitude_yaw' => null, 'attitude_roll' => null, 'rotation_rate_x' => null, 'rotation_rate_y' => null, 'rotation_rate_z' => null, 'gravity_x' => null, 'gravity_y' => null, 'gravity_z' => null, 'status' => null], $values); $message->setTimestampSnapshot($values['timestamp_snapshot']); $message->setLinearAccelerationX($values['linear_acceleration_x']); $message->setLinearAccelerationY($values['linear_acceleration_y']); $message->setLinearAccelerationZ($values['linear_acceleration_z']); $message->setMagneticFieldX($values['magnetic_field_x']); $message->setMagneticFieldY($values['magnetic_field_y']); $message->setMagneticFieldZ($values['magnetic_field_z']); $message->setMagneticFieldAccuracy($values['magnetic_field_accuracy']); $message->setAttitudePitch($values['attitude_pitch']); $message->setAttitudeYaw($values['attitude_yaw']); $message->setAttitudeRoll($values['attitude_roll']); $message->setRotationRateX($values['rotation_rate_x']); $message->setRotationRateY($values['rotation_rate_y']); $message->setRotationRateZ($values['rotation_rate_z']); $message->setGravityX($values['gravity_x']); $message->setGravityY($values['gravity_y']); $message->setGravityZ($values['gravity_z']); $message->setStatus($values['status']); return $message; }