/******************************************************************************
 * $Id: AKFS_Measure.h 580 2012-03-29 09:56:21Z yamada.rj $
 ******************************************************************************
 *
 * 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

