






Started logging.
I[13:59:06.252] clangd version 14.0.0
I[13:59:06.254] Features: windows
I[13:59:06.254] PID: 8716
I[13:59:06.254] Working directory: e:\5-教程\1.tutorial\ZYC0072机械手小车\ZYC0072\4. Tutorial_Arduino\4_Arduino Code\6_BlueTooth
I[13:59:06.254] argv[0]: d:\Program Files\Arduino IDE\resources\app\node_modules\arduino-ide-extension\build\clangd.exe
I[13:59:06.254] argv[1]: -log=verbose
I[13:59:06.254] argv[2]: --compile-commands-dir=C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346
I[13:59:06.254] argv[3]: -query-driver=C:\Users\Administrator\AppData\Local\Arduino15\packages\**
V[13:59:06.282] User config file is C:\Users\Administrator\AppData\Local\clangd\config.yaml
I[13:59:06.283] Starting LSP over stdin/stdout
V[13:59:06.290] <<< {"id":"1","jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dynamicRegistration":true,"isPreferredSupport":true},"codeLens":{"dynamicRegistration":true},"colorProvider":{"dynamicRegistration":true},"completion":{"completionItem":{"commitCharactersSupport":true,"deprecatedSupport":true,"documentationFormat":["markdown","plaintext"],"preselectSupport":true,"snippetSupport":true,"tagSupport":{"valueSet":[1]}},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]},"contextSupport":true,"dynamicRegistration":true},"declaration":{"dynamicRegistration":true,"linkSupport":true},"definition":{"dynamicRegistration":true,"linkSupport":true},"documentHighlight":{"dynamicRegistration":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"documentSymbol":{"dynamicRegistration":true,"hierarchicalDocumentSymbolSupport":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"foldingRange":{"dynamicRegistration":true,"lineFoldingOnly":true,"rangeLimit":5000},"formatting":{"dynamicRegistration":true},"hover":{"contentFormat":["markdown","plaintext"],"dynamicRegistration":true},"implementation":{"dynamicRegistration":true,"linkSupport":true},"onTypeFormatting":{"dynamicRegistration":true},"publishDiagnostics":{"relatedInformation":true,"tagSupport":{"valueSet":[1,2]}},"rangeFormatting":{"dynamicRegistration":true},"references":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true},"selectionRange":{"dynamicRegistration":true},"signatureHelp":{"contextSupport":true,"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true}}},"synchronization":{"didSave":true,"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true},"typeDefinition":{"dynamicRegistration":true,"linkSupport":true}},"window":{"workDoneProgress":true},"workspace":{"applyEdit":true,"configuration":true,"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"executeCommand":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"workspaceEdit":{"documentChanges":true,"failureHandling":"textOnlyTransactional","resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"vscode","version":"1.53.2"},"initializationOptions":{},"processId":4864,"rootPath":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch","rootUri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch","trace":"off","workspaceFolders":[{"name":"6_BlueTooth","uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0072%E6%9C%BA%E6%A2%B0%E6%89%8B%E5%B0%8F%E8%BD%A6/ZYC0072/4.%20Tutorial_Arduino/4_Arduino%20Code/6_BlueTooth"}]}}

I[13:59:06.292] <-- initialize("1")
I[13:59:06.321] --> reply:initialize("1") 29 ms
V[13:59:06.322] >>> {"id":"1","jsonrpc":"2.0","result":{"capabilities":{"astProvider":true,"callHierarchyProvider":true,"clangdInlayHintsProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor","info"]},"compilationDatabase":{"automaticReload":true},"completionProvider":{"allCommitCharacters":[" ","\t","(",")","[","]","{","}","<",">",":",";",",","+","-","/","*","%","^","&","#","?",".","=","\"","'","|"],"resolveProvider":false,"triggerCharacters":[".","<",">",":","\"","/","*"]},"declarationProvider":true,"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentLinkProvider":{"resolveProvider":false},"documentOnTypeFormattingProvider":{"firstTriggerCharacter":"\n","moreTriggerCharacter":[]},"documentRangeFormattingProvider":true,"documentSymbolProvider":true,"executeCommandProvider":{"commands":["clangd.applyFix","clangd.applyTweak"]},"hoverProvider":true,"implementationProvider":true,"memoryUsageProvider":true,"referencesProvider":true,"renameProvider":{"prepareProvider":true},"selectionRangeProvider":true,"semanticTokensProvider":{"full":{"delta":true},"legend":{"tokenModifiers":["declaration","deprecated","deduced","readonly","static","abstract","virtual","dependentName","defaultLibrary","usedAsMutableReference","functionScope","classScope","fileScope","globalScope"],"tokenTypes":["variable","variable","parameter","function","method","function","property","variable","class","interface","enum","enumMember","type","type","unknown","namespace","typeParameter","concept","type","macro","comment"]},"range":false},"signatureHelpProvider":{"triggerCharacters":["(",")","{","}","<",">",","]},"textDocumentSync":{"change":2,"openClose":true,"save":true},"typeDefinitionProvider":true,"typeHierarchyProvider":true,"workspaceSymbolProvider":true},"serverInfo":{"name":"clangd","version":"clangd version 14.0.0 windows x86_64-pc-windows-msvc"}}}

V[13:59:06.323] <<< {"jsonrpc":"2.0","method":"initialized","params":{}}

I[13:59:06.323] <-- initialized
V[13:59:06.327] <<< {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"cpp","text":"#include <Arduino.h>\n#line 1 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\n#include <MsTimer2.h>\n#include    <Servo.h>\n\n// PWM control pin\n#define PWM1_PIN            5\n#define PWM2_PIN            6\n// 74HCT595N chip pin\n#define SHCP_PIN            2                               // The displacement of the clock\n#define EN_PIN              7                               // Can make control\n#define DATA_PIN            8                               // Serial data\n#define STCP_PIN            4                               // Memory register clock                  \n// Ultrasonic control pin\nconst int Trig       =      12;\nconst int Echo       =      13;\n// Trace the control pin\n#define LEFT_LINE_TRACJING      A0\n#define CENTER_LINE_TRACJING    A1\n#define right_LINE_TRACJING     A2\n// Servo control pin\n#define CLAW_PIN            9\n#define ARM_PIN             10\n#define BASE_PIN            11\n\nconst int Forward       = 92;                               // Forward\nconst int Backward      = 163;                              // Backward\nconst int Turn_Left     = 149;                              // Left translation\nconst int Turn_Right    = 106;                              // Right translation\nconst int Top_Left      = 20;                               // Upper left mobile\nconst int Bottom_Left   = 129;                              // Lower left mobile\nconst int Top_Right     = 72;                               // Upper right mobile\nconst int Bottom_Right  = 34;                               // The lower right move\nconst int Stop          = 0;                                // Stop\nconst int Contrarotate  = 172;                              // Counterclockwise rotation\nconst int Clockwise     = 83;                               // Rotate clockwise\n\n\nbyte TX_package[5] = {0xA5, 0, 0, 0, 0x5A};                 // Packet header(0xA5) +  original data (n*byte) + inspection sum(1byte) + Package the tail(0x5A)\nbyte RX_package[10] = {0};\nint UT_distance = 0;\nint Serialcount = 0;\nint base_degrees = 90;\nint arm_degrees = 90;\nint claw_degrees = 90;\nboolean menory_action_flag;\nboolean Line_tracking_Function_flag = false;\nboolean Avoidance_Function_flag = false;\nboolean Following_Function_flag = false;\nboolean Jail_Function_flag = false;\nint Left_Tra_Value;\nint Center_Tra_Value;\nint Right_Tra_Value;\nint Black_Line = 500;\nint actions_count = 0;\nint auto_count;\nint claw_read_degress[20] = {0, 0, 0};\nint arm_read_degress[20] = {0, 0, 0};\nint base_read_degress[20] = {0, 0, 0};\n\ntypedef struct \n{\n    byte mode1;             // Bit0: free mode;Bit1: tracking mode;Bit2: Obstacle avoidance mode;Bit3: Follow mode;\n                            // Bit4: Dungeon Mode;Bit5: Save button;Bit6: Automatic button;Bit7: empty\n    byte mode2;             // Bit0: fluke;Bit1: closed claw;Bit2: clockwise rotation;Bit3: reverse;\n    char x_axis = 0;        // Store variables on the X axis\n    char y_axis = 0;        // Store the variables on the Y axis\n    byte C_speed = 127;     // Speed of storage cart\n    char x_Base = 0;        // Store the steering gear on the X axis\n    char y_Arm = 0;         // Store the steering gear on the Y-axis\n}rx_buffer;\n\nrx_buffer RX_buffer;\n\nServo clawservo;\nServo armservo;\nServo baseservo;\n\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr();\n#line 82 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid setup();\n#line 117 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid loop();\n#line 154 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Line_tracking_Function();\n#line 194 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Avoidance_Function();\n#line 293 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Following_Function();\n#line 326 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Jail_Function();\n#line 476 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_doit();\n#line 608 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid free_mode();\n#line 730 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid read_degress();\n#line 748 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_do();\n#line 880 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Motor(int Dir, int Speed);\n#line 891 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nfloat SR04(int Trig, int Echo);\n#line 903 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid TX_Information(byte dis, byte act);\n#line 914 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid RX_Information(void);\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr()\n{\n    sei();\n    UT_distance = SR04(Trig, Echo);\n}\nvoid setup()\n{\n    pinMode(SHCP_PIN, OUTPUT);\n    pinMode(EN_PIN, OUTPUT);\n    pinMode(DATA_PIN, OUTPUT);\n    pinMode(STCP_PIN, OUTPUT);\n    pinMode(PWM1_PIN, OUTPUT);\n    pinMode(PWM2_PIN, OUTPUT);\n\n    pinMode(Trig, OUTPUT);\n    pinMode(Echo, INPUT);\n\n    pinMode(LEFT_LINE_TRACJING, INPUT);\n    pinMode(CENTER_LINE_TRACJING, INPUT);\n    pinMode(right_LINE_TRACJING, INPUT);\n\n    clawservo.attach(CLAW_PIN);\n    armservo.attach(ARM_PIN);\n    baseservo.attach(BASE_PIN);\n    clawservo.write(claw_degrees);\n    delay(500);\n    armservo.write(arm_degrees);\n    delay(500);\n    baseservo.write(base_degrees);\n    delay(500);\n\n    Motor(Stop, 0);\n\n    Serial.begin(9600);\n\n    //5ms timed interrupt Settings use timer2    \n    MsTimer2::set(100, Timer2Isr);\n    MsTimer2::start();\n}\n\nvoid loop()\n{\n    TX_Information(UT_distance, auto_count);                    // Send ultrasonic data\n    RX_Information();                                           // Receiving Bluetooth data\n    switch (RX_buffer.mode1)\n    {\n        case 0x02:       //tracking mode\n            Motor(Stop, 0);\n            Line_tracking_Function();\n            delay(10);\n            break;\n        case 0x04:       //Obstacle avoidance mode\n            Motor(Stop, 0);\n            Avoidance_Function();\n            delay(10);\n            break;\n        case 0x08:       //Follow the pattern\n            Motor(Stop, 0);\n            Following_Function();\n            delay(10);\n            break;\n        case 0x10:       //Dungeon mode\n            Motor(Stop, 0);\n            Jail_Function();\n            delay(10);\n            break;\n        case 0x40:       //Automatic mode\n            Motor(Stop, 0);\n            auto_doit();\n            delay(10);\n            break;\n        default:\n            free_mode();\n            break;\n    }\n}\n\nvoid Line_tracking_Function()       // tracking mode\n{\n    Line_tracking_Function_flag = true;\n    while (Line_tracking_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 175);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Line_tracking_Function_flag = false;\n        }\n    }\n}\n\nvoid Avoidance_Function()           // Obstacle avoidance mode\n{\n    int i;\n    Avoidance_Function_flag = true;\n    while (Avoidance_Function_flag)\n    {\n        if (UT_distance <= 25)\n        {\n            if (UT_distance <= 15)\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Clockwise, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 4; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 6; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Contrarotate, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n        }\n        else\n        {\n            Motor(Forward, 180);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Avoidance_Function_flag = false;\n        }\n    }\n}\n\nvoid Following_Function()           // Follow the pattern\n{\n    Following_Function_flag = true;\n    while (Following_Function_flag)\n    {\n        if (UT_distance < 15)\n        {\n            Motor(Backward, 200);\n        }\n        else if (15 <= UT_distance && UT_distance <= 20)\n        {\n            Motor(Stop, 0);\n        }\n        else if (20 <= UT_distance && UT_distance <= 25)\n        {\n            Motor(Forward, 180);\n        }\n        else if (25 <= UT_distance && UT_distance <= 50)\n        {\n            Motor(Forward, 220);\n        }\n        else\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x10)\n        {\n            Following_Function_flag = false;\n        }\n    }\n}\n\nvoid Jail_Function()                // Dungeon mode\n{\n    int i;\n    Jail_Function_flag = true;\n    while (Jail_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 150);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n        {\n            Jail_Function_flag = false;\n        }\n    }\n}\n\nvoid auto_doit()                      // Automatic mode\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid free_mode()                    // free mode\n{\n    if(RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis >= 30)     //Forward\n    {\n        Motor(Forward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis <= -30)     //Backward\n    {\n        Motor(Backward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis <= -30)     //Turn_Left\n    {\n        Motor(Turn_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis >= 30)     //Turn_Right\n    {\n        Motor(Turn_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis >= 30)     //Top_Left\n    {\n        Motor(Top_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis <= -30)     //Bottom_Left\n    {\n        Motor(Bottom_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis >= 30)     //Top_Right\n    {\n        Motor(Top_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis <= -30)     //Bottom_Right\n    {\n        Motor(Bottom_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x04)     //Contrarotate\n    {\n        Motor(Contrarotate, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x08)     //Clockwise\n    {\n        Motor(Clockwise, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base <= -30)    // base_left\n    {\n        base_degrees = base_degrees + 1;\n        if (base_degrees >= 185) \n        {\n            base_degrees = 185;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base >= 30)     // base_right\n    {\n        base_degrees = base_degrees - 1;\n        if (base_degrees <= 0) \n        {\n            base_degrees = 0;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm <= -30)    // Arm contraction\n    {\n        arm_degrees = arm_degrees - 1;\n        if (arm_degrees <= 0) \n        {\n            arm_degrees = 0;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm >= 30)     // Arm elongation\n    {\n        arm_degrees = arm_degrees + 1;\n        if (arm_degrees >= 150) \n        {\n            arm_degrees = 150;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x01)            // claws open                                        \n    {\n        claw_degrees = claw_degrees - 1;\n        if (claw_degrees <= 50) \n        {\n            claw_degrees = 50;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x02)            // claws closed\n    {\n        claw_degrees = claw_degrees + 1;\n        if (claw_degrees >= 150) \n        {\n            claw_degrees = 150;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode1 & 0x20)            // save\n    {\n        read_degress();\n    }  \n    else\n    {\n        Motor(Stop, 0);\n    }\n}\n\nvoid read_degress()\n{\n    if (actions_count <= 19)\n    {\n        claw_read_degress[(int)((actions_count + 1) - 1)] = clawservo.read();\n        delay(50);\n        RX_Information(); \n        arm_read_degress[(int)((actions_count + 1) - 1)] = armservo.read();\n        delay(50);\n        RX_Information(); \n        base_read_degress[(int)((actions_count + 1) - 1)] = baseservo.read();\n        delay(50);\n        RX_Information(); \n        actions_count = actions_count + 1;\n        auto_count = actions_count;\n    }\n}\n\nvoid auto_do()\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid Motor(int Dir, int Speed)      // Motor drive\n{\n    digitalWrite(EN_PIN, LOW);\n    analogWrite(PWM1_PIN, Speed);\n    analogWrite(PWM2_PIN, Speed);\n\n    digitalWrite(STCP_PIN, LOW);\n    shiftOut(DATA_PIN, SHCP_PIN, MSBFIRST, Dir);\n    digitalWrite(STCP_PIN, HIGH);\n}\n\nfloat SR04(int Trig, int Echo)      // Ultrasonic distance measurement\n{\n    digitalWrite(Trig, LOW);\n    delayMicroseconds(2);\n    digitalWrite(Trig, HIGH);\n    delayMicroseconds(10);\n    digitalWrite(Trig, LOW);\n    float distance = pulseIn(Echo, HIGH) / 58.00;\n    delay(10);\n    return distance;\n}\n\nvoid TX_Information(byte dis, byte act)     // Sending data packets\n{\n    int check;\n    if(dis>127) dis = 127;\n    if(act>127) act = 127;\n    TX_package[1] = dis;\n    TX_package[2] = act;\n    TX_package[3] = byte(dis + act);                        // The sum of inspection                              \n    Serial.write(TX_package, 5);                            // Sending data packets\n}\n\nvoid RX_Information(void)                   // Receiving data packet\n{\n    if(Serial.available() > 0)\n    {\n        delay(1);                                           // delay 1MS\n        if(Serial.readBytes(RX_package, 10))\n        {\n            if (RX_package[0] == 0xA5 && RX_package[9] == 0x5A)     // The header and tail of the packet are verified\n            {\n                Serialcount = 0;\n                RX_buffer.mode1 = RX_package[1];\n                RX_buffer.mode2 = RX_package[2];\n                RX_buffer.x_axis = RX_package[3];\n                RX_buffer.y_axis = RX_package[4];\n                RX_buffer.C_speed = RX_package[5] + 127;\n                RX_buffer.x_Base = RX_package[6];\n                RX_buffer.y_Arm = RX_package[7];\n            }\n            else\n            {\n                Serialcount++;\n                return;\n            }\n        }\n    }\n    else\n    {\n        delay(1);\n        Serialcount++;\n        if(Serialcount > 500)\n        {\n            Serialcount = 0;\n            RX_buffer.mode1 = 0; \n            RX_buffer.mode2 = 0;\n            RX_buffer.x_axis = 0;\n            RX_buffer.y_axis = 0;\n            RX_buffer.x_Base = 0;\n            RX_buffer.y_Arm = 0;\n            Line_tracking_Function_flag = false;\n            Avoidance_Function_flag = false;\n            Following_Function_flag = false;\n            Jail_Function_flag = false;\n        }\n    }\n}\n","uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp","version":1}}}

I[13:59:06.327] <-- textDocument/didOpen
V[13:59:06.337] <<< {"id":"2","jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[]},"range":{"end":{"character":0,"line":2},"start":{"character":0,"line":2}},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[13:59:06.337] <-- textDocument/codeAction("2")
V[13:59:06.341] config note at C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\.clangd:1:0: Parsing config fragment
V[13:59:06.341] config note at C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\.clangd:1:0: Parsed 1 fragments from file
V[13:59:06.342] Config fragment: compiling C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\.clangd:1 -> 0x00000217CC19A720 (trusted=false)
I[13:59:06.344] --> textDocument/publishDiagnostics
V[13:59:06.344] >>> {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[],"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/.clangd"}}

I[13:59:06.346] Loaded compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\compile_commands.json
V[13:59:06.346] Broadcasting compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346
I[13:59:06.348] --> window/workDoneProgress/create(0)
V[13:59:06.348] >>> {"id":0,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}

V[13:59:06.348] <<< {"id":0,"jsonrpc":"2.0","result":null}

I[13:59:06.348] <-- reply(0)
I[13:59:06.348] --> $/progress
V[13:59:06.348] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","percentage":0,"title":"indexing"}}}

I[13:59:06.348] --> $/progress
V[13:59:06.348] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}

I[13:59:06.348] Enqueueing 26 commands for indexing
V[13:59:06.349] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\CDC.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Print.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_digital.c
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring.c
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Tone.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial0.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial1.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial2.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial3.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\main.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\new.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Stream.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\abi.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_shift.c
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WString.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\USBCore.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WInterrupts.c
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.c
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\PluggableUSB.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\IPAddress.cpp
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_analog.c
V[13:59:06.350] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WMath.cpp
V[13:59:06.351] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\hooks.c
I[13:59:06.360] --> $/progress
V[13:59:06.360] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/27","percentage":0}}}

I[13:59:06.360] --> $/progress
V[13:59:06.360] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/27","percentage":0}}}

I[13:59:06.360] --> $/progress
V[13:59:06.360] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/27","percentage":0}}}

I[13:59:06.360] --> $/progress
V[13:59:06.360] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/27","percentage":0}}}

I[13:59:06.360] --> $/progress
V[13:59:06.360] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"1/27","percentage":3}}}

I[13:59:06.360] --> $/progress
V[13:59:06.360] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"1/27","percentage":3}}}

I[13:59:06.360] --> $/progress
V[13:59:06.360] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"1/27","percentage":3}}}

I[13:59:06.360] --> $/progress
V[13:59:06.360] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"1/27","percentage":3}}}

