diff --git a/src/app/i2cbench/main.cc b/src/app/i2cbench/main.cc index c9c2b70e1c9858881d0eac17c906ef984c3f2b25..53048164331984a08eb50feaee313a828aed1ed9 100644 --- a/src/app/i2cbench/main.cc +++ b/src/app/i2cbench/main.cc @@ -25,8 +25,9 @@ void loop(void) { #ifdef DRIVER_LM75 - kout.printf_float(lm75.getTemp()); - kout << endl; + //kout.printf_float(lm75.getTemp()); + //kout << endl; + lm75.setOS(64); #endif #ifdef DRIVER_AM2320 am2320.read(); diff --git a/src/arch/arduino-nano/Makefile.inc b/src/arch/arduino-nano/Makefile.inc index d481fa2153de33b2915c21346134644d25557131..18a65633e00a9bb58d57fe9a8ec3fd803366b185 100644 --- a/src/arch/arduino-nano/Makefile.inc +++ b/src/arch/arduino-nano/Makefile.inc @@ -32,6 +32,10 @@ ifneq ($(findstring stdin,${arch_drivers}), ) TARGETS += src/arch/arduino-nano/driver/stdin.cc endif +ifneq (${i2c_freq}, ) + COMMON_FLAGS += -DF_I2C=${i2c_freq} +endif + OBJECTS = ${TARGETS:.cc=.o} .cc.o: diff --git a/src/arch/arduino-nano/driver/i2c.cc b/src/arch/arduino-nano/driver/i2c.cc index cfbea591131680c4072ab3ce0b5c80fa8d6c19fb..0a2f595290903ba0434b61b0a64dd69dd420af81 100644 --- a/src/arch/arduino-nano/driver/i2c.cc +++ b/src/arch/arduino-nano/driver/i2c.cc @@ -3,6 +3,10 @@ #include <avr/io.h> #include <avr/interrupt.h> +#ifndef F_I2C +#define F_I2C 100000UL +#endif + inline void await_twint(unsigned char twcr_values) { TWCR = twcr_values | _BV(TWINT) | _BV(TWIE); @@ -99,7 +103,7 @@ static signed char i2c_receive(uint8_t len, uint8_t *data) signed char I2C::setup() { TWSR = 0; - TWBR = ((F_CPU / 100000UL) - 16) / 2; + TWBR = ((F_CPU / F_I2C) - 16) / 2; return 0; }