diff options
Diffstat (limited to 'include/linux/m4sensorhub_client_ioctl.h')
| -rw-r--r-- | include/linux/m4sensorhub_client_ioctl.h | 151 | 
1 files changed, 151 insertions, 0 deletions
| diff --git a/include/linux/m4sensorhub_client_ioctl.h b/include/linux/m4sensorhub_client_ioctl.h new file mode 100644 index 00000000000..a6e2c455c4c --- /dev/null +++ b/include/linux/m4sensorhub_client_ioctl.h @@ -0,0 +1,151 @@ +/* + * Copyright (c) 2012, Motorola, Inc. All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + * + */ + +#ifndef __M4SENSORHUB_CLIENT_IOCTL_H__ +#define __M4SENSORHUB_CLIENT_IOCTL_H__ + +/** The following define the IOCTL command values via the ioctl macros */ + +#define M4_SENSOR_IOCTL_BASE            		0xA2 +#define M4_SENSOR_IOCTL_GET_TEMPRATURE  		_IOR(M4_SENSOR_IOCTL_BASE, 01, int) +#define M4_SENSOR_IOCTL_GET_PRESSURE    		_IOR(M4_SENSOR_IOCTL_BASE, 02, int) +#define M4_SENSOR_IOCTL_GET_GYRO        		_IOR(M4_SENSOR_IOCTL_BASE, 03, int) +#define M4_SENSOR_IOCTL_SET_DELAY       		_IOW(M4_SENSOR_IOCTL_BASE, 04, int) +#define M4_SENSOR_IOCTL_APP_GET_FLAG    		_IOR(M4_SENSOR_IOCTL_BASE, 05, int) +#define M4_SENSOR_IOCTL_APP_SET_FLAG    		_IOW(M4_SENSOR_IOCTL_BASE, 06, int) +#define M4_SENSOR_IOCTL_GET_PEDOMETER   		_IOR(M4_SENSOR_IOCTL_BASE, 07, int) +#define M4_SENSOR_IOCTL_GET_PASSIVE_DATA		_IOR(M4_SENSOR_IOCTL_BASE, 10, int) +#define M4_SENSOR_IOCTL_GET_SLEEP_DATA			_IOR(M4_SENSOR_IOCTL_BASE, 11, int) +#define M4_SENSOR_IOCTL_SET_POSIX_TIME			_IOW(M4_SENSOR_IOCTL_BASE, 12, int) +#define M4_SENSOR_IOCTL_SET_ACTIVE_MODE			_IOW(M4_SENSOR_IOCTL_BASE, 13, int) +#define M4_SENSOR_IOCTL_SET_PASSIVE_MODE 		_IOW(M4_SENSOR_IOCTL_BASE, 14, int) +#define M4_SENSOR_IOCTL_SLEEP_ANALYSIS			_IOW(M4_SENSOR_IOCTL_BASE, 15, int) +#define M4_SENSOR_IOCTL_SET_EQUIPMENT_TYPE		_IOW(M4_SENSOR_IOCTL_BASE, 16, int) +#define M4_SENSOR_IOCTL_SET_MANUAL_CALIB_WALK_SPEED	_IOW(M4_SENSOR_IOCTL_BASE, 17, int) +#define M4_SENSOR_IOCTL_SET_MANUAL_CALIB_JOG_SPEED	_IOW(M4_SENSOR_IOCTL_BASE, 20, int) +#define M4_SENSOR_IOCTL_SET_MANUAL_CALIB_RUN_SPEED	_IOW(M4_SENSOR_IOCTL_BASE, 21, int) +#define M4_SENSOR_IOCTL_SET_MANUAL_CALIB_STATUS		_IOW(M4_SENSOR_IOCTL_BASE, 22, int) +#define M4_SENSOR_IOCTL_SET_USER_PROFILE		_IOW(M4_SENSOR_IOCTL_BASE, 23, int) +#define M4_SENSOR_IOCTL_SET_USER_DISTANCE		_IOW(M4_SENSOR_IOCTL_BASE, 24, int) +#define M4_SENSOR_IOCTL_SET_USER_CALIB_TABLE		_IOW(M4_SENSOR_IOCTL_BASE, 25, int) +#define M4_SENSOR_IOCTL_GET_MANUAL_CALIB_STATUS		_IOR(M4_SENSOR_IOCTL_BASE, 26, int) +#define M4_SENSOR_IOCTL_ERASE_CALIB			_IOW(M4_SENSOR_IOCTL_BASE, 27, int) +#define M4_SENSOR_IOCTL_SET_SCREEN_ON_GESTURE_STATUS	_IOW(M4_SENSOR_IOCTL_BASE, 30, int) +#define M4_SENSOR_IOCTL_SET_ALTITUDE 			_IOW(M4_SENSOR_IOCTL_BASE, 31, int) +#define M4_SENSOR_IOCTL_GET_FUSION			_IOR(M4_SENSOR_IOCTL_BASE, 32, int) +#define M4_SENSOR_IOCTL_GET_COMPASS			_IOR(M4_SENSOR_IOCTL_BASE, 33, int) +#define M4_SENSOR_IOCTL_GET_ACCEL			_IOR(M4_SENSOR_IOCTL_BASE, 34, int) +#define M4_SENSOR_IOCTL_GYRO_SET_DELAY			_IOW(M4_SENSOR_IOCTL_BASE, 35, int) +#define M4_SENSOR_IOCTL_COMPASS_SET_DELAY		_IOW(M4_SENSOR_IOCTL_BASE, 36, int) +#define M4_SENSOR_IOCTL_ACCEL_SET_DELAY			_IOW(M4_SENSOR_IOCTL_BASE, 37, int) +#define M4_SENSOR_IOCTL_FUSION_SET_DELAY		_IOW(M4_SENSOR_IOCTL_BASE, 40, int) +#define M4_SENSOR_IOCTL_SET_SCREEN_STATUS _IOW(M4_SENSOR_IOCTL_BASE, 41, int) +#define M4_SENSOR_IOCTL_DL_SEND_PACKET    _IOW(M4_SENSOR_IOCTL_BASE, 42, int) +#define M4_SENSOR_IOCTL_SET_TIMEZONE_OFFSET _IOW(M4_SENSOR_IOCTL_BASE, 43, int) +#define M4_SENSOR_IOCTL_LOCK_CLOCKFACE    _IOW(M4_SENSOR_IOCTL_BASE, 44, int) +#define M4_SENSOR_IOCTL_SET_DAILYSTEP_OFFSET _IOW(M4_SENSOR_IOCTL_BASE, 45, int) + +#define M4_SENSOR_DL_MAX_FILE_SIZE 16 +#define M4_SENSOR_DL_MAX_PACKET_SIZE 2048 + +enum M4_SENSOR_DL_CMDS { +	M4_SENSOR_DL_CMD_GET_CHECKSUM, +	M4_SENSOR_DL_CMD_OPEN_FILE, +	M4_SENSOR_DL_CMD_WRITE_FILE, +	M4_SENSOR_DL_CMD_CLOSE_FILE, +	M4_SENSOR_DL_CMD_DELETE_FILE, +}; + +enum M4_SENSOR_DL_ERROR_CODES { +	M4_SENSOR_DL_SUCCESS, +	M4_SENSOR_DL_ERROR_GET_CHECKSUM, +	M4_SENSOR_DL_ERROR_OPEN_FILE, +	M4_SENSOR_DL_ERROR_WRITE_FILE, +	M4_SENSOR_DL_ERROR_CLOSE_FILE, +	M4_SENSOR_DL_ERROR_DELETE_FILE, +	M4_SENSOR_DL_ERROR_INVALID_SIZE, +	/*internal error between M4<==>Kernel*/ +	M4_SENSOR_DL_ERROR_SEND_CMD = 0x80, +	M4_SENSOR_DL_ERROR_DATA_CHECKSUM, +}; + +#define M4_MAX_LOG_LEVEL	3 +#define get_log_level(loglevel, mask) ((loglevel >> mask) & 0x3) + +struct m4sh_user_profile { +	unsigned char gender; +	unsigned char age; +	unsigned char height; +	unsigned char weight; +}; + +struct m4sh_workout_data { +	int msp_distance; +	int user_distance; +}; + +struct m4sh_download_packet{ +	unsigned char command; +	unsigned char status; +	unsigned short size; +	unsigned int  checksum; +	char filename[M4_SENSOR_DL_MAX_FILE_SIZE]; +	unsigned char buffer[M4_SENSOR_DL_MAX_PACKET_SIZE]; +}; + +enum m4sh_log_level_mask { +	GEN_MASK_BIT_1, +	GEN_MASK_BIT_2, +	TIMER_MASK_BIT_1, +	TIMER_MASK_BIT_2, +	ACCEL_MASK_BIT_1, +	ACCEL_MASK_BIT_2, +	TMP_MASK_BIT_1, +	TMP_MASK_BIT_2, +	BMP_MASK_BIT_1, +	BMP_MASK_BIT_2, +	PEDO_MASK_BIT_1, +	PEDO_MASK_BIT_2, +	TCMD_MASK_BIT_1, +	TCMD_MASK_BIT_2, +	GYRO_MASK_BIT_1, +	GYRO_MASK_BIT_2, +	COMPASS_MASK_BIT_1, +	COMPASS_MASK_BIT_2, +	FUSION_MASK_BIT_1, +	FUSION_MASK_BIT_2, +	METS_MASK_BIT_1, +	METS_MASK_BIT_2, +	GESTURE_MASK_BIT_1, +	GESTURE_MASK_BIT_2, +	POWER_MASK_BIT_1, +	POWER_MASK_BIT_2, +	CORRELATION_MASK_BIT_1, +	CORRELATION_MASK_BIT_2, +	GPS_MASK_BIT_1, +	GPS_MASK_BIT_2, +	DOWNLOAD_MASK_BIT_1, +	DOWNLOAD_MASK_BIT_2, +	AUDIO_MASK_BIT_1, +	AUDIO_MASK_BIT_2, +	DISPLAY_MASK_BIT_1, +	DISPLAY_MASK_BIT_2, +	WRIST_MASK_BIT_1, +	WRIST_MASK_BIT_2, +}; + +#endif  /* __M4SENSORHUB_CLIENT_IOCTL_H__ */ |