V[13:59:06.481] System include extraction: target extracted: "avr"
V[13:59:06.481] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[13:59:06.481] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[13:59:06.481] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[13:59:06.481] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
I[13:59:06.483] ASTWorker building file C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp version 1 with command 
[C:\Windows\system32]
"C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\avr-g++.exe" --target=avr --driver-mode=g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" "-Id:\\Arduino\\libraries\\MsTimer2" "-Id:\\Arduino\\libraries\\Servo\\src" -o "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -ferror-limit=0 "-resource-dir=d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -- "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp"
V[13:59:06.486] System include extraction: target extracted: "avr"
V[13:59:06.486] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[13:59:06.486] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[13:59:06.486] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[13:59:06.486] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[13:59:06.492] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial2.cpp (digest:=3DD4F70FCF8C4FA6)
V[13:59:06.493] System include extraction: target extracted: "avr"
V[13:59:06.493] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[13:59:06.493] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[13:59:06.493] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[13:59:06.493] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[13:59:06.494] Indexing C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp (digest:=7597628BE69189DD)
V[13:59:06.510] System include extraction: target extracted: "avr"
V[13:59:06.510] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[13:59:06.510] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[13:59:06.510] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[13:59:06.510] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[13:59:06.510] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial0.cpp (digest:=365287FBD658A80E)
V[13:59:06.511] Driver produced command: cc1 -cc1 -triple avr -fsyntax-only -flto=full -flto-unit -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name 6_BlueTooth.ino.cpp -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -fno-use-init-array -fno-use-cxa-atexit -target-cpu atmega328p -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=constructor -dwarf-version=5 -debugger-tuning=gdb -ffunction-sections -fdata-sections "-fcoverage-compilation-dir=C:\\Windows\\system32" -resource-dir "d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -dependency-file "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp.d" -MT "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -D F_CPU=16000000L -D ARDUINO=10607 -D ARDUINO_AVR_UNO -D ARDUINO_ARCH_AVR -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" -I "d:\\Arduino\\libraries\\MsTimer2" -I "d:\\Arduino\\libraries\\Servo\\src" -internal-isystem "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin/../lib/gcc/avr/7.3.0/../../../../avr/include" -Os -Wno-error=narrowing -w -std=gnu++11 -fdeprecated-macro "-fdebug-compilation-dir=C:\\Windows\\system32" -ferror-limit 0 -fgnuc-version=4.2.1 -fno-threadsafe-statics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -x c++ "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp"
V[13:59:06.511] Building first preamble for C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp version 1
V[13:59:06.555] System include extraction: target extracted: "avr"
V[13:59:06.556] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[13:59:06.556] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[13:59:06.556] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[13:59:06.556] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-gcc.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[13:59:06.557] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_analog.c (digest:=BC32CF542FD8D605)
V[13:59:06.562] System include extraction: target extracted: "avr"
V[13:59:06.562] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[13:59:06.562] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[13:59:06.562] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[13:59:06.562] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-gcc.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[13:59:06.563] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\hooks.c (digest:=C16B0ED8B1C5BB9F)
V[13:59:06.569] System include extraction: target extracted: "avr"
V[13:59:06.569] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[13:59:06.569] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[13:59:06.569] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[13:59:06.569] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-gcc.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[13:59:06.570] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_shift.c (digest:=5E8D23E876F6F446)
V[13:59:06.661] indexed preamble AST for C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp version 1:
  symbol slab: 2545 symbols, 726174 bytes
  ref slab: 0 symbols, 0 refs, 136 bytes
  relations slab: 9 relations, 177 bytes
I[13:59:06.676] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\hooks.c (1 symbols, 1 refs, 1 files)
V[13:59:06.723] Build dynamic index for header symbols with estimated memory usage of 2190234 bytes
V[13:59:06.746] Built preamble of size 434740 for file C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp version 1
I[13:59:06.830] --> $/progress
V[13:59:06.830] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"2/27","percentage":7}}}

I[13:59:06.830] --> $/progress
V[13:59:06.830] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"2/27","percentage":7}}}

V[13:59:06.831] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WMath.cpp (digest:=38075D39C713EC91)
I[13:59:06.847] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WMath.cpp (46 symbols, 139 refs, 3 files)
I[13:59:06.857] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_shift.c (309 symbols, 2643 refs, 25 files)
V[13:59:06.919] indexed file AST for C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp version 1:
  symbol slab: 73 symbols, 21160 bytes
  ref slab: 104 symbols, 1246 refs, 49966 bytes
  relations slab: 0 relations, 24 bytes
V[13:59:06.920] Build dynamic index for main-file symbols with estimated memory usage of 136126 bytes
I[13:59:06.920] --> textDocument/publishDiagnostics
V[13:59:06.920] >>> {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[],"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp","version":1}}

I[13:59:06.920] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_analog.c (310 symbols, 2729 refs, 25 files)
V[13:59:06.922] ASTWorker running EnumerateTweaks on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[13:59:06.944] --> reply:textDocument/codeAction("2") 606 ms
V[13:59:06.944] >>> {"id":"2","jsonrpc":"2.0","result":[]}

V[13:59:06.945] <<< {"id":"3","jsonrpc":"2.0","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[13:59:06.945] <-- textDocument/documentSymbol("3")
V[13:59:06.945] ASTWorker running DocumentSymbols on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[13:59:06.949] --> reply:textDocument/documentSymbol("3") 4 ms
V[13:59:06.950] >>> {"id":"3","jsonrpc":"2.0","result":[{"detail":"const int","kind":13,"name":"Trig","range":{"end":{"character":30,"line":14},"start":{"character":0,"line":14}},"selectionRange":{"end":{"character":14,"line":14},"start":{"character":10,"line":14}}},{"detail":"const int","kind":13,"name":"Echo","range":{"end":{"character":30,"line":15},"start":{"character":0,"line":15}},"selectionRange":{"end":{"character":14,"line":15},"start":{"character":10,"line":15}}},{"detail":"const int","kind":13,"name":"Forward","range":{"end":{"character":28,"line":25},"start":{"character":0,"line":25}},"selectionRange":{"end":{"character":17,"line":25},"start":{"character":10,"line":25}}},{"detail":"const int","kind":13,"name":"Backward","range":{"end":{"character":29,"line":26},"start":{"character":0,"line":26}},"selectionRange":{"end":{"character":18,"line":26},"start":{"character":10,"line":26}}},{"detail":"const int","kind":13,"name":"Turn_Left","range":{"end":{"character":29,"line":27},"start":{"character":0,"line":27}},"selectionRange":{"end":{"character":19,"line":27},"start":{"character":10,"line":27}}},{"detail":"const int","kind":13,"name":"Turn_Right","range":{"end":{"character":29,"line":28},"start":{"character":0,"line":28}},"selectionRange":{"end":{"character":20,"line":28},"start":{"character":10,"line":28}}},{"detail":"const int","kind":13,"name":"Top_Left","range":{"end":{"character":28,"line":29},"start":{"character":0,"line":29}},"selectionRange":{"end":{"character":18,"line":29},"start":{"character":10,"line":29}}},{"detail":"const int","kind":13,"name":"Bottom_Left","range":{"end":{"character":29,"line":30},"start":{"character":0,"line":30}},"selectionRange":{"end":{"character":21,"line":30},"start":{"character":10,"line":30}}},{"detail":"const int","kind":13,"name":"Top_Right","range":{"end":{"character":28,"line":31},"start":{"character":0,"line":31}},"selectionRange":{"end":{"character":19,"line":31},"start":{"character":10,"line":31}}},{"detail":"const int","kind":13,"name":"Bottom_Right","range":{"end":{"character":28,"line":32},"start":{"character":0,"line":32}},"selectionRange":{"end":{"character":22,"line":32},"start":{"character":10,"line":32}}},{"detail":"const int","kind":13,"name":"Stop","range":{"end":{"character":27,"line":33},"start":{"character":0,"line":33}},"selectionRange":{"end":{"character":14,"line":33},"start":{"character":10,"line":33}}},{"detail":"const int","kind":13,"name":"Contrarotate","range":{"end":{"character":29,"line":34},"start":{"character":0,"line":34}},"selectionRange":{"end":{"character":22,"line":34},"start":{"character":10,"line":34}}},{"detail":"const int","kind":13,"name":"Clockwise","range":{"end":{"character":28,"line":35},"start":{"character":0,"line":35}},"selectionRange":{"end":{"character":19,"line":35},"start":{"character":10,"line":35}}},{"detail":"byte[5]","kind":13,"name":"TX_package","range":{"end":{"character":42,"line":38},"start":{"character":0,"line":38}},"selectionRange":{"end":{"character":15,"line":38},"start":{"character":5,"line":38}}},{"detail":"byte[10]","kind":13,"name":"RX_package","range":{"end":{"character":25,"line":39},"start":{"character":0,"line":39}},"selectionRange":{"end":{"character":15,"line":39},"start":{"character":5,"line":39}}},{"detail":"int","kind":13,"name":"UT_distance","range":{"end":{"character":19,"line":40},"start":{"character":0,"line":40}},"selectionRange":{"end":{"character":15,"line":40},"start":{"character":4,"line":40}}},{"detail":"int","kind":13,"name":"Serialcount","range":{"end":{"character":19,"line":41},"start":{"character":0,"line":41}},"selectionRange":{"end":{"character":15,"line":41},"start":{"character":4,"line":41}}},{"detail":"int","kind":13,"name":"base_degrees","range":{"end":{"character":21,"line":42},"start":{"character":0,"line":42}},"selectionRange":{"end":{"character":16,"line":42},"start":{"character":4,"line":42}}},{"detail":"int","kind":13,"name":"arm_degrees","range":{"end":{"character":20,"line":43},"start":{"character":0,"line":43}},"selectionRange":{"end":{"character":15,"line":43},"start":{"character":4,"line":43}}},{"detail":"int","kind":13,"name":"claw_degrees","range":{"end":{"character":21,"line":44},"start":{"character":0,"line":44}},"selectionRange":{"end":{"character":16,"line":44},"start":{"character":4,"line":44}}},{"detail":"boolean","kind":13,"name":"menory_action_flag","range":{"end":{"character":26,"line":45},"start":{"character":0,"line":45}},"selectionRange":{"end":{"character":26,"line":45},"start":{"character":8,"line":45}}},{"detail":"boolean","kind":13,"name":"Line_tracking_Function_flag","range":{"end":{"character":43,"line":46},"start":{"character":0,"line":46}},"selectionRange":{"end":{"character":35,"line":46},"start":{"character":8,"line":46}}},{"detail":"boolean","kind":13,"name":"Avoidance_Function_flag","range":{"end":{"character":39,"line":47},"start":{"character":0,"line":47}},"selectionRange":{"end":{"character":31,"line":47},"start":{"character":8,"line":47}}},{"detail":"boolean","kind":13,"name":"Following_Function_flag","range":{"end":{"character":39,"line":48},"start":{"character":0,"line":48}},"selectionRange":{"end":{"character":31,"line":48},"start":{"character":8,"line":48}}},{"detail":"boolean","kind":13,"name":"Jail_Function_flag","range":{"end":{"character":34,"line":49},"start":{"character":0,"line":49}},"selectionRange":{"end":{"character":26,"line":49},"start":{"character":8,"line":49}}},{"detail":"int","kind":13,"name":"Left_Tra_Value","range":{"end":{"character":18,"line":50},"start":{"character":0,"line":50}},"selectionRange":{"end":{"character":18,"line":50},"start":{"character":4,"line":50}}},{"detail":"int","kind":13,"name":"Center_Tra_Value","range":{"end":{"character":20,"line":51},"start":{"character":0,"line":51}},"selectionRange":{"end":{"character":20,"line":51},"start":{"character":4,"line":51}}},{"detail":"int","kind":13,"name":"Right_Tra_Value","range":{"end":{"character":19,"line":52},"start":{"character":0,"line":52}},"selectionRange":{"end":{"character":19,"line":52},"start":{"character":4,"line":52}}},{"detail":"int","kind":13,"name":"Black_Line","range":{"end":{"character":20,"line":53},"start":{"character":0,"line":53}},"selectionRange":{"end":{"character":14,"line":53},"start":{"character":4,"line":53}}},{"detail":"int","kind":13,"name":"actions_count","range":{"end":{"character":21,"line":54},"start":{"character":0,"line":54}},"selectionRange":{"end":{"character":17,"line":54},"start":{"character":4,"line":54}}},{"detail":"int","kind":13,"name":"auto_count","range":{"end":{"character":14,"line":55},"start":{"character":0,"line":55}},"selectionRange":{"end":{"character":14,"line":55},"start":{"character":4,"line":55}}},{"detail":"int[20]","kind":13,"name":"claw_read_degress","range":{"end":{"character":37,"line":56},"start":{"character":0,"line":56}},"selectionRange":{"end":{"character":21,"line":56},"start":{"character":4,"line":56}}},{"detail":"int[20]","kind":13,"name":"arm_read_degress","range":{"end":{"character":36,"line":57},"start":{"character":0,"line":57}},"selectionRange":{"end":{"character":20,"line":57},"start":{"character":4,"line":57}}},{"detail":"int[20]","kind":13,"name":"base_read_degress","range":{"end":{"character":37,"line":58},"start":{"character":0,"line":58}},"selectionRange":{"end":{"character":21,"line":58},"start":{"character":4,"line":58}}},{"children":[{"detail":"byte","kind":8,"name":"mode1","range":{"end":{"character":14,"line":62},"start":{"character":4,"line":62}},"selectionRange":{"end":{"character":14,"line":62},"start":{"character":9,"line":62}}},{"detail":"byte","kind":8,"name":"mode2","range":{"end":{"character":14,"line":64},"start":{"character":4,"line":64}},"selectionRange":{"end":{"character":14,"line":64},"start":{"character":9,"line":64}}},{"detail":"char","kind":8,"name":"x_axis","range":{"end":{"character":19,"line":65},"start":{"character":4,"line":65}},"selectionRange":{"end":{"character":15,"line":65},"start":{"character":9,"line":65}}},{"detail":"char","kind":8,"name":"y_axis","range":{"end":{"character":19,"line":66},"start":{"character":4,"line":66}},"selectionRange":{"end":{"character":15,"line":66},"start":{"character":9,"line":66}}},{"detail":"byte","kind":8,"name":"C_speed","range":{"end":{"character":22,"line":67},"start":{"character":4,"line":67}},"selectionRange":{"end":{"character":16,"line":67},"start":{"character":9,"line":67}}},{"detail":"char","kind":8,"name":"x_Base","range":{"end":{"character":19,"line":68},"start":{"character":4,"line":68}},"selectionRange":{"end":{"character":15,"line":68},"start":{"character":9,"line":68}}},{"detail":"char","kind":8,"name":"y_Arm","range":{"end":{"character":18,"line":69},"start":{"character":4,"line":69}},"selectionRange":{"end":{"character":14,"line":69},"start":{"character":9,"line":69}}}],"detail":"struct","kind":23,"name":"(anonymous struct)","range":{"end":{"character":1,"line":70},"start":{"character":8,"line":60}},"selectionRange":{"end":{"character":14,"line":60},"start":{"character":8,"line":60}}},{"detail":"type alias","kind":5,"name":"rx_buffer","range":{"end":{"character":10,"line":70},"start":{"character":0,"line":60}},"selectionRange":{"end":{"character":10,"line":70},"start":{"character":1,"line":70}}},{"detail":"rx_buffer","kind":13,"name":"RX_buffer","range":{"end":{"character":19,"line":72},"start":{"character":0,"line":72}},"selectionRange":{"end":{"character":19,"line":72},"start":{"character":10,"line":72}}},{"detail":"Servo","kind":13,"name":"clawservo","range":{"end":{"character":15,"line":74},"start":{"character":0,"line":74}},"selectionRange":{"end":{"character":15,"line":74},"start":{"character":6,"line":74}}},{"detail":"Servo","kind":13,"name":"armservo","range":{"end":{"character":14,"line":75},"start":{"character":0,"line":75}},"selectionRange":{"end":{"character":14,"line":75},"start":{"character":6,"line":75}}},{"detail":"Servo","kind":13,"name":"baseservo","range":{"end":{"character":15,"line":76},"start":{"character":0,"line":76}},"selectionRange":{"end":{"character":15,"line":76},"start":{"character":6,"line":76}}},{"detail":"void ()","kind":12,"name":"Timer2Isr","range":{"end":{"character":16,"line":79},"start":{"character":0,"line":79}},"selectionRange":{"end":{"character":14,"line":79},"start":{"character":5,"line":79}}},{"detail":"void ()","kind":12,"name":"setup","range":{"end":{"character":12,"line":81},"start":{"character":0,"line":81}},"selectionRange":{"end":{"character":10,"line":81},"start":{"character":5,"line":81}}},{"detail":"void ()","kind":12,"name":"loop","range":{"end":{"character":11,"line":83},"start":{"character":0,"line":83}},"selectionRange":{"end":{"character":9,"line":83},"start":{"character":5,"line":83}}},{"detail":"void ()","kind":12,"name":"Line_tracking_Function","range":{"end":{"character":29,"line":85},"start":{"character":0,"line":85}},"selectionRange":{"end":{"character":27,"line":85},"start":{"character":5,"line":85}}},{"detail":"void ()","kind":12,"name":"Avoidance_Function","range":{"end":{"character":25,"line":87},"start":{"character":0,"line":87}},"selectionRange":{"end":{"character":23,"line":87},"start":{"character":5,"line":87}}},{"detail":"void ()","kind":12,"name":"Following_Function","range":{"end":{"character":25,"line":89},"start":{"character":0,"line":89}},"selectionRange":{"end":{"character":23,"line":89},"start":{"character":5,"line":89}}},{"detail":"void ()","kind":12,"name":"Jail_Function","range":{"end":{"character":20,"line":91},"start":{"character":0,"line":91}},"selectionRange":{"end":{"character":18,"line":91},"start":{"character":5,"line":91}}},{"detail":"void ()","kind":12,"name":"auto_doit","range":{"end":{"character":16,"line":93},"start":{"character":0,"line":93}},"selectionRange":{"end":{"character":14,"line":93},"start":{"character":5,"line":93}}},{"detail":"void ()","kind":12,"name":"free_mode","range":{"end":{"character":16,"line":95},"start":{"character":0,"line":95}},"selectionRange":{"end":{"character":14,"line":95},"start":{"character":5,"line":95}}},{"detail":"void ()","kind":12,"name":"read_degress","range":{"end":{"character":19,"line":97},"start":{"character":0,"line":97}},"selectionRange":{"end":{"character":17,"line":97},"start":{"character":5,"line":97}}},{"detail":"void ()","kind":12,"name":"auto_do","range":{"end":{"character":14,"line":99},"start":{"character":0,"line":99}},"selectionRange":{"end":{"character":12,"line":99},"start":{"character":5,"line":99}}},{"detail":"void (int, int)","kind":12,"name":"Motor","range":{"end":{"character":30,"line":101},"start":{"character":0,"line":101}},"selectionRange":{"end":{"character":10,"line":101},"start":{"character":5,"line":101}}},{"detail":"float (int, int)","kind":12,"name":"SR04","range":{"end":{"character":30,"line":103},"start":{"character":0,"line":103}},"selectionRange":{"end":{"character":10,"line":103},"start":{"character":6,"line":103}}},{"detail":"void (byte, byte)","kind":12,"name":"TX_Information","range":{"end":{"character":39,"line":105},"start":{"character":0,"line":105}},"selectionRange":{"end":{"character":19,"line":105},"start":{"character":5,"line":105}}},{"detail":"void ()","kind":12,"name":"RX_Information","range":{"end":{"character":25,"line":107},"start":{"character":0,"line":107}},"selectionRange":{"end":{"character":19,"line":107},"start":{"character":5,"line":107}}},{"detail":"void ()","kind":12,"name":"Timer2Isr","range":{"end":{"character":1,"line":113},"start":{"character":0,"line":109}},"selectionRange":{"end":{"character":14,"line":109},"start":{"character":5,"line":109}}},{"detail":"void ()","kind":12,"name":"setup","range":{"end":{"character":1,"line":147},"start":{"character":0,"line":114}},"selectionRange":{"end":{"character":10,"line":114},"start":{"character":5,"line":114}}},{"detail":"void ()","kind":12,"name":"loop","range":{"end":{"character":1,"line":184},"start":{"character":0,"line":149}},"selectionRange":{"end":{"character":9,"line":149},"start":{"character":5,"line":149}}},{"detail":"void ()","kind":12,"name":"Line_tracking_Function","range":{"end":{"character":1,"line":224},"start":{"character":0,"line":186}},"selectionRange":{"end":{"character":27,"line":186},"start":{"character":5,"line":186}}},{"detail":"void ()","kind":12,"name":"Avoidance_Function","range":{"end":{"character":1,"line":323},"start":{"character":0,"line":226}},"selectionRange":{"end":{"character":23,"line":226},"start":{"character":5,"line":226}}},{"detail":"void ()","kind":12,"name":"Following_Function","range":{"end":{"character":1,"line":356},"start":{"character":0,"line":325}},"selectionRange":{"end":{"character":23,"line":325},"start":{"character":5,"line":325}}},{"detail":"void ()","kind":12,"name":"Jail_Function","range":{"end":{"character":1,"line":506},"start":{"character":0,"line":358}},"selectionRange":{"end":{"character":18,"line":358},"start":{"character":5,"line":358}}},{"detail":"void ()","kind":12,"name":"auto_doit","range":{"end":{"character":1,"line":638},"start":{"character":0,"line":508}},"selectionRange":{"end":{"character":14,"line":508},"start":{"character":5,"line":508}}},{"detail":"void ()","kind":12,"name":"free_mode","range":{"end":{"character":1,"line":760},"start":{"character":0,"line":640}},"selectionRange":{"end":{"character":14,"line":640},"start":{"character":5,"line":640}}},{"detail":"void ()","kind":12,"name":"read_degress","range":{"end":{"character":1,"line":778},"start":{"character":0,"line":762}},"selectionRange":{"end":{"character":17,"line":762},"start":{"character":5,"line":762}}},{"detail":"void ()","kind":12,"name":"auto_do","range":{"end":{"character":1,"line":910},"start":{"character":0,"line":780}},"selectionRange":{"end":{"character":12,"line":780},"start":{"character":5,"line":780}}},{"detail":"void (int, int)","kind":12,"name":"Motor","range":{"end":{"character":1,"line":921},"start":{"character":0,"line":912}},"selectionRange":{"end":{"character":10,"line":912},"start":{"character":5,"line":912}}},{"detail":"float (int, int)","kind":12,"name":"SR04","range":{"end":{"character":1,"line":933},"start":{"character":0,"line":923}},"selectionRange":{"end":{"character":10,"line":923},"start":{"character":6,"line":923}}},{"detail":"void (byte, byte)","kind":12,"name":"TX_Information","range":{"end":{"character":1,"line":944},"start":{"character":0,"line":935}},"selectionRange":{"end":{"character":19,"line":935},"start":{"character":5,"line":935}}},{"detail":"void ()","kind":12,"name":"RX_Information","range":{"end":{"character":1,"line":990},"start":{"character":0,"line":946}},"selectionRange":{"end":{"character":19,"line":946},"start":{"character":5,"line":946}}}]}

I[13:59:07.021] Indexed C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp (690 symbols, 4684 refs, 38 files)
I[13:59:07.033] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial2.cpp (602 symbols, 3499 refs, 37 files)
I[13:59:07.036] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial0.cpp (603 symbols, 3528 refs, 37 files)
I[13:59:07.073] --> $/progress
V[13:59:07.073] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"3/27","percentage":11}}}

