+static volatile uint8_t pos_age = 0;
+static volatile int16_t pos_x = I2C_BEACON_NOT_FOUND;
+static volatile int16_t pos_y = I2C_BEACON_NOT_FOUND;
+static volatile int16_t pos_a = I2C_BEACON_NOT_FOUND;
+
+int8_t beacon_get_pos(int16_t *x, int16_t *y, double *a)
+{
+ uint8_t flags;
+ int16_t tmpx, tmpy, tmpa;
+
+ IRQ_LOCK(flags);
+ tmpx = beaconboard.posx;
+ tmpy = beaconboard.posy;
+ tmpa = beaconboard.posa;
+ IRQ_UNLOCK(flags);
+
+ if (tmpx == I2C_BEACON_NOT_FOUND)
+ return -1;
+
+ *x = tmpx;
+ *y = tmpy;
+ *a = ((double)tmpa / 10.);
+ return 0;
+}
+