Details | Last modification | View Log | SVN | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1703 | arune | 1 | /** |
| 2 | * @defgroup io PWM driver |
||
| 3 | * @code #include <drivers/io/PCA9634.h> @endcode |
||
| 4 | * |
||
| 5 | * @brief Simple driver for PCA9634 PWM driver. |
||
| 6 | * |
||
| 7 | * |
||
| 8 | * @author Anders Runeson |
||
| 9 | * @date 2011-02-13 |
||
| 10 | */ |
||
| 11 | |||
| 12 | /**@{*/ |
||
| 13 | |||
| 14 | #ifndef PCA9634_H_ |
||
| 15 | #define PCA9634_H_ |
||
| 16 | |||
| 17 | /*----------------------------------------------- |
||
| 18 | * Definitions |
||
| 19 | * ---------------------------------------------*/ |
||
| 20 | |||
| 21 | typedef enum |
||
| 22 | { |
||
| 23 | PCA9634_OP_OFF = 0, |
||
| 24 | PCA9634_OP_ON = 1, |
||
| 25 | PCA9634_OP_IND = 2, |
||
| 26 | PCA9634_OP_INDGRP = 3 |
||
| 27 | } pca9634_OpMode_t; |
||
| 28 | |||
| 29 | #define PCA9634_MODE1_SLEEP (0<<4) |
||
| 30 | #define PCA9634_MODE1_SUB1 (0<<3) |
||
| 31 | #define PCA9634_MODE1_SUB2 (0<<2) |
||
| 32 | #define PCA9634_MODE1_SUB3 (0<<1) |
||
| 33 | #define PCA9634_MODE1_ALL (0<<0) |
||
| 34 | |||
| 35 | #define PCA9634_REG_MODE1 0 |
||
| 36 | #define PCA9634_REG_MODE2 1 |
||
| 37 | #define PCA9634_REG_PWM0 2 |
||
| 38 | #define PCA9634_REG_PWM1 3 |
||
| 39 | #define PCA9634_REG_PWM2 4 |
||
| 40 | #define PCA9634_REG_PWM3 5 |
||
| 41 | #define PCA9634_REG_PWM4 6 |
||
| 42 | #define PCA9634_REG_PWM5 7 |
||
| 43 | #define PCA9634_REG_PWM6 8 |
||
| 44 | #define PCA9634_REG_PWM7 9 |
||
| 45 | #define PCA9634_REG_GRPPWM 10 |
||
| 46 | #define PCA9634_REG_GRPFREQ 11 |
||
| 47 | #define PCA9634_REG_LEDOUT0 12 |
||
| 48 | #define PCA9634_REG_LEDOUT1 13 |
||
| 49 | #define PCA9634_REG_SUBADR1 14 |
||
| 50 | #define PCA9634_REG_SUBADR2 15 |
||
| 51 | #define PCA9634_REG_SUBADR3 16 |
||
| 52 | #define PCA9634_REG_ALLCALLADR 17 |
||
| 53 | |||
| 54 | /*----------------------------------------------- |
||
| 55 | * Inclusions |
||
| 56 | * ---------------------------------------------*/ |
||
| 57 | #include <stdlib.h> |
||
| 58 | #include <inttypes.h> |
||
| 59 | |||
| 60 | |||
| 61 | /*----------------------------------------------- |
||
| 62 | * Function Prototypes |
||
| 63 | * ---------------------------------------------*/ |
||
| 64 | |||
| 65 | /** |
||
| 66 | * @brief Initialize PCA9634 connection. |
||
| 67 | * |
||
| 68 | */ |
||
| 69 | void pca9634_init(uint8_t address); |
||
| 70 | |||
| 71 | /** |
||
| 72 | * @brief Sets the duty cycle for a PWM output. |
||
| 73 | * |
||
| 74 | * |
||
| 75 | */ |
||
| 76 | void pca9634_setDuty(uint8_t id, uint8_t step); |
||
| 77 | |||
| 78 | /** |
||
| 79 | * @brief Sets the output mode for a PWM output. |
||
| 80 | * |
||
| 81 | * |
||
| 82 | */ |
||
| 83 | void pca9634_setOpMode(uint8_t id, pca9634_OpMode_t mode); |
||
| 84 | |||
| 85 | /**@}*/ |
||
| 86 | #endif |
||
| 87 |