diff options
| -rw-r--r-- | src/core/ao_config.c | 10 | ||||
| -rw-r--r-- | src/core/ao_data.h | 8 | 
2 files changed, 13 insertions, 5 deletions
| diff --git a/src/core/ao_config.c b/src/core/ao_config.c index 590d8a49..4482f673 100644 --- a/src/core/ao_config.c +++ b/src/core/ao_config.c @@ -514,6 +514,10 @@ ao_config_pad_orientation_show(void) __reentrant  	printf("Pad orientation: %d\n", ao_config.pad_orientation);  } +#ifndef AO_ACCEL_INVERT +#define AO_ACCEL_INVERT	0x7fff +#endif +  void  ao_config_pad_orientation_set(void) __reentrant  { @@ -523,10 +527,10 @@ ao_config_pad_orientation_set(void) __reentrant  	_ao_config_edit_start();  	ao_cmd_lex_i &= 1;  	if (ao_config.pad_orientation != ao_cmd_lex_i) { -		uint16_t t; +		int16_t t;  		t = ao_config.accel_plus_g; -		ao_config.accel_plus_g = 0x7fff - ao_config.accel_minus_g; -		ao_config.accel_minus_g = 0x7fff - t; +		ao_config.accel_plus_g = AO_ACCEL_INVERT - ao_config.accel_minus_g; +		ao_config.accel_minus_g = AO_ACCEL_INVERT - t;  	}  	ao_config.pad_orientation = ao_cmd_lex_i;  	_ao_config_edit_finish(); diff --git a/src/core/ao_data.h b/src/core/ao_data.h index e1d8a139..c4b062fd 100644 --- a/src/core/ao_data.h +++ b/src/core/ao_data.h @@ -273,14 +273,16 @@ typedef int16_t accel_t;  /* MMA655X is hooked up so that positive values represent negative acceleration */ +#define AO_ACCEL_INVERT		4095 +  #define ao_data_accel(packet)			((packet)->mma655x)  #if AO_MMA655X_INVERT -#define ao_data_accel_cook(packet)		(4095 - (packet)->mma655x) +#define ao_data_accel_cook(packet)		(AO_ACCEL_INVERT - (packet)->mma655x)  #else  #define ao_data_accel_cook(packet)		((packet)->mma655x)  #endif  #define ao_data_set_accel(packet, accel)	((packet)->mma655x = (accel)) -#define ao_data_accel_invert(accel)		(4095 - (accel)) +#define ao_data_accel_invert(accel)		(AO_ACCEL_INVERT - (accel))  #endif @@ -288,6 +290,8 @@ typedef int16_t accel_t;  #define HAS_ACCEL	1 +#define AO_ACCEL_INVERT		0 +  typedef int16_t accel_t;  /* MPU6000 is hooked up so that positive y is positive acceleration */ | 
