import smbus
import time

def GetOrientation(deg):
output = 
if(22.5 <= deg < 67.5):
	output = NE 
elif(67.5 <= deg < 112.5):
	output = E 
elif(112.5 <= deg < 157.5):
	output = SE 
elif(157.5 <= deg < 202.5):
	output = S 
elif(202.5 <= deg < 247.5):
	output. = SW 
elif(247.5 <= deg < 292.5):
	output = W 
elif(292.5 <=  deg < 337.5):
	output = NW 
else:
	output = N 
output = output + str(deg) +  degrees
return output

TIME_SLEEP = 0.2
COMPASS_WRITE_ADDRESS = 0x21
COMPASS_READ_ADDRESS = 0x41
COMPASS_OPERATION_MODE = 0x50
COMPASS_OPERATION_SETUP = 0b00110001 

bus = smbus.SMBus(1)

bus.write_byte_data(COMPASS_WRITE_ADDRESS,COMPASS_OPERATION_MODE,\
COMPASS_OPERATION_SETUP)


try:
while True:
data = bus.read_i2c_block_data(COMPASS_WRITE_ADDRESS,\ COMPASS_READ_ADDRESS, 2)	
degrees = ((data[0] << 8) + data[1]) / 10
print(GetOrientation(degrees))
time.sleep(TIME_SLEEP)

except KeyboardInterrupt:
	pass
