124 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef PINS_H_INCLUDED
 | |
| #define PINS_H_INCLUDED
 | |
| 
 | |
| // Detects if we are on USB power.
 | |
| #define VBUS_DET GPIO(GPIO_PORTA, 3)
 | |
| 
 | |
| // Buttons
 | |
| #define BTN_ALARM GPIO(GPIO_PORTA, 2)
 | |
| #define WATCH_BTN_ALARM_EIC_CHANNEL 2
 | |
| #define BTN_LIGHT GPIO(GPIO_PORTB, 5)
 | |
| #define WATCH_BTN_LIGHT_EIC_CHANNEL 5
 | |
| #define BTN_MODE GPIO(GPIO_PORTA, 7)
 | |
| #define WATCH_BTN_MODE_EIC_CHANNEL 7
 | |
| 
 | |
| // Buzzer
 | |
| #define BUZZER GPIO(GPIO_PORTA, 27)
 | |
| #define WATCH_BUZZER_TCC_PINMUX PINMUX_PA27F_TCC0_WO5
 | |
| #define WATCH_BUZZER_TCC_CHANNEL 1
 | |
| 
 | |
| // LEDs
 | |
| #define WATCH_INVERT_LED_POLARITY
 | |
| #define RED GPIO(GPIO_PORTA, 4)
 | |
| #define WATCH_RED_TCC_CHANNEL 0
 | |
| #define WATCH_RED_TCC_PINMUX PINMUX_PA04E_TCC0_WO0
 | |
| 
 | |
| #ifdef WATCH_IS_BLUE_BOARD
 | |
|     #define GREEN GPIO(GPIO_PORTB, 22)
 | |
|     #define WATCH_GREEN_TCC_CHANNEL 2
 | |
|     #define WATCH_GREEN_TCC_PINMUX PINMUX_PB22F_TCC0_WO2
 | |
| #else
 | |
|     #define GREEN GPIO(GPIO_PORTB, 23)
 | |
|     #define WATCH_GREEN_TCC_CHANNEL 3
 | |
|     #define WATCH_GREEN_TCC_PINMUX PINMUX_PB23F_TCC0_WO3
 | |
| #endif
 | |
| 
 | |
| 
 | |
| // Segment LCD
 | |
| // The LCD in this board can run comfortably at a lower voltage.
 | |
| #define CONF_SLCD_CONTRAST_ADJUST 7
 | |
| 
 | |
| #define SLCD0 GPIO(GPIO_PORTB, 6)
 | |
| #define SLCD1 GPIO(GPIO_PORTB, 7)
 | |
| #define SLCD2 GPIO(GPIO_PORTB, 8)
 | |
| #define SLCD3 GPIO(GPIO_PORTB, 9)
 | |
| #define SLCD4 GPIO(GPIO_PORTA, 5)
 | |
| #define SLCD5 GPIO(GPIO_PORTA, 6)
 | |
| #define SLCD6 GPIO(GPIO_PORTA, 8)
 | |
| #define SLCD7 GPIO(GPIO_PORTA, 9)
 | |
| #define SLCD8 GPIO(GPIO_PORTA, 10)
 | |
| #define SLCD9 GPIO(GPIO_PORTA, 11)
 | |
| #define SLCD10 GPIO(GPIO_PORTB, 11)
 | |
| #define SLCD11 GPIO(GPIO_PORTB, 12)
 | |
| #define SLCD12 GPIO(GPIO_PORTB, 13)
 | |
| #define SLCD13 GPIO(GPIO_PORTB, 14)
 | |
| #define SLCD14 GPIO(GPIO_PORTB, 15)
 | |
| #define SLCD15 GPIO(GPIO_PORTA, 14)
 | |
| #define SLCD16 GPIO(GPIO_PORTA, 15)
 | |
| #define SLCD17 GPIO(GPIO_PORTA, 16)
 | |
| #define SLCD18 GPIO(GPIO_PORTA, 17)
 | |
| #define SLCD19 GPIO(GPIO_PORTA, 18)
 | |
| #define SLCD20 GPIO(GPIO_PORTA, 19)
 | |