I[13:59:07.073] --> $/progress
V[13:59:07.073] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"3/27","percentage":11}}}

V[13:59:07.155] System include extraction: target extracted: "avr"
V[13:59:07.155] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[13:59:07.155] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[13:59:07.155] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[13:59:07.155] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-gcc.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[13:59:07.156] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S (digest:=87583F1C920AA889)
V[13:59:07.170] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:54:1:expected identifier or '('
V[13:59:07.170] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:62:23:expected identifier or '('
V[13:59:07.170] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:63:23:expected identifier or '('
V[13:59:07.170] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:64:23:expected identifier or '('
V[13:59:07.170] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:65:23:expected identifier or '('
V[13:59:07.170] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:66:23:expected identifier or '('
V[13:59:07.170] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:67:23:expected identifier or '('
V[13:59:07.170] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:72:37:expected identifier or '('
V[13:59:07.184] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:73:31:expected ';' after top level declarator
V[13:59:07.184] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:79:23:expected identifier or '('
V[13:59:07.184] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:83:32:expected identifier or '('
V[13:59:07.184] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:83:35:expected identifier or '('
V[13:59:07.186] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:84:22:unknown type name 'maxloops'
V[13:59:07.186] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:85:8:expected ';' after top level declarator
V[13:59:07.186] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:85:22:unknown type name 'maxloops'
V[13:59:07.186] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:86:8:expected ';' after top level declarator
V[13:59:07.186] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:86:22:unknown type name 'maxloops'
V[13:59:07.186] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:87:9:expected ';' after top level declarator
V[13:59:07.186] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:87:18:expected identifier or '('
V[13:59:07.186] Ignored diagnostic. too many errors emitted, stopping now
I[13:59:07.190] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S (12 symbols, 937 refs, 9 files)
I[13:59:07.190] Failed to compile C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S, index may be incomplete
I[13:59:07.278] --> $/progress
V[13:59:07.278] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"4/27","percentage":14}}}

I[13:59:07.278] --> $/progress
V[13:59:07.278] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"4/27","percentage":14}}}

V[13:59:07.280] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial3.cpp (digest:=D7FFC6931C21680C)
I[13:59:07.365] --> $/progress
V[13:59:07.365] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"5/27","percentage":18}}}

I[13:59:07.365] --> $/progress
V[13:59:07.365] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"5/27","percentage":18}}}

V[13:59:07.368] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WInterrupts.c (digest:=0A36B38756A4F148)
I[13:59:07.371] --> $/progress
V[13:59:07.371] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"6/27","percentage":22}}}

I[13:59:07.371] --> $/progress
V[13:59:07.371] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"6/27","percentage":22}}}

V[13:59:07.371] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\IPAddress.cpp (digest:=6DDB6ED4F4E34E63)
I[13:59:07.384] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial3.cpp (291 symbols, 2881 refs, 37 files)
I[13:59:07.420] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WInterrupts.c (4 symbols, 2166 refs, 25 files)
I[13:59:07.439] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\IPAddress.cpp (174 symbols, 2717 refs, 36 files)
V[13:59:07.517] BackgroundIndex: building version 1 after indexing enough files
V[13:59:07.529] BackgroundIndex: serving version 1 (1588768 bytes)
I[13:59:07.530] --> $/progress
V[13:59:07.530] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"7/27","percentage":25}}}

I[13:59:07.530] --> $/progress
V[13:59:07.530] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"7/27","percentage":25}}}

V[13:59:07.530] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring.c (digest:=5D6C1534064234DD)
I[13:59:07.556] --> $/progress
V[13:59:07.556] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"8/27","percentage":29}}}

I[13:59:07.556] --> $/progress
V[13:59:07.556] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"8/27","percentage":29}}}

V[13:59:07.558] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.c (digest:=B0774BE9D28D49CB)
I[13:59:07.567] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring.c (8 symbols, 2247 refs, 25 files)
I[13:59:07.572] --> $/progress
V[13:59:07.572] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"9/27","percentage":33}}}

I[13:59:07.572] --> $/progress
V[13:59:07.572] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"9/27","percentage":33}}}

V[13:59:07.574] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\CDC.cpp (digest:=E3E9F11672EDD20A)
I[13:59:07.598] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.c (2 symbols, 2141 refs, 25 files)
V[13:59:07.662] Ignored diagnostic. c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include\avr/wdt.h:464:12:value '64' out of range for constraint 'I'
V[13:59:07.663] Ignored diagnostic. c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include\avr/wdt.h:507:23:value '64' out of range for constraint 'I'
I[13:59:07.669] --> $/progress
V[13:59:07.669] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"10/27","percentage":37}}}

I[13:59:07.669] --> $/progress
V[13:59:07.669] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"10/27","percentage":37}}}

V[13:59:07.671] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WString.cpp (digest:=293923F15565174B)
I[13:59:07.672] --> $/progress
V[13:59:07.672] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"11/27","percentage":40}}}

I[13:59:07.672] --> $/progress
V[13:59:07.672] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"11/27","percentage":40}}}

V[13:59:07.673] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\USBCore.cpp (digest:=55BA50D4FF04E609)
I[13:59:07.673] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\CDC.cpp (2 symbols, 2307 refs, 37 files)
I[13:59:07.673] Failed to compile C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\CDC.cpp, index may be incomplete
I[13:59:07.713] --> $/progress
V[13:59:07.713] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"12/27","percentage":44}}}

I[13:59:07.713] --> $/progress
V[13:59:07.713] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"12/27","percentage":44}}}

V[13:59:07.714] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\PluggableUSB.cpp (digest:=FDB5BCAAB3E73FCE)
I[13:59:07.716] --> $/progress
V[13:59:07.716] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"13/27","percentage":48}}}

I[13:59:07.716] --> $/progress
V[13:59:07.716] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"13/27","percentage":48}}}

V[13:59:07.718] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Tone.cpp (digest:=1C31198B0754810E)
I[13:59:07.720] --> $/progress
V[13:59:07.720] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"14/27","percentage":51}}}

I[13:59:07.720] --> $/progress
V[13:59:07.720] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"14/27","percentage":51}}}

V[13:59:07.721] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Print.cpp (digest:=81BB1157C290C33B)
I[13:59:07.721] --> $/progress
V[13:59:07.721] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"15/27","percentage":55}}}

I[13:59:07.721] --> $/progress
V[13:59:07.721] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"15/27","percentage":55}}}

V[13:59:07.726] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_digital.c (digest:=343A7ACAD5FD2414)
I[13:59:07.727] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\USBCore.cpp (0 symbols, 2222 refs, 36 files)
I[13:59:07.746] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WString.cpp (84 symbols, 1925 refs, 18 files)
I[13:59:07.751] --> $/progress
V[13:59:07.751] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"16/27","percentage":59}}}

I[13:59:07.751] --> $/progress
V[13:59:07.751] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"16/27","percentage":59}}}

V[13:59:07.758] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial1.cpp (digest:=487C94A1A1F49B6C)
I[13:59:07.782] --> $/progress
V[13:59:07.782] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"17/27","percentage":62}}}

I[13:59:07.782] --> $/progress
V[13:59:07.782] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"17/27","percentage":62}}}

V[13:59:07.783] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\new.cpp (digest:=F68AA83B5BAAD75D)
I[13:59:07.787] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_digital.c (4 symbols, 2340 refs, 25 files)
I[13:59:07.798] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Print.cpp (26 symbols, 2373 refs, 35 files)
I[13:59:07.798] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Tone.cpp (15 symbols, 2449 refs, 35 files)
I[13:59:07.803] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\PluggableUSB.cpp (0 symbols, 2222 refs, 36 files)
I[13:59:07.826] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial1.cpp (0 symbols, 2251 refs, 37 files)
I[13:59:07.835] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\new.cpp (21 symbols, 150 refs, 5 files)
I[13:59:07.927] --> $/progress
V[13:59:07.927] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"18/27","percentage":66}}}

I[13:59:07.927] --> $/progress
V[13:59:07.927] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"18/27","percentage":66}}}

V[13:59:07.930] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial.cpp (digest:=7D1D0E442CF15FC1)
I[13:59:07.974] --> $/progress
V[13:59:07.974] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"19/27","percentage":70}}}

I[13:59:07.974] --> $/progress
V[13:59:07.974] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"19/27","percentage":70}}}

I[13:59:07.974] --> $/progress
V[13:59:07.974] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"20/27","percentage":74}}}

I[13:59:07.974] --> $/progress
V[13:59:07.974] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"20/27","percentage":74}}}

I[13:59:07.977] --> $/progress
V[13:59:07.977] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"21/27","percentage":77}}}

I[13:59:07.977] --> $/progress
V[13:59:07.977] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"21/27","percentage":77}}}

V[13:59:07.978] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\abi.cpp (digest:=4A1244E54C0CAC04)
V[13:59:07.979] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Stream.cpp (digest:=F7D59D2B49112307)
I[13:59:07.980] --> $/progress
V[13:59:07.980] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"22/27","percentage":81}}}

I[13:59:07.981] --> $/progress
V[13:59:07.981] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"23/27","percentage":85}}}

V[13:59:07.981] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\main.cpp (digest:=313C4893EB7ADBE6)
I[13:59:07.988] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial.cpp (12 symbols, 2468 refs, 38 files)
I[13:59:07.996] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\abi.cpp (2 symbols, 83 refs, 3 files)
I[13:59:07.999] --> $/progress
V[13:59:07.999] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"24/27","percentage":88}}}

I[13:59:08.013] --> $/progress
V[13:59:08.013] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"25/27","percentage":92}}}

I[13:59:08.028] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\main.cpp (4 symbols, 2226 refs, 35 files)
I[13:59:08.030] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Stream.cpp (15 symbols, 2336 refs, 35 files)
I[13:59:08.074] --> $/progress
V[13:59:08.074] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"26/27","percentage":96}}}

V[13:59:08.079] BackgroundIndex: building version 2 when background indexer is idle
V[13:59:08.091] BackgroundIndex: serving version 2 (1942852 bytes)
I[13:59:08.092] --> $/progress
V[13:59:08.092] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}

V[13:59:14.557] <<< {"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[13:59:14.557] <-- textDocument/didSave
I[13:59:14.557] File version went from 1 to 1
V[13:59:14.559] <<< {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"text":"#include <Arduino.h>\n#line 1 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\n#include <MsTimer2.h>\n#include    <Servo.h>\n\n// PWM control pin\n#define PWM1_PIN            5\n#define PWM2_PIN            6\n// 74HCT595N chip pin\n#define SHCP_PIN            2                               // The displacement of the clock\n#define EN_PIN              7                               // Can make control\n#define DATA_PIN            8                               // Serial data\n#define STCP_PIN            4                               // Memory register clock                  \n// Ultrasonic control pin\nconst int Trig       =      12;\nconst int Echo       =      13;\n// Trace the control pin\n#define LEFT_LINE_TRACJING      A0\n#define CENTER_LINE_TRACJING    A1\n#define right_LINE_TRACJING     A2\n// Servo control pin\n#define CLAW_PIN            9\n#define ARM_PIN             10\n#define BASE_PIN            11\n\nconst int Forward       = 92;                               // Forward\nconst int Backward      = 163;                              // Backward\nconst int Turn_Left     = 149;                              // Left translation\nconst int Turn_Right    = 106;                              // Right translation\nconst int Top_Left      = 20;                               // Upper left mobile\nconst int Bottom_Left   = 129;                              // Lower left mobile\nconst int Top_Right     = 72;                               // Upper right mobile\nconst int Bottom_Right  = 34;                               // The lower right move\nconst int Stop          = 0;                                // Stop\nconst int Contrarotate  = 172;                              // Counterclockwise rotation\nconst int Clockwise     = 83;                               // Rotate clockwise\n\n\nbyte TX_package[5] = {0xA5, 0, 0, 0, 0x5A};                 // Packet header(0xA5) +  original data (n*byte) + inspection sum(1byte) + Package the tail(0x5A)\nbyte RX_package[10] = {0};\nint UT_distance = 0;\nint Serialcount = 0;\nint base_degrees = 90;\nint arm_degrees = 90;\nint claw_degrees = 90;\nboolean menory_action_flag;\nboolean Line_tracking_Function_flag = false;\nboolean Avoidance_Function_flag = false;\nboolean Following_Function_flag = false;\nboolean Jail_Function_flag = false;\nint Left_Tra_Value;\nint Center_Tra_Value;\nint Right_Tra_Value;\nint Black_Line = 500;\nint actions_count = 0;\nint auto_count;\nint claw_read_degress[20] = {0, 0, 0};\nint arm_read_degress[20] = {0, 0, 0};\nint base_read_degress[20] = {0, 0, 0};\n\ntypedef struct \n{\n    byte mode1;             // Bit0: free mode;Bit1: tracking mode;Bit2: Obstacle avoidance mode;Bit3: Follow mode;\n                            // Bit4: Dungeon Mode;Bit5: Save button;Bit6: Automatic button;Bit7: empty\n    byte mode2;             // Bit0: fluke;Bit1: closed claw;Bit2: clockwise rotation;Bit3: reverse;\n    char x_axis = 0;        // Store variables on the X axis\n    char y_axis = 0;        // Store the variables on the Y axis\n    byte C_speed = 127;     // Speed of storage cart\n    char x_Base = 0;        // Store the steering gear on the X axis\n    char y_Arm = 0;         // Store the steering gear on the Y-axis\n}rx_buffer;\n\nrx_buffer RX_buffer;\n\nServo clawservo;\nServo armservo;\nServo baseservo;\n\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr();\n#line 82 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid setup();\n#line 117 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid loop();\n#line 154 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Line_tracking_Function();\n#line 194 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Avoidance_Function();\n#line 293 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Following_Function();\n#line 326 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Jail_Function();\n#line 476 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_doit();\n#line 608 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid free_mode();\n#line 730 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid read_degress();\n#line 748 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_do();\n#line 880 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Motor(int Dir, int Speed);\n#line 891 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nfloat SR04(int Trig, int Echo);\n#line 903 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid TX_Information(byte dis, byte act);\n#line 914 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid RX_Information(void);\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr()\n{\n    sei();\n    UT_distance = SR04(Trig, Echo);\n}\nvoid setup()\n{\n    pinMode(SHCP_PIN, OUTPUT);\n    pinMode(EN_PIN, OUTPUT);\n    pinMode(DATA_PIN, OUTPUT);\n    pinMode(STCP_PIN, OUTPUT);\n    pinMode(PWM1_PIN, OUTPUT);\n    pinMode(PWM2_PIN, OUTPUT);\n\n    pinMode(Trig, OUTPUT);\n    pinMode(Echo, INPUT);\n\n    pinMode(LEFT_LINE_TRACJING, INPUT);\n    pinMode(CENTER_LINE_TRACJING, INPUT);\n    pinMode(right_LINE_TRACJING, INPUT);\n\n    clawservo.attach(CLAW_PIN);\n    armservo.attach(ARM_PIN);\n    baseservo.attach(BASE_PIN);\n    clawservo.write(claw_degrees);\n    delay(500);\n    armservo.write(arm_degrees);\n    delay(500);\n    baseservo.write(base_degrees);\n    delay(500);\n\n    Motor(Stop, 0);\n\n    Serial.begin(9600);\n\n    //5ms timed interrupt Settings use timer2    \n    MsTimer2::set(100, Timer2Isr);\n    MsTimer2::start();\n}\n\nvoid loop()\n{\n    TX_Information(UT_distance, auto_count);                    // Send ultrasonic data\n    RX_Information();                                           // Receiving Bluetooth data\n    switch (RX_buffer.mode1)\n    {\n        case 0x02:       //tracking mode\n            Motor(Stop, 0);\n            Line_tracking_Function();\n            delay(10);\n            break;\n        case 0x04:       //Obstacle avoidance mode\n            Motor(Stop, 0);\n            Avoidance_Function();\n            delay(10);\n            break;\n        case 0x08:       //Follow the pattern\n            Motor(Stop, 0);\n            Following_Function();\n            delay(10);\n            break;\n        case 0x10:       //Dungeon mode\n            Motor(Stop, 0);\n            Jail_Function();\n            delay(10);\n            break;\n        case 0x40:       //Automatic mode\n            Motor(Stop, 0);\n            auto_doit();\n            delay(10);\n            break;\n        default:\n            free_mode();\n            break;\n    }\n}\n\nvoid Line_tracking_Function()       // tracking mode\n{\n    Line_tracking_Function_flag = true;\n    while (Line_tracking_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 175);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Line_tracking_Function_flag = false;\n        }\n    }\n}\n\nvoid Avoidance_Function()           // Obstacle avoidance mode\n{\n    int i;\n    Avoidance_Function_flag = true;\n    while (Avoidance_Function_flag)\n    {\n        if (UT_distance <= 25)\n        {\n            if (UT_distance <= 15)\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Clockwise, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 4; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 6; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Contrarotate, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n        }\n        else\n        {\n            Motor(Forward, 180);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Avoidance_Function_flag = false;\n        }\n    }\n}\n\nvoid Following_Function()           // Follow the pattern\n{\n    Following_Function_flag = true;\n    while (Following_Function_flag)\n    {\n        if (UT_distance < 15)\n        {\n            Motor(Backward, 200);\n        }\n        else if (15 <= UT_distance && UT_distance <= 20)\n        {\n            Motor(Stop, 0);\n        }\n        else if (20 <= UT_distance && UT_distance <= 25)\n        {\n            Motor(Forward, 180);\n        }\n        else if (25 <= UT_distance && UT_distance <= 50)\n        {\n            Motor(Forward, 220);\n        }\n        else\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x10)\n        {\n            Following_Function_flag = false;\n        }\n    }\n}\n\nvoid Jail_Function()                // Dungeon mode\n{\n    int i;\n    Jail_Function_flag = true;\n    while (Jail_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 150);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n        {\n            Jail_Function_flag = false;\n        }\n    }\n}\n\nvoid auto_doit()                      // Automatic mode\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid free_mode()                    // free mode\n{\n    if(RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis >= 30)     //Forward\n    {\n        Motor(Forward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis <= -30)     //Backward\n    {\n        Motor(Backward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis <= -30)     //Turn_Left\n    {\n        Motor(Turn_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis >= 30)     //Turn_Right\n    {\n        Motor(Turn_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis >= 30)     //Top_Left\n    {\n        Motor(Top_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis <= -30)     //Bottom_Left\n    {\n        Motor(Bottom_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis >= 30)     //Top_Right\n    {\n        Motor(Top_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis <= -30)     //Bottom_Right\n    {\n        Motor(Bottom_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x04)     //Contrarotate\n    {\n        Motor(Contrarotate, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x08)     //Clockwise\n    {\n        Motor(Clockwise, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base <= -30)    // base_left\n    {\n        base_degrees = base_degrees + 1;\n        if (base_degrees >= 185) \n        {\n            base_degrees = 185;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base >= 30)     // base_right\n    {\n        base_degrees = base_degrees - 1;\n        if (base_degrees <= 0) \n        {\n            base_degrees = 0;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm <= -30)    // Arm contraction\n    {\n        arm_degrees = arm_degrees - 1;\n        if (arm_degrees <= 0) \n        {\n            arm_degrees = 0;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm >= 30)     // Arm elongation\n    {\n        arm_degrees = arm_degrees + 1;\n        if (arm_degrees >= 150) \n        {\n            arm_degrees = 150;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x01)            // claws open                                        \n    {\n        claw_degrees = claw_degrees - 1;\n        if (claw_degrees <= 50) \n        {\n            claw_degrees = 50;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x02)            // claws closed\n    {\n        claw_degrees = claw_degrees + 1;\n        if (claw_degrees >= 150) \n        {\n            claw_degrees = 150;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode1 & 0x20)            // save\n    {\n        read_degress();\n    }  \n    else\n    {\n        Motor(Stop, 0);\n    }\n}\n\nvoid read_degress()\n{\n    if (actions_count <= 19)\n    {\n        claw_read_degress[(int)((actions_count + 1) - 1)] = clawservo.read();\n        delay(50);\n        RX_Information(); \n        arm_read_degress[(int)((actions_count + 1) - 1)] = armservo.read();\n        delay(50);\n        RX_Information(); \n        base_read_degress[(int)((actions_count + 1) - 1)] = baseservo.read();\n        delay(50);\n        RX_Information(); \n        actions_count = actions_count + 1;\n        auto_count = actions_count;\n    }\n}\n\nvoid auto_do()\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid Motor(int Dir, int Speed)      // Motor drive\n{\n    digitalWrite(EN_PIN, LOW);\n    analogWrite(PWM1_PIN, Speed);\n    analogWrite(PWM2_PIN, Speed);\n\n    digitalWrite(STCP_PIN, LOW);\n    shiftOut(DATA_PIN, SHCP_PIN, MSBFIRST, Dir);\n    digitalWrite(STCP_PIN, HIGH);\n}\n\nfloat SR04(int Trig, int Echo)      // Ultrasonic distance measurement\n{\n    digitalWrite(Trig, LOW);\n    delayMicroseconds(2);\n    digitalWrite(Trig, HIGH);\n    delayMicroseconds(10);\n    digitalWrite(Trig, LOW);\n    float distance = pulseIn(Echo, HIGH) / 58.00;\n    delay(10);\n    return distance;\n}\n\nvoid TX_Information(byte dis, byte act)     // Sending data packets\n{\n    int check;\n    if(dis>127) dis = 127;\n    if(act>127) act = 127;\n    TX_package[1] = dis;\n    TX_package[2] = act;\n    TX_package[3] = byte(dis + act);                        // The sum of inspection                              \n    Serial.write(TX_package, 5);                            // Sending data packets\n}\n\nvoid RX_Information(void)                   // Receiving data packet\n{\n    if(Serial.available() > 0)\n    {\n        delay(1);                                           // delay 1MS\n        if(Serial.readBytes(RX_package, 10))\n        {\n            if (RX_package[0] == 0xA5 && RX_package[9] == 0x5A)     // The header and tail of the packet are verified\n            {\n                Serialcount = 0;\n                RX_buffer.mode1 = RX_package[1];\n                RX_buffer.mode2 = RX_package[2];\n                RX_buffer.x_axis = RX_package[3];\n                RX_buffer.y_axis = RX_package[4];\n                RX_buffer.C_speed = RX_package[5] + 127;\n                RX_buffer.x_Base = RX_package[6];\n                RX_buffer.y_Arm = RX_package[7];\n            }\n            else\n            {\n                Serialcount++;\n                return;\n            }\n        }\n    }\n    else\n    {\n        delay(1);\n        Serialcount++;\n        if(Serialcount > 500)\n        {\n            Serialcount = 0;\n            RX_buffer.mode1 = 0; \n            RX_buffer.mode2 = 0;\n            RX_buffer.x_axis = 0;\n            RX_buffer.y_axis = 0;\n            RX_buffer.x_Base = 0;\n            RX_buffer.y_Arm = 0;\n            Line_tracking_Function_flag = false;\n            Avoidance_Function_flag = false;\n            Following_Function_flag = false;\n            Jail_Function_flag = false;\n        }\n    }\n}\n"}],"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp","version":2}}}

