Hi
I have a compass sensor (HMC5883L on a GY-271 board, I couldnt find a datasheet). I successfully got it to run following a tutorial with a library for a similar board with the same sensor on an Arduino Uno.
For my actual project I want to get rid of the big Arduino board and control it with an ATtiny 85. I am facing two problems: The two analog pins that communicate with the sensor are hardcoded into the library and the ATtiny doesnt have Analog Input 4 and 5. The other problem is that the Library uses Wire.h which doesnt compile with the ATtiny selected as board:
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c: In function 'twi_init':
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:76: error: 'SDA' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:76: error: (Each undeclared identifier is reported only once
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:76: error: for each function it appears in.)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:77: error: 'SCL' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:80: error: 'TWSR' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:80: error: 'TWPS0' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:81: error: 'TWPS1' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:82: error: 'TWBR' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:90: error: 'TWCR' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:90: error: 'TWEN' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:90: error: 'TWIE' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:90: error: 'TWEA' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c: In function 'twi_setAddress':
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:102: error: 'TWAR' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c: In function 'twi_readFrom':
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:154: error: 'TWDR' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:155: error: 'TWCR' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:155: error: 'TWINT' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:155: error: 'TWEA' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:155: error: 'TWEN' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:155: error: 'TWIE' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:159: error: 'TWSTA' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c: In function 'twi_writeTo':
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:234: error: 'TWDR' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:235: error: 'TWCR' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:235: error: 'TWINT' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:235: error: 'TWEA' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:235: error: 'TWEN' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:235: error: 'TWIE' undeclared (first use in this function)
C:\Program Files\Arduino\arduino-1.0.1\libraries\Wire\utility\twi.c:239: error: 'TWSTA' undeclared (first use in this function)
[...]
I was unable to find the part of the library that defines the two pins. Also, Im not sure if its easier to code the sensor communication myself or to modify the libraries since I dont know how exactly the sensor data is transmitted.
What is the easiest way to get the angle value of the compass on an ATtiny?