1 /* ============================================================================
2 Copyright (C) 2010 nomrasco
3 Nom Rasco <nomrasco@gmail.com>
5 This file is part of libnomaccel.
7 libnomaccel is free software: you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 libnomaccel is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU Lesser General Public License for more details.
17 You should have received a copy of the GNU Lesser General Public License
18 along with libnomaccel. If not, see <http://www.gnu.org/licenses/>.
19 ============================================================================ */
20 #ifndef _NOM_GLOBAL_H_
21 #define _NOM_GLOBAL_H_
24 #define YZ_TO_PITCH(y,z) atan2((y),(-z))
25 #define XY_TO_ROLL(x,y) atan2((x),(-y))
26 #define XYZ_TO_PITCH(x,y,z) YZ_TO_PITCH(y,z)
27 #define XYZ_TO_ROLL(x,y,z) XY_TO_ROLL(x,y)
29 typedef struct _NomAccelProxy NomAccelProxy;
30 struct _NomAccelProxy {
38 void _accel_proxy_init ();
39 void _accel_proxy_finit ();
40 void _accel_read_real_values ();
41 void _accel_recalculate_pitch ();
42 void _accel_recalculate_roll ();
43 #define _accel_recalculate_pitch_roll() _accel_recalculate_pitch(); _accel_recalculate_roll()
45 const char* const _accel_device_file_name = "/sys/class/i2c-adapter/i2c-3/3-001d/coord";
46 NomAccelProxy _accel_proxy = {0};