I[13:59:14.559] <-- textDocument/didChange
V[13:59:14.559] ASTWorker skipping Update (1) for C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[13:59:14.730] Reloaded compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\compile_commands.json
V[13:59:14.730] Broadcasting compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346
I[13:59:14.730] ASTWorker building file C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp version 2 with command 
[C:\Windows\system32]
"C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\avr-g++.exe" --target=avr --driver-mode=g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" "-Id:\\Arduino\\libraries\\MsTimer2" "-Id:\\Arduino\\libraries\\Servo\\src" -o "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -ferror-limit=0 "-resource-dir=d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -- "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp"
I[13:59:14.732] --> window/workDoneProgress/create(1)
V[13:59:14.732] >>> {"id":1,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}

I[13:59:14.732] Enqueueing 26 commands for indexing
V[13:59:14.732] <<< {"id":1,"jsonrpc":"2.0","result":null}

I[13:59:14.732] <-- reply(1)
I[13:59:14.732] --> $/progress
V[13:59:14.732] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","percentage":0,"title":"indexing"}}}

I[13:59:14.732] --> $/progress
V[13:59:14.732] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}

V[13:59:14.739] Driver produced command: cc1 -cc1 -triple avr -fsyntax-only -flto=full -flto-unit -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name 6_BlueTooth.ino.cpp -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -fno-use-init-array -fno-use-cxa-atexit -target-cpu atmega328p -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=constructor -dwarf-version=5 -debugger-tuning=gdb -ffunction-sections -fdata-sections "-fcoverage-compilation-dir=C:\\Windows\\system32" -resource-dir "d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -dependency-file "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp.d" -MT "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -D F_CPU=16000000L -D ARDUINO=10607 -D ARDUINO_AVR_UNO -D ARDUINO_ARCH_AVR -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" -I "d:\\Arduino\\libraries\\MsTimer2" -I "d:\\Arduino\\libraries\\Servo\\src" -internal-isystem "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin/../lib/gcc/avr/7.3.0/../../../../avr/include" -Os -Wno-error=narrowing -w -std=gnu++11 -fdeprecated-macro "-fdebug-compilation-dir=C:\\Windows\\system32" -ferror-limit 0 -fgnuc-version=4.2.1 -fno-threadsafe-statics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -x c++ "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp"
V[13:59:14.742] Reusing preamble version 1 for version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
V[13:59:14.750] BackgroundIndex: building version 3 after loading index from disk
V[13:59:14.764] BackgroundIndex: serving version 3 (1943196 bytes)
I[13:59:14.772] --> $/progress
V[13:59:14.772] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}

I[13:59:14.772] --> $/progress
V[13:59:14.772] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}

V[14:00:29.326] <<< {"id":"4","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":41,"line":26},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:29.326] <-- textDocument/hover("4")
V[14:00:29.328] ASTWorker running Hover on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:29.329] --> reply:textDocument/hover("4") 3 ms
V[14:00:29.329] >>> {"id":"4","jsonrpc":"2.0","result":null}

V[14:00:38.261] <<< {"id":"5","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":27,"line":22},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:38.261] <-- textDocument/hover("5")
V[14:00:38.263] ASTWorker running Hover on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:38.264] --> reply:textDocument/hover("5") 2 ms
V[14:00:38.264] >>> {"id":"5","jsonrpc":"2.0","result":null}

V[14:00:38.591] <<< {"id":"6","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":25,"line":23},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:38.591] <-- textDocument/hover("6")
V[14:00:38.591] ASTWorker running Hover on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:38.592] --> reply:textDocument/hover("6") 1 ms
V[14:00:38.592] >>> {"id":"6","jsonrpc":"2.0","result":null}

V[14:00:39.418] <<< {"id":"7","jsonrpc":"2.0","method":"textDocument/documentHighlight","params":{"position":{"character":30,"line":23},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:39.418] <-- textDocument/documentHighlight("7")
V[14:00:39.418] ASTWorker running Highlights on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:39.418] --> reply:textDocument/documentHighlight("7") 0 ms
V[14:00:39.418] >>> {"id":"7","jsonrpc":"2.0","result":[]}

V[14:00:39.656] <<< {"id":"8","jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[]},"range":{"end":{"character":30,"line":23},"start":{"character":30,"line":23}},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:39.656] <-- textDocument/codeAction("8")
V[14:00:39.656] ASTWorker running EnumerateTweaks on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:39.656] --> reply:textDocument/codeAction("8") 0 ms
V[14:00:39.656] >>> {"id":"8","jsonrpc":"2.0","result":[]}

V[14:00:39.967] <<< {"id":"9","jsonrpc":"2.0","method":"textDocument/documentHighlight","params":{"position":{"character":30,"line":22},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:39.967] <-- textDocument/documentHighlight("9")
V[14:00:39.967] ASTWorker running Highlights on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:39.967] --> reply:textDocument/documentHighlight("9") 0 ms
V[14:00:39.967] >>> {"id":"9","jsonrpc":"2.0","result":[]}

V[14:00:40.214] <<< {"id":"10","jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[]},"range":{"end":{"character":30,"line":22},"start":{"character":30,"line":22}},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:40.214] <-- textDocument/codeAction("10")
V[14:00:40.214] ASTWorker running EnumerateTweaks on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:40.214] --> reply:textDocument/codeAction("10") 0 ms
V[14:00:40.214] >>> {"id":"10","jsonrpc":"2.0","result":[]}

V[14:00:40.394] <<< {"id":"11","jsonrpc":"2.0","method":"textDocument/documentHighlight","params":{"position":{"character":29,"line":21},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:40.394] <-- textDocument/documentHighlight("11")
V[14:00:40.394] ASTWorker running Highlights on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:40.394] --> reply:textDocument/documentHighlight("11") 0 ms
V[14:00:40.394] >>> {"id":"11","jsonrpc":"2.0","result":[]}

V[14:00:40.647] <<< {"id":"12","jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[]},"range":{"end":{"character":29,"line":21},"start":{"character":29,"line":21}},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:40.647] <-- textDocument/codeAction("12")
V[14:00:40.647] ASTWorker running EnumerateTweaks on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:40.647] --> reply:textDocument/codeAction("12") 0 ms
V[14:00:40.647] >>> {"id":"12","jsonrpc":"2.0","result":[]}

V[14:00:40.952] <<< {"id":"13","jsonrpc":"2.0","method":"textDocument/documentHighlight","params":{"position":{"character":30,"line":22},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:40.952] <-- textDocument/documentHighlight("13")
V[14:00:40.952] ASTWorker running Highlights on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:40.952] --> reply:textDocument/documentHighlight("13") 0 ms
V[14:00:40.952] >>> {"id":"13","jsonrpc":"2.0","result":[]}

V[14:00:41.199] <<< {"id":"14","jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[]},"range":{"end":{"character":30,"line":22},"start":{"character":30,"line":22}},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:41.199] <-- textDocument/codeAction("14")
V[14:00:41.199] ASTWorker running EnumerateTweaks on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:41.200] --> reply:textDocument/codeAction("14") 0 ms
V[14:00:41.200] >>> {"id":"14","jsonrpc":"2.0","result":[]}

V[14:00:41.392] <<< {"id":"15","jsonrpc":"2.0","method":"textDocument/documentHighlight","params":{"position":{"character":29,"line":21},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:41.392] <-- textDocument/documentHighlight("15")
V[14:00:41.392] ASTWorker running Highlights on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:41.392] --> reply:textDocument/documentHighlight("15") 0 ms
V[14:00:41.392] >>> {"id":"15","jsonrpc":"2.0","result":[]}

V[14:00:41.639] <<< {"id":"16","jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[]},"range":{"end":{"character":29,"line":21},"start":{"character":29,"line":21}},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:00:41.639] <-- textDocument/codeAction("16")
V[14:00:41.639] ASTWorker running EnumerateTweaks on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:00:41.639] --> reply:textDocument/codeAction("16") 0 ms
V[14:00:41.639] >>> {"id":"16","jsonrpc":"2.0","result":[]}

V[14:01:36.634] <<< {"id":"17","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":25,"line":23},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:01:36.634] <-- textDocument/hover("17")
V[14:01:36.635] ASTWorker running Hover on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:01:36.636] --> reply:textDocument/hover("17") 2 ms
V[14:01:36.636] >>> {"id":"17","jsonrpc":"2.0","result":null}

V[14:01:37.029] <<< {"id":"18","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":29,"line":23},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:01:37.029] <-- textDocument/hover("18")
V[14:01:37.029] ASTWorker running Hover on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:01:37.030] --> reply:textDocument/hover("18") 1 ms
V[14:01:37.030] >>> {"id":"18","jsonrpc":"2.0","result":null}

V[14:01:41.745] <<< {"id":"19","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":42,"line":25},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:01:41.745] <-- textDocument/hover("19")
V[14:01:41.747] ASTWorker running Hover on version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:01:41.748] --> reply:textDocument/hover("19") 2 ms
V[14:01:41.748] >>> {"id":"19","jsonrpc":"2.0","result":null}

V[14:01:44.883] <<< {"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:01:44.883] <-- textDocument/didSave
I[14:01:44.883] File version went from 2 to 2
V[14:01:44.884] <<< {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"text":"#include <Arduino.h>\n#line 1 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\n#include <MsTimer2.h>\n#include    <Servo.h>\n\n// PWM control pin\n#define PWM1_PIN            5\n#define PWM2_PIN            6\n// 74HCT595N chip pin\n#define SHCP_PIN            2                               // The displacement of the clock\n#define EN_PIN              7                               // Can make control\n#define DATA_PIN            8                               // Serial data\n#define STCP_PIN            4                               // Memory register clock                  \n// Ultrasonic control pin\nconst int Trig       =      12;\nconst int Echo       =      13;\n// Trace the control pin\n#define LEFT_LINE_TRACJING      A0\n#define CENTER_LINE_TRACJING    A1\n#define right_LINE_TRACJING     A2\n// Servo control pin\n#define CLAW_PIN            9\n#define ARM_PIN             10\n#define BASE_PIN            11\n\nconst int Forward       = 92;                               // Forward\nconst int Backward      = 163;                              // Backward\nconst int Turn_Left     = 149;                              // Left translation\nconst int Turn_Right    = 106;                              // Right translation\nconst int Top_Left      = 20;                               // Upper left mobile\nconst int Bottom_Left   = 129;                              // Lower left mobile\nconst int Top_Right     = 72;                               // Upper right mobile\nconst int Bottom_Right  = 34;                               // The lower right move\nconst int Stop          = 0;                                // Stop\nconst int Contrarotate  = 172;                              // Counterclockwise rotation\nconst int Clockwise     = 83;                               // Rotate clockwise\n\n\nbyte TX_package[5] = {0xA5, 0, 0, 0, 0x5A};                 // Packet header(0xA5) +  original data (n*byte) + inspection sum(1byte) + Package the tail(0x5A)\nbyte RX_package[10] = {0};\nint UT_distance = 0;\nint Serialcount = 0;\nint base_degrees = 90;\nint arm_degrees = 90;\nint claw_degrees = 90;\nboolean menory_action_flag;\nboolean Line_tracking_Function_flag = false;\nboolean Avoidance_Function_flag = false;\nboolean Following_Function_flag = false;\nboolean Jail_Function_flag = false;\nint Left_Tra_Value;\nint Center_Tra_Value;\nint Right_Tra_Value;\nint Black_Line = 500;\nint actions_count = 0;\nint auto_count;\nint claw_read_degress[20] = {0, 0, 0};\nint arm_read_degress[20] = {0, 0, 0};\nint base_read_degress[20] = {0, 0, 0};\n\ntypedef struct \n{\n    byte mode1;             // Bit0: free mode;Bit1: tracking mode;Bit2: Obstacle avoidance mode;Bit3: Follow mode;\n                            // Bit4: Dungeon Mode;Bit5: Save button;Bit6: Automatic button;Bit7: empty\n    byte mode2;             // Bit0: fluke;Bit1: closed claw;Bit2: clockwise rotation;Bit3: reverse;\n    char x_axis = 0;        // Store variables on the X axis\n    char y_axis = 0;        // Store the variables on the Y axis\n    byte C_speed = 127;     // Speed of storage cart\n    char x_Base = 0;        // Store the steering gear on the X axis\n    char y_Arm = 0;         // Store the steering gear on the Y-axis\n}rx_buffer;\n\nrx_buffer RX_buffer;\n\nServo clawservo;\nServo armservo;\nServo baseservo;\n\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr();\n#line 82 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid setup();\n#line 117 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid loop();\n#line 154 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Line_tracking_Function();\n#line 194 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Avoidance_Function();\n#line 293 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Following_Function();\n#line 326 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Jail_Function();\n#line 476 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_doit();\n#line 608 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid free_mode();\n#line 730 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid read_degress();\n#line 748 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_do();\n#line 880 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Motor(int Dir, int Speed);\n#line 891 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nfloat SR04(int Trig, int Echo);\n#line 903 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid TX_Information(byte dis, byte act);\n#line 914 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid RX_Information(void);\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr()\n{\n    sei();\n    UT_distance = SR04(Trig, Echo);\n}\nvoid setup()\n{\n    pinMode(SHCP_PIN, OUTPUT);\n    pinMode(EN_PIN, OUTPUT);\n    pinMode(DATA_PIN, OUTPUT);\n    pinMode(STCP_PIN, OUTPUT);\n    pinMode(PWM1_PIN, OUTPUT);\n    pinMode(PWM2_PIN, OUTPUT);\n\n    pinMode(Trig, OUTPUT);\n    pinMode(Echo, INPUT);\n\n    pinMode(LEFT_LINE_TRACJING, INPUT);\n    pinMode(CENTER_LINE_TRACJING, INPUT);\n    pinMode(right_LINE_TRACJING, INPUT);\n\n    clawservo.attach(CLAW_PIN);\n    armservo.attach(ARM_PIN);\n    baseservo.attach(BASE_PIN);\n    clawservo.write(claw_degrees);\n    delay(500);\n    armservo.write(arm_degrees);\n    delay(500);\n    baseservo.write(base_degrees);\n    delay(500);\n\n    Motor(Stop, 0);\n\n    Serial.begin(9600);\n\n    //5ms timed interrupt Settings use timer2    \n    MsTimer2::set(100, Timer2Isr);\n    MsTimer2::start();\n}\n\nvoid loop()\n{\n    TX_Information(UT_distance, auto_count);                    // Send ultrasonic data\n    RX_Information();                                           // Receiving Bluetooth data\n    switch (RX_buffer.mode1)\n    {\n        case 0x02:       //tracking mode\n            Motor(Stop, 0);\n            Line_tracking_Function();\n            delay(10);\n            break;\n        case 0x04:       //Obstacle avoidance mode\n            Motor(Stop, 0);\n            Avoidance_Function();\n            delay(10);\n            break;\n        case 0x08:       //Follow the pattern\n            Motor(Stop, 0);\n            Following_Function();\n            delay(10);\n            break;\n        case 0x10:       //Dungeon mode\n            Motor(Stop, 0);\n            Jail_Function();\n            delay(10);\n            break;\n        case 0x40:       //Automatic mode\n            Motor(Stop, 0);\n            auto_doit();\n            delay(10);\n            break;\n        default:\n            free_mode();\n            break;\n    }\n}\n\nvoid Line_tracking_Function()       // tracking mode\n{\n    Line_tracking_Function_flag = true;\n    while (Line_tracking_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 175);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Line_tracking_Function_flag = false;\n        }\n    }\n}\n\nvoid Avoidance_Function()           // Obstacle avoidance mode\n{\n    int i;\n    Avoidance_Function_flag = true;\n    while (Avoidance_Function_flag)\n    {\n        if (UT_distance <= 25)\n        {\n            if (UT_distance <= 15)\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Clockwise, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 4; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 6; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Contrarotate, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n        }\n        else\n        {\n            Motor(Forward, 180);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Avoidance_Function_flag = false;\n        }\n    }\n}\n\nvoid Following_Function()           // Follow the pattern\n{\n    Following_Function_flag = true;\n    while (Following_Function_flag)\n    {\n        if (UT_distance < 15)\n        {\n            Motor(Backward, 200);\n        }\n        else if (15 <= UT_distance && UT_distance <= 20)\n        {\n            Motor(Stop, 0);\n        }\n        else if (20 <= UT_distance && UT_distance <= 25)\n        {\n            Motor(Forward, 180);\n        }\n        else if (25 <= UT_distance && UT_distance <= 50)\n        {\n            Motor(Forward, 220);\n        }\n        else\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x10)\n        {\n            Following_Function_flag = false;\n        }\n    }\n}\n\nvoid Jail_Function()                // Dungeon mode\n{\n    int i;\n    Jail_Function_flag = true;\n    while (Jail_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 150);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n        {\n            Jail_Function_flag = false;\n        }\n    }\n}\n\nvoid auto_doit()                      // Automatic mode\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid free_mode()                    // free mode\n{\n    if(RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis >= 30)     //Forward\n    {\n        Motor(Forward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis <= -30)     //Backward\n    {\n        Motor(Backward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis <= -30)     //Turn_Left\n    {\n        Motor(Turn_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis >= 30)     //Turn_Right\n    {\n        Motor(Turn_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis >= 30)     //Top_Left\n    {\n        Motor(Top_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis <= -30)     //Bottom_Left\n    {\n        Motor(Bottom_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis >= 30)     //Top_Right\n    {\n        Motor(Top_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis <= -30)     //Bottom_Right\n    {\n        Motor(Bottom_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x04)     //Contrarotate\n    {\n        Motor(Contrarotate, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x08)     //Clockwise\n    {\n        Motor(Clockwise, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base <= -30)    // base_left\n    {\n        base_degrees = base_degrees + 1;\n        if (base_degrees >= 185) \n        {\n            base_degrees = 185;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base >= 30)     // base_right\n    {\n        base_degrees = base_degrees - 1;\n        if (base_degrees <= 0) \n        {\n            base_degrees = 0;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm <= -30)    // Arm contraction\n    {\n        arm_degrees = arm_degrees - 1;\n        if (arm_degrees <= 0) \n        {\n            arm_degrees = 0;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm >= 30)     // Arm elongation\n    {\n        arm_degrees = arm_degrees + 1;\n        if (arm_degrees >= 150) \n        {\n            arm_degrees = 150;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x01)            // claws open                                        \n    {\n        claw_degrees = claw_degrees - 1;\n        if (claw_degrees <= 50) \n        {\n            claw_degrees = 50;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x02)            // claws closed\n    {\n        claw_degrees = claw_degrees + 1;\n        if (claw_degrees >= 150) \n        {\n            claw_degrees = 150;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode1 & 0x20)            // save\n    {\n        read_degress();\n    }  \n    else\n    {\n        Motor(Stop, 0);\n    }\n}\n\nvoid read_degress()\n{\n    if (actions_count <= 19)\n    {\n        claw_read_degress[(int)((actions_count + 1) - 1)] = clawservo.read();\n        delay(50);\n        RX_Information(); \n        arm_read_degress[(int)((actions_count + 1) - 1)] = armservo.read();\n        delay(50);\n        RX_Information(); \n        base_read_degress[(int)((actions_count + 1) - 1)] = baseservo.read();\n        delay(50);\n        RX_Information(); \n        actions_count = actions_count + 1;\n        auto_count = actions_count;\n    }\n}\n\nvoid auto_do()\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid Motor(int Dir, int Speed)      // Motor drive\n{\n    digitalWrite(EN_PIN, LOW);\n    analogWrite(PWM1_PIN, Speed);\n    analogWrite(PWM2_PIN, Speed);\n\n    digitalWrite(STCP_PIN, LOW);\n    shiftOut(DATA_PIN, SHCP_PIN, MSBFIRST, Dir);\n    digitalWrite(STCP_PIN, HIGH);\n}\n\nfloat SR04(int Trig, int Echo)      // Ultrasonic distance measurement\n{\n    digitalWrite(Trig, LOW);\n    delayMicroseconds(2);\n    digitalWrite(Trig, HIGH);\n    delayMicroseconds(10);\n    digitalWrite(Trig, LOW);\n    float distance = pulseIn(Echo, HIGH) / 58.00;\n    delay(10);\n    return distance;\n}\n\nvoid TX_Information(byte dis, byte act)     // Sending data packets\n{\n    int check;\n    if(dis>127) dis = 127;\n    if(act>127) act = 127;\n    TX_package[1] = dis;\n    TX_package[2] = act;\n    TX_package[3] = byte(dis + act);                        // The sum of inspection                              \n    Serial.write(TX_package, 5);                            // Sending data packets\n}\n\nvoid RX_Information(void)                   // Receiving data packet\n{\n    if(Serial.available() > 0)\n    {\n        delay(1);                                           // delay 1MS\n        if(Serial.readBytes(RX_package, 10))\n        {\n            if (RX_package[0] == 0xA5 && RX_package[9] == 0x5A)     // The header and tail of the packet are verified\n            {\n                Serialcount = 0;\n                RX_buffer.mode1 = RX_package[1];\n                RX_buffer.mode2 = RX_package[2];\n                RX_buffer.x_axis = RX_package[3];\n                RX_buffer.y_axis = RX_package[4];\n                RX_buffer.C_speed = RX_package[5] + 127;\n                RX_buffer.x_Base = RX_package[6];\n                RX_buffer.y_Arm = RX_package[7];\n            }\n            else\n            {\n                Serialcount++;\n                return;\n            }\n        }\n    }\n    else\n    {\n        delay(1);\n        Serialcount++;\n        if(Serialcount > 500)\n        {\n            Serialcount = 0;\n            RX_buffer.mode1 = 0; \n            RX_buffer.mode2 = 0;\n            RX_buffer.x_axis = 0;\n            RX_buffer.y_axis = 0;\n            RX_buffer.x_Base = 0;\n            RX_buffer.y_Arm = 0;\n            Line_tracking_Function_flag = false;\n            Avoidance_Function_flag = false;\n            Following_Function_flag = false;\n            Jail_Function_flag = false;\n        }\n    }\n}\n"}],"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp","version":3}}}

