__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
////////////////////////////////////////////////////////////////////////////
//
// This file is part of RTIMULib
//
// Copyright (c) 2014-2015, richards-tech, LLC
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
// Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#ifndef _RTFUSION_H
#define _RTFUSION_H
#include "RTIMULibDefs.h"
class RTIMUSettings;
class RTFusion
{
public:
RTFusion();
virtual ~RTFusion();
// fusionType returns the type code of the fusion algorithm
virtual int fusionType() { return RTFUSION_TYPE_NULL; }
// the following function can be called to set the SLERP power
void setSlerpPower(RTFLOAT power) { m_slerpPower = power; }
// reset() resets the fusion state but keeps any setting changes (such as enables)
virtual void reset() {}
// newIMUData() should be called for subsequent updates
// the fusion fields are updated with the results
virtual void newIMUData(RTIMU_DATA& /* data */, const RTIMUSettings * /* settings */) {}
// This static function returns performs the type to name mapping
static const char *fusionName(int fusionType) { return m_fusionNameMap[fusionType]; }
// the following three functions control the influence of the gyro, accel and compass sensors
void setGyroEnable(bool enable) { m_enableGyro = enable;}
void setAccelEnable(bool enable) { m_enableAccel = enable; }
void setCompassEnable(bool enable) { m_enableCompass = enable;}
inline const RTVector3& getMeasuredPose() {return m_measuredPose;}
inline const RTQuaternion& getMeasuredQPose() {return m_measuredQPose;}
// getAccelResiduals() gets the residual after subtracting gravity
RTVector3 getAccelResiduals();
void setDebugEnable(bool enable) { m_debug = enable; }
protected:
void calculatePose(const RTVector3& accel, const RTVector3& mag, float magDeclination); // generates pose from accels and mag
RTVector3 m_gyro; // current gyro sample
RTVector3 m_accel; // current accel sample
RTVector3 m_compass; // current compass sample
RTQuaternion m_measuredQPose; // quaternion form of pose from measurement
RTVector3 m_measuredPose; // vector form of pose from measurement
RTQuaternion m_fusionQPose; // quaternion form of pose from fusion
RTVector3 m_fusionPose; // vector form of pose from fusion
RTQuaternion m_gravity; // the gravity vector as a quaternion
RTFLOAT m_slerpPower; // a value 0 to 1 that controls measured state influence
RTQuaternion m_rotationDelta; // amount by which measured state differs from predicted
RTQuaternion m_rotationPower; // delta raised to the appopriate power
RTVector3 m_rotationUnitVector; // the vector part of the rotation delta
bool m_debug;
bool m_enableGyro; // enables gyro as input
bool m_enableAccel; // enables accel as input
bool m_enableCompass; // enables compass a input
bool m_compassValid; // true if compass data valid
bool m_firstTime; // if first time after reset
uint64_t m_lastFusionTime; // for delta time calculation
static const char *m_fusionNameMap[]; // the fusion name array
};
#endif // _RTFUSION_H
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| EGL | Folder | 0755 |
|
|
| GL | Folder | 0755 |
|
|
| GLES | Folder | 0755 |
|
|
| GLES2 | Folder | 0755 |
|
|
| GLES3 | Folder | 0755 |
|
|
| IMUDrivers | Folder | 0755 |
|
|
| KHR | Folder | 0755 |
|
|
| X11 | Folder | 0755 |
|
|
| aarch64-linux-gnu | Folder | 0755 |
|
|
| arm-linux-gnueabihf | Folder | 0755 |
|
|
| arpa | Folder | 0755 |
|
|
| asm-generic | Folder | 0755 |
|
|
| c++ | Folder | 0755 |
|
|
| drm | Folder | 0755 |
|
|
| finclude | Folder | 0755 |
|
|
| gdb | Folder | 0755 |
|
|
| geany | Folder | 0755 |
|
|
| glvnd | Folder | 0755 |
|
|
| iproute2 | Folder | 0755 |
|
|
| libspreadsheet-1.12 | Folder | 0755 |
|
|
| libxml2 | Folder | 0755 |
|
|
| linux | Folder | 0755 |
|
|
| lxappearance | Folder | 0755 |
|
|
| misc | Folder | 0755 |
|
|
| mtd | Folder | 0755 |
|
|
| net | Folder | 0755 |
|
|
| netash | Folder | 0755 |
|
|
| netatalk | Folder | 0755 |
|
|
| netax25 | Folder | 0755 |
|
|
| neteconet | Folder | 0755 |
|
|
| netinet | Folder | 0755 |
|
|
| netipx | Folder | 0755 |
|
|
| netiucv | Folder | 0755 |
|
|
| netpacket | Folder | 0755 |
|
|
| netrom | Folder | 0755 |
|
|
| netrose | Folder | 0755 |
|
|
| nfs | Folder | 0755 |
|
|
| php | Folder | 0755 |
|
|
| protocols | Folder | 0755 |
|
|
| python3.11 | Folder | 0755 |
|
|
| python3.11m | Folder | 0755 |
|
|
| rdma | Folder | 0755 |
|
|
| regulator | Folder | 0755 |
|
|
| rpc | Folder | 0755 |
|
|
| rpcsvc | Folder | 0755 |
|
|
| scsi | Folder | 0755 |
|
|
| selinux | Folder | 0755 |
|
|
| sepol | Folder | 0755 |
|
|
| sound | Folder | 0755 |
|
|
| tirpc | Folder | 0755 |
|
|
| unicode | Folder | 0755 |
|
|
| video | Folder | 0755 |
|
|
| xcb | Folder | 0755 |
|
|
| xen | Folder | 0755 |
|
|
| RTFusion.h | File | 4.62 KB | 0644 |
|
| RTFusionKalman4.h | File | 3.39 KB | 0644 |
|
| RTFusionRTQF.h | File | 2.17 KB | 0644 |
|
| RTIMUAccelCal.h | File | 2.95 KB | 0644 |
|
| RTIMUCalDefs.h | File | 2.91 KB | 0644 |
|
| RTIMUHal.h | File | 4.31 KB | 0644 |
|
| RTIMULib.h | File | 1.88 KB | 0644 |
|
| RTIMULibDefs.h | File | 2.43 KB | 0644 |
|
| RTIMUMagCal.h | File | 4.02 KB | 0644 |
|
| RTIMUSettings.h | File | 17.23 KB | 0644 |
|
| RTMath.h | File | 6.74 KB | 0644 |
|
| aio.h | File | 7.56 KB | 0644 |
|
| aliases.h | File | 1.98 KB | 0644 |
|
| alloca.h | File | 1.17 KB | 0644 |
|
| ar.h | File | 1.69 KB | 0644 |
|
| argp.h | File | 24.95 KB | 0644 |
|
| argz.h | File | 5.91 KB | 0644 |
|
| assert.h | File | 4.53 KB | 0644 |
|
| augeas.h | File | 23.12 KB | 0644 |
|
| byteswap.h | File | 1.42 KB | 0644 |
|
| cifsidmap.h | File | 6 KB | 0644 |
|
| complex.h | File | 7.95 KB | 0644 |
|
| cpio.h | File | 2.21 KB | 0644 |
|
| crypt.h | File | 10.87 KB | 0644 |
|
| ctype.h | File | 10.71 KB | 0644 |
|
| dirent.h | File | 12.32 KB | 0644 |
|
| dlfcn.h | File | 8.38 KB | 0644 |
|
| elf.h | File | 180.32 KB | 0644 |
|
| endian.h | File | 2.25 KB | 0644 |
|
| envz.h | File | 2.8 KB | 0644 |
|
| err.h | File | 2.29 KB | 0644 |
|
| errno.h | File | 1.64 KB | 0644 |
|
| error.h | File | 2.36 KB | 0644 |
|
| execinfo.h | File | 1.49 KB | 0644 |
|
| expat.h | File | 42.75 KB | 0644 |
|
| expat_external.h | File | 5.89 KB | 0644 |
|
| fa.h | File | 12.26 KB | 0644 |
|
| fcntl.h | File | 9.89 KB | 0644 |
|
| features-time64.h | File | 1.38 KB | 0644 |
|
| features.h | File | 17.62 KB | 0644 |
|
| fenv.h | File | 5.65 KB | 0644 |
|
| fmtmsg.h | File | 3.16 KB | 0644 |
|
| fnmatch.h | File | 2.24 KB | 0644 |
|
| fstab.h | File | 3.04 KB | 0644 |
|
| fts.h | File | 9.35 KB | 0644 |
|
| ftw.h | File | 6.19 KB | 0644 |
|
| gawkapi.h | File | 40.72 KB | 0644 |
|
| gconv.h | File | 4.11 KB | 0644 |
|
| getopt.h | File | 1.43 KB | 0644 |
|
| glob.h | File | 7.13 KB | 0644 |
|
| gnu-versions.h | File | 2.29 KB | 0644 |
|
| gnumake.h | File | 2.84 KB | 0644 |
|
| grp.h | File | 6.69 KB | 0644 |
|
| gshadow.h | File | 4.58 KB | 0644 |
|
| iconv.h | File | 1.87 KB | 0644 |
|
| ifaddrs.h | File | 2.77 KB | 0644 |
|
| inttypes.h | File | 8.14 KB | 0644 |
|
| langinfo.h | File | 17.43 KB | 0644 |
|
| lastlog.h | File | 126 B | 0644 |
|
| libgen.h | File | 1.35 KB | 0644 |
|
| libintl.h | File | 4.47 KB | 0644 |
|
| libliftoff_rpi.h | File | 3.31 KB | 0644 |
|
| limits.h | File | 5.57 KB | 0644 |
|
| link.h | File | 7.62 KB | 0644 |
|
| locale.h | File | 7.5 KB | 0644 |
|
| malloc.h | File | 5.84 KB | 0644 |
|
| math.h | File | 49.72 KB | 0644 |
|
| mcheck.h | File | 2.38 KB | 0644 |
|
| memory.h | File | 956 B | 0644 |
|
| mntent.h | File | 3.28 KB | 0644 |
|
| monetary.h | File | 1.92 KB | 0644 |
|
| mqueue.h | File | 4.5 KB | 0644 |
|
| netdb.h | File | 27.79 KB | 0644 |
|
| nl_types.h | File | 1.71 KB | 0644 |
|
| nss.h | File | 14.07 KB | 0644 |
|
| obstack.h | File | 20.81 KB | 0644 |
|
| paths.h | File | 2.91 KB | 0644 |
|
| pcmanfm-modules.h | File | 2.33 KB | 0644 |
|
| pcre2.h | File | 46.15 KB | 0644 |
|
| pcre2posix.h | File | 7.12 KB | 0644 |
|
| pigpio.h | File | 153.88 KB | 0644 |
|
| pigpiod_if.h | File | 72.76 KB | 0644 |
|
| pigpiod_if2.h | File | 107.47 KB | 0644 |
|
| poll.h | File | 22 B | 0644 |
|
| printf.h | File | 6.71 KB | 0644 |
|
| proc_service.h | File | 3.4 KB | 0644 |
|
| pthread.h | File | 47.24 KB | 0644 |
|
| pty.h | File | 1.53 KB | 0644 |
|
| pwd.h | File | 6.17 KB | 0644 |
|
| re_comp.h | File | 963 B | 0644 |
|
| regex.h | File | 25.3 KB | 0644 |
|
| regexp.h | File | 1.35 KB | 0644 |
|
| resolv.h | File | 12.02 KB | 0644 |
|
| sched.h | File | 4.92 KB | 0644 |
|
| search.h | File | 5.32 KB | 0644 |
|
| semaphore.h | File | 3.38 KB | 0644 |
|
| setjmp.h | File | 3.12 KB | 0644 |
|
| sgtty.h | File | 1.31 KB | 0644 |
|
| shadow.h | File | 5.5 KB | 0644 |
|
| signal.h | File | 12.73 KB | 0644 |
|
| spawn.h | File | 8.08 KB | 0644 |
|
| stab.h | File | 264 B | 0644 |
|
| stdc-predef.h | File | 2.4 KB | 0644 |
|
| stdint.h | File | 8.28 KB | 0644 |
|
| stdio.h | File | 30.79 KB | 0644 |
|
| stdio_ext.h | File | 2.73 KB | 0644 |
|
| stdlib.h | File | 35.96 KB | 0644 |
|
| string.h | File | 19 KB | 0644 |
|
| strings.h | File | 4.64 KB | 0644 |
|
| sudo_plugin.h | File | 11.67 KB | 0644 |
|
| syscall.h | File | 25 B | 0644 |
|
| sysexits.h | File | 5.11 KB | 0644 |
|
| syslog.h | File | 24 B | 0644 |
|
| tar.h | File | 3.66 KB | 0644 |
|
| termio.h | File | 214 B | 0644 |
|
| termios.h | File | 3.51 KB | 0644 |
|
| tgmath.h | File | 43.61 KB | 0644 |
|
| thread_db.h | File | 15.65 KB | 0644 |
|
| threads.h | File | 7.51 KB | 0644 |
|
| time.h | File | 14.74 KB | 0644 |
|
| ttyent.h | File | 2.44 KB | 0644 |
|
| uchar.h | File | 3.04 KB | 0644 |
|
| ucontext.h | File | 1.99 KB | 0644 |
|
| ulimit.h | File | 1.55 KB | 0644 |
|
| unistd.h | File | 43.91 KB | 0644 |
|
| utime.h | File | 1.86 KB | 0644 |
|
| utmp.h | File | 3.15 KB | 0644 |
|
| utmpx.h | File | 4 KB | 0644 |
|
| values.h | File | 1.91 KB | 0644 |
|
| wait.h | File | 22 B | 0644 |
|
| wchar.h | File | 31.39 KB | 0644 |
|
| wctype.h | File | 5.42 KB | 0644 |
|
| wordexp.h | File | 2.44 KB | 0644 |
|
| zconf.h | File | 16.2 KB | 0644 |
|
| zlib.h | File | 95.04 KB | 0644 |
|