void initiateSecureSensors(){
    #ifdef DEBUG
		Serial.println("============= MySensors =============");
		Serial.println("======= Secured Device Pairing ======");
	#endif
    #ifdef GATEWAY
		initiateGateway();
	#else
		initiateNode();
	#endif
}
	int AStar(int startX, int startY, int targetX, int targetY, const unsigned char &map,
		int mapWidth, int mapHeight, int *path, int pathLength)
	{
		Node target;
		initiateNode(target, targetX, targetY, -1);

		Node start;
		initiateNode(start, startX, startY, -1);
		updateCostGFH(start, 0.0f, target);
		
		std::vector<Node> open, closed;
		open.push_back(start);

		while (open.size() != 0)
		{
			if (AStarStep(map, mapWidth, mapHeight, target, open, closed))
			{
				Node *tmp = &closed.back();
				int finalLength = 0;

				do{
					if (finalLength > pathLength)
						return -1;

					path[finalLength] = tmp->x + tmp->y * mapWidth;
					tmp = &closed[tmp->parent];
					++finalLength;
				}
				while (tmp->parent != -1);

				std::reverse(path, path + finalLength);

				return finalLength;
			}
		}
		
		// no path found
		return -1;
	}