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; }