/** * @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); }
/** * Returns the threshold as set by BrickletVoltage::setVoltageCallbackThreshold(). * * * @return array */ public function getVoltageCallbackThreshold() { $result = array(); $payload = ''; $data = $this->sendRequest(self::FUNCTION_GET_VOLTAGE_CALLBACK_THRESHOLD, $payload); $payload = unpack('c1option/v1min/v1max', $data); $result['option'] = chr($payload['option']); $result['min'] = IPConnection::fixUnpackedInt16($payload['min']); $result['max'] = IPConnection::fixUnpackedInt16($payload['max']); return $result; }
/** * Returns the temperature in °C/10 as measured inside the microcontroller. The * value returned is not the ambient temperature! * * The temperature is only proportional to the real temperature and it has an * accuracy of +-15%. Practically it is only useful as an indicator for * temperature changes. * * .. versionadded:: 1.2.1~(Firmware) * * * @return int */ public function getChipTemperature() { $payload = ''; $data = $this->sendRequest(self::FUNCTION_GET_CHIP_TEMPERATURE, $payload); $payload = unpack('v1temperature', $data); return IPConnection::fixUnpackedInt16($payload['temperature']); }
/** * @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 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 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); }