Added new ADC_GET_CHANNEL_MASK() convenience macro to the ADC driver.
This commit is contained in:
		
							parent
							
								
									70d55f6e0c
								
							
						
					
					
						commit
						32830a2b82
					
				
					 4 changed files with 26 additions and 8 deletions
				
			
		|  | @ -90,6 +90,13 @@ | |||
| 			#error Do not include this file directly. Include LUFA/Drivers/Peripheral/ADC.h instead. | ||||
| 		#endif | ||||
| 
 | ||||
| 	/* Private Interface - For use in library only: */ | ||||
| 	#if !defined(__DOXYGEN__) | ||||
| 		/* Macros: */ | ||||
| 			#define _ADC_GET_MUX_MASK2(y)           ADC_CHANNEL ## y | ||||
| 			#define _ADC_GET_MUX_MASK(y)            _ADC_GET_MUX_MASK2(y) | ||||
| 	#endif | ||||
| 	 | ||||
| 	/* Public Interface - May be used in end-application: */ | ||||
| 		/* Macros: */ | ||||
| 			/** \name ADC Reference Configuration Masks */ | ||||
|  | @ -235,6 +242,15 @@ | |||
| 				 */ | ||||
| 				#define ADC_INT_TEMP_SENS           ((1 << 8) | (0x07 << MUX0)) | ||||
| 			#endif | ||||
| 
 | ||||
| 			/** Retrieves the ADC MUX mask for the given ADC channel number.
 | ||||
| 			 * | ||||
| 			 *  \note This macro will only work correctly on channel numbers that are compile-time | ||||
| 			 *        constants defined by the preprocessor. | ||||
| 			 * | ||||
| 			 *  \param[in] Channel  Index of the ADC channel whose MUX mask is to be retrieved. | ||||
| 			 */ | ||||
| 			#define ADC_GET_CHANNEL_MASK(Channel)   _ADC_GET_MUX_MASK(Channel) | ||||
| 			//@}
 | ||||
| 
 | ||||
| 		/* Inline Functions: */ | ||||
|  |  | |||
|  | @ -203,13 +203,19 @@ | |||
| 			 */ | ||||
| 			#define ENDPOINT_EPSIZE_MASK                    0x7F | ||||
| 
 | ||||
| 			/** Maximum size in bytes of a given endpoint.
 | ||||
| 			/** Retrives the maximum bank size in bytes of a given endpoint.
 | ||||
| 			 * | ||||
| 			 *  \note This macro will only work correctly on endpoint indexes that are compile-time constants | ||||
| 			 *        defined by the preprocessor. | ||||
| 			 * | ||||
| 			 *  \param[in] EPIndex  Endpoint number, a value between 0 and (\ref ENDPOINT_TOTAL_ENDPOINTS - 1) | ||||
| 			 */ | ||||
| 			#define ENDPOINT_MAX_SIZE(EPIndex)              _ENDPOINT_GET_MAXSIZE(EPIndex) | ||||
| 
 | ||||
| 			/** Indicates the total number of banks supported by the given endpoint.
 | ||||
| 			/** Retrieves the total number of banks supported by the given endpoint.
 | ||||
| 			 * | ||||
| 			 *  \note This macro will only work correctly on endpoint indexes that are compile-time constants | ||||
| 			 *        defined by the preprocessor. | ||||
| 			 * | ||||
| 			 *  \param[in] EPIndex  Endpoint number, a value between 0 and (\ref ENDPOINT_TOTAL_ENDPOINTS - 1) | ||||
| 			 */ | ||||
|  |  | |||
|  | @ -16,6 +16,7 @@ | |||
|   *   - Added new GCC_FORCE_POINTER_ACCESS() macro to correct GCC's mishandling of struct pointer accesses | ||||
|   *   - Added basic driver example use code to the library documentation | ||||
|   *   - Added new Endpoint_Null_Stream() and Pipe_Null_stream() functions | ||||
|   *   - Added new ADC_GET_CHANNEL_MASK() convenience macro | ||||
|   *  - Library Applications: | ||||
|   *   - Added ability to write protect Mass Storage disk write operations from the host OS | ||||
|   * | ||||
|  |  | |||
|  | @ -62,11 +62,6 @@ | |||
| 		#endif | ||||
| 
 | ||||
| 	/* Macros: */ | ||||
| 		#if !defined(__DOXYGEN__) | ||||
| 			#define _GETADCMUXMASK2(x, y)       x ## y | ||||
| 			#define _GETADCMUXMASK(x, y)        _GETADCMUXMASK2(x, y) | ||||
| 		#endif | ||||
| 
 | ||||
| 		/** Programmer ID string, returned to the host during the CMD_SIGN_ON command processing. */ | ||||
| 		#define PROGRAMMER_ID              "AVRISP_MK2" | ||||
| 
 | ||||
|  | @ -77,7 +72,7 @@ | |||
| 		#define TimeoutTicksRemaining      GPIOR1 | ||||
| 
 | ||||
| 		/** MUX mask for the VTARGET ADC channel number. */ | ||||
| 		#define VTARGET_ADC_CHANNEL_MASK   _GETADCMUXMASK(ADC_CHANNEL, VTARGET_ADC_CHANNEL) | ||||
| 		#define VTARGET_ADC_CHANNEL_MASK   ADC_GET_CHANNEL_MASK(VTARGET_ADC_CHANNEL) | ||||
| 
 | ||||
| 	/* External Variables: */ | ||||
| 		extern uint32_t CurrentAddress; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dean Camera
						Dean Camera