I[14:01:44.884] <-- textDocument/didChange
V[14:01:44.884] ASTWorker skipping Update (2) for C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:01:45.057] Reloaded compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\compile_commands.json
V[14:01:45.058] Broadcasting compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346
I[14:01:45.061] ASTWorker building file C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp version 3 with command 
[C:\Windows\system32]
"C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\avr-g++.exe" --target=avr --driver-mode=g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" "-Id:\\Arduino\\libraries\\MsTimer2" "-Id:\\Arduino\\libraries\\Servo\\src" -o "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -ferror-limit=0 "-resource-dir=d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -- "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp"
I[14:01:45.067] --> window/workDoneProgress/create(2)
V[14:01:45.067] >>> {"id":2,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}

I[14:01:45.067] Enqueueing 26 commands for indexing
V[14:01:45.069] <<< {"id":2,"jsonrpc":"2.0","result":null}

I[14:01:45.069] <-- reply(2)
I[14:01:45.069] --> $/progress
V[14:01:45.069] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","percentage":0,"title":"indexing"}}}

I[14:01:45.069] --> $/progress
V[14:01:45.069] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}

V[14:01:45.088] Driver produced command: cc1 -cc1 -triple avr -fsyntax-only -flto=full -flto-unit -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name 6_BlueTooth.ino.cpp -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -fno-use-init-array -fno-use-cxa-atexit -target-cpu atmega328p -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=constructor -dwarf-version=5 -debugger-tuning=gdb -ffunction-sections -fdata-sections "-fcoverage-compilation-dir=C:\\Windows\\system32" -resource-dir "d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -dependency-file "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp.d" -MT "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -D F_CPU=16000000L -D ARDUINO=10607 -D ARDUINO_AVR_UNO -D ARDUINO_ARCH_AVR -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" -I "d:\\Arduino\\libraries\\MsTimer2" -I "d:\\Arduino\\libraries\\Servo\\src" -internal-isystem "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin/../lib/gcc/avr/7.3.0/../../../../avr/include" -Os -Wno-error=narrowing -w -std=gnu++11 -fdeprecated-macro "-fdebug-compilation-dir=C:\\Windows\\system32" -ferror-limit 0 -fgnuc-version=4.2.1 -fno-threadsafe-statics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -x c++ "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server3557012346\\sketch\\6_BlueTooth.ino.cpp"
V[14:01:45.091] Reusing preamble version 1 for version 3 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
V[14:01:45.099] BackgroundIndex: building version 4 after loading index from disk
V[14:01:45.113] BackgroundIndex: serving version 4 (1943196 bytes)
I[14:01:45.121] --> $/progress
V[14:01:45.121] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}

I[14:01:45.121] --> $/progress
V[14:01:45.121] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}

V[14:18:45.367] <<< {"id":"20","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":14,"line":14},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:18:45.367] <-- textDocument/hover("20")
V[14:18:45.368] ASTWorker running Hover on version 3 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:18:45.376] --> reply:textDocument/hover("20") 9 ms
V[14:18:45.376] >>> {"id":"20","jsonrpc":"2.0","result":{"contents":{"kind":"markdown","value":"### variable `Trig`  \n\n---\nType: `const int`  \nValue = `12 (0xc)`  \nUltrasonic control pin  \n\n---\n```cpp\nconst int Trig = 12\n```"},"range":{"end":{"character":14,"line":14},"start":{"character":10,"line":14}}}}

V[14:18:45.773] <<< {"id":"21","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":18,"line":20},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server3557012346/sketch/6_BlueTooth.ino.cpp"}}}

I[14:18:45.773] <-- textDocument/hover("21")
V[14:18:45.773] ASTWorker running Hover on version 3 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server3557012346\sketch\6_BlueTooth.ino.cpp
I[14:18:45.774] --> reply:textDocument/hover("21") 1 ms
V[14:18:45.774] >>> {"id":"21","jsonrpc":"2.0","result":null}

V[14:32:58.585] <<< {"id":"22","jsonrpc":"2.0","method":"shutdown","params":null}

I[14:32:58.585] <-- shutdown("22")
I[14:32:58.586] --> reply:shutdown("22") 0 ms
V[14:32:58.586] >>> {"id":"22","jsonrpc":"2.0","result":null}








Started logging.
I[11:42:29.931] clangd version 14.0.0
I[11:42:29.931] Features: windows
I[11:42:29.931] PID: 15656
I[11:42:29.931] Working directory: e:\5-教程\1.tutorial\ZYC0072机械手小车\ZYC0072\4. Tutorial_Arduino\4_Arduino Code\6_BlueTooth
I[11:42:29.931] argv[0]: d:\Program Files\Arduino IDE\resources\app\node_modules\arduino-ide-extension\build\clangd.exe
I[11:42:29.931] argv[1]: -log=verbose
I[11:42:29.931] argv[2]: --compile-commands-dir=C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184
I[11:42:29.931] argv[3]: -query-driver=C:\Users\Administrator\AppData\Local\Arduino15\packages\**
V[11:42:29.937] User config file is C:\Users\Administrator\AppData\Local\clangd\config.yaml
I[11:42:29.937] Starting LSP over stdin/stdout
V[11:42:29.937] <<< {"id":"1","jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dynamicRegistration":true,"isPreferredSupport":true},"codeLens":{"dynamicRegistration":true},"colorProvider":{"dynamicRegistration":true},"completion":{"completionItem":{"commitCharactersSupport":true,"deprecatedSupport":true,"documentationFormat":["markdown","plaintext"],"preselectSupport":true,"snippetSupport":true,"tagSupport":{"valueSet":[1]}},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]},"contextSupport":true,"dynamicRegistration":true},"declaration":{"dynamicRegistration":true,"linkSupport":true},"definition":{"dynamicRegistration":true,"linkSupport":true},"documentHighlight":{"dynamicRegistration":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"documentSymbol":{"dynamicRegistration":true,"hierarchicalDocumentSymbolSupport":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"foldingRange":{"dynamicRegistration":true,"lineFoldingOnly":true,"rangeLimit":5000},"formatting":{"dynamicRegistration":true},"hover":{"contentFormat":["markdown","plaintext"],"dynamicRegistration":true},"implementation":{"dynamicRegistration":true,"linkSupport":true},"onTypeFormatting":{"dynamicRegistration":true},"publishDiagnostics":{"relatedInformation":true,"tagSupport":{"valueSet":[1,2]}},"rangeFormatting":{"dynamicRegistration":true},"references":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true},"selectionRange":{"dynamicRegistration":true},"signatureHelp":{"contextSupport":true,"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true}}},"synchronization":{"didSave":true,"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true},"typeDefinition":{"dynamicRegistration":true,"linkSupport":true}},"window":{"workDoneProgress":true},"workspace":{"applyEdit":true,"configuration":true,"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"executeCommand":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"workspaceEdit":{"documentChanges":true,"failureHandling":"textOnlyTransactional","resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"vscode","version":"1.53.2"},"initializationOptions":{},"processId":8876,"rootPath":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch","rootUri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch","trace":"off","workspaceFolders":[{"name":"6_BlueTooth","uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0072%E6%9C%BA%E6%A2%B0%E6%89%8B%E5%B0%8F%E8%BD%A6/ZYC0072/4.%20Tutorial_Arduino/4_Arduino%20Code/6_BlueTooth"}]}}

I[11:42:29.937] <-- initialize("1")
I[11:42:29.952] --> reply:initialize("1") 15 ms
V[11:42:29.952] >>> {"id":"1","jsonrpc":"2.0","result":{"capabilities":{"astProvider":true,"callHierarchyProvider":true,"clangdInlayHintsProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor","info"]},"compilationDatabase":{"automaticReload":true},"completionProvider":{"allCommitCharacters":[" ","\t","(",")","[","]","{","}","<",">",":",";",",","+","-","/","*","%","^","&","#","?",".","=","\"","'","|"],"resolveProvider":false,"triggerCharacters":[".","<",">",":","\"","/","*"]},"declarationProvider":true,"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentLinkProvider":{"resolveProvider":false},"documentOnTypeFormattingProvider":{"firstTriggerCharacter":"\n","moreTriggerCharacter":[]},"documentRangeFormattingProvider":true,"documentSymbolProvider":true,"executeCommandProvider":{"commands":["clangd.applyFix","clangd.applyTweak"]},"hoverProvider":true,"implementationProvider":true,"memoryUsageProvider":true,"referencesProvider":true,"renameProvider":{"prepareProvider":true},"selectionRangeProvider":true,"semanticTokensProvider":{"full":{"delta":true},"legend":{"tokenModifiers":["declaration","deprecated","deduced","readonly","static","abstract","virtual","dependentName","defaultLibrary","usedAsMutableReference","functionScope","classScope","fileScope","globalScope"],"tokenTypes":["variable","variable","parameter","function","method","function","property","variable","class","interface","enum","enumMember","type","type","unknown","namespace","typeParameter","concept","type","macro","comment"]},"range":false},"signatureHelpProvider":{"triggerCharacters":["(",")","{","}","<",">",","]},"textDocumentSync":{"change":2,"openClose":true,"save":true},"typeDefinitionProvider":true,"typeHierarchyProvider":true,"workspaceSymbolProvider":true},"serverInfo":{"name":"clangd","version":"clangd version 14.0.0 windows x86_64-pc-windows-msvc"}}}

V[11:42:29.953] <<< {"jsonrpc":"2.0","method":"initialized","params":{}}

I[11:42:29.953] <-- initialized
V[11:42:29.955] <<< {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"cpp","text":"#include <Arduino.h>\n#line 1 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\n#include <MsTimer2.h>\n#include    <Servo.h>\n\n// PWM control pin\n#define PWM1_PIN            5\n#define PWM2_PIN            6\n// 74HCT595N chip pin\n#define SHCP_PIN            2                               // The displacement of the clock\n#define EN_PIN              7                               // Can make control\n#define DATA_PIN            8                               // Serial data\n#define STCP_PIN            4                               // Memory register clock                  \n// Ultrasonic control pin\nconst int Trig       =      12;\nconst int Echo       =      13;\n// Trace the control pin\n#define LEFT_LINE_TRACJING      A0\n#define CENTER_LINE_TRACJING    A1\n#define right_LINE_TRACJING     A2\n// Servo control pin\n#define CLAW_PIN            9\n#define ARM_PIN             10\n#define BASE_PIN            11\n\nconst int Forward       = 92;                               // Forward\nconst int Backward      = 163;                              // Backward\nconst int Turn_Left     = 149;                              // Left translation\nconst int Turn_Right    = 106;                              // Right translation\nconst int Top_Left      = 20;                               // Upper left mobile\nconst int Bottom_Left   = 129;                              // Lower left mobile\nconst int Top_Right     = 72;                               // Upper right mobile\nconst int Bottom_Right  = 34;                               // The lower right move\nconst int Stop          = 0;                                // Stop\nconst int Contrarotate  = 172;                              // Counterclockwise rotation\nconst int Clockwise     = 83;                               // Rotate clockwise\n\n\nbyte TX_package[5] = {0xA5, 0, 0, 0, 0x5A};                 // Packet header(0xA5) +  original data (n*byte) + inspection sum(1byte) + Package the tail(0x5A)\nbyte RX_package[10] = {0};\nint UT_distance = 0;\nint Serialcount = 0;\nint base_degrees = 90;\nint arm_degrees = 90;\nint claw_degrees = 90;\nboolean menory_action_flag;\nboolean Line_tracking_Function_flag = false;\nboolean Avoidance_Function_flag = false;\nboolean Following_Function_flag = false;\nboolean Jail_Function_flag = false;\nint Left_Tra_Value;\nint Center_Tra_Value;\nint Right_Tra_Value;\nint Black_Line = 500;\nint actions_count = 0;\nint auto_count;\nint claw_read_degress[20] = {0, 0, 0};\nint arm_read_degress[20] = {0, 0, 0};\nint base_read_degress[20] = {0, 0, 0};\n\ntypedef struct \n{\n    byte mode1;             // Bit0: free mode;Bit1: tracking mode;Bit2: Obstacle avoidance mode;Bit3: Follow mode;\n                            // Bit4: Dungeon Mode;Bit5: Save button;Bit6: Automatic button;Bit7: empty\n    byte mode2;             // Bit0: fluke;Bit1: closed claw;Bit2: clockwise rotation;Bit3: reverse;\n    char x_axis = 0;        // Store variables on the X axis\n    char y_axis = 0;        // Store the variables on the Y axis\n    byte C_speed = 127;     // Speed of storage cart\n    char x_Base = 0;        // Store the steering gear on the X axis\n    char y_Arm = 0;         // Store the steering gear on the Y-axis\n}rx_buffer;\n\nrx_buffer RX_buffer;\n\nServo clawservo;\nServo armservo;\nServo baseservo;\n\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr();\n#line 82 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid setup();\n#line 117 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid loop();\n#line 154 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Line_tracking_Function();\n#line 194 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Avoidance_Function();\n#line 293 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Following_Function();\n#line 326 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Jail_Function();\n#line 476 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_doit();\n#line 608 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid free_mode();\n#line 730 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid read_degress();\n#line 748 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_do();\n#line 880 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Motor(int Dir, int Speed);\n#line 891 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nfloat SR04(int Trig, int Echo);\n#line 903 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid TX_Information(byte dis, byte act);\n#line 914 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid RX_Information(void);\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr()\n{\n    sei();\n    UT_distance = SR04(Trig, Echo);\n}\nvoid setup()\n{\n    pinMode(SHCP_PIN, OUTPUT);\n    pinMode(EN_PIN, OUTPUT);\n    pinMode(DATA_PIN, OUTPUT);\n    pinMode(STCP_PIN, OUTPUT);\n    pinMode(PWM1_PIN, OUTPUT);\n    pinMode(PWM2_PIN, OUTPUT);\n\n    pinMode(Trig, OUTPUT);\n    pinMode(Echo, INPUT);\n\n    pinMode(LEFT_LINE_TRACJING, INPUT);\n    pinMode(CENTER_LINE_TRACJING, INPUT);\n    pinMode(right_LINE_TRACJING, INPUT);\n\n    clawservo.attach(CLAW_PIN);\n    armservo.attach(ARM_PIN);\n    baseservo.attach(BASE_PIN);\n    clawservo.write(claw_degrees);\n    delay(500);\n    armservo.write(arm_degrees);\n    delay(500);\n    baseservo.write(base_degrees);\n    delay(500);\n\n    Motor(Stop, 0);\n\n    Serial.begin(9600);\n\n    //5ms timed interrupt Settings use timer2    \n    MsTimer2::set(100, Timer2Isr);\n    MsTimer2::start();\n}\n\nvoid loop()\n{\n    TX_Information(UT_distance, auto_count);                    // Send ultrasonic data\n    RX_Information();                                           // Receiving Bluetooth data\n    switch (RX_buffer.mode1)\n    {\n        case 0x02:       //tracking mode\n            Motor(Stop, 0);\n            Line_tracking_Function();\n            delay(10);\n            break;\n        case 0x04:       //Obstacle avoidance mode\n            Motor(Stop, 0);\n            Avoidance_Function();\n            delay(10);\n            break;\n        case 0x08:       //Follow the pattern\n            Motor(Stop, 0);\n            Following_Function();\n            delay(10);\n            break;\n        case 0x10:       //Dungeon mode\n            Motor(Stop, 0);\n            Jail_Function();\n            delay(10);\n            break;\n        case 0x40:       //Automatic mode\n            Motor(Stop, 0);\n            auto_doit();\n            delay(10);\n            break;\n        default:\n            free_mode();\n            break;\n    }\n}\n\nvoid Line_tracking_Function()       // tracking mode\n{\n    Line_tracking_Function_flag = true;\n    while (Line_tracking_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 175);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Line_tracking_Function_flag = false;\n        }\n    }\n}\n\nvoid Avoidance_Function()           // Obstacle avoidance mode\n{\n    int i;\n    Avoidance_Function_flag = true;\n    while (Avoidance_Function_flag)\n    {\n        if (UT_distance <= 25)\n        {\n            if (UT_distance <= 15)\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Clockwise, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 4; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 6; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Contrarotate, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n        }\n        else\n        {\n            Motor(Forward, 180);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Avoidance_Function_flag = false;\n        }\n    }\n}\n\nvoid Following_Function()           // Follow the pattern\n{\n    Following_Function_flag = true;\n    while (Following_Function_flag)\n    {\n        if (UT_distance < 15)\n        {\n            Motor(Backward, 200);\n        }\n        else if (15 <= UT_distance && UT_distance <= 20)\n        {\n            Motor(Stop, 0);\n        }\n        else if (20 <= UT_distance && UT_distance <= 25)\n        {\n            Motor(Forward, 180);\n        }\n        else if (25 <= UT_distance && UT_distance <= 50)\n        {\n            Motor(Forward, 220);\n        }\n        else\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x10)\n        {\n            Following_Function_flag = false;\n        }\n    }\n}\n\nvoid Jail_Function()                // Dungeon mode\n{\n    int i;\n    Jail_Function_flag = true;\n    while (Jail_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 150);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n        {\n            Jail_Function_flag = false;\n        }\n    }\n}\n\nvoid auto_doit()                      // Automatic mode\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid free_mode()                    // free mode\n{\n    if(RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis >= 30)     //Forward\n    {\n        Motor(Forward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis <= -30)     //Backward\n    {\n        Motor(Backward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis <= -30)     //Turn_Left\n    {\n        Motor(Turn_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis >= 30)     //Turn_Right\n    {\n        Motor(Turn_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis >= 30)     //Top_Left\n    {\n        Motor(Top_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis <= -30)     //Bottom_Left\n    {\n        Motor(Bottom_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis >= 30)     //Top_Right\n    {\n        Motor(Top_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis <= -30)     //Bottom_Right\n    {\n        Motor(Bottom_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x04)     //Contrarotate\n    {\n        Motor(Contrarotate, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x08)     //Clockwise\n    {\n        Motor(Clockwise, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base <= -30)    // base_left\n    {\n        base_degrees = base_degrees + 1;\n        if (base_degrees >= 185) \n        {\n            base_degrees = 185;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base >= 30)     // base_right\n    {\n        base_degrees = base_degrees - 1;\n        if (base_degrees <= 0) \n        {\n            base_degrees = 0;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm <= -30)    // Arm contraction\n    {\n        arm_degrees = arm_degrees - 1;\n        if (arm_degrees <= 0) \n        {\n            arm_degrees = 0;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm >= 30)     // Arm elongation\n    {\n        arm_degrees = arm_degrees + 1;\n        if (arm_degrees >= 150) \n        {\n            arm_degrees = 150;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x01)            // claws open                                        \n    {\n        claw_degrees = claw_degrees - 1;\n        if (claw_degrees <= 50) \n        {\n            claw_degrees = 50;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x02)            // claws closed\n    {\n        claw_degrees = claw_degrees + 1;\n        if (claw_degrees >= 150) \n        {\n            claw_degrees = 150;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode1 & 0x20)            // save\n    {\n        read_degress();\n    }  \n    else\n    {\n        Motor(Stop, 0);\n    }\n}\n\nvoid read_degress()\n{\n    if (actions_count <= 19)\n    {\n        claw_read_degress[(int)((actions_count + 1) - 1)] = clawservo.read();\n        delay(50);\n        RX_Information(); \n        arm_read_degress[(int)((actions_count + 1) - 1)] = armservo.read();\n        delay(50);\n        RX_Information(); \n        base_read_degress[(int)((actions_count + 1) - 1)] = baseservo.read();\n        delay(50);\n        RX_Information(); \n        actions_count = actions_count + 1;\n        auto_count = actions_count;\n    }\n}\n\nvoid auto_do()\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid Motor(int Dir, int Speed)      // Motor drive\n{\n    digitalWrite(EN_PIN, LOW);\n    analogWrite(PWM1_PIN, Speed);\n    analogWrite(PWM2_PIN, Speed);\n\n    digitalWrite(STCP_PIN, LOW);\n    shiftOut(DATA_PIN, SHCP_PIN, MSBFIRST, Dir);\n    digitalWrite(STCP_PIN, HIGH);\n}\n\nfloat SR04(int Trig, int Echo)      // Ultrasonic distance measurement\n{\n    digitalWrite(Trig, LOW);\n    delayMicroseconds(2);\n    digitalWrite(Trig, HIGH);\n    delayMicroseconds(10);\n    digitalWrite(Trig, LOW);\n    float distance = pulseIn(Echo, HIGH) / 58.00;\n    delay(10);\n    return distance;\n}\n\nvoid TX_Information(byte dis, byte act)     // Sending data packets\n{\n    int check;\n    if(dis>127) dis = 127;\n    if(act>127) act = 127;\n    TX_package[1] = dis;\n    TX_package[2] = act;\n    TX_package[3] = byte(dis + act);                        // The sum of inspection                              \n    Serial.write(TX_package, 5);                            // Sending data packets\n}\n\nvoid RX_Information(void)                   // Receiving data packet\n{\n    if(Serial.available() > 0)\n    {\n        delay(1);                                           // delay 1MS\n        if(Serial.readBytes(RX_package, 10))\n        {\n            if (RX_package[0] == 0xA5 && RX_package[9] == 0x5A)     // The header and tail of the packet are verified\n            {\n                Serialcount = 0;\n                RX_buffer.mode1 = RX_package[1];\n                RX_buffer.mode2 = RX_package[2];\n                RX_buffer.x_axis = RX_package[3];\n                RX_buffer.y_axis = RX_package[4];\n                RX_buffer.C_speed = RX_package[5] + 127;\n                RX_buffer.x_Base = RX_package[6];\n                RX_buffer.y_Arm = RX_package[7];\n            }\n            else\n            {\n                Serialcount++;\n                return;\n            }\n        }\n    }\n    else\n    {\n        delay(1);\n        Serialcount++;\n        if(Serialcount > 500)\n        {\n            Serialcount = 0;\n            RX_buffer.mode1 = 0; \n            RX_buffer.mode2 = 0;\n            RX_buffer.x_axis = 0;\n            RX_buffer.y_axis = 0;\n            RX_buffer.x_Base = 0;\n            RX_buffer.y_Arm = 0;\n            Line_tracking_Function_flag = false;\n            Avoidance_Function_flag = false;\n            Following_Function_flag = false;\n            Jail_Function_flag = false;\n        }\n    }\n}\n","uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp","version":1}}}

