This example positions a lit LED in the I2C LED array using the rotary encoder

Dependencies:   mbed

Committer:
chris
Date:
Tue Mar 02 08:27:23 2010 +0000
Revision:
0:498b9b4a7bb9

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chris 0:498b9b4a7bb9 1 /* PCA9532
chris 0:498b9b4a7bb9 2 * (c) 2009, cstyles
chris 0:498b9b4a7bb9 3 */
chris 0:498b9b4a7bb9 4
chris 0:498b9b4a7bb9 5 #ifndef PCA9532_H
chris 0:498b9b4a7bb9 6 #define PCA9532_H
chris 0:498b9b4a7bb9 7
chris 0:498b9b4a7bb9 8 #include "mbed.h"
chris 0:498b9b4a7bb9 9
chris 0:498b9b4a7bb9 10 // register names
chris 0:498b9b4a7bb9 11 #define PCA9532_REG_INPUT0 0
chris 0:498b9b4a7bb9 12 #define PCA9532_REG_INPUT1 1
chris 0:498b9b4a7bb9 13 #define PCA9532_REG_PSC0 2
chris 0:498b9b4a7bb9 14 #define PCA9532_REG_PWM0 3
chris 0:498b9b4a7bb9 15 #define PCA9532_REG_PSC1 4
chris 0:498b9b4a7bb9 16 #define PCA9532_REG_PWM1 5
chris 0:498b9b4a7bb9 17 #define PCA9532_REG_LS0 6
chris 0:498b9b4a7bb9 18 #define PCA9532_REG_LS1 7
chris 0:498b9b4a7bb9 19 #define PCA9532_REG_LS2 8
chris 0:498b9b4a7bb9 20 #define PCA9532_REG_LS3 9
chris 0:498b9b4a7bb9 21
chris 0:498b9b4a7bb9 22 #define PCA9532_MODE_CLEAR 0
chris 0:498b9b4a7bb9 23 #define PCA9532_MODE_SET 1
chris 0:498b9b4a7bb9 24 #define PCA9532_MODE_PWM0 2
chris 0:498b9b4a7bb9 25 #define PCA9532_MODE_PWM1 3
chris 0:498b9b4a7bb9 26
chris 0:498b9b4a7bb9 27
chris 0:498b9b4a7bb9 28
chris 0:498b9b4a7bb9 29
chris 0:498b9b4a7bb9 30
chris 0:498b9b4a7bb9 31 class PCA9532 {
chris 0:498b9b4a7bb9 32
chris 0:498b9b4a7bb9 33 public:
chris 0:498b9b4a7bb9 34
chris 0:498b9b4a7bb9 35 PCA9532(PinName sda, PinName scl, int addr);
chris 0:498b9b4a7bb9 36
chris 0:498b9b4a7bb9 37 void write (int leds);
chris 0:498b9b4a7bb9 38
chris 0:498b9b4a7bb9 39 void set (int leds);
chris 0:498b9b4a7bb9 40 void clear (int leds);
chris 0:498b9b4a7bb9 41 void pwm0 (int leds);
chris 0:498b9b4a7bb9 42 void pwm1 (int leds);
chris 0:498b9b4a7bb9 43
chris 0:498b9b4a7bb9 44 void duty0 (float d);
chris 0:498b9b4a7bb9 45 void duty1 (float d);
chris 0:498b9b4a7bb9 46
chris 0:498b9b4a7bb9 47 void period0 (float t);
chris 0:498b9b4a7bb9 48 void period1 (float t);
chris 0:498b9b4a7bb9 49
chris 0:498b9b4a7bb9 50 protected:
chris 0:498b9b4a7bb9 51
chris 0:498b9b4a7bb9 52 void _write(int reg, int data);
chris 0:498b9b4a7bb9 53 int _read(int reg);
chris 0:498b9b4a7bb9 54
chris 0:498b9b4a7bb9 55 void _rmw(int led, int mode);
chris 0:498b9b4a7bb9 56
chris 0:498b9b4a7bb9 57 int _addr;
chris 0:498b9b4a7bb9 58
chris 0:498b9b4a7bb9 59 I2C _i2c;
chris 0:498b9b4a7bb9 60
chris 0:498b9b4a7bb9 61 };
chris 0:498b9b4a7bb9 62
chris 0:498b9b4a7bb9 63
chris 0:498b9b4a7bb9 64 #endif