public function create(NetworkRawMessage $rawMessage): IncomingMessage
    {
        $data = $rawMessage->getData();
        $this->validateArray($data, 'yaw');
        $this->validateArray($data, 'roll');
        $this->validateArray($data, 'pitch');

        foreach ($data as $type => $statusData) {
            $this->validateNumeric($data[$type], 'Kp');
            $this->validateNumeric($data[$type], 'Ki');
            $this->validateNumeric($data[$type], 'Kd');
        }

        $statusCollection = $this->createCollection($this->buildStatus($data['yaw']), $this->buildStatus($data['roll']), $this->buildStatus($data['pitch']));
        return $this->createIncomingMessage($rawMessage->getSender(), $statusCollection);
    }
public function create(NetworkRawMessage $rawMessage): IncomingMessage
    {
        $data = $rawMessage->getData();
        $this->validateArray($data, 'yaw');
        $this->validateArray($data, 'roll');
        $this->validateArray($data, 'pitch');

        foreach ($data as $type => $statusData) {
            $this->validateNumeric($data[$type], 'Kp');
            $this->validateNumeric($data[$type], 'Ki');
            $this->validateNumeric($data[$type], 'Kd');
        }

        $statusCollection = $this->createCollection($this->buildStatus($data['yaw']), $this->buildStatus($data['roll']), $this->buildStatus($data['pitch']));
        return $this->createIncomingMessage($rawMessage->getSender(), $statusCollection);
    }
@param NetworkRawMessage $rawMessage

@return IncomingMessage