/** * Returns the UID, the UID where the Bricklet is connected to, * the position, the hardware and firmware version as well as the * device identifier. * * The position can be 'a', 'b', 'c' or 'd'. * * The device identifiers can be found :ref:`here <device_identifier>`. * * .. versionadded:: 2.0.0~(Plugin) * * * @return array */ public function getIdentity() { $result = array(); $payload = ''; $data = $this->sendRequest(self::FUNCTION_GET_IDENTITY, $payload); $payload = unpack('c8uid/c8connected_uid/c1position/C3hardware_version/C3firmware_version/v1device_identifier', $data); $result['uid'] = IPConnection::implodeUnpackedString($payload, 'uid', 8); $result['connected_uid'] = IPConnection::implodeUnpackedString($payload, 'connected_uid', 8); $result['position'] = chr($payload['position']); $result['hardware_version'] = IPConnection::collectUnpackedArray($payload, 'hardware_version', 3); $result['firmware_version'] = IPConnection::collectUnpackedArray($payload, 'firmware_version', 3); $result['device_identifier'] = $payload['device_identifier']; return $result; }
/** * @internal * @param string $data */ public function callbackWrapperAltitudeReached($data) { $result = array(); $payload = unpack('V1altitude', $data); array_push($result, IPConnection::fixUnpackedInt32($payload['altitude'])); call_user_func_array($this->registeredCallbacks[self::CALLBACK_ALTITUDE_REACHED], $result); }
/** * @internal * @param string $data */ public function callbackWrapperCurrentReached($data) { $result = array(); $payload = unpack('v1current', $data); array_push($result, IPConnection::fixUnpackedInt16($payload['current'])); call_user_func_array($this->registeredCallbacks[self::CALLBACK_CURRENT_REACHED], $result); }
/** * @internal * @param string $data */ public function callbackWrapperTemperatureReached($data) { $result = array(); $payload = unpack('v1temperature', $data); array_push($result, IPConnection::fixUnpackedInt16($payload['temperature'])); call_user_func_array($this->registeredCallbacks[self::CALLBACK_TEMPERATURE_REACHED], $result); }
/** * @internal * @param string $data */ public function callbackWrapperPowerReached($data) { $result = array(); $payload = unpack('V1power', $data); array_push($result, IPConnection::fixUnpackedInt32($payload['power'])); call_user_func_array($this->registeredCallbacks[self::CALLBACK_POWER_REACHED], $result); }
/** * @internal * @param string $data */ public function callbackWrapperPositionReached($data) { $result = array(); $payload = unpack('v1x/v1y', $data); array_push($result, IPConnection::fixUnpackedInt16($payload['x'])); array_push($result, IPConnection::fixUnpackedInt16($payload['y'])); call_user_func_array($this->registeredCallbacks[self::CALLBACK_POSITION_REACHED], $result); }
/** * @internal * @param string $data */ public function callbackWrapperAllData($data) { $result = array(); $payload = unpack('v1current_velocity/V1current_position/V1remaining_steps/v1stack_voltage/v1external_voltage/v1current_consumption', $data); array_push($result, $payload['current_velocity']); array_push($result, IPConnection::fixUnpackedInt32($payload['current_position'])); array_push($result, IPConnection::fixUnpackedInt32($payload['remaining_steps'])); array_push($result, $payload['stack_voltage']); array_push($result, $payload['external_voltage']); array_push($result, $payload['current_consumption']); call_user_func_array($this->registeredCallbacks[self::CALLBACK_ALL_DATA], $result); }
public function getAuthenticationNonce() { $payload = ''; $data = $this->sendRequest(self::FUNCTION_GET_AUTHENTICATION_NONCE, $payload); $payload = unpack('C4nonce', $data); return IPConnection::collectUnpackedArray($payload, 'nonce', 4); }
/** * @internal * @param string $data */ public function callbackWrapperDateTime($data) { $result = array(); $payload = unpack('V1date/V1time', $data); array_push($result, IPConnection::fixUnpackedUInt32($payload['date'])); array_push($result, IPConnection::fixUnpackedUInt32($payload['time'])); call_user_func_array($this->registeredCallbacks[self::CALLBACK_DATE_TIME], $result); }
/** * @internal * @param string $data */ public function callbackWrapperCurrentVelocity($data) { $result = array(); $payload = unpack('v1velocity', $data); array_push($result, IPConnection::fixUnpackedInt16($payload['velocity'])); call_user_func_array($this->registeredCallbacks[self::CALLBACK_CURRENT_VELOCITY], $result); }
/** * @internal * @param string $data */ public function callbackWrapperOrientation($data) { $result = array(); $payload = unpack('v1roll/v1pitch/v1yaw', $data); array_push($result, IPConnection::fixUnpackedInt16($payload['roll'])); array_push($result, IPConnection::fixUnpackedInt16($payload['pitch'])); array_push($result, IPConnection::fixUnpackedInt16($payload['yaw'])); call_user_func_array($this->registeredCallbacks[self::CALLBACK_ORIENTATION], $result); }
/** * @internal * @param string $data */ public function callbackWrapperVelocityReached($data) { $result = array(); $payload = unpack('C1servo_num/v1velocity', $data); array_push($result, $payload['servo_num']); array_push($result, IPConnection::fixUnpackedInt16($payload['velocity'])); call_user_func_array($this->registeredCallbacks[self::CALLBACK_VELOCITY_REACHED], $result); }