Added new CONCAT() and CONCAT_EXPANDED() convenience macros.

This commit is contained in:
Dean Camera 2013-04-06 22:07:54 +00:00
parent 7dc77a6abc
commit 7c3867da33
8 changed files with 53 additions and 51 deletions

View file

@ -61,13 +61,13 @@
#define HID_RI_DATA_BITS_8 0x01
#define HID_RI_DATA_BITS_16 0x02
#define HID_RI_DATA_BITS_32 0x03
#define HID_RI_DATA_BITS(DataBits) HID_RI_DATA_BITS_ ## DataBits
#define HID_RI_DATA_BITS(DataBits) CONCAT_EXPANDED(HID_RI_DATA_BITS_, DataBits)
#define _HID_RI_ENCODE_0(Data)
#define _HID_RI_ENCODE_8(Data) , (Data & 0xFF)
#define _HID_RI_ENCODE_16(Data) _HID_RI_ENCODE_8(Data) _HID_RI_ENCODE_8(Data >> 8)
#define _HID_RI_ENCODE_32(Data) _HID_RI_ENCODE_16(Data) _HID_RI_ENCODE_16(Data >> 16)
#define _HID_RI_ENCODE(DataBits, ...) _HID_RI_ENCODE_ ## DataBits(__VA_ARGS__)
#define _HID_RI_ENCODE(DataBits, ...) CONCAT_EXPANDED(_HID_RI_ENCODE_, DataBits(__VA_ARGS__))
#define _HID_RI_ENTRY(Type, Tag, DataBits, ...) (Type | Tag | HID_RI_DATA_BITS(DataBits)) _HID_RI_ENCODE(DataBits, (__VA_ARGS__))
#endif

View file

@ -112,9 +112,7 @@
*/
extern volatile uint8_t USB_HostState;
#else
#define _GET_HOST_GPIOR_NAME2(y) GPIOR ## y
#define _GET_HOST_GPIOR_NAME(x) _GET_HOST_GPIOR_NAME2(x)
#define USB_HostState _GET_HOST_GPIOR_NAME(HOST_STATE_AS_GPIOR)
#define USB_HostState CONCAT_EXPANDED(GPIOR, HOST_STATE_AS_GPIOR)
#endif
#endif
@ -145,9 +143,7 @@
*/
extern volatile uint8_t USB_DeviceState;
#else
#define _GET_DEVICE_GPIOR_NAME2(y) GPIOR ## y
#define _GET_DEVICE_GPIOR_NAME(x) _GET_DEVICE_GPIOR_NAME2(x)
#define USB_DeviceState _GET_DEVICE_GPIOR_NAME(DEVICE_STATE_AS_GPIOR)
#define USB_DeviceState CONCAT_EXPANDED(GPIOR, DEVICE_STATE_AS_GPIOR)
#endif
#endif