diff options
Diffstat (limited to 'firmware/drivers/pcf50606.c')
-rw-r--r-- | firmware/drivers/pcf50606.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/firmware/drivers/pcf50606.c b/firmware/drivers/pcf50606.c new file mode 100644 index 0000000000..a93b94399e --- /dev/null +++ b/firmware/drivers/pcf50606.c @@ -0,0 +1,45 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 by Rob Purchase + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "pcf50606.h" +#include "i2c.h" + +#define PCF50606_ADDR 0x10 + +int pcf50606_write(int address, unsigned char val) +{ + unsigned char data[] = { address, val }; + return i2c_write(PCF50606_ADDR, data, 2); +} + +int pcf50606_read(int address) +{ + unsigned char val = -1; + i2c_readmem(PCF50606_ADDR, address, &val, 1); + return val; +} + +int pcf50606_read_multiple(int address, unsigned char* buf, int count) +{ + return i2c_readmem(PCF50606_ADDR, address, buf, count); +} + +void pcf50606_init(void) +{ + // TODO +} |