1.4.5 features (#319)

* Changes:
Improve precise wall
Port PS2.6 overhang slowdown feature
Implement overhang fan for new overhang slowdown algo
Add option to switch between classic/new overhang slowdown implementation
Set Arachne as default engine
Small adjustment of temp calibration range
turn off small perimeter by default
Small UI tweaks
Change default top_surface_pattern to monotonic
Fine tune jerk

Signed-off-by: SoftFever <softfeverever@gmail.com>

* Disable optimizations for RelWithDebInfo

Signed-off-by: SoftFever <softfeverever@gmail.com>

* fix an issue that max volumetirc/vfa calibration can't send to print

Signed-off-by: SoftFever <softfeverever@gmail.com>
#322

* fix build errors

Signed-off-by: SoftFever <softfeverever@gmail.com>

---------

Signed-off-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
SoftFever 2023-02-17 23:09:18 +08:00 committed by GitHub
parent 0e0b8d297e
commit e9613e971d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 3182 additions and 434 deletions

View file

@ -96,6 +96,18 @@ inline typename Derived::Scalar cross2(const Eigen::MatrixBase<Derived> &v1, con
template<typename T, int Options>
inline Eigen::Matrix<T, 2, 1, Eigen::DontAlign> perp(const Eigen::MatrixBase<Eigen::Matrix<T, 2, 1, Options>> &v) { return Eigen::Matrix<T, 2, 1, Eigen::DontAlign>(- v.y(), v.x()); }
// Angle from v1 to v2, returning double atan2(y, x) normalized to <-PI, PI>.
template <typename Derived, typename Derived2>
inline double angle(const Eigen::MatrixBase<Derived>& v1, const Eigen::MatrixBase<Derived2>& v2)
{
static_assert(Derived::IsVectorAtCompileTime && int(Derived::SizeAtCompileTime) == 2, "angle(): first parameter is not a 2D vector");
static_assert(Derived2::IsVectorAtCompileTime && int(Derived2::SizeAtCompileTime) == 2, "angle(): second parameter is not a 2D vector");
auto v1d = v1.template cast<double>();
auto v2d = v2.template cast<double>();
return atan2(cross2(v1d, v2d), v1d.dot(v2d));
}
template<class T, int N, int Options>
Eigen::Matrix<T, 2, 1, Eigen::DontAlign> to_2d(const Eigen::MatrixBase<Eigen::Matrix<T, N, 1, Options>> &ptN) { return { ptN.x(), ptN.y() }; }