summaryrefslogtreecommitdiffhomepage
path: root/logic/pipeline.cpp
AgeCommit message (Collapse)Author
2018-12-24style/quality onlyStanislaw Halik
No functional changes. - add `override' everywhere where missing - almost pass clang's `-Wweak-vtables' - avoid some float/double conversions - remove unused private members - make signedness conversions explicit - put stuff in right namespaces to aid analysis
2018-12-24cruftStanislaw Halik
2018-12-24remove const correctness violationsStanislaw Halik
This is possibly related to a livelock where several threads do const removal in their respective code paths. Use the `mutable' specifier for the mutexes and spline's cached data. Now using the `mutable' specifier, get rid of <optional> in compat/mutex.
2018-12-19logic/pipeline: fix evil typo breaking trackingStanislaw Halik
2018-12-12logic/pipeline: oops, fix identity under disjunctionStanislaw Halik
2018-12-12logic/pipeline: fix nan checkStanislaw Halik
It assumed that all values were of the same type when packing into an initializer list.
2018-12-07logic/pipeline: fix clang-tidy warningsStanislaw Halik
2018-12-06logic/pipeline: center through arithmetic onlyStanislaw Halik
This is incorrect but people like it.
2018-12-06cruft onlyStanislaw Halik
2018-10-12tracker/pipeline: try help frame varianceStanislaw Halik
While we're keeping 250 Hz in the tracker pipeline, the frame variance isn't optimal, as per `backlog_time' values. Try a different magic number.
2018-10-12logic/pipeline: attempt adjust thread priorityStanislaw Halik
Calling QThread::setPriority twice in a succession means: 1. if you can, set high priority a) if not allowed, highest won't work either b) if allowed, see below 2. if you can, set highest priority a) if highest is allowed, happy happy joy joy b) if not, at least high priority is successful Note that we don't have any return value from QThread::setPriority().
2018-10-12logic/pipeline: cleanup onlyStanislaw Halik
2018-10-12logic/pipeline: fix duplicate d2rStanislaw Halik
2018-10-07fix GCC build errorsStanislaw Halik
Issue: #726
2018-10-05logic/pipeline: probably fix remaining bugsStanislaw Halik
2018-10-05silly busyworkStanislaw Halik
2018-08-25logic/pipeline: fix typename typoStanislaw Halik
2018-08-04logic/pipeline: rotation order fixrevert-geometry-stuffStanislaw Halik
v2: fix comments v3: fix reltrans
2018-08-03irrelevant busyworkStanislaw Halik
2018-07-08modernize onlyStanislaw Halik
2018-07-02nothing importantStanislaw Halik
2018-06-26modernize C++ syntaxStanislaw Halik
No visible changes (hopefully).
2018-06-26compat/macros: rename portability macrosStanislaw Halik
use `cc_xx' rather than awkward synonyms.
2018-06-26logic/pipeline: remove rest of scaled_rotationStanislaw Halik
2018-06-26core, modules: modernize syntax onlyStanislaw Halik
Use more C++17 features where this helps any.
2018-06-13logic/pipeline: fix atomic opsStanislaw Halik
No functional changes. Don't perform any atomic reads before compare-and-swap. The value read by CAS needs to go outside the loop. That's how CAS works.
2018-05-23logic/pipeline: disable neck Z if reltrans Z disabledStanislaw Halik
2018-05-23logic/pipeline: fix disable_dof orderStanislaw Halik
The actual order is (xyz, ypr). This was broken since forever. This February's refactor merely preserved the order of things.
2018-05-21logic/pipeline: don't enable center twiceStanislaw Halik
2018-05-05logic/pipeline: cleanup, use aggregate initStanislaw Halik
2018-05-05logic/pipeline: fix clang errorStanislaw Halik
2018-05-05logic/pipeline: skip filter when centeringStanislaw Halik
2018-05-05logic/pipeline: skip filter when hold orderedStanislaw Halik
Also fix faulty xor logic Issue: #777 Requested-by: @r8d
2018-05-05compat, logic/pipeline: add bitwise enum operatorsStanislaw Halik
2018-03-12logic/pipeline: adjust "reltrans not aiming"Stanislaw Halik
Add additional RC value for fast convergence.
2018-03-12logic/pipeline: fix logic errorStanislaw Halik
Change `reltrans_not_aiming' threshold values
2018-03-10logic/pipeline: cleanupStanislaw Halik
Also remove the license in header. It's stale.
2018-03-10logic/pipeline: implement held centerStanislaw Halik
Requested by: CAHEK on the Russian IL-2 Sturmovik forum
2018-03-10logic/pipeline: immediately move to center with reltransStanislaw Halik
2018-03-10logic/pipeline: smoothen transition for reltrans not aimingStanislaw Halik
Requested by: HOPPING_PONY on the Russian IL-2 Sturmovik forum.
2018-03-10logic/pipeline: disable neck for `reltrans not aiming'Stanislaw Halik
2018-03-10logic/pipeline: loosen "reltrans when not aiming" limitStanislaw Halik
2018-03-04logic/pipeline: use `likely' equiv for MSVCStanislaw Halik
2018-03-04compat/macros: add function name macroStanislaw Halik
2018-03-03logic/pipeline: centering fixStanislaw Halik
The `scaled_rotation' gimbal lock "fix" didn't take into account sign changes, making center close to +-180 useless. remove the "fix". This leaves with a gimbal lock problem at +-90 yaw. Fix in another commit.
2018-02-16logic/pipeline: simplifyStanislaw Halik
The pipeline code is hard to understand for programmers due to the practice of putting all logic into a single function. Split it up into logical components. This needs more testing and bug reports. It's a big change with possibly many regressions all over the place. Issue: #688
2018-02-15clean up "static" and "constexpr" typesStanislaw Halik
- use `static constexpr inline' to avoid requiring explicit declarations in object code - use `const Foo* const' to maybe put into readonly binary segment (at least for ELF DSOs) - `constexpr' in function scope has storage, avoid `static' - don't use `constexpr' where there's no advantage, like arrays We'd like to avoid overhead of atomic initialization for each function call. No idea how `static constexpr' requiring storage in the standard plays with atomic initialization requirement. Hearsay points that `constexpr' without `static' in block scope behaves more to our liking. It's all hazy though. I'm not 100% sure if `static inline constexpr' has any storage. Hopefully none, like a #define, and stuff bigger than registers gets coalesced within the same module, with small stuff being immediates.
2018-02-05logic/pipeline: adjust after nan.hpp removalStanislaw Halik
2018-02-05logic/pipeline: enlarge aiming-reltrans limitsStanislaw Halik
2018-01-18logic/pipeline: set limits more sensiblyStanislaw Halik
We must keep a certain leeway here for people aiming in WW2 sims.