import math
from pyjuni.robodog import *
from pyjuni.deflib import *
from pyjuni.jkeyevent import *


def isDotLower(x, y):
    [roll, _] = robodog.get_tilt()
    slope = math.tan(math.radians(roll))
    res = slope*x
    return True if y < res else False

if __name__ == "__main__":
    robodog = RoboDog()
    jkey = JKeyEvent()  

    robodog.Open()
    leftLED = bytearray(8)
    rightLED = bytearray(8)

    while not jkey.isKeyEscPressed():
        for row in range(-4, 4):
            val = 0
            for col in range(8):
                val = val | (0x01<<(7-col)) if isDotLower(col+3, row) else val
            leftLED[3-row] = val;  
        for row in range(-4, 4):
            val = 0
            for col in range(0, -8, -1):
                val = val | (0x01<<-1*col) if isDotLower(col-3, row) else val
            rightLED[3-row] = val;  

        robodog.headLEDDraw(leftLED, rightLED)

    robodog.Close()