I[11:42:29.956] <-- textDocument/didOpen
V[11:42:29.956] <<< {"id":"2","jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[]},"range":{"end":{"character":29,"line":21},"start":{"character":29,"line":21}},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp"}}}

I[11:42:29.956] <-- textDocument/codeAction("2")
V[11:42:29.957] config note at C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\.clangd:1:0: Parsing config fragment
V[11:42:29.957] config note at C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\.clangd:1:0: Parsed 1 fragments from file
V[11:42:29.957] Config fragment: compiling C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\.clangd:1 -> 0x000002081D94A800 (trusted=false)
I[11:42:29.957] --> textDocument/publishDiagnostics
V[11:42:29.957] >>> {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[],"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/.clangd"}}

I[11:42:29.958] Loaded compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\compile_commands.json
V[11:42:29.958] Broadcasting compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184
I[11:42:29.959] --> window/workDoneProgress/create(0)
V[11:42:29.959] >>> {"id":0,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}

I[11:42:29.959] Enqueueing 26 commands for indexing
V[11:42:29.959] <<< {"id":0,"jsonrpc":"2.0","result":null}

I[11:42:29.959] <-- reply(0)
I[11:42:29.959] --> $/progress
V[11:42:29.959] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","percentage":0,"title":"indexing"}}}

I[11:42:29.959] --> $/progress
V[11:42:29.959] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}

V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\CDC.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Print.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_digital.c
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring.c
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Tone.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial0.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial1.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial2.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial3.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\main.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\new.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Stream.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\abi.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WString.cpp
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_shift.c
V[11:42:29.960] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\USBCore.cpp
V[11:42:29.961] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WInterrupts.c
V[11:42:29.961] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.c
V[11:42:29.961] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\PluggableUSB.cpp
V[11:42:29.961] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\IPAddress.cpp
V[11:42:29.961] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_analog.c
V[11:42:29.961] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WMath.cpp
V[11:42:29.961] Failed to load shard: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\hooks.c
I[11:42:29.963] --> $/progress
V[11:42:29.963] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/27","percentage":0}}}

I[11:42:29.963] --> $/progress
V[11:42:29.963] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/27","percentage":0}}}

I[11:42:29.963] --> $/progress
V[11:42:29.963] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/27","percentage":0}}}

I[11:42:29.963] --> $/progress
V[11:42:29.963] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/27","percentage":0}}}

I[11:42:29.963] --> $/progress
V[11:42:29.963] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"1/27","percentage":3}}}

I[11:42:29.963] --> $/progress
V[11:42:29.963] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"1/27","percentage":3}}}

I[11:42:29.963] --> $/progress
V[11:42:29.963] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"1/27","percentage":3}}}

I[11:42:29.964] --> $/progress
V[11:42:29.964] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"1/27","percentage":3}}}

V[11:42:29.991] System include extraction: target extracted: "avr"
V[11:42:29.991] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[11:42:29.991] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[11:42:29.991] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[11:42:29.991] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
I[11:42:29.992] ASTWorker building file C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp version 1 with command 
[C:\Windows\system32]
"C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\avr-g++.exe" --target=avr --driver-mode=g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" "-Id:\\Arduino\\libraries\\MsTimer2" "-Id:\\Arduino\\libraries\\Servo\\src" -o "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -ferror-limit=0 "-resource-dir=d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -- "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp"
V[11:42:29.998] System include extraction: target extracted: "avr"
V[11:42:29.998] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[11:42:29.998] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[11:42:29.998] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[11:42:29.998] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[11:42:30.000] System include extraction: target extracted: "avr"
V[11:42:30.000] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[11:42:30.000] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[11:42:30.000] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[11:42:30.000] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[11:42:30.000] System include extraction: target extracted: "avr"
V[11:42:30.000] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[11:42:30.000] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[11:42:30.000] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[11:42:30.000] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[11:42:30.000] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WString.cpp (digest:=293923F15565174B)
V[11:42:30.000] Driver produced command: cc1 -cc1 -triple avr -fsyntax-only -flto=full -flto-unit -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name 6_BlueTooth.ino.cpp -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -fno-use-init-array -fno-use-cxa-atexit -target-cpu atmega328p -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=constructor -dwarf-version=5 -debugger-tuning=gdb -ffunction-sections -fdata-sections "-fcoverage-compilation-dir=C:\\Windows\\system32" -resource-dir "d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -dependency-file "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp.d" -MT "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -D F_CPU=16000000L -D ARDUINO=10607 -D ARDUINO_AVR_UNO -D ARDUINO_ARCH_AVR -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" -I "d:\\Arduino\\libraries\\MsTimer2" -I "d:\\Arduino\\libraries\\Servo\\src" -internal-isystem "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin/../lib/gcc/avr/7.3.0/../../../../avr/include" -Os -Wno-error=narrowing -w -std=gnu++11 -fdeprecated-macro "-fdebug-compilation-dir=C:\\Windows\\system32" -ferror-limit 0 -fgnuc-version=4.2.1 -fno-threadsafe-statics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -x c++ "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp"
V[11:42:30.000] Building first preamble for C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp version 1
V[11:42:30.000] System include extraction: target extracted: "avr"
V[11:42:30.000] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[11:42:30.000] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[11:42:30.000] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[11:42:30.000] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[11:42:30.001] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\USBCore.cpp (digest:=55BA50D4FF04E609)
V[11:42:30.001] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\PluggableUSB.cpp (digest:=FDB5BCAAB3E73FCE)
V[11:42:30.001] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\new.cpp (digest:=F68AA83B5BAAD75D)
V[11:42:30.002] System include extraction: target extracted: "avr"
V[11:42:30.002] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[11:42:30.002] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[11:42:30.002] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[11:42:30.002] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[11:42:30.003] System include extraction: target extracted: "avr"
V[11:42:30.003] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[11:42:30.003] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[11:42:30.003] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[11:42:30.003] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-g++.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[11:42:30.003] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial2.cpp (digest:=3DD4F70FCF8C4FA6)
V[11:42:30.004] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial1.cpp (digest:=487C94A1A1F49B6C)
I[11:42:30.037] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\new.cpp (61 symbols, 201 refs, 5 files)
I[11:42:30.053] --> $/progress
V[11:42:30.053] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"2/27","percentage":7}}}

I[11:42:30.053] --> $/progress
V[11:42:30.053] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"2/27","percentage":7}}}

V[11:42:30.054] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Print.cpp (digest:=81BB1157C290C33B)
V[11:42:30.059] indexed preamble AST for C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp version 1:
  symbol slab: 2545 symbols, 726174 bytes
  ref slab: 0 symbols, 0 refs, 136 bytes
  relations slab: 9 relations, 177 bytes
I[11:42:30.068] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\USBCore.cpp (600 symbols, 3432 refs, 36 files)
I[11:42:30.070] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial1.cpp (602 symbols, 3499 refs, 37 files)
I[11:42:30.072] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial2.cpp (602 symbols, 3499 refs, 37 files)
I[11:42:30.072] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WString.cpp (299 symbols, 2470 refs, 18 files)
I[11:42:30.085] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\PluggableUSB.cpp (600 symbols, 3432 refs, 36 files)
V[11:42:30.086] Build dynamic index for header symbols with estimated memory usage of 2190298 bytes
V[11:42:30.088] Built preamble of size 434740 for file C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp version 1
V[11:42:30.138] indexed file AST for C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp version 1:
  symbol slab: 73 symbols, 21160 bytes
  ref slab: 104 symbols, 1246 refs, 49966 bytes
  relations slab: 0 relations, 24 bytes
V[11:42:30.139] Build dynamic index for main-file symbols with estimated memory usage of 136126 bytes
I[11:42:30.139] --> textDocument/publishDiagnostics
V[11:42:30.139] >>> {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[],"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp","version":1}}

I[11:42:30.140] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Print.cpp (558 symbols, 3529 refs, 35 files)
V[11:42:30.141] ASTWorker running EnumerateTweaks on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
I[11:42:30.141] --> reply:textDocument/codeAction("2") 184 ms
V[11:42:30.141] >>> {"id":"2","jsonrpc":"2.0","result":[]}

V[11:42:30.142] <<< {"id":"3","jsonrpc":"2.0","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp"}}}

