InetrfaceProducts NXP / PCA962x

Dependencies:   CompLedDvr

Dependents:   PCA9626_Hello PCA9624_Hello PCA9622_Hello

Committer:
nxp_ip
Date:
Wed Mar 04 05:59:40 2015 +0000
Revision:
3:40f83904f0a8
Parent:
0:7a206e6db594
API of "LedPwmOut class" implemented

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nxp_ip 0:7a206e6db594 1 #include "mbed.h"
nxp_ip 0:7a206e6db594 2 #include "PCA9624.h"
nxp_ip 0:7a206e6db594 3
nxp_ip 0:7a206e6db594 4 PCA9624::PCA9624( PinName i2c_sda, PinName i2c_scl, char i2c_address )
nxp_ip 0:7a206e6db594 5 : PCA962x( i2c_sda, i2c_scl, i2c_address ), n_of_ports( 8 )
nxp_ip 0:7a206e6db594 6 {
nxp_ip 0:7a206e6db594 7 initialize();
nxp_ip 0:7a206e6db594 8 }
nxp_ip 0:7a206e6db594 9
nxp_ip 0:7a206e6db594 10 PCA9624::PCA9624( I2C &i2c_obj, char i2c_address )
nxp_ip 0:7a206e6db594 11 : PCA962x( i2c_obj, i2c_address ), n_of_ports( 8 )
nxp_ip 0:7a206e6db594 12 {
nxp_ip 0:7a206e6db594 13 initialize();
nxp_ip 0:7a206e6db594 14 }
nxp_ip 0:7a206e6db594 15
nxp_ip 0:7a206e6db594 16 PCA9624::~PCA9624()
nxp_ip 0:7a206e6db594 17 {
nxp_ip 0:7a206e6db594 18 }
nxp_ip 0:7a206e6db594 19
nxp_ip 0:7a206e6db594 20 void PCA9624::initialize( void )
nxp_ip 0:7a206e6db594 21 {
nxp_ip 0:7a206e6db594 22 char init_array0[] = {
nxp_ip 0:7a206e6db594 23 PCA962x::AUTO_INCREMENT | REGISTER_START, // Command
nxp_ip 3:40f83904f0a8 24 0x01, 0x00, // MODE1, MODE2
nxp_ip 0:7a206e6db594 25 };
nxp_ip 0:7a206e6db594 26 char init_array1[] = {
nxp_ip 0:7a206e6db594 27 PCA962x::AUTO_INCREMENT | LEDOUT_REGISTER_START, // Command
nxp_ip 0:7a206e6db594 28 0xAA, 0xAA, // LEDOUT[1:0]
nxp_ip 0:7a206e6db594 29 };
nxp_ip 0:7a206e6db594 30
nxp_ip 0:7a206e6db594 31 write( init_array0, sizeof( init_array0 ) );
nxp_ip 0:7a206e6db594 32 write( init_array1, sizeof( init_array1 ) );
nxp_ip 0:7a206e6db594 33 }
nxp_ip 0:7a206e6db594 34
nxp_ip 0:7a206e6db594 35 char PCA9624::pwm_register_access( int port )
nxp_ip 0:7a206e6db594 36 {
nxp_ip 0:7a206e6db594 37 if ( port < n_of_ports )
nxp_ip 0:7a206e6db594 38 return ( PWM_REGISTER_START + port );
nxp_ip 0:7a206e6db594 39
nxp_ip 0:7a206e6db594 40 return ( PWMALL );
nxp_ip 0:7a206e6db594 41 }
nxp_ip 0:7a206e6db594 42
nxp_ip 0:7a206e6db594 43 int PCA9624::number_of_ports( void )
nxp_ip 0:7a206e6db594 44 {
nxp_ip 0:7a206e6db594 45 return ( n_of_ports );
nxp_ip 0:7a206e6db594 46 }