Commit 51a00f59 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Add I2C and LM75 drivers

parent 693afffd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ CFLAGS = -std=c99
CXXFLAGS = -std=c++14

TARGETS = src/app/${app}/main.cc src/os/object/cpp_helpers.cc src/os/object/outputstream.cc
TARGETS += src/driver/lm75.cc

ifeq (${timer_cycles}, 1)
	COMMON_FLAGS += -DTIMER_CYCLES

include/driver/lm75.h

0 → 100644
+21 −0
Original line number Diff line number Diff line
#ifndef LM75_H
#define LM75_H

class LM75 {
	private:
		LM75(const LM75 &copy);
		unsigned char const address;
		unsigned char txbuf[3];
		unsigned char rxbuf[2];

	public:
		LM75(unsigned char const addr) : address(addr) {}

		float getTemp();
		void setOS(unsigned char os);
		void setHyst(unsigned char hyst);
};

extern LM75 lm75;

#endif
+19 −0
Original line number Diff line number Diff line
#ifndef I2C_H
#define I2C_H

class I2C {
	private:
		I2C(const I2C &copy);

	public:
		I2C () {}
		signed char setup();
		void scan(unsigned int *results);
		signed char xmit(unsigned char address,
				unsigned char tx_len, unsigned char *tx_buf,
				unsigned char rx_len, unsigned char *rx_buf);
};

extern I2C i2c;

#endif
+2 −0
Original line number Diff line number Diff line
@@ -38,6 +38,8 @@ class OutputStream {
	OutputStream & operator<<(OutputStream & (*fun) (OutputStream &));

	void setBase(uint8_t b);
	void printf_uint8(uint8_t num);
	void printf_float(float num);
};


+5 −2
Original line number Diff line number Diff line
@@ -10,8 +10,11 @@ CC = /opt/msp430/ti/gcc/bin/msp430-elf-gcc
CXX = /opt/msp430/ti/gcc/bin/msp430-elf-g++
OBJCOPY = /opt/msp430/ti/gcc/bin/msp430-elf-objcopy

TARGETS += src/arch/msp430fr5969lp/arch.cc src/arch/msp430fr5969lp/driver/gpio.cc
TARGETS += src/arch/msp430fr5969lp/driver/stdout.cc src/arch/msp430fr5969lp/driver/uptime.cc
TARGETS += src/arch/msp430fr5969lp/arch.cc
TARGETS += src/arch/msp430fr5969lp/driver/gpio.cc
TARGETS += src/arch/msp430fr5969lp/driver/stdout.cc
TARGETS += src/arch/msp430fr5969lp/driver/uptime.cc
TARGETS += src/arch/msp430fr5969lp/driver/i2c.cc

OBJECTS = ${TARGETS:.cc=.o}

Loading