I[11:42:30.142] <-- textDocument/documentSymbol("3")
V[11:42:30.142] ASTWorker running DocumentSymbols on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
I[11:42:30.146] --> reply:textDocument/documentSymbol("3") 3 ms
V[11:42:30.146] >>> {"id":"3","jsonrpc":"2.0","result":[{"detail":"const int","kind":13,"name":"Trig","range":{"end":{"character":30,"line":14},"start":{"character":0,"line":14}},"selectionRange":{"end":{"character":14,"line":14},"start":{"character":10,"line":14}}},{"detail":"const int","kind":13,"name":"Echo","range":{"end":{"character":30,"line":15},"start":{"character":0,"line":15}},"selectionRange":{"end":{"character":14,"line":15},"start":{"character":10,"line":15}}},{"detail":"const int","kind":13,"name":"Forward","range":{"end":{"character":28,"line":25},"start":{"character":0,"line":25}},"selectionRange":{"end":{"character":17,"line":25},"start":{"character":10,"line":25}}},{"detail":"const int","kind":13,"name":"Backward","range":{"end":{"character":29,"line":26},"start":{"character":0,"line":26}},"selectionRange":{"end":{"character":18,"line":26},"start":{"character":10,"line":26}}},{"detail":"const int","kind":13,"name":"Turn_Left","range":{"end":{"character":29,"line":27},"start":{"character":0,"line":27}},"selectionRange":{"end":{"character":19,"line":27},"start":{"character":10,"line":27}}},{"detail":"const int","kind":13,"name":"Turn_Right","range":{"end":{"character":29,"line":28},"start":{"character":0,"line":28}},"selectionRange":{"end":{"character":20,"line":28},"start":{"character":10,"line":28}}},{"detail":"const int","kind":13,"name":"Top_Left","range":{"end":{"character":28,"line":29},"start":{"character":0,"line":29}},"selectionRange":{"end":{"character":18,"line":29},"start":{"character":10,"line":29}}},{"detail":"const int","kind":13,"name":"Bottom_Left","range":{"end":{"character":29,"line":30},"start":{"character":0,"line":30}},"selectionRange":{"end":{"character":21,"line":30},"start":{"character":10,"line":30}}},{"detail":"const int","kind":13,"name":"Top_Right","range":{"end":{"character":28,"line":31},"start":{"character":0,"line":31}},"selectionRange":{"end":{"character":19,"line":31},"start":{"character":10,"line":31}}},{"detail":"const int","kind":13,"name":"Bottom_Right","range":{"end":{"character":28,"line":32},"start":{"character":0,"line":32}},"selectionRange":{"end":{"character":22,"line":32},"start":{"character":10,"line":32}}},{"detail":"const int","kind":13,"name":"Stop","range":{"end":{"character":27,"line":33},"start":{"character":0,"line":33}},"selectionRange":{"end":{"character":14,"line":33},"start":{"character":10,"line":33}}},{"detail":"const int","kind":13,"name":"Contrarotate","range":{"end":{"character":29,"line":34},"start":{"character":0,"line":34}},"selectionRange":{"end":{"character":22,"line":34},"start":{"character":10,"line":34}}},{"detail":"const int","kind":13,"name":"Clockwise","range":{"end":{"character":28,"line":35},"start":{"character":0,"line":35}},"selectionRange":{"end":{"character":19,"line":35},"start":{"character":10,"line":35}}},{"detail":"byte[5]","kind":13,"name":"TX_package","range":{"end":{"character":42,"line":38},"start":{"character":0,"line":38}},"selectionRange":{"end":{"character":15,"line":38},"start":{"character":5,"line":38}}},{"detail":"byte[10]","kind":13,"name":"RX_package","range":{"end":{"character":25,"line":39},"start":{"character":0,"line":39}},"selectionRange":{"end":{"character":15,"line":39},"start":{"character":5,"line":39}}},{"detail":"int","kind":13,"name":"UT_distance","range":{"end":{"character":19,"line":40},"start":{"character":0,"line":40}},"selectionRange":{"end":{"character":15,"line":40},"start":{"character":4,"line":40}}},{"detail":"int","kind":13,"name":"Serialcount","range":{"end":{"character":19,"line":41},"start":{"character":0,"line":41}},"selectionRange":{"end":{"character":15,"line":41},"start":{"character":4,"line":41}}},{"detail":"int","kind":13,"name":"base_degrees","range":{"end":{"character":21,"line":42},"start":{"character":0,"line":42}},"selectionRange":{"end":{"character":16,"line":42},"start":{"character":4,"line":42}}},{"detail":"int","kind":13,"name":"arm_degrees","range":{"end":{"character":20,"line":43},"start":{"character":0,"line":43}},"selectionRange":{"end":{"character":15,"line":43},"start":{"character":4,"line":43}}},{"detail":"int","kind":13,"name":"claw_degrees","range":{"end":{"character":21,"line":44},"start":{"character":0,"line":44}},"selectionRange":{"end":{"character":16,"line":44},"start":{"character":4,"line":44}}},{"detail":"boolean","kind":13,"name":"menory_action_flag","range":{"end":{"character":26,"line":45},"start":{"character":0,"line":45}},"selectionRange":{"end":{"character":26,"line":45},"start":{"character":8,"line":45}}},{"detail":"boolean","kind":13,"name":"Line_tracking_Function_flag","range":{"end":{"character":43,"line":46},"start":{"character":0,"line":46}},"selectionRange":{"end":{"character":35,"line":46},"start":{"character":8,"line":46}}},{"detail":"boolean","kind":13,"name":"Avoidance_Function_flag","range":{"end":{"character":39,"line":47},"start":{"character":0,"line":47}},"selectionRange":{"end":{"character":31,"line":47},"start":{"character":8,"line":47}}},{"detail":"boolean","kind":13,"name":"Following_Function_flag","range":{"end":{"character":39,"line":48},"start":{"character":0,"line":48}},"selectionRange":{"end":{"character":31,"line":48},"start":{"character":8,"line":48}}},{"detail":"boolean","kind":13,"name":"Jail_Function_flag","range":{"end":{"character":34,"line":49},"start":{"character":0,"line":49}},"selectionRange":{"end":{"character":26,"line":49},"start":{"character":8,"line":49}}},{"detail":"int","kind":13,"name":"Left_Tra_Value","range":{"end":{"character":18,"line":50},"start":{"character":0,"line":50}},"selectionRange":{"end":{"character":18,"line":50},"start":{"character":4,"line":50}}},{"detail":"int","kind":13,"name":"Center_Tra_Value","range":{"end":{"character":20,"line":51},"start":{"character":0,"line":51}},"selectionRange":{"end":{"character":20,"line":51},"start":{"character":4,"line":51}}},{"detail":"int","kind":13,"name":"Right_Tra_Value","range":{"end":{"character":19,"line":52},"start":{"character":0,"line":52}},"selectionRange":{"end":{"character":19,"line":52},"start":{"character":4,"line":52}}},{"detail":"int","kind":13,"name":"Black_Line","range":{"end":{"character":20,"line":53},"start":{"character":0,"line":53}},"selectionRange":{"end":{"character":14,"line":53},"start":{"character":4,"line":53}}},{"detail":"int","kind":13,"name":"actions_count","range":{"end":{"character":21,"line":54},"start":{"character":0,"line":54}},"selectionRange":{"end":{"character":17,"line":54},"start":{"character":4,"line":54}}},{"detail":"int","kind":13,"name":"auto_count","range":{"end":{"character":14,"line":55},"start":{"character":0,"line":55}},"selectionRange":{"end":{"character":14,"line":55},"start":{"character":4,"line":55}}},{"detail":"int[20]","kind":13,"name":"claw_read_degress","range":{"end":{"character":37,"line":56},"start":{"character":0,"line":56}},"selectionRange":{"end":{"character":21,"line":56},"start":{"character":4,"line":56}}},{"detail":"int[20]","kind":13,"name":"arm_read_degress","range":{"end":{"character":36,"line":57},"start":{"character":0,"line":57}},"selectionRange":{"end":{"character":20,"line":57},"start":{"character":4,"line":57}}},{"detail":"int[20]","kind":13,"name":"base_read_degress","range":{"end":{"character":37,"line":58},"start":{"character":0,"line":58}},"selectionRange":{"end":{"character":21,"line":58},"start":{"character":4,"line":58}}},{"children":[{"detail":"byte","kind":8,"name":"mode1","range":{"end":{"character":14,"line":62},"start":{"character":4,"line":62}},"selectionRange":{"end":{"character":14,"line":62},"start":{"character":9,"line":62}}},{"detail":"byte","kind":8,"name":"mode2","range":{"end":{"character":14,"line":64},"start":{"character":4,"line":64}},"selectionRange":{"end":{"character":14,"line":64},"start":{"character":9,"line":64}}},{"detail":"char","kind":8,"name":"x_axis","range":{"end":{"character":19,"line":65},"start":{"character":4,"line":65}},"selectionRange":{"end":{"character":15,"line":65},"start":{"character":9,"line":65}}},{"detail":"char","kind":8,"name":"y_axis","range":{"end":{"character":19,"line":66},"start":{"character":4,"line":66}},"selectionRange":{"end":{"character":15,"line":66},"start":{"character":9,"line":66}}},{"detail":"byte","kind":8,"name":"C_speed","range":{"end":{"character":22,"line":67},"start":{"character":4,"line":67}},"selectionRange":{"end":{"character":16,"line":67},"start":{"character":9,"line":67}}},{"detail":"char","kind":8,"name":"x_Base","range":{"end":{"character":19,"line":68},"start":{"character":4,"line":68}},"selectionRange":{"end":{"character":15,"line":68},"start":{"character":9,"line":68}}},{"detail":"char","kind":8,"name":"y_Arm","range":{"end":{"character":18,"line":69},"start":{"character":4,"line":69}},"selectionRange":{"end":{"character":14,"line":69},"start":{"character":9,"line":69}}}],"detail":"struct","kind":23,"name":"(anonymous struct)","range":{"end":{"character":1,"line":70},"start":{"character":8,"line":60}},"selectionRange":{"end":{"character":14,"line":60},"start":{"character":8,"line":60}}},{"detail":"type alias","kind":5,"name":"rx_buffer","range":{"end":{"character":10,"line":70},"start":{"character":0,"line":60}},"selectionRange":{"end":{"character":10,"line":70},"start":{"character":1,"line":70}}},{"detail":"rx_buffer","kind":13,"name":"RX_buffer","range":{"end":{"character":19,"line":72},"start":{"character":0,"line":72}},"selectionRange":{"end":{"character":19,"line":72},"start":{"character":10,"line":72}}},{"detail":"Servo","kind":13,"name":"clawservo","range":{"end":{"character":15,"line":74},"start":{"character":0,"line":74}},"selectionRange":{"end":{"character":15,"line":74},"start":{"character":6,"line":74}}},{"detail":"Servo","kind":13,"name":"armservo","range":{"end":{"character":14,"line":75},"start":{"character":0,"line":75}},"selectionRange":{"end":{"character":14,"line":75},"start":{"character":6,"line":75}}},{"detail":"Servo","kind":13,"name":"baseservo","range":{"end":{"character":15,"line":76},"start":{"character":0,"line":76}},"selectionRange":{"end":{"character":15,"line":76},"start":{"character":6,"line":76}}},{"detail":"void ()","kind":12,"name":"Timer2Isr","range":{"end":{"character":16,"line":79},"start":{"character":0,"line":79}},"selectionRange":{"end":{"character":14,"line":79},"start":{"character":5,"line":79}}},{"detail":"void ()","kind":12,"name":"setup","range":{"end":{"character":12,"line":81},"start":{"character":0,"line":81}},"selectionRange":{"end":{"character":10,"line":81},"start":{"character":5,"line":81}}},{"detail":"void ()","kind":12,"name":"loop","range":{"end":{"character":11,"line":83},"start":{"character":0,"line":83}},"selectionRange":{"end":{"character":9,"line":83},"start":{"character":5,"line":83}}},{"detail":"void ()","kind":12,"name":"Line_tracking_Function","range":{"end":{"character":29,"line":85},"start":{"character":0,"line":85}},"selectionRange":{"end":{"character":27,"line":85},"start":{"character":5,"line":85}}},{"detail":"void ()","kind":12,"name":"Avoidance_Function","range":{"end":{"character":25,"line":87},"start":{"character":0,"line":87}},"selectionRange":{"end":{"character":23,"line":87},"start":{"character":5,"line":87}}},{"detail":"void ()","kind":12,"name":"Following_Function","range":{"end":{"character":25,"line":89},"start":{"character":0,"line":89}},"selectionRange":{"end":{"character":23,"line":89},"start":{"character":5,"line":89}}},{"detail":"void ()","kind":12,"name":"Jail_Function","range":{"end":{"character":20,"line":91},"start":{"character":0,"line":91}},"selectionRange":{"end":{"character":18,"line":91},"start":{"character":5,"line":91}}},{"detail":"void ()","kind":12,"name":"auto_doit","range":{"end":{"character":16,"line":93},"start":{"character":0,"line":93}},"selectionRange":{"end":{"character":14,"line":93},"start":{"character":5,"line":93}}},{"detail":"void ()","kind":12,"name":"free_mode","range":{"end":{"character":16,"line":95},"start":{"character":0,"line":95}},"selectionRange":{"end":{"character":14,"line":95},"start":{"character":5,"line":95}}},{"detail":"void ()","kind":12,"name":"read_degress","range":{"end":{"character":19,"line":97},"start":{"character":0,"line":97}},"selectionRange":{"end":{"character":17,"line":97},"start":{"character":5,"line":97}}},{"detail":"void ()","kind":12,"name":"auto_do","range":{"end":{"character":14,"line":99},"start":{"character":0,"line":99}},"selectionRange":{"end":{"character":12,"line":99},"start":{"character":5,"line":99}}},{"detail":"void (int, int)","kind":12,"name":"Motor","range":{"end":{"character":30,"line":101},"start":{"character":0,"line":101}},"selectionRange":{"end":{"character":10,"line":101},"start":{"character":5,"line":101}}},{"detail":"float (int, int)","kind":12,"name":"SR04","range":{"end":{"character":30,"line":103},"start":{"character":0,"line":103}},"selectionRange":{"end":{"character":10,"line":103},"start":{"character":6,"line":103}}},{"detail":"void (byte, byte)","kind":12,"name":"TX_Information","range":{"end":{"character":39,"line":105},"start":{"character":0,"line":105}},"selectionRange":{"end":{"character":19,"line":105},"start":{"character":5,"line":105}}},{"detail":"void ()","kind":12,"name":"RX_Information","range":{"end":{"character":25,"line":107},"start":{"character":0,"line":107}},"selectionRange":{"end":{"character":19,"line":107},"start":{"character":5,"line":107}}},{"detail":"void ()","kind":12,"name":"Timer2Isr","range":{"end":{"character":1,"line":113},"start":{"character":0,"line":109}},"selectionRange":{"end":{"character":14,"line":109},"start":{"character":5,"line":109}}},{"detail":"void ()","kind":12,"name":"setup","range":{"end":{"character":1,"line":147},"start":{"character":0,"line":114}},"selectionRange":{"end":{"character":10,"line":114},"start":{"character":5,"line":114}}},{"detail":"void ()","kind":12,"name":"loop","range":{"end":{"character":1,"line":184},"start":{"character":0,"line":149}},"selectionRange":{"end":{"character":9,"line":149},"start":{"character":5,"line":149}}},{"detail":"void ()","kind":12,"name":"Line_tracking_Function","range":{"end":{"character":1,"line":224},"start":{"character":0,"line":186}},"selectionRange":{"end":{"character":27,"line":186},"start":{"character":5,"line":186}}},{"detail":"void ()","kind":12,"name":"Avoidance_Function","range":{"end":{"character":1,"line":323},"start":{"character":0,"line":226}},"selectionRange":{"end":{"character":23,"line":226},"start":{"character":5,"line":226}}},{"detail":"void ()","kind":12,"name":"Following_Function","range":{"end":{"character":1,"line":356},"start":{"character":0,"line":325}},"selectionRange":{"end":{"character":23,"line":325},"start":{"character":5,"line":325}}},{"detail":"void ()","kind":12,"name":"Jail_Function","range":{"end":{"character":1,"line":506},"start":{"character":0,"line":358}},"selectionRange":{"end":{"character":18,"line":358},"start":{"character":5,"line":358}}},{"detail":"void ()","kind":12,"name":"auto_doit","range":{"end":{"character":1,"line":638},"start":{"character":0,"line":508}},"selectionRange":{"end":{"character":14,"line":508},"start":{"character":5,"line":508}}},{"detail":"void ()","kind":12,"name":"free_mode","range":{"end":{"character":1,"line":760},"start":{"character":0,"line":640}},"selectionRange":{"end":{"character":14,"line":640},"start":{"character":5,"line":640}}},{"detail":"void ()","kind":12,"name":"read_degress","range":{"end":{"character":1,"line":778},"start":{"character":0,"line":762}},"selectionRange":{"end":{"character":17,"line":762},"start":{"character":5,"line":762}}},{"detail":"void ()","kind":12,"name":"auto_do","range":{"end":{"character":1,"line":910},"start":{"character":0,"line":780}},"selectionRange":{"end":{"character":12,"line":780},"start":{"character":5,"line":780}}},{"detail":"void (int, int)","kind":12,"name":"Motor","range":{"end":{"character":1,"line":921},"start":{"character":0,"line":912}},"selectionRange":{"end":{"character":10,"line":912},"start":{"character":5,"line":912}}},{"detail":"float (int, int)","kind":12,"name":"SR04","range":{"end":{"character":1,"line":933},"start":{"character":0,"line":923}},"selectionRange":{"end":{"character":10,"line":923},"start":{"character":6,"line":923}}},{"detail":"void (byte, byte)","kind":12,"name":"TX_Information","range":{"end":{"character":1,"line":944},"start":{"character":0,"line":935}},"selectionRange":{"end":{"character":19,"line":935},"start":{"character":5,"line":935}}},{"detail":"void ()","kind":12,"name":"RX_Information","range":{"end":{"character":1,"line":990},"start":{"character":0,"line":946}},"selectionRange":{"end":{"character":19,"line":946},"start":{"character":5,"line":946}}}]}

I[11:42:30.601] --> $/progress
V[11:42:30.601] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"3/27","percentage":11}}}

I[11:42:30.601] --> $/progress
V[11:42:30.601] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"3/27","percentage":11}}}

V[11:42:30.635] System include extraction: target extracted: "avr"
V[11:42:30.635] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[11:42:30.635] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[11:42:30.635] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[11:42:30.635] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-gcc.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
V[11:42:30.636] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_shift.c (digest:=5E8D23E876F6F446)
I[11:42:30.752] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_shift.c (151 symbols, 2376 refs, 25 files)
I[11:42:30.890] --> $/progress
V[11:42:30.890] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"4/27","percentage":14}}}

I[11:42:30.890] --> $/progress
V[11:42:30.890] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"4/27","percentage":14}}}

I[11:42:30.892] --> $/progress
V[11:42:30.892] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"5/27","percentage":18}}}

I[11:42:30.893] --> $/progress
V[11:42:30.893] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"5/27","percentage":18}}}

V[11:42:30.895] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\hooks.c (digest:=C16B0ED8B1C5BB9F)
I[11:42:30.898] --> $/progress
V[11:42:30.898] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"6/27","percentage":22}}}

I[11:42:30.898] --> $/progress
V[11:42:30.898] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"6/27","percentage":22}}}

V[11:42:30.899] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Tone.cpp (digest:=1C31198B0754810E)
V[11:42:30.917] BackgroundIndex: building version 1 after indexing enough files
I[11:42:30.917] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\hooks.c (1 symbols, 1 refs, 1 files)
V[11:42:30.926] BackgroundIndex: serving version 1 (1483014 bytes)
I[11:42:30.927] --> $/progress
V[11:42:30.927] System include extraction: target extracted: "avr"
V[11:42:30.927] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"7/27","percentage":25}}}

V[11:42:30.927] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include

V[11:42:30.927] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed

V[11:42:30.927] System include extraction: adding  c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include

I[11:42:30.927] System includes extractor: successfully executed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\avr-gcc.exe
	got includes: "c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/include-fixed, c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include"
	got target: "avr"
I[11:42:30.927] --> $/progress
V[11:42:30.927] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"7/27","percentage":25}}}

V[11:42:30.928] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_digital.c (digest:=343A7ACAD5FD2414)
V[11:42:30.928] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S (digest:=87583F1C920AA889)
I[11:42:30.935] --> $/progress
V[11:42:30.935] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"8/27","percentage":29}}}

I[11:42:30.935] --> $/progress
V[11:42:30.935] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"8/27","percentage":29}}}

V[11:42:30.936] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\CDC.cpp (digest:=E3E9F11672EDD20A)
V[11:42:30.953] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:54:1:expected identifier or '('
V[11:42:30.953] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:62:23:expected identifier or '('
V[11:42:30.953] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:63:23:expected identifier or '('
V[11:42:30.953] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:64:23:expected identifier or '('
V[11:42:30.953] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:65:23:expected identifier or '('
V[11:42:30.953] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:66:23:expected identifier or '('
V[11:42:30.953] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:67:23:expected identifier or '('
V[11:42:30.953] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:72:37:expected identifier or '('
I[11:42:30.960] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_digital.c (4 symbols, 2340 refs, 25 files)
V[11:42:30.965] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:73:31:expected ';' after top level declarator
I[11:42:30.965] --> $/progress
V[11:42:30.965] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:79:23:expected identifier or '('
V[11:42:30.965] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"9/27","percentage":33}}}

I[11:42:30.965] --> $/progress
V[11:42:30.965] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"9/27","percentage":33}}}

V[11:42:30.965] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:83:32:expected identifier or '('
V[11:42:30.965] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:83:35:expected identifier or '('
V[11:42:30.966] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\abi.cpp (digest:=4A1244E54C0CAC04)
V[11:42:30.979] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:84:22:unknown type name 'maxloops'
V[11:42:30.979] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:85:8:expected ';' after top level declarator
V[11:42:30.979] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:85:22:unknown type name 'maxloops'
V[11:42:30.979] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:86:8:expected ';' after top level declarator
V[11:42:30.980] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:86:22:unknown type name 'maxloops'
V[11:42:30.980] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:87:9:expected ';' after top level declarator
V[11:42:30.980] Ignored diagnostic. C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S:87:18:expected identifier or '('
V[11:42:30.980] Ignored diagnostic. too many errors emitted, stopping now
I[11:42:30.980] --> $/progress
V[11:42:30.980] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"10/27","percentage":37}}}

I[11:42:30.980] --> $/progress
V[11:42:30.980] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"10/27","percentage":37}}}

V[11:42:30.980] Indexing C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp (digest:=7597628BE69189DD)
I[11:42:30.982] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S (12 symbols, 937 refs, 9 files)
I[11:42:30.982] Failed to compile C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.S, index may be incomplete
I[11:42:31.001] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Tone.cpp (15 symbols, 2449 refs, 35 files)
V[11:42:31.010] Ignored diagnostic. c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include\avr/wdt.h:464:12:value '64' out of range for constraint 'I'
V[11:42:31.011] Ignored diagnostic. c:\users\administrator\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\bin\../lib/gcc/avr/7.3.0/../../../../avr/include\avr/wdt.h:507:23:value '64' out of range for constraint 'I'
I[11:42:31.011] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\abi.cpp (2 symbols, 83 refs, 3 files)
I[11:42:31.016] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\CDC.cpp (2 symbols, 2307 refs, 37 files)
I[11:42:31.016] Failed to compile C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\CDC.cpp, index may be incomplete
I[11:42:31.037] Indexed C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp (92 symbols, 3474 refs, 38 files)
I[11:42:31.042] --> $/progress
V[11:42:31.042] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"11/27","percentage":40}}}

I[11:42:31.042] --> $/progress
V[11:42:31.042] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"11/27","percentage":40}}}

I[11:42:31.043] --> $/progress
V[11:42:31.043] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"12/27","percentage":44}}}

I[11:42:31.043] --> $/progress
V[11:42:31.043] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"12/27","percentage":44}}}

V[11:42:31.043] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Stream.cpp (digest:=F7D59D2B49112307)
V[11:42:31.044] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WMath.cpp (digest:=38075D39C713EC91)
I[11:42:31.044] --> $/progress
V[11:42:31.044] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"13/27","percentage":48}}}

I[11:42:31.044] --> $/progress
V[11:42:31.044] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"13/27","percentage":48}}}

I[11:42:31.044] --> $/progress
V[11:42:31.044] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"14/27","percentage":51}}}

I[11:42:31.045] --> $/progress
V[11:42:31.045] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"14/27","percentage":51}}}

V[11:42:31.045] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\IPAddress.cpp (digest:=6DDB6ED4F4E34E63)
V[11:42:31.045] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial.cpp (digest:=7D1D0E442CF15FC1)
I[11:42:31.058] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WMath.cpp (46 symbols, 139 refs, 3 files)
I[11:42:31.073] --> $/progress
V[11:42:31.073] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"15/27","percentage":55}}}

I[11:42:31.073] --> $/progress
V[11:42:31.073] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"15/27","percentage":55}}}

V[11:42:31.074] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial3.cpp (digest:=D7FFC6931C21680C)
I[11:42:31.088] --> $/progress
V[11:42:31.088] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"16/27","percentage":59}}}

I[11:42:31.088] --> $/progress
V[11:42:31.088] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"16/27","percentage":59}}}

I[11:42:31.088] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\IPAddress.cpp (20 symbols, 2357 refs, 36 files)
V[11:42:31.089] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring.c (digest:=5D6C1534064234DD)
I[11:42:31.089] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\Stream.cpp (15 symbols, 2336 refs, 35 files)
I[11:42:31.090] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial.cpp (12 symbols, 2468 refs, 38 files)
I[11:42:31.111] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial3.cpp (0 symbols, 2251 refs, 37 files)
I[11:42:31.117] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring.c (8 symbols, 2247 refs, 25 files)
I[11:42:31.155] --> $/progress
V[11:42:31.155] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"17/27","percentage":62}}}

I[11:42:31.155] --> $/progress
V[11:42:31.155] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"17/27","percentage":62}}}

I[11:42:31.158] --> $/progress
V[11:42:31.158] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"18/27","percentage":66}}}

I[11:42:31.158] --> $/progress
V[11:42:31.158] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"18/27","percentage":66}}}

I[11:42:31.161] --> $/progress
V[11:42:31.161] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"19/27","percentage":70}}}

I[11:42:31.161] --> $/progress
V[11:42:31.161] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"19/27","percentage":70}}}

V[11:42:31.164] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WInterrupts.c (digest:=0A36B38756A4F148)
V[11:42:31.168] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\main.cpp (digest:=313C4893EB7ADBE6)
V[11:42:31.169] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.c (digest:=B0774BE9D28D49CB)
I[11:42:31.177] --> $/progress
V[11:42:31.177] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"20/27","percentage":74}}}

I[11:42:31.177] --> $/progress
V[11:42:31.178] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"20/27","percentage":74}}}

V[11:42:31.193] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_analog.c (digest:=BC32CF542FD8D605)
I[11:42:31.214] --> $/progress
V[11:42:31.214] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"21/27","percentage":77}}}

I[11:42:31.214] --> $/progress
V[11:42:31.214] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"21/27","percentage":77}}}

I[11:42:31.218] --> $/progress
V[11:42:31.218] Indexing C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial0.cpp (digest:=365287FBD658A80E)
V[11:42:31.218] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"22/27","percentage":81}}}

I[11:42:31.236] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_pulse.c (2 symbols, 2141 refs, 25 files)
I[11:42:31.238] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\WInterrupts.c (4 symbols, 2166 refs, 25 files)
I[11:42:31.240] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\wiring_analog.c (4 symbols, 2201 refs, 25 files)
I[11:42:31.260] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\HardwareSerial0.cpp (2 symbols, 2280 refs, 37 files)
I[11:42:31.262] Indexed C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino\main.cpp (4 symbols, 2226 refs, 35 files)
I[11:42:31.295] --> $/progress
V[11:42:31.295] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"23/27","percentage":85}}}

I[11:42:31.296] --> $/progress
V[11:42:31.296] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"24/27","percentage":88}}}

I[11:42:31.301] --> $/progress
V[11:42:31.301] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"25/27","percentage":92}}}

I[11:42:31.304] --> $/progress
V[11:42:31.304] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"26/27","percentage":96}}}

V[11:42:31.309] BackgroundIndex: building version 2 when background indexer is idle
V[11:42:31.350] BackgroundIndex: serving version 2 (1943564 bytes)
I[11:42:31.351] --> $/progress
V[11:42:31.351] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}

V[11:42:34.317] <<< {"id":"4","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":75,"line":32},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp"}}}

I[11:42:34.317] <-- textDocument/hover("4")
V[11:42:34.317] ASTWorker running Hover on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
I[11:42:34.318] --> reply:textDocument/hover("4") 0 ms
V[11:42:34.318] >>> {"id":"4","jsonrpc":"2.0","result":null}

V[11:42:34.641] <<< {"id":"5","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":75,"line":32},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp"}}}

I[11:42:34.641] <-- textDocument/hover("5")
V[11:42:34.642] ASTWorker running Hover on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
I[11:42:34.642] --> reply:textDocument/hover("5") 0 ms
V[11:42:34.642] >>> {"id":"5","jsonrpc":"2.0","result":null}

V[11:42:35.058] <<< {"id":"6","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":76,"line":31},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp"}}}

I[11:42:35.058] <-- textDocument/hover("6")
V[11:42:35.059] ASTWorker running Hover on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
I[11:42:35.060] --> reply:textDocument/hover("6") 1 ms
V[11:42:35.060] >>> {"id":"6","jsonrpc":"2.0","result":null}

