autogen definitions write_read_test.tpl;

data_type = { 
	type_name		= char ;
	data_type		= short ;
	data_field		= s ;
	error_func		= CHAR_ERROR ;
	format_char		= "0x%X" ;
	max_val			= "32000.0" ;
	max_error		= "255" ;
	} ;

data_type = { 
	type_name		= short ;
	data_type		= short ;
	data_field		= s ;
	error_func		= INT_ERROR ;
	format_char		= "0x%X" ;
	max_val			= "32000.0" ;
	max_error		= "0" ;
	} ;

data_type = { 
	type_name		= "24bit" ;
	data_type		= int ;
	data_field		= i ;
	error_func		= TRIBYTE_ERROR ;
	format_char		= "0x%X" ;
	max_val			= "(1.0 * 0x7F000000)" ;
	max_error		= "256" ;
	} ;

data_type = { 
	type_name		= int ;
	data_type		= int ;
	data_field		= i ;
	error_func		= INT_ERROR ;
	format_char		= "0x%X" ;
	max_val			= "(1.0 * 0x7F000000)" ;
	max_error		= "0" ;
	} ;

/* Lite remove start */

data_type = { 
	type_name		= float ;
	data_type		= float ;
	data_field		= f ;
	error_func		= FLOAT_ERROR ;
	format_char		= "%g" ;
	max_val			= "1.0" ;
	max_error		= "0" ;
	} ;

data_type = { 
	type_name		= double ;
	data_type		= double ;
	data_field		= d ;
	error_func		= FLOAT_ERROR ;
	format_char		= "%g" ;
	max_val			= "1.0" ;
	max_error		= "0" ;
	} ;

/* Lite remove end */
