blob: d156b95dcaf6e7ab72fef9ecce295785e8ba8d8d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
/******************************************************************************
*
* Copyright (C) 2012 Asahi Kasei Microdevices Corporation, Japan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
#ifndef AKFS_INC_MEASURE_H
#define AKFS_INC_MEASURE_H
/* Include files for AK8975 library. */
#include "AKFS_Compass.h"
/*** Constant definition ******************************************************/
#define AK8975_SELFTEST_MIN_X -100
#define AK8975_SELFTEST_MAX_X 100
#define AK8975_SELFTEST_MIN_Y -100
#define AK8975_SELFTEST_MAX_Y 100
#define AK8975_SELFTEST_MIN_Z -1000
#define AK8975_SELFTEST_MAX_Z -300
#define CONVERT_ACC(a) ((int)((a) * 720 / 9.8f))
#define CONVERT_MAG(m) ((int)((m) / 0.06f))
#define CONVERT_ORI(o) ((int)((o) * 64))
/*** Type declaration *********************************************************/
/*** Global variables *********************************************************/
/*** Prototype of function ****************************************************/
int16 AKFS_ReadAK8975FUSEROM(
uint8 regs[3]
);
int16 AKFS_SelfTest(void);
struct timespec AKFS_CalcSleep(
const struct timespec* end,
const struct timespec* start,
const int64_t minimum
);
int16 AKFS_GetInterval(
uint16* flag,
int64_t* minimum
);
void AKFS_OutputResult(
const uint16 flag,
const AKSENSOR_DATA* acc,
const AKSENSOR_DATA* mag,
const AKSENSOR_DATA* ori
);
void AKFS_MeasureLoop(void);
#endif
|