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