<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.ethersex.de/index.php?action=history&amp;feed=atom&amp;title=PCA9632</id>
		<title>PCA9632 - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.ethersex.de/index.php?action=history&amp;feed=atom&amp;title=PCA9632"/>
		<link rel="alternate" type="text/html" href="http://www.ethersex.de/index.php?title=PCA9632&amp;action=history"/>
		<updated>2026-04-08T01:48:05Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.ethersex.de/index.php?title=PCA9632&amp;diff=1027&amp;oldid=prev</id>
		<title>Beroot: Created page with &quot;{{i18n|PCA9632}} {{Module |NAME=PCA9632 |MENUCONFIG={{I/O}}-&gt;{{I2C Master}}-&gt;I2C PCA9632 |STATUS={{Experimental}} |PINNING=no |ECMD={{has_ecmd}} |CONTROL6= |DEPENDS=ECMD [[I2…&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.ethersex.de/index.php?title=PCA9632&amp;diff=1027&amp;oldid=prev"/>
				<updated>2013-05-11T21:59:43Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{i18n|PCA9632}} {{Module |NAME=PCA9632 |MENUCONFIG={{I/O}}-&amp;gt;{{I2C Master}}-&amp;gt;I2C PCA9632 |STATUS={{Experimental}} |PINNING=no |ECMD={{has_ecmd}} |CONTROL6= |DEPENDS=&lt;a href=&quot;/index.php/ECMD&quot; title=&quot;ECMD&quot;&gt;ECMD&lt;/a&gt; [[I2…&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{i18n|PCA9632}}&lt;br /&gt;
{{Module&lt;br /&gt;
|NAME=PCA9632&lt;br /&gt;
|MENUCONFIG={{I/O}}-&amp;gt;{{I2C Master}}-&amp;gt;I2C PCA9632&lt;br /&gt;
|STATUS={{Experimental}}&lt;br /&gt;
|PINNING=no&lt;br /&gt;
|ECMD={{has_ecmd}}&lt;br /&gt;
|CONTROL6=&lt;br /&gt;
|DEPENDS=[[ECMD]] [[I2C Master]] [[I2C Generic]]&lt;br /&gt;
|REQUIRES= -&lt;br /&gt;
|CODE=[https://github.com/ethersex/ethersex/tree/master/hardware/i2c/master/ https://github.com/ethersex/ethersex/tree/master/hardware/i2c/master]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Driver for the PCA9632 4-Bit LED driver I2C-bus chip from NXP.&lt;br /&gt;
&lt;br /&gt;
Please refer to the datasheet for further informations about setting the registers and connecting LEDs to the driver outputs. The dataheet can be fopund here: [http://www.nxp.com/documents/data_sheet/PCA9632.pdf]&lt;br /&gt;
&lt;br /&gt;
== Connection ==&lt;br /&gt;
&lt;br /&gt;
The PCA9632 is connected to the I2C-bus (with pins SDA and SCL). The particular pin numbers depend on the package used (8- or 10-pin).&lt;br /&gt;
&lt;br /&gt;
The device slave address is 0x62 (dec. 98). This address is fixed for the 8-pin version. With this package only one chip can be connected to an i2c-bus. The 10-pin package hat two additional address pins which allow up to 4 chips on one bus.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
  │ │          Load a Default Configuration  ---&amp;gt;&lt;br /&gt;
  │ │          General Setup  ---&amp;gt;&lt;br /&gt;
  │ │          Network ---&amp;gt;&lt;br /&gt;
  │ │          I/O ---&amp;gt; &lt;br /&gt;
  ...&lt;br /&gt;
  │ │               [*] I2C Master Support  ---&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  │ │                       [*]   I2C generic read/write support  ---&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  │ │                       [*]   I2C PCA9632  4-bit LED dimmer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[ECMD]] ==&lt;br /&gt;
&lt;br /&gt;
PCA9632 implements a [[ECMD]] interface for reading and writing the LED status. See [[ECMD_Reference|ECMD reference]].&lt;br /&gt;
&lt;br /&gt;
== Provided Functions ==&lt;br /&gt;
&lt;br /&gt;
''hardware/i2c/master/i2c_pca9632.h'' provides and defines the following functions:&lt;br /&gt;
&lt;br /&gt;
'''i2c_pca9632_reset()''' &lt;br /&gt;
Resets the device to the power-up state values. Returns '''0''' when ok or '''1''' if an error occurred.&lt;br /&gt;
&lt;br /&gt;
'''i2c_pca9632_init(uint8_t address, uint8_t mode1, uint8_t mode2, uint8_t led_out_state)'''&lt;br /&gt;
Initializes the &amp;quot;configuration&amp;quot; registers. ''Address'' is the slave address of the chip (0x62h). In register ''MODE1'' only bit 4 is essential. After power up the internal oscillator is switched off representing bit is 1 (low power mode). To be able to change the LEDs PWM values the oscillator must be turned on by setting bit 4 to 0. All other bits are for standard applications not relevant. Register ''MODE2'' set open-drain or toem pole structure (bit 2), sets outputs inverted or not (bit 4) and sets the group control to dimming or blinking (bit 5). ''led_out_state'' set the LED drivers ''on'', ''off'', ''by PWM'', ''additional group dimm/blink''.&lt;br /&gt;
&lt;br /&gt;
'''i2c_pca9632_set_blink(uint8_t address, uint8_t grppwm, uint8_t grpfreq)'''&lt;br /&gt;
When ''dimming'' is set in MODE2 register the ''grppwm'' value sets the global dimmimgn of all LEDs. When ''blinking'' is set by MODE2 then ''grppwm'' sets the duty cycle and ''grpfreq'' sets the frequency.&lt;br /&gt;
&lt;br /&gt;
'''i2c_pca9632_set_led(uint8_t address, uint8_t led_x, uint8_t pwm_x)'''&lt;br /&gt;
Sets the individual PWM_x value of LED_x (x from 0 to 3). Corresponds to write the registers 0x02h (LED0) to 0x05h (LED3).&lt;br /&gt;
&lt;br /&gt;
'''i2c_pca9632_read_led(uint8_t address, uint8_t led_x)'''&lt;br /&gt;
Reads and returns the individual PWM value of LED_x (0 to 3).&lt;br /&gt;
&lt;br /&gt;
== Register Explanations ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
MODE1 (register address 0x00h)&lt;br /&gt;
bit 4 (SLEEP) has to be set to 0 to start the oscillator and to be able to set LED PWM values.&lt;br /&gt;
 &lt;br /&gt;
MODE2 (register address 0x01h) (* is default value)&lt;br /&gt;
bit  value  description&lt;br /&gt;
0    0*     unused&lt;br /&gt;
1    1*     unused&lt;br /&gt;
2    0*     output open-drain&lt;br /&gt;
     1      output totem pole&lt;br /&gt;
3    0*     change on STOP&lt;br /&gt;
     1      change on ACK (important for synchronizing chips)&lt;br /&gt;
4    0*     output NOT inverted&lt;br /&gt;
     1      output inverted&lt;br /&gt;
5    0*     group control = dimming&lt;br /&gt;
     1      group control = blinking&lt;br /&gt;
6    0*     reserved&lt;br /&gt;
7    0*     reserved&lt;br /&gt;
&lt;br /&gt;
PWM registers 0 to 3 (0x02h to 0x05h) (* is default value)&lt;br /&gt;
address  register value&lt;br /&gt;
02h      PWM0     00000000*&lt;br /&gt;
03h      PWM1     00000000*&lt;br /&gt;
04h      PWM2     00000000*&lt;br /&gt;
05h      PWM3     00000000*&lt;br /&gt;
&lt;br /&gt;
GRPPWM Group duty cycle register (0x06h)&lt;br /&gt;
address  register value&lt;br /&gt;
06h      GRPPWM   11111111&lt;br /&gt;
&lt;br /&gt;
GRPFREQ Group frequency register (0x07h)&lt;br /&gt;
address  register value&lt;br /&gt;
07h      GRPFREQ  00000000*&lt;br /&gt;
&lt;br /&gt;
LED_OUT_STATE (register address 0x08h) (* is default value)&lt;br /&gt;
bit  symbol  value&lt;br /&gt;
0,1  LDR0    00*&lt;br /&gt;
2,3  LDR1    00*&lt;br /&gt;
4,5  LDR2    00*&lt;br /&gt;
6,7  LDR3    00*&lt;br /&gt;
&lt;br /&gt;
LDRx = 00 LED driver is off&lt;br /&gt;
LDRx = 01 LED driver is on&lt;br /&gt;
LDRx = 10 LED driver is individually controlled by its PWM&lt;br /&gt;
LDRx = 11 LED driver is additionally controlled by group dimming or blinking&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Beroot</name></author>	</entry>

	</feed>