summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2016-05-14pose-widget: try harder to avoid small denominatorStanislaw Halik
Previous commit fixed only the case with one perpendicular axis of rotation with the rest fixed at origin. This one works with all three degrees of freedom enabled. Reported-by: @MathijsG Issue: #356
2016-05-14spline-widget: use integer constant in float opsStanislaw Halik
2016-05-14spline-widget: remove more float<->double conversionsStanislaw Halik
74d9f5e31428ef362033a63c10b781d943c5e5a5 skipped some of intermediate computations.
2016-05-14partial revert of 74d9f5e31428ef362033a63c10b781d943c5e5a5Stanislaw Halik
We actually need to use a float intermediate type lest the value gets truncated.
2016-05-13pose-widget: avoid too small denominator in perpendicular alignmentStanislaw Halik
With a very small denominator in barycentric coords formula we get a dissociated octopus that took PCP and LSD in one sitting. A dead Octopus is just a bunch of blue spheres. IOW, in division with too small a denominator operand the results are numerically unstable. This is done in the constructor in a convoluted way as to avoid branching during calculating for each pixel. Issue: #356 Reported-by: @MathijsG
2016-05-13Revert "tracker/pt: experimental non-white color removal"Stanislaw Halik
This reverts commit 546cfb5ad52dcfe1421d1af5e7baeada588ac735. @MathijsG points out that some users have red LEDs, not uniform white. Issue: #355
2016-05-13tracker/pt: adjust auto threshold max pixel valueStanislaw Halik
The confusion stems from the max slider value. It's 255, not 100 as is the default. Max pixel count change to 20 was confused as we'll counting area and not radius here. Taking into account that the value was divided by 100 previously, it's bit less than the previous one but not as confused as then. Reported-by: @MathijsG Issue: #355
2016-05-13{spline,tracker/aruco}: simplify some castsStanislaw Halik
2016-05-13api: implement virtual dtors in a compilation unitStanislaw Halik
2016-05-13compat/shm: nix redundant castStanislaw Halik
2016-05-13cmake: automatically enable lto and loop vectorization for mingw-w64 targetsStanislaw Halik
2016-05-13many: remove unneeded implicit type conversion double <-> floatStanislaw Halik
2016-05-13cmake: add cache variables for predefined warning typesStanislaw Halik
The numeric warnings are somewhat useful. Sadly only clang supports the vtable object file bloat warning.
2016-05-13cmake: expose clang being usedStanislaw Halik
2016-05-13cmake: disable all warnings for Qt moc-generated source filesStanislaw Halik
The files are machine-generated and full of redundancies. With pedantic warnings it drowns the relevant stuff.
2016-05-12cmake: remove header with version informationStanislaw Halik
It's pointless for it to exist, see previous commit for rationale. No call sites.
2016-05-12cmake: workaround LTO issue on Windows.Stanislaw Halik
With the GNU toolchain there's some mix-up and the "opentrack_version" symbol isn't emitted into the object file at all. Disable LTO for the "version" statically linked library. The "version" statically linked library exists so that files needing the version only need to be re-linked, not recompiled. A preprocessor global -DVERSION=foo rebuilds the whole project after each commit. A header definition rebuilds all include sites. LTO in the GNU toolchain is very broken on Windows, particular the interaction of GCC "linker plugin" injected into Binutils bfd ld. The gold ld we can't use since it's only for ELF executables. There's nothing alarming here at all unless there's some miscompilation and there doesn't seem to be any. The rest of the functional changes is changing cc -> c of that object file, and moving library definition after the source file is already generated.
2016-05-12tracker/hatire: fix option name typoStanislaw Halik
Due to typo axis index got saved as the same .ini name as another index. Spotted-by: @Ec0nomist Confirmed-by: @huliqan Issue: #327
2016-05-10tracker/hatire: add missing serial port name bindingStanislaw Halik
Spotted-by: @Ec0nomist Issue: #327
2016-05-10compat/options: use auto connection type alwaysStanislaw Halik
I'm unsure whether the context object for QObject::connect overload we're using in enum support is treated as the connection's target thread at all. Docs are silent on this. In the meantime, no crashes or other anomalies observed, while violating Qt thread safety invariants resulted in immediate crashes beforehand. So let's use Qt::AutoConnection and not worry for the time being.
2016-05-09tracker/{hatire,rift-080}: remove outdated commentsStanislaw Halik
2016-05-09compat/options: add enum supportStanislaw Halik
2016-05-09tracker/hatire: add serial 100% cpu usage workaroundStanislaw Halik
Issue: #327
2016-05-09tracker/hatire: move to opentrack settings APIStanislaw Halik
2016-05-09tracker/rift-042: reformat, remove outdated todoStanislaw Halik
2016-05-09tracker/hatire: remove min length check duplicationStanislaw Halik
The api callee already takes care of that so remove the "ok" argument.
2016-05-06tracker/hatire: fix sleep in ready_read event handler for debug caseStanislaw Halik
2016-05-06tracker/hatire: add debug logging varianceStanislaw Halik
2016-05-06tracker/hatire: don't hoard more data than a single dgramStanislaw Halik
The resync code already worked without that.
2016-05-06tracker/hatire: move function from headerStanislaw Halik
2016-05-06tracker/hatire: simplifyStanislaw Halik
We don't need to move back the datagram since we're processing the original.
2016-05-06tracker/hatire: prevent infinite loop when no end marker and start at index 0Stanislaw Halik
2016-05-06api: add class for computing running varianceStanislaw Halik
2016-05-04tracker/hatire: remove disconnected logicStanislaw Halik
It's not used anywhere.
2016-05-04tracker/hatire: remove copy-pasted codeStanislaw Halik
2016-05-04tracker/hatire: try to optimize the polling pathStanislaw Halik
Issue: #327
2016-05-04tracker/hatire: fix spelling in identifiersStanislaw Halik
2016-05-04api: fix shortcuts for OSX and LinuxStanislaw Halik
2016-05-04cmake: fix osx linkStanislaw Halik
2016-05-04osx: increase stack size 4 timesStanislaw Halik
Issue: #349
2016-05-04api: fix permissions bits. no code changes.Stanislaw Halik
2016-05-04tracker/hatire: switch to 200 Hz following user complaintStanislaw Halik
See: https://github.com/opentrack/opentrack/issues/327#issuecomment-215991810
2016-05-04tracker/hatire: remove raceStanislaw Halik
Don't prepend existing remaining data racing with add new data. Expose the lock as a public member.
2016-04-29tracker/hatire: move io to a separate threadStanislaw Halik
We can't have async io on the main thread because QSerialPort's readyRead() signal can fire constantly, thus consuming all CPU time. We can't sleep in the main thread either as that blocks too many things. We can't ignore readyRead() invocations over a threshold as that'll make us lose some of data notifications. Refactor hatire to put IO on a thread. Since this is a separate Qt event loop, we may sleep in there. Further, add a debug mode reading data from a file, as if it came from a serial-attached device. Issue: #327
2016-04-29tracker/pt: conversion to unsigned char clamps by itselfStanislaw Halik
Remove redundant operation on the frame.
2016-04-29api, main: implement new keybindingsStanislaw Halik
The following keybindings are now implemented: - restart tracking. if not started, starts. - toggle (keep position) while key held - zero (keep zero) while key held The latter two options only work for Windows as libqxt doesn't support them. Closes #291
2016-04-27gui: show tracking hasn't started in preview area instead of "no video"Xavier Hallade
"no video" wasn't clearly indicating that no tracking was done. Some first time users had hard times figuring out tracking had to be started. @sthalik: I've put an image mimicking what you did for "no video", feel free to change it or switch to plain text instead.
2016-04-27installer: propose install of RealSense runtime on compatible systemsXavier Hallade
When an user installs opentrack on a system which has RealSense F200 or SR300 camera drivers installed, the installer now proposes to install the proper runtime after having displayed its EULA.
2016-04-27tracker/pt: sensible max point sizeStanislaw Halik
2016-04-27tracker/pt: experimental non-white color removalStanislaw Halik
It's enabled only for automatic thresholding. With it on, it's possible to keep tracking in normal light conditions without changing gain or exposure beforehand. It won't function on badly overexposed images, or with other bright white colors in the frame. It should function on somewhat overexposed images. CPU usage is somewhat high, even taking advantage of all OpenCV SIMD goodness as per the code. We can revert the change if user reception is bad.