void TagObject::setDistance() { linear_distance_ = sqrt(x_ * x_ + y_ * y_); if (x_ == 0 || y_ == 0) { onAxis(); } else if (x_ > 0 && y_ > 0) { angular_distance_ = atan(x_ / y_); } else if (x_ > 0 && y_ < 0) { angular_distance_ = atan((-y_) / x_) + PI / 2; } else if (x_ < 0 && y_ < 0) { angular_distance_ = atan((-x_) / (-y_)) + PI; } else if (x_ < 0 && y_ > 0) { angular_distance_ = atan(y_ / (-x_)) + PI * 3 / 2; } }
void Joystick::onAxis(Axis axis, JoystickAxisCallbackFunction cbFunction){ onAxis(axis, defaultAnalogPin[axis], cbFunction); }