95 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			95 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *   Copyright(C) 2011, Embedded Artists AB
							 | 
						||
| 
								 | 
							
								 *   All rights reserved.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 ******************************************************************************
							 | 
						||
| 
								 | 
							
								 * Software that is described herein is for illustrative purposes only
							 | 
						||
| 
								 | 
							
								 * which provides customers with programming information regarding the
							 | 
						||
| 
								 | 
							
								 * products. This software is supplied "AS IS" without any warranties.
							 | 
						||
| 
								 | 
							
								 * Embedded Artists AB assumes no responsibility or liability for the
							 | 
						||
| 
								 | 
							
								 * use of the software, conveys no license or title under any patent,
							 | 
						||
| 
								 | 
							
								 * copyright, or mask work right to the product. Embedded Artists AB
							 | 
						||
| 
								 | 
							
								 * reserves the right to make changes in the software without
							 | 
						||
| 
								 | 
							
								 * notification. Embedded Artists AB also make no representation or
							 | 
						||
| 
								 | 
							
								 * warranty that such application will be suitable for the specified
							 | 
						||
| 
								 | 
							
								 * use without further testing or modification.
							 | 
						||
| 
								 | 
							
								 *****************************************************************************/
							 | 
						||
| 
								 | 
							
								#ifndef __PCA9532C_H
							 | 
						||
| 
								 | 
							
								#define __PCA9532C_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define PCA9532_I2C_ADDR    (0xC0>>1)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define PCA9532_INPUT0 0x00
							 | 
						||
| 
								 | 
							
								#define PCA9532_INPUT1 0x01
							 | 
						||
| 
								 | 
							
								#define PCA9532_PSC0   0x02
							 | 
						||
| 
								 | 
							
								#define PCA9532_PWM0   0x03
							 | 
						||
| 
								 | 
							
								#define PCA9532_PSC1   0x04
							 | 
						||
| 
								 | 
							
								#define PCA9532_PWM1   0x05
							 | 
						||
| 
								 | 
							
								#define PCA9532_LS0    0x06
							 | 
						||
| 
								 | 
							
								#define PCA9532_LS1    0x07
							 | 
						||
| 
								 | 
							
								#define PCA9532_LS2    0x08
							 | 
						||
| 
								 | 
							
								#define PCA9532_LS3    0x09
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define PCA9532_AUTO_INC 0x10
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * The Keys on the base board are mapped to LED0 -> LED3 on
							 | 
						||
| 
								 | 
							
								 * the PCA9532.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define KEY1 0x0001
							 | 
						||
| 
								 | 
							
								#define KEY2 0x0002
							 | 
						||
| 
								 | 
							
								#define KEY3 0x0004
							 | 
						||
| 
								 | 
							
								#define KEY4 0x0008
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define KEY_MASK 0x000F
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * MMC Card Detect and MMC Write Protect are mapped to LED4 
							 | 
						||
| 
								 | 
							
								 * and LED5 on the PCA9532. Please note that WP is active low.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define MMC_CD 0x0010
							 | 
						||
| 
								 | 
							
								#define MMC_WP 0x0020
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define MMC_MASK  0x30
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* NOTE: LED6 and LED7 on PCA9532 are not connected to anything */
							 | 
						||
| 
								 | 
							
								#define PCA9532_NOT_USED 0xC0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Below are the LED constants to use when enabling/disabling a LED.
							 | 
						||
| 
								 | 
							
								 * The LED names are the names printed on the base board and not
							 | 
						||
| 
								 | 
							
								 * the names from the PCA9532 device. base_LED1 -> LED8 on PCA9532,
							 | 
						||
| 
								 | 
							
								 * base_LED2 -> LED9, and so on.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define LED1 0x0100
							 | 
						||
| 
								 | 
							
								#define LED2 0x0200
							 | 
						||
| 
								 | 
							
								#define LED3 0x0400
							 | 
						||
| 
								 | 
							
								#define LED4 0x0800
							 | 
						||
| 
								 | 
							
								#define LED5 0x1000
							 | 
						||
| 
								 | 
							
								#define LED6 0x2000
							 | 
						||
| 
								 | 
							
								#define LED7 0x4000
							 | 
						||
| 
								 | 
							
								#define LED8 0x8000
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define LED_MASK 0xFF00
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void pca9532_init (void);
							 | 
						||
| 
								 | 
							
								uint16_t pca9532_getLedState (uint32_t shadow);
							 | 
						||
| 
								 | 
							
								void pca9532_setLeds (uint16_t ledOnMask, uint16_t ledOffMask);
							 | 
						||
| 
								 | 
							
								void pca9532_setBlink0Period(uint8_t period);
							 | 
						||
| 
								 | 
							
								void pca9532_setBlink0Duty(uint8_t duty);
							 | 
						||
| 
								 | 
							
								void pca9532_setBlink0Leds(uint16_t ledMask);
							 | 
						||
| 
								 | 
							
								void pca9532_setBlink1Period(uint8_t period);
							 | 
						||
| 
								 | 
							
								void pca9532_setBlink1Duty(uint8_t duty);
							 | 
						||
| 
								 | 
							
								void pca9532_setBlink1Leds(uint16_t ledMask);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* end __PCA9532C_H */
							 | 
						||
| 
								 | 
							
								/****************************************************************************
							 | 
						||
| 
								 | 
							
								**                            End Of File
							 | 
						||
| 
								 | 
							
								*****************************************************************************/
							 |