Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * @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);
 }
Example #3
0
 /**
  * @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);
 }
Example #4
0
 /**
  * @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);
 }
Example #5
0
 /**
  * @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);
 }
Example #6
0
 /**
  * @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);
 }
Example #7
0
 /**
  * @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);
 }
Example #8
0
 public function getAuthenticationNonce()
 {
     $payload = '';
     $data = $this->sendRequest(self::FUNCTION_GET_AUTHENTICATION_NONCE, $payload);
     $payload = unpack('C4nonce', $data);
     return IPConnection::collectUnpackedArray($payload, 'nonce', 4);
 }
Example #9
0
 /**
  * @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);
 }
Example #10
0
 /**
  * @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);
 }
Example #11
0
 /**
  * @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);
 }
Example #12
0
 /**
  * @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);
 }