AntiMicroX
joygyroscopesensor.h
Go to the documentation of this file.
1 /* antimicrox Gamepad to KB+M event mapper
2  * Copyright (C) 2022 Max Maisel <max.maisel@posteo.de>
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8 
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13 
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #pragma once
19 
20 #include "joysensor.h"
21 
22 class SetJoystick;
23 
28 {
29  public:
30  explicit JoyGyroscopeSensor(int originset, SetJoystick *parent_set, QObject *parent);
31  virtual ~JoyGyroscopeSensor();
32 
33  virtual float getXCoordinate() const override;
34  virtual float getYCoordinate() const override;
35  virtual float getZCoordinate() const override;
36  virtual QString sensorTypeName() const override;
37 
38  virtual void getCalibration(double *offsetX, double *offsetY, double *offsetZ) const override;
39  virtual void setCalibration(double offsetX, double offsetY, double offsetZ) override;
40 
41  public slots:
42  virtual void reset() override;
43 
44  protected:
45  virtual void populateButtons();
47  virtual void applyCalibration() override;
48 };
JoySensor::m_pending_value
float m_pending_value[3]
Definition: joysensor.h:146
JoySensor::calculateDistance
double calculateDistance() const
Get the vector length of the sensor.
Definition: joysensor.cpp:408
SENSOR_LEFT_DOWN_FWD
@ SENSOR_LEFT_DOWN_FWD
Definition: joysensordirection.h:51
SENSOR_RIGHT_DOWN_FWD
@ SENSOR_RIGHT_DOWN_FWD
Definition: joysensordirection.h:55
SENSOR_DOWN_BWD
@ SENSOR_DOWN_BWD
Definition: joysensordirection.h:48
JoyGyroscopeSensor::JoyGyroscopeSensor
JoyGyroscopeSensor(int originset, SetJoystick *parent_set, QObject *parent)
Definition: joygyroscopesensor.cpp:26
SENSOR_FWD
@ SENSOR_FWD
Definition: joysensordirection.h:34
JoyGyroscopeSensor::populateButtons
virtual void populateButtons()
Initializes the JoySensorButton objects for this sensor.
Definition: joygyroscopesensor.cpp:98
SENSOR_LEFT_BWD
@ SENSOR_LEFT_BWD
Definition: joysensordirection.h:40
SENSOR_UP_BWD
@ SENSOR_UP_BWD
Definition: joysensordirection.h:46
JoyGyroscopeSensor::reset
virtual void reset() override
Resets internal variables back to default.
Definition: joygyroscopesensor.cpp:89
globalvariables.h
JoyGyroscopeSensor::calculateSensorDirection
virtual JoySensorDirection calculateSensorDirection() override
Find the direction zone of the current sensor position.
Definition: joygyroscopesensor.cpp:149
joysensor.h
JoySensor::m_calibrated
bool m_calibrated
Definition: joysensor.h:147
JoyGyroscopeSensor::getZCoordinate
virtual float getZCoordinate() const override
Get the value for the corresponding Z axis.
Definition: joygyroscopesensor.cpp:51
SENSOR_RIGHT_DOWN_BWD
@ SENSOR_RIGHT_DOWN_BWD
Definition: joysensordirection.h:56
SetJoystick
A set of mapped events which can by switched by a controller event. Contains controller input objects...
Definition: setjoystick.h:39
SENSOR_RIGHT_UP_BWD
@ SENSOR_RIGHT_UP_BWD
Definition: joysensordirection.h:54
JoySensor::m_dead_zone
double m_dead_zone
Definition: joysensor.h:136
JoyGyroscopeSensor
Represents a gyroscope sensor.
Definition: joygyroscopesensor.h:27
JoyGyroscopeSensor::~JoyGyroscopeSensor
virtual ~JoyGyroscopeSensor()
Definition: joygyroscopesensor.cpp:33
SENSOR_LEFT
@ SENSOR_LEFT
Definition: joysensordirection.h:30
SENSOR_RIGHT_BWD
@ SENSOR_RIGHT_BWD
Definition: joysensordirection.h:44
JoySensor::m_calibration_value
double m_calibration_value[3]
Definition: joysensor.h:148
JoyGyroscopeSensor::applyCalibration
virtual void applyCalibration() override
Applies calibration to queued input values.
Definition: joygyroscopesensor.cpp:123
JoyGyroscopeSensor::sensorTypeName
virtual QString sensorTypeName() const override
Get the translated sensor type name.
Definition: joygyroscopesensor.cpp:57
JoySensor::reset
virtual void reset()
Resets internal variables back to default.
Definition: joysensor.cpp:578
JoyGyroscopeSensor::setCalibration
virtual void setCalibration(double offsetX, double offsetY, double offsetZ) override
Sets the sensor calibration values and sets the calibration flag.
Definition: joygyroscopesensor.cpp:78
JoySensor::radToDeg
static double radToDeg(double value)
Utility function which converts a given value from radians to degree.
Definition: joysensor.cpp:519
SENSOR_CENTERED
@ SENSOR_CENTERED
Definition: joysensordirection.h:29
SENSOR_LEFT_UP
@ SENSOR_LEFT_UP
Definition: joysensordirection.h:37
SENSOR_RIGHT_FWD
@ SENSOR_RIGHT_FWD
Definition: joysensordirection.h:43
JoySensor::m_max_zone
double m_max_zone
Definition: joysensor.h:138
JoyGyroscopeSensor::getYCoordinate
virtual float getYCoordinate() const override
Get the value for the corresponding Y axis.
Definition: joygyroscopesensor.cpp:45
JoyGyroscopeSensor::getXCoordinate
virtual float getXCoordinate() const override
Get the value for the corresponding X axis.
Definition: joygyroscopesensor.cpp:39
joygyroscopesensor.h
SENSOR_DOWN
@ SENSOR_DOWN
Definition: joysensordirection.h:33
JoySensorButton
Represents a sensor mapping in a SetJoystick.
Definition: joysensorbutton.h:30
SENSOR_RIGHT_DOWN
@ SENSOR_RIGHT_DOWN
Definition: joysensordirection.h:42
SENSOR_LEFT_FWD
@ SENSOR_LEFT_FWD
Definition: joysensordirection.h:39
SENSOR_UP_FWD
@ SENSOR_UP_FWD
Definition: joysensordirection.h:45
SENSOR_LEFT_UP_BWD
@ SENSOR_LEFT_UP_BWD
Definition: joysensordirection.h:50
JoySensor::m_originset
int m_originset
Definition: joysensor.h:152
SENSOR_LEFT_DOWN_BWD
@ SENSOR_LEFT_DOWN_BWD
Definition: joysensordirection.h:52
SENSOR_DOWN_FWD
@ SENSOR_DOWN_FWD
Definition: joysensordirection.h:47
JoyGyroscopeSensor::getCalibration
virtual void getCalibration(double *offsetX, double *offsetY, double *offsetZ) const override
Reads the calibration values of the sensor.
Definition: joygyroscopesensor.cpp:65
SENSOR_RIGHT_UP
@ SENSOR_RIGHT_UP
Definition: joysensordirection.h:41
GlobalVariables::JoySensor::GYRO_MAX
static const double GYRO_MAX
Definition: globalvariables.h:232
SENSOR_LEFT_UP_FWD
@ SENSOR_LEFT_UP_FWD
Definition: joysensordirection.h:49
SENSOR_UP
@ SENSOR_UP
Definition: joysensordirection.h:32
SENSOR_RIGHT_UP_FWD
@ SENSOR_RIGHT_UP_FWD
Definition: joysensordirection.h:53
JoySensorDirection
JoySensorDirection
A bitfield style enum which encodes all possible three dimensional sensor directions....
Definition: joysensordirection.h:27
JoySensor
Represents one sensor in a SetJoystick and its connections to other parts of the application....
Definition: joysensor.h:39
SENSOR_RIGHT
@ SENSOR_RIGHT
Definition: joysensordirection.h:31
SENSOR_LEFT_DOWN
@ SENSOR_LEFT_DOWN
Definition: joysensordirection.h:38
JoySensor::m_buttons
QHash< JoySensorDirection, JoySensorButton * > m_buttons
Definition: joysensor.h:158
JoyGyroscopeButton
Represents a gyroscope mapping in a SetJoystick.
Definition: joygyroscopebutton.h:24
JoySensor::m_current_value
float m_current_value[3]
Definition: joysensor.h:145
GYROSCOPE
@ GYROSCOPE
Definition: joysensortype.h:26
JoySensor::m_diagonal_range
double m_diagonal_range
Definition: joysensor.h:137
SENSOR_BWD
@ SENSOR_BWD
Definition: joysensordirection.h:35
JoySensor::getParentSet
SetJoystick * getParentSet() const
Get pointer to the set that a sensor belongs to.
Definition: joysensor.cpp:774
JoySensor::degToRad
static double degToRad(double value)
Utility function which converts a given value from degree to radians.
Definition: joysensor.cpp:524
joygyroscopebutton.h