| #define SLCD21 GPIO(GPIO_PORTB, 16)
 | |
| #define SLCD22 GPIO(GPIO_PORTB, 17)
 | |
| #define SLCD23 GPIO(GPIO_PORTA, 20)
 | |
| #define SLCD24 GPIO(GPIO_PORTA, 21)
 | |
| #define SLCD25 GPIO(GPIO_PORTA, 22)
 | |
| #define SLCD26 GPIO(GPIO_PORTA, 23)
 | |
| // This board uses a slightly different pin mapping from the standard watch, and it's not enough to
 | |
| // just declare the pins. We also have to set the LCD Pin Enable register with the SLCD pins we're
 | |
| // using. These numbers are not port/pin numbers, but the "SLCD/LP[x]" numbers in the pinmux table.
 | |
| // If not defined in pins.h, the LCD driver will fall back to the pin mapping in hpl_slcd_config.h.
 | |
| // LPENL is for pins SLCD/LP[0..31].
 | |
| #define CONF_SLCD_LPENL (\
 | |
|         (uint32_t)1 <<  0 | \
 | |
|         (uint32_t)1 <<  1 | \
 | |
|         (uint32_t)1 <<  2 | \
 | |
|         (uint32_t)1 <<  3 | \
 | |
|         (uint32_t)1 <<  5 | \
 | |
|         (uint32_t)1 <<  6 | \
 | |
|         (uint32_t)1 << 11 | \
 | |
|         (uint32_t)1 << 12 | \
 | |
|         (uint32_t)1 << 13 | \
 | |
|         (uint32_t)1 << 14 | \
 | |
|         (uint32_t)1 << 21 | \
 | |
|         (uint32_t)1 << 22 | \
 | |
|         (uint32_t)1 << 23 | \
 | |
|         (uint32_t)1 << 24 | \
 | |
|         (uint32_t)1 << 25 | \
 | |
|         (uint32_t)1 << 30 | \
 | |
|         (uint32_t)1 << 31 | 0)
 | |
| // LPENH is for pins SLCD/LP[32..51], where bit 0 represents pin 32.
 | |
| #define CONF_SLCD_LPENH (\
 | |
|         (uint32_t)1 << (32 - 32) | \
 | |
|         (uint32_t)1 << (33 - 32) | \
 | |
|         (uint32_t)1 << (34 - 32) | \
 | |
|         (uint32_t)1 << (35 - 32) | \
 | |
|         (uint32_t)1 << (42 - 32) | \
 | |
|         (uint32_t)1 << (43 - 32) | \
 | |
|         (uint32_t)1 << (48 - 32) | \
 | |
|         (uint32_t)1 << (49 - 32) | \
 | |
|         (uint32_t)1 << (50 - 32) | \
 | |
|         (uint32_t)1 << (51 - 32) | 0)
 | |
| 
 | |
| 
 | |
| // 9-pin connector
 | |
| #define A0 GPIO(GPIO_PORTB, 4)
 | |
| #define WATCH_A0_EIC_CHANNEL 4
 | |
| #define A1 GPIO(GPIO_PORTB, 1)
 | |
| #define WATCH_A1_EIC_CHANNEL 1
 | |
| #define A2 GPIO(GPIO_PORTB, 2)
 | |
| #define WATCH_A2_EIC_CHANNEL 2
 | |
| #define A3 GPIO(GPIO_PORTB, 3)
 | |
| #define WATCH_A3_EIC_CHANNEL 3
 | |
| #define A4 GPIO(GPIO_PORTB, 0)
 | |
| #define WATCH_A4_EIC_CHANNEL 0
 | |
| #define SDA GPIO(GPIO_PORTB, 30)
 | |
| #define SCL GPIO(GPIO_PORTB, 31)
 | |
| 
 | |
| // aliases for as A3/A4; these were mentioned as D0/D1 in early documentation.
 | |
| #define D0 GPIO(GPIO_PORTB, 3)
 | |
| #define D1 GPIO(GPIO_PORTB, 0)
 | |
| 
 | |
| #endif // PINS_H_INCLUDED
 |