V[11:42:37.958] <<< {"id":"7","jsonrpc":"2.0","method":"textDocument/hover","params":{"position":{"character":47,"line":29},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp"}}}

I[11:42:37.958] <-- textDocument/hover("7")
V[11:42:37.959] ASTWorker running Hover on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
I[11:42:37.960] --> reply:textDocument/hover("7") 1 ms
V[11:42:37.960] >>> {"id":"7","jsonrpc":"2.0","result":null}

V[11:42:41.424] <<< {"id":"8","jsonrpc":"2.0","method":"textDocument/documentHighlight","params":{"position":{"character":81,"line":31},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp"}}}

I[11:42:41.424] <-- textDocument/documentHighlight("8")
V[11:42:41.425] ASTWorker running Highlights on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
I[11:42:41.426] --> reply:textDocument/documentHighlight("8") 1 ms
V[11:42:41.426] >>> {"id":"8","jsonrpc":"2.0","result":[]}

V[11:42:41.666] <<< {"id":"9","jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[]},"range":{"end":{"character":81,"line":31},"start":{"character":81,"line":31}},"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp"}}}

I[11:42:41.666] <-- textDocument/codeAction("9")
V[11:42:41.666] ASTWorker running EnumerateTweaks on version 1 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
I[11:42:41.666] --> reply:textDocument/codeAction("9") 0 ms
V[11:42:41.666] >>> {"id":"9","jsonrpc":"2.0","result":[]}

V[11:43:04.926] <<< {"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp"}}}

I[11:43:04.926] <-- textDocument/didSave
I[11:43:04.926] File version went from 1 to 1
V[11:43:04.927] <<< {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"text":"#include <Arduino.h>\n#line 1 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\n#include <MsTimer2.h>\n#include    <Servo.h>\n\n// PWM control pin\n#define PWM1_PIN            5\n#define PWM2_PIN            6\n// 74HCT595N chip pin\n#define SHCP_PIN            2                               // The displacement of the clock\n#define EN_PIN              7                               // Can make control\n#define DATA_PIN            8                               // Serial data\n#define STCP_PIN            4                               // Memory register clock                  \n// Ultrasonic control pin\nconst int Trig       =      12;\nconst int Echo       =      13;\n// Trace the control pin\n#define LEFT_LINE_TRACJING      A0\n#define CENTER_LINE_TRACJING    A1\n#define right_LINE_TRACJING     A2\n// Servo control pin\n#define CLAW_PIN            9\n#define ARM_PIN             10\n#define BASE_PIN            11\n\nconst int Forward       = 92;                               // Forward\nconst int Backward      = 163;                              // Backward\nconst int Turn_Left     = 149;                              // Left translation\nconst int Turn_Right    = 106;                              // Right translation\nconst int Top_Left      = 20;                               // Upper left mobile\nconst int Bottom_Left   = 129;                              // Lower left mobile\nconst int Top_Right     = 72;                               // Upper right mobile\nconst int Bottom_Right  = 34;                               // The lower right move\nconst int Stop          = 0;                                // Stop\nconst int Contrarotate  = 172;                              // Counterclockwise rotation\nconst int Clockwise     = 83;                               // Rotate clockwise\n\n\nbyte TX_package[5] = {0xA5, 0, 0, 0, 0x5A};                 // Packet header(0xA5) +  original data (n*byte) + inspection sum(1byte) + Package the tail(0x5A)\nbyte RX_package[10] = {0};\nint UT_distance = 0;\nint Serialcount = 0;\nint base_degrees = 90;\nint arm_degrees = 90;\nint claw_degrees = 90;\nboolean menory_action_flag;\nboolean Line_tracking_Function_flag = false;\nboolean Avoidance_Function_flag = false;\nboolean Following_Function_flag = false;\nboolean Jail_Function_flag = false;\nint Left_Tra_Value;\nint Center_Tra_Value;\nint Right_Tra_Value;\nint Black_Line = 500;\nint actions_count = 0;\nint auto_count;\nint claw_read_degress[20] = {0, 0, 0};\nint arm_read_degress[20] = {0, 0, 0};\nint base_read_degress[20] = {0, 0, 0};\n\ntypedef struct \n{\n    byte mode1;             // Bit0: free mode;Bit1: tracking mode;Bit2: Obstacle avoidance mode;Bit3: Follow mode;\n                            // Bit4: Dungeon Mode;Bit5: Save button;Bit6: Automatic button;Bit7: empty\n    byte mode2;             // Bit0: fluke;Bit1: closed claw;Bit2: clockwise rotation;Bit3: reverse;\n    char x_axis = 0;        // Store variables on the X axis\n    char y_axis = 0;        // Store the variables on the Y axis\n    byte C_speed = 127;     // Speed of storage cart\n    char x_Base = 0;        // Store the steering gear on the X axis\n    char y_Arm = 0;         // Store the steering gear on the Y-axis\n}rx_buffer;\n\nrx_buffer RX_buffer;\n\nServo clawservo;\nServo armservo;\nServo baseservo;\n\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr();\n#line 82 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid setup();\n#line 117 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid loop();\n#line 154 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Line_tracking_Function();\n#line 194 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Avoidance_Function();\n#line 293 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Following_Function();\n#line 326 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Jail_Function();\n#line 476 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_doit();\n#line 608 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid free_mode();\n#line 730 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid read_degress();\n#line 748 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid auto_do();\n#line 880 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Motor(int Dir, int Speed);\n#line 891 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nfloat SR04(int Trig, int Echo);\n#line 903 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid TX_Information(byte dis, byte act);\n#line 914 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid RX_Information(void);\n#line 77 \"E:\\\\5-教程\\\\1.tutorial\\\\ZYC0072机械手小车\\\\ZYC0072\\\\4. Tutorial_Arduino\\\\4_Arduino Code\\\\6_BlueTooth\\\\6_BlueTooth.ino\"\nvoid Timer2Isr()\n{\n    sei();\n    UT_distance = SR04(Trig, Echo);\n}\nvoid setup()\n{\n    pinMode(SHCP_PIN, OUTPUT);\n    pinMode(EN_PIN, OUTPUT);\n    pinMode(DATA_PIN, OUTPUT);\n    pinMode(STCP_PIN, OUTPUT);\n    pinMode(PWM1_PIN, OUTPUT);\n    pinMode(PWM2_PIN, OUTPUT);\n\n    pinMode(Trig, OUTPUT);\n    pinMode(Echo, INPUT);\n\n    pinMode(LEFT_LINE_TRACJING, INPUT);\n    pinMode(CENTER_LINE_TRACJING, INPUT);\n    pinMode(right_LINE_TRACJING, INPUT);\n\n    clawservo.attach(CLAW_PIN);\n    armservo.attach(ARM_PIN);\n    baseservo.attach(BASE_PIN);\n    clawservo.write(claw_degrees);\n    delay(500);\n    armservo.write(arm_degrees);\n    delay(500);\n    baseservo.write(base_degrees);\n    delay(500);\n\n    Motor(Stop, 0);\n\n    Serial.begin(9600);\n\n    //5ms timed interrupt Settings use timer2    \n    MsTimer2::set(100, Timer2Isr);\n    MsTimer2::start();\n}\n\nvoid loop()\n{\n    TX_Information(UT_distance, auto_count);                    // Send ultrasonic data\n    RX_Information();                                           // Receiving Bluetooth data\n    switch (RX_buffer.mode1)\n    {\n        case 0x02:       //tracking mode\n            Motor(Stop, 0);\n            Line_tracking_Function();\n            delay(10);\n            break;\n        case 0x04:       //Obstacle avoidance mode\n            Motor(Stop, 0);\n            Avoidance_Function();\n            delay(10);\n            break;\n        case 0x08:       //Follow the pattern\n            Motor(Stop, 0);\n            Following_Function();\n            delay(10);\n            break;\n        case 0x10:       //Dungeon mode\n            Motor(Stop, 0);\n            Jail_Function();\n            delay(10);\n            break;\n        case 0x40:       //Automatic mode\n            Motor(Stop, 0);\n            auto_doit();\n            delay(10);\n            break;\n        default:\n            free_mode();\n            break;\n    }\n}\n\nvoid Line_tracking_Function()       // tracking mode\n{\n    Line_tracking_Function_flag = true;\n    while (Line_tracking_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 175);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Contrarotate, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 190);\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Clockwise, 165);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Line_tracking_Function_flag = false;\n        }\n    }\n}\n\nvoid Avoidance_Function()           // Obstacle avoidance mode\n{\n    int i;\n    Avoidance_Function_flag = true;\n    while (Avoidance_Function_flag)\n    {\n        if (UT_distance <= 25)\n        {\n            if (UT_distance <= 15)\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Clockwise, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 4; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                Motor(Stop, 0);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 2; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Backward, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 6; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n                Motor(Contrarotate, 180);\n                /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n                for(i = 0; i < 12; i++)\n                {\n                    delay(50);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        Avoidance_Function_flag = false;\n                        return;\n                    }\n                }\n            }\n        }\n        else\n        {\n            Motor(Forward, 180);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n        {\n            Avoidance_Function_flag = false;\n        }\n    }\n}\n\nvoid Following_Function()           // Follow the pattern\n{\n    Following_Function_flag = true;\n    while (Following_Function_flag)\n    {\n        if (UT_distance < 15)\n        {\n            Motor(Backward, 200);\n        }\n        else if (15 <= UT_distance && UT_distance <= 20)\n        {\n            Motor(Stop, 0);\n        }\n        else if (20 <= UT_distance && UT_distance <= 25)\n        {\n            Motor(Forward, 180);\n        }\n        else if (25 <= UT_distance && UT_distance <= 50)\n        {\n            Motor(Forward, 220);\n        }\n        else\n        {\n            Motor(Stop, 0);\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x10)\n        {\n            Following_Function_flag = false;\n        }\n    }\n}\n\nvoid Jail_Function()                // Dungeon mode\n{\n    int i;\n    Jail_Function_flag = true;\n    while (Jail_Function_flag)\n    {\n        Left_Tra_Value = analogRead(LEFT_LINE_TRACJING);\n        Center_Tra_Value = analogRead(CENTER_LINE_TRACJING);\n        Right_Tra_Value = analogRead(right_LINE_TRACJING);\n        if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Forward, 150);\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value >= Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value < Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value < Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else if (Left_Tra_Value < Black_Line && Center_Tra_Value >= Black_Line && Right_Tra_Value >= Black_Line)\n        {\n            Motor(Backward,150);\n             /* 为了避免堵塞串口接收，延时不能太长，于是分步延时 */\n            for(i = 0; i < 4; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Contrarotate,160);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        else\n        {\n            Motor(Backward,150);\n            for(i = 0; i < 12; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n            Motor(Clockwise,160);\n            for(i = 0; i < 10; i++)\n            {\n                delay(50);\n                RX_Information();\n                if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n                {\n                    Jail_Function_flag = false;\n                    return;\n                }\n            }\n        }\n        RX_Information();\n        if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08)\n        {\n            Jail_Function_flag = false;\n        }\n    }\n}\n\nvoid auto_doit()                      // Automatic mode\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid free_mode()                    // free mode\n{\n    if(RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis >= 30)     //Forward\n    {\n        Motor(Forward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= -30 && RX_buffer.x_axis <= 30 && RX_buffer.y_axis <= -30)     //Backward\n    {\n        Motor(Backward, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis <= -30)     //Turn_Left\n    {\n        Motor(Turn_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_axis >= -30 && RX_buffer.y_axis <= 30 && RX_buffer.x_axis >= 30)     //Turn_Right\n    {\n        Motor(Turn_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis >= 30)     //Top_Left\n    {\n        Motor(Top_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis <= -30 && RX_buffer.y_axis <= -30)     //Bottom_Left\n    {\n        Motor(Bottom_Left, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis >= 30)     //Top_Right\n    {\n        Motor(Top_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.x_axis >= 30 && RX_buffer.y_axis <= -30)     //Bottom_Right\n    {\n        Motor(Bottom_Right, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x04)     //Contrarotate\n    {\n        Motor(Contrarotate, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x08)     //Clockwise\n    {\n        Motor(Clockwise, RX_buffer.C_speed);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base <= -30)    // base_left\n    {\n        base_degrees = base_degrees + 1;\n        if (base_degrees >= 185) \n        {\n            base_degrees = 185;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.y_Arm <= 30 && RX_buffer.y_Arm >= -30 && RX_buffer.x_Base >= 30)     // base_right\n    {\n        base_degrees = base_degrees - 1;\n        if (base_degrees <= 0) \n        {\n            base_degrees = 0;\n        }\n        baseservo.write(base_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm <= -30)    // Arm contraction\n    {\n        arm_degrees = arm_degrees - 1;\n        if (arm_degrees <= 0) \n        {\n            arm_degrees = 0;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.x_Base <= 30 && RX_buffer.x_Base >= -30 && RX_buffer.y_Arm >= 30)     // Arm elongation\n    {\n        arm_degrees = arm_degrees + 1;\n        if (arm_degrees >= 150) \n        {\n            arm_degrees = 150;\n        }\n        armservo.write(arm_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x01)            // claws open                                        \n    {\n        claw_degrees = claw_degrees - 1;\n        if (claw_degrees <= 50) \n        {\n            claw_degrees = 50;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode2 & 0x02)            // claws closed\n    {\n        claw_degrees = claw_degrees + 1;\n        if (claw_degrees >= 150) \n        {\n            claw_degrees = 150;\n        }\n        clawservo.write(claw_degrees);\n        delay(5);\n    }\n    else if (RX_buffer.mode1 & 0x20)            // save\n    {\n        read_degress();\n    }  \n    else\n    {\n        Motor(Stop, 0);\n    }\n}\n\nvoid read_degress()\n{\n    if (actions_count <= 19)\n    {\n        claw_read_degress[(int)((actions_count + 1) - 1)] = clawservo.read();\n        delay(50);\n        RX_Information(); \n        arm_read_degress[(int)((actions_count + 1) - 1)] = armservo.read();\n        delay(50);\n        RX_Information(); \n        base_read_degress[(int)((actions_count + 1) - 1)] = baseservo.read();\n        delay(50);\n        RX_Information(); \n        actions_count = actions_count + 1;\n        auto_count = actions_count;\n    }\n}\n\nvoid auto_do()\n{\n    if (0 != auto_count)\n    {\n        menory_action_flag = true;\n    }\n    actions_count = 0;\n    claw_degrees = clawservo.read();\n    arm_degrees = armservo.read();\n    base_degrees = baseservo.read();\n    while (menory_action_flag)\n    {\n        for (int i = (1); i <= (auto_count); i = i + (1))\n        {\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (claw_degrees < claw_read_degress[(int)(i - 1)])\n            {\n                while (claw_degrees < claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees + 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (claw_degrees > claw_read_degress[(int)(i - 1)])\n                {\n                    claw_degrees = claw_degrees - 1;\n                    clawservo.write(claw_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (arm_degrees < arm_read_degress[(int)(i - 1)])\n            {\n                while (arm_degrees < arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees + 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (arm_degrees > arm_read_degress[(int)(i - 1)])\n                {\n                    arm_degrees = arm_degrees - 1;\n                    armservo.write(arm_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n            if (base_degrees < base_read_degress[(int)(i - 1)])\n            {\n                while (base_degrees < base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees + 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                while (base_degrees > base_read_degress[(int)(i - 1)])\n                {\n                    base_degrees = base_degrees - 1;\n                    baseservo.write(base_degrees);\n                    delay(15);\n                    RX_Information();\n                    if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n                    {\n                        menory_action_flag = false;\n                        return;\n                    }\n                }\n            }\n            RX_Information();\n            if(RX_buffer.mode1 == 0x01 || RX_buffer.mode1 == 0x02 || RX_buffer.mode1 == 0x04 || RX_buffer.mode1 == 0x08 || RX_buffer.mode1 == 0x10)\n            {\n                menory_action_flag = false;\n                return;\n            }\n        }\n    }\n}\n\nvoid Motor(int Dir, int Speed)      // Motor drive\n{\n    digitalWrite(EN_PIN, LOW);\n    analogWrite(PWM1_PIN, Speed);\n    analogWrite(PWM2_PIN, Speed);\n\n    digitalWrite(STCP_PIN, LOW);\n    shiftOut(DATA_PIN, SHCP_PIN, MSBFIRST, Dir);\n    digitalWrite(STCP_PIN, HIGH);\n}\n\nfloat SR04(int Trig, int Echo)      // Ultrasonic distance measurement\n{\n    digitalWrite(Trig, LOW);\n    delayMicroseconds(2);\n    digitalWrite(Trig, HIGH);\n    delayMicroseconds(10);\n    digitalWrite(Trig, LOW);\n    float distance = pulseIn(Echo, HIGH) / 58.00;\n    delay(10);\n    return distance;\n}\n\nvoid TX_Information(byte dis, byte act)     // Sending data packets\n{\n    int check;\n    if(dis>127) dis = 127;\n    if(act>127) act = 127;\n    TX_package[1] = dis;\n    TX_package[2] = act;\n    TX_package[3] = byte(dis + act);                        // The sum of inspection                              \n    Serial.write(TX_package, 5);                            // Sending data packets\n}\n\nvoid RX_Information(void)                   // Receiving data packet\n{\n    if(Serial.available() > 0)\n    {\n        delay(1);                                           // delay 1MS\n        if(Serial.readBytes(RX_package, 10))\n        {\n            if (RX_package[0] == 0xA5 && RX_package[9] == 0x5A)     // The header and tail of the packet are verified\n            {\n                Serialcount = 0;\n                RX_buffer.mode1 = RX_package[1];\n                RX_buffer.mode2 = RX_package[2];\n                RX_buffer.x_axis = RX_package[3];\n                RX_buffer.y_axis = RX_package[4];\n                RX_buffer.C_speed = RX_package[5] + 127;\n                RX_buffer.x_Base = RX_package[6];\n                RX_buffer.y_Arm = RX_package[7];\n            }\n            else\n            {\n                Serialcount++;\n                return;\n            }\n        }\n    }\n    else\n    {\n        delay(1);\n        Serialcount++;\n        if(Serialcount > 500)\n        {\n            Serialcount = 0;\n            RX_buffer.mode1 = 0; \n            RX_buffer.mode2 = 0;\n            RX_buffer.x_axis = 0;\n            RX_buffer.y_axis = 0;\n            RX_buffer.x_Base = 0;\n            RX_buffer.y_Arm = 0;\n            Line_tracking_Function_flag = false;\n            Avoidance_Function_flag = false;\n            Following_Function_flag = false;\n            Jail_Function_flag = false;\n        }\n    }\n}\n"}],"textDocument":{"uri":"file:///C:/Users/Administrator/AppData/Local/Temp/arduino-language-server266849184/sketch/6_BlueTooth.ino.cpp","version":2}}}

I[11:43:04.928] <-- textDocument/didChange
V[11:43:04.928] ASTWorker skipping Update (1) for C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
I[11:43:04.983] Reloaded compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\compile_commands.json
V[11:43:04.983] Broadcasting compilation database from C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184
I[11:43:04.983] ASTWorker building file C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp version 2 with command 
[C:\Windows\system32]
"C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\avr-g++.exe" --target=avr --driver-mode=g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" "-Id:\\Arduino\\libraries\\MsTimer2" "-Id:\\Arduino\\libraries\\Servo\\src" -o "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -ferror-limit=0 "-resource-dir=d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -- "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp"
I[11:43:04.984] --> window/workDoneProgress/create(1)
V[11:43:04.984] >>> {"id":1,"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}

I[11:43:04.984] Enqueueing 26 commands for indexing
V[11:43:04.985] <<< {"id":1,"jsonrpc":"2.0","result":null}

I[11:43:04.985] <-- reply(1)
I[11:43:04.985] --> $/progress
V[11:43:04.985] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","percentage":0,"title":"indexing"}}}

I[11:43:04.985] --> $/progress
V[11:43:04.985] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}

V[11:43:04.992] Driver produced command: cc1 -cc1 -triple avr -fsyntax-only -flto=full -flto-unit -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name 6_BlueTooth.ino.cpp -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -fno-use-init-array -fno-use-cxa-atexit -target-cpu atmega328p -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=constructor -dwarf-version=5 -debugger-tuning=gdb -ffunction-sections -fdata-sections "-fcoverage-compilation-dir=C:\\Windows\\system32" -resource-dir "d:\\Program Files\\Arduino IDE\\resources\\app\\node_modules\\arduino-ide-extension\\lib\\clang\\14.0.0" -dependency-file "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp.d" -MT "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp.o" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/include-fixed" -isystem "c:\\users\\administrator\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\../lib/gcc/avr/7.3.0/../../../../avr/include" -D F_CPU=16000000L -D ARDUINO=10607 -D ARDUINO_AVR_UNO -D ARDUINO_ARCH_AVR -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" -I "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" -I "d:\\Arduino\\libraries\\MsTimer2" -I "d:\\Arduino\\libraries\\Servo\\src" -internal-isystem "C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin/../lib/gcc/avr/7.3.0/../../../../avr/include" -Os -Wno-error=narrowing -w -std=gnu++11 -fdeprecated-macro "-fdebug-compilation-dir=C:\\Windows\\system32" -ferror-limit 0 -fgnuc-version=4.2.1 -fno-threadsafe-statics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -x c++ "C:\\Users\\Administrator\\AppData\\Local\\Temp\\arduino-language-server266849184\\sketch\\6_BlueTooth.ino.cpp"
V[11:43:04.994] Reusing preamble version 1 for version 2 of C:\Users\Administrator\AppData\Local\Temp\arduino-language-server266849184\sketch\6_BlueTooth.ino.cpp
V[11:43:05.022] BackgroundIndex: building version 3 after loading index from disk
V[11:43:05.034] BackgroundIndex: serving version 3 (1943564 bytes)
I[11:43:05.043] --> $/progress
V[11:43:05.043] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}

I[11:43:05.043] --> $/progress
V[11:43:05.043] >>> {"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}

V[12:33:23.365] <<< {"id":"10","jsonrpc":"2.0","method":"shutdown","params":null}

I[12:33:23.365] <-- shutdown("10")
I[12:33:23.365] --> reply:shutdown("10") 0 ms
V[12:33:23.365] >>> {"id":"10","jsonrpc":"2.0","result":null}

