






Started logging.

<<<
Content-Length: 3290

{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":14616,"clientInfo":{"name":"vscode","version":"1.53.2"},"rootPath":"e:\\5-教程\\1.tutorial\\ZYC0055)Mini DIY obstacle avoidance car\\ZYC0055\\Part2.0 Module learning\\code\\motor","rootUri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","rename","delete"],"failureHandling":"textOnlyTransactional"},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"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]}},"executeCommand":{"dynamicRegistration":true},"configuration":true,"workspaceFolders":true},"textDocument":{"publishDiagnostics":{"relatedInformation":true,"versionSupport":false,"tagSupport":{"valueSet":[1,2]}},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":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]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true}},"contextSupport":true},"definition":{"dynamicRegistration":true,"linkSupport":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"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]},"hierarchicalDocumentSymbolSupport":true},"codeAction":{"dynamicRegistration":true,"isPreferredSupport":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"typeDefinition":{"dynamicRegistration":true,"linkSupport":true},"implementation":{"dynamicRegistration":true,"linkSupport":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true},"declaration":{"dynamicRegistration":true,"linkSupport":true},"selectionRange":{"dynamicRegistration":true}},"window":{"workDoneProgress":true}},"initializationOptions":{},"trace":"off","workspaceFolders":[{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor","name":"motor"}]}}
>>>
Content-Length: 936

{"jsonrpc":"2.0","id":0,"result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{"includeText":true}},"completionProvider":{"triggerCharacters":[".","\u003c","\u003e",":","\"","/"],"allCommitCharacters":[" ","\t","(",")","[","]","{","}","\u003c","\u003e",":",";",",","+","-","/","*","%","^","\u0026","#","?",".","=","\"","'","|"],"completionItem":{}},"hoverProvider":{},"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":{},"documentHighlightProvider":{},"documentSymbolProvider":{},"codeActionProvider":{"codeActionKinds":["quickfix","refactor","info"]},"documentFormattingProvider":{},"documentRangeFormattingProvider":{},"documentOnTypeFormattingProvider":{"firstTriggerCharacter":"\n"},"renameProvider":{},"executeCommandProvider":{"commands":["clangd.applyFix","clangd.applyTweak"]},"workspaceSymbolProvider":{}},"serverInfo":{"name":"arduino-language-server","version":"0.7.2"}}}
<<<
Content-Length: 52

{"jsonrpc":"2.0","method":"initialized","params":{}}Content-Length: 1425

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","languageId":"cpp","version":1,"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //Car stop\r\n  delay(500);         //delayed\r\n  reversal();         //Car back\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //delayed\r\n  delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, HIGH);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, HIGH);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}}Content-Length: 354

{"jsonrpc":"2.0","id":1,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":34,"character":25},"end":{"line":34,"character":25}},"context":{"diagnostics":[]}}}Content-Length: 251

{"jsonrpc":"2.0","id":2,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 113

{"jsonrpc":"2.0","id":"1","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}Content-Length: 36

{"jsonrpc":"2.0","id":1,"result":[]}Content-Length: 2076

{"jsonrpc":"2.0","id":2,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"1","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 142

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"2/27","percentage":7}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"3/27","percentage":11}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"3/27","percentage":11}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"4/27","percentage":14}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"4/27","percentage":14}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"5/27","percentage":18}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"6/27","percentage":22}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"6/27","percentage":22}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"7/27","percentage":25}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"7/27","percentage":25}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"8/27","percentage":29}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"9/27","percentage":33}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"9/27","percentage":33}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"10/27","percentage":37}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"10/27","percentage":37}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"11/27","percentage":40}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"11/27","percentage":40}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"12/27","percentage":44}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"12/27","percentage":44}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"13/27","percentage":48}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"14/27","percentage":51}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"14/27","percentage":51}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"15/27","percentage":55}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"16/27","percentage":59}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"16/27","percentage":59}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"17/27","percentage":62}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"18/27","percentage":66}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"19/27","percentage":70}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"20/27","percentage":74}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"20/27","percentage":74}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"21/27","percentage":77}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"21/27","percentage":77}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"22/27","percentage":81}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"23/27","percentage":85}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"24/27","percentage":88}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"25/27","percentage":92}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"26/27","percentage":96}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 292

{"jsonrpc":"2.0","id":3,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":22,"character":32}}}
>>>
Content-Length: 36

{"jsonrpc":"2.0","id":3,"result":[]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":4,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":22,"character":32},"end":{"line":22,"character":32}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 36

{"jsonrpc":"2.0","id":4,"result":[]}
<<<
Content-Length: 58

{"jsonrpc":"2.0","id":5,"method":"shutdown","params":null}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":5,"result":null}
<<<
Content-Length: 47

{"jsonrpc":"2.0","method":"exit","params":null}






Started logging.

<<<
Content-Length: 3290

{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":14616,"clientInfo":{"name":"vscode","version":"1.53.2"},"rootPath":"e:\\5-教程\\1.tutorial\\ZYC0055)Mini DIY obstacle avoidance car\\ZYC0055\\Part2.0 Module learning\\code\\motor","rootUri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","rename","delete"],"failureHandling":"textOnlyTransactional"},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"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]}},"executeCommand":{"dynamicRegistration":true},"configuration":true,"workspaceFolders":true},"textDocument":{"publishDiagnostics":{"relatedInformation":true,"versionSupport":false,"tagSupport":{"valueSet":[1,2]}},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":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]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true}},"contextSupport":true},"definition":{"dynamicRegistration":true,"linkSupport":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"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]},"hierarchicalDocumentSymbolSupport":true},"codeAction":{"dynamicRegistration":true,"isPreferredSupport":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"typeDefinition":{"dynamicRegistration":true,"linkSupport":true},"implementation":{"dynamicRegistration":true,"linkSupport":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true},"declaration":{"dynamicRegistration":true,"linkSupport":true},"selectionRange":{"dynamicRegistration":true}},"window":{"workDoneProgress":true}},"initializationOptions":{},"trace":"off","workspaceFolders":[{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor","name":"motor"}]}}
>>>
Content-Length: 936

{"jsonrpc":"2.0","id":0,"result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{"includeText":true}},"completionProvider":{"triggerCharacters":[".","\u003c","\u003e",":","\"","/"],"allCommitCharacters":[" ","\t","(",")","[","]","{","}","\u003c","\u003e",":",";",",","+","-","/","*","%","^","\u0026","#","?",".","=","\"","'","|"],"completionItem":{}},"hoverProvider":{},"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":{},"documentHighlightProvider":{},"documentSymbolProvider":{},"codeActionProvider":{"codeActionKinds":["quickfix","refactor","info"]},"documentFormattingProvider":{},"documentRangeFormattingProvider":{},"documentOnTypeFormattingProvider":{"firstTriggerCharacter":"\n"},"renameProvider":{},"executeCommandProvider":{"commands":["clangd.applyFix","clangd.applyTweak"]},"workspaceSymbolProvider":{}},"serverInfo":{"name":"arduino-language-server","version":"0.7.2"}}}
<<<
Content-Length: 52

{"jsonrpc":"2.0","method":"initialized","params":{}}Content-Length: 1425

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","languageId":"cpp","version":1,"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //Car stop\r\n  delay(500);         //delayed\r\n  reversal();         //Car back\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //delayed\r\n  delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, HIGH);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, HIGH);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}}Content-Length: 354

{"jsonrpc":"2.0","id":1,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":22,"character":32},"end":{"line":22,"character":32}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 113

{"jsonrpc":"2.0","id":"1","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}Content-Length: 36

{"jsonrpc":"2.0","id":1,"result":[]}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"1","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 142

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"2/27","percentage":7}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"3/27","percentage":11}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"3/27","percentage":11}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"4/27","percentage":14}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"4/27","percentage":14}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"5/27","percentage":18}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"5/27","percentage":18}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"6/27","percentage":22}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"6/27","percentage":22}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"7/27","percentage":25}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"7/27","percentage":25}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"8/27","percentage":29}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"9/27","percentage":33}}}Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"9/27","percentage":33}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"10/27","percentage":37}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"10/27","percentage":37}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"11/27","percentage":40}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"11/27","percentage":40}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"12/27","percentage":44}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"12/27","percentage":44}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"13/27","percentage":48}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"13/27","percentage":48}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"14/27","percentage":51}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"15/27","percentage":55}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"15/27","percentage":55}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"16/27","percentage":59}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"16/27","percentage":59}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"17/27","percentage":62}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"17/27","percentage":62}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"18/27","percentage":66}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"18/27","percentage":66}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"19/27","percentage":70}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"19/27","percentage":70}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"20/27","percentage":74}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"20/27","percentage":74}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"21/27","percentage":77}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"21/27","percentage":77}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"22/27","percentage":81}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"23/27","percentage":85}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"24/27","percentage":88}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"25/27","percentage":92}}}Content-Length: 144

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"26/27","percentage":96}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":2,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":32,"character":25},"end":{"line":32,"character":25}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 36

{"jsonrpc":"2.0","id":2,"result":[]}
<<<
Content-Length: 292

{"jsonrpc":"2.0","id":3,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":21,"character":31}}}
>>>
Content-Length: 36

{"jsonrpc":"2.0","id":3,"result":[]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":4,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":21,"character":31},"end":{"line":21,"character":31}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 36

{"jsonrpc":"2.0","id":4,"result":[]}
<<<
Content-Length: 292

{"jsonrpc":"2.0","id":5,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":17,"character":20}}}
>>>
Content-Length: 36

{"jsonrpc":"2.0","id":5,"result":[]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":6,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":17,"character":20},"end":{"line":17,"character":20}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 36

{"jsonrpc":"2.0","id":6,"result":[]}
<<<
Content-Length: 179

{"jsonrpc":"2.0","method":"ino/didCompleteBuild","params":{"buildOutputUri":"file:///c%3A/Users/Administrator/AppData/Local/Temp/arduino-sketch-7DA4ED9A08B34B58449C28360745677E"}}
>>>
Content-Length: 118

{"jsonrpc":"2.0","id":"2","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"2","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}Content-Length: 113

{"jsonrpc":"2.0","id":"3","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"3","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 292

{"jsonrpc":"2.0","id":7,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":24,"character":32}}}
>>>
Content-Length: 36

{"jsonrpc":"2.0","id":7,"result":[]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":8,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":24,"character":32},"end":{"line":24,"character":32}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 36

{"jsonrpc":"2.0","id":8,"result":[]}
<<<
Content-Length: 280

{"jsonrpc":"2.0","id":9,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":27,"character":23}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":9,"result":null}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":10,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":27,"character":31}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":10,"result":[]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":11,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":23,"character":0},"end":{"line":27,"character":31}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":11,"result":[]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":12,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":22,"character":0},"end":{"line":27,"character":31}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":12,"result":[]}
<<<
Content-Length: 252

{"jsonrpc":"2.0","id":13,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 912

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":2},"contentChanges":[{"range":{"start":{"line":27,"character":2},"end":{"line":27,"character":2}},"rangeLength":0,"text":"// "},{"range":{"start":{"line":26,"character":2},"end":{"line":26,"character":2}},"rangeLength":0,"text":"// "},{"range":{"start":{"line":25,"character":2},"end":{"line":25,"character":2}},"rangeLength":0,"text":"// "},{"range":{"start":{"line":24,"character":2},"end":{"line":24,"character":2}},"rangeLength":0,"text":"// "},{"range":{"start":{"line":23,"character":2},"end":{"line":23,"character":2}},"rangeLength":0,"text":"// "},{"range":{"start":{"line":22,"character":2},"end":{"line":22,"character":2}},"rangeLength":0,"text":"// "}]}}Content-Length: 63

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":13}}Content-Length: 252

{"jsonrpc":"2.0","id":14,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2077

{"jsonrpc":"2.0","id":13,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 2077

{"jsonrpc":"2.0","id":14,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":15,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":22,"character":0},"end":{"line":27,"character":34}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":15,"result":[]}Content-Length: 118

{"jsonrpc":"2.0","id":"4","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"4","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}
<<<
Content-Length: 1424

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":2},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  // stop_it();          //Car stop\r\n  // delay(500);         //delayed\r\n  // reversal();         //Car back\r\n  // delay(tDelay);      //delayed\r\n  // stop_it();          //delayed\r\n  // delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, HIGH);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, HIGH);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}Content-Length: 293

{"jsonrpc":"2.0","id":16,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":26,"character":34}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":16,"result":[]}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":17,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":26,"character":34},"end":{"line":26,"character":34}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":17,"result":[]}Content-Length: 118

{"jsonrpc":"2.0","id":"5","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"5","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}
<<<
Content-Length: 179

{"jsonrpc":"2.0","method":"ino/didCompleteBuild","params":{"buildOutputUri":"file:///c%3A/Users/Administrator/AppData/Local/Temp/arduino-sketch-7DA4ED9A08B34B58449C28360745677E"}}
>>>
Content-Length: 118

{"jsonrpc":"2.0","id":"6","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"6","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":18,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":21,"character":31}}}Content-Length: 63

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":18}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":18,"result":[]}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}Content-Length: 113

{"jsonrpc":"2.0","id":"7","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"7","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":19,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":21,"character":31},"end":{"line":22,"character":35}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":19,"result":[]}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 179

{"jsonrpc":"2.0","method":"ino/didCompleteBuild","params":{"buildOutputUri":"file:///c%3A/Users/Administrator/AppData/Local/Temp/arduino-sketch-7DA4ED9A08B34B58449C28360745677E"}}
>>>
Content-Length: 118

{"jsonrpc":"2.0","id":"8","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"8","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}Content-Length: 113

{"jsonrpc":"2.0","id":"9","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}
<<<
Content-Length: 40

{"jsonrpc":"2.0","id":"9","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":20,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":32,"character":25},"end":{"line":32,"character":25}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":20,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":21,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":31,"character":24},"end":{"line":31,"character":24}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":21,"result":[]}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":22,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":25,"character":34}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":22,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":23,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":25,"character":34},"end":{"line":25,"character":34}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":23,"result":[]}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":24,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":31,"character":20}}}
>>>
Content-Length: 210

{"jsonrpc":"2.0","id":24,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":31,"character":19},"end":{"line":31,"character":22}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":25,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":31,"character":21}}}
>>>
Content-Length: 210

{"jsonrpc":"2.0","id":25,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":31,"character":19},"end":{"line":31,"character":22}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":26,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":21}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":26,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":23}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":27,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":19}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":27,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":23}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":28,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":22}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":28,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":23}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":29,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":31,"character":17}}}
>>>
Content-Length: 320

{"jsonrpc":"2.0","id":29,"result":{"contents":{"kind":"markdown","value":"### function `digitalWrite`  \n\n---\n→ `void`  \nParameters:  \n- `uint8_t pin`\n- `uint8_t val`\n\n---\n```cpp\nvoid digitalWrite(uint8_t pin, uint8_t val)\n```"},"range":{"start":{"line":31,"character":15},"end":{"line":31,"character":17}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":30,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":25,"character":13}}}
>>>
Content-Length: 39

{"jsonrpc":"2.0","id":30,"result":null}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":31,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":20}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":31,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":23}}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":32,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":21}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":32,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":33,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":23}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":33,"result":[]}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":34,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":20}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":34,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":23}}}}
<<<
Content-Length: 286

{"jsonrpc":"2.0","id":35,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":21}}}
>>>
Content-Length: 238

{"jsonrpc":"2.0","id":35,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":39,"character":8},"end":{"line":39,"character":12}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}
>>>
Content-Length: 119

{"jsonrpc":"2.0","id":"10","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"10","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":36,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":31,"character":20}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":36,"result":[]}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}Content-Length: 114

{"jsonrpc":"2.0","id":"11","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"11","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":37,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":31,"character":19},"end":{"line":31,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":37,"result":[]}
<<<
Content-Length: 252

{"jsonrpc":"2.0","id":38,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 380

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":3},"contentChanges":[{"range":{"start":{"line":31,"character":19},"end":{"line":31,"character":22}},"rangeLength":3,"text":"HIGH"}]}}Content-Length: 63

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":38}}Content-Length: 252

{"jsonrpc":"2.0","id":39,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2077

{"jsonrpc":"2.0","id":38,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 2077

{"jsonrpc":"2.0","id":39,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":40,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":31,"character":23},"end":{"line":31,"character":23}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":40,"result":[]}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":41,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":33,"character":22}}}
>>>
Content-Length: 210

{"jsonrpc":"2.0","id":41,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":33,"character":19},"end":{"line":33,"character":22}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":42,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":33,"character":21}}}
>>>
Content-Length: 210

{"jsonrpc":"2.0","id":42,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":33,"character":19},"end":{"line":33,"character":22}}}}
<<<
Content-Length: 1425

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":3},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  // stop_it();          //Car stop\r\n  // delay(500);         //delayed\r\n  // reversal();         //Car back\r\n  // delay(tDelay);      //delayed\r\n  // stop_it();          //delayed\r\n  // delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, HIGH);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, HIGH);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}Content-Length: 293

{"jsonrpc":"2.0","id":43,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":33,"character":21}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":43,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":44,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":33,"character":19},"end":{"line":33,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":44,"result":[]}Content-Length: 119

{"jsonrpc":"2.0","id":"12","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"12","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":45,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":33,"character":21}}}
>>>
Content-Length: 210

{"jsonrpc":"2.0","id":45,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":33,"character":19},"end":{"line":33,"character":22}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":46,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":34,"character":21}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":46,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":34,"character":19},"end":{"line":34,"character":23}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":47,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":21}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":47,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":23}}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":48,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":21}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":48,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":49,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":23}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":49,"result":[]}
<<<
Content-Length: 252

{"jsonrpc":"2.0","id":50,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 379

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":4},"contentChanges":[{"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":23}},"rangeLength":4,"text":"LOW"}]}}Content-Length: 63

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":50}}Content-Length: 252

{"jsonrpc":"2.0","id":51,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2077

{"jsonrpc":"2.0","id":50,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 114

{"jsonrpc":"2.0","id":"13","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}Content-Length: 2077

{"jsonrpc":"2.0","id":51,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"13","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":52,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":32,"character":22},"end":{"line":32,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":52,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":53,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":32,"character":24},"end":{"line":32,"character":24}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":53,"result":[]}
<<<
Content-Length: 1424

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":4},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  // stop_it();          //Car stop\r\n  // delay(500);         //delayed\r\n  // reversal();         //Car back\r\n  // delay(tDelay);      //delayed\r\n  // stop_it();          //delayed\r\n  // delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, HIGH);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}Content-Length: 281

{"jsonrpc":"2.0","id":54,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":34,"character":22}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":54,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":34,"character":19},"end":{"line":34,"character":23}}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":55,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":34,"character":21}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":55,"result":[]}Content-Length: 119

{"jsonrpc":"2.0","id":"14","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"14","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":56,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":34,"character":19},"end":{"line":34,"character":23}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":56,"result":[]}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}
<<<
Content-Length: 252

{"jsonrpc":"2.0","id":57,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 379

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":5},"contentChanges":[{"range":{"start":{"line":34,"character":19},"end":{"line":34,"character":23}},"rangeLength":4,"text":"LOW"}]}}Content-Length: 63

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":57}}Content-Length: 252

{"jsonrpc":"2.0","id":58,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2077

{"jsonrpc":"2.0","id":57,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 2077

{"jsonrpc":"2.0","id":58,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":59,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":34,"character":22},"end":{"line":34,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":59,"result":[]}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":60,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":33,"character":20}}}
>>>
Content-Length: 210

{"jsonrpc":"2.0","id":60,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":33,"character":19},"end":{"line":33,"character":22}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":61,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":20}}}
>>>
Content-Length: 210

{"jsonrpc":"2.0","id":61,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":32,"character":19},"end":{"line":32,"character":22}}}}
<<<
Content-Length: 1423

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":5},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  // stop_it();          //Car stop\r\n  // delay(500);         //delayed\r\n  // reversal();         //Car back\r\n  // delay(tDelay);      //delayed\r\n  // stop_it();          //delayed\r\n  // delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}Content-Length: 281

{"jsonrpc":"2.0","id":62,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":31,"character":20}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":62,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":31,"character":19},"end":{"line":31,"character":23}}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":63,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":31,"character":21}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":63,"result":[]}
<<<
Content-Length: 286

{"jsonrpc":"2.0","id":64,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":31,"character":21}}}
>>>
Content-Length: 238

{"jsonrpc":"2.0","id":64,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":39,"character":8},"end":{"line":39,"character":12}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}Content-Length: 355

{"jsonrpc":"2.0","id":65,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":31,"character":19},"end":{"line":31,"character":23}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":65,"result":[]}
<<<
Content-Length: 286

{"jsonrpc":"2.0","id":66,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":32,"character":21}}}
>>>
Content-Length: 238

{"jsonrpc":"2.0","id":66,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":40,"character":8},"end":{"line":40,"character":11}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}Content-Length: 281

{"jsonrpc":"2.0","id":67,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":33,"character":20}}}
>>>
Content-Length: 210

{"jsonrpc":"2.0","id":67,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":33,"character":19},"end":{"line":33,"character":22}}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":68,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":33,"character":20}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":68,"result":[]}
<<<
Content-Length: 286

{"jsonrpc":"2.0","id":69,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":33,"character":21}}}
>>>
Content-Length: 238

{"jsonrpc":"2.0","id":69,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":40,"character":8},"end":{"line":40,"character":11}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}Content-Length: 355

{"jsonrpc":"2.0","id":70,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":33,"character":19},"end":{"line":33,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":70,"result":[]}
<<<
Content-Length: 252

{"jsonrpc":"2.0","id":71,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 380

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":6},"contentChanges":[{"range":{"start":{"line":33,"character":19},"end":{"line":33,"character":22}},"rangeLength":3,"text":"HIGH"}]}}Content-Length: 63

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":71}}Content-Length: 252

{"jsonrpc":"2.0","id":72,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2077

{"jsonrpc":"2.0","id":71,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 114

{"jsonrpc":"2.0","id":"15","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}Content-Length: 2077

{"jsonrpc":"2.0","id":72,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"15","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":73,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":33,"character":25},"end":{"line":33,"character":25}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":73,"result":[]}
<<<
Content-Length: 1424

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":6},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  // stop_it();          //Car stop\r\n  // delay(500);         //delayed\r\n  // reversal();         //Car back\r\n  // delay(tDelay);      //delayed\r\n  // stop_it();          //delayed\r\n  // delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}
>>>
Content-Length: 119

{"jsonrpc":"2.0","id":"16","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"16","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}
<<<
Content-Length: 179

{"jsonrpc":"2.0","method":"ino/didCompleteBuild","params":{"buildOutputUri":"file:///c%3A/Users/Administrator/AppData/Local/Temp/arduino-sketch-7DA4ED9A08B34B58449C28360745677E"}}
>>>
Content-Length: 119

{"jsonrpc":"2.0","id":"17","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"17","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}Content-Length: 114

{"jsonrpc":"2.0","id":"18","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"18","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":74,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":39,"character":24},"end":{"line":39,"character":24}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":74,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":75,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":38,"character":25},"end":{"line":38,"character":25}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":75,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":76,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":39,"character":24},"end":{"line":39,"character":24}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":76,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":77,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":38,"character":25},"end":{"line":38,"character":25}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":77,"result":[]}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":78,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":27,"character":34}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":78,"result":[]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":79,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":23,"character":0},"end":{"line":27,"character":34}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":79,"result":[]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":80,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":22,"character":0},"end":{"line":27,"character":34}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":80,"result":[]}
<<<
Content-Length: 252

{"jsonrpc":"2.0","id":81,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 894

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":7},"contentChanges":[{"range":{"start":{"line":27,"character":2},"end":{"line":27,"character":5}},"rangeLength":3,"text":""},{"range":{"start":{"line":26,"character":2},"end":{"line":26,"character":5}},"rangeLength":3,"text":""},{"range":{"start":{"line":25,"character":2},"end":{"line":25,"character":5}},"rangeLength":3,"text":""},{"range":{"start":{"line":24,"character":2},"end":{"line":24,"character":5}},"rangeLength":3,"text":""},{"range":{"start":{"line":23,"character":2},"end":{"line":23,"character":5}},"rangeLength":3,"text":""},{"range":{"start":{"line":22,"character":2},"end":{"line":22,"character":5}},"rangeLength":3,"text":""}]}}Content-Length: 63

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":81}}Content-Length: 252

{"jsonrpc":"2.0","id":82,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2077

{"jsonrpc":"2.0","id":81,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 2077

{"jsonrpc":"2.0","id":82,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 354

{"jsonrpc":"2.0","id":83,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":22,"character":0},"end":{"line":27,"character":31}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":83,"result":[]}
<<<
Content-Length: 1406

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":7},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //Car stop\r\n  delay(500);         //delayed\r\n  reversal();         //Car back\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //delayed\r\n  delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}Content-Length: 355

{"jsonrpc":"2.0","id":84,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":38,"character":25},"end":{"line":38,"character":25}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":84,"result":[]}Content-Length: 119

{"jsonrpc":"2.0","id":"19","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"19","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":85,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":39,"character":20}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":85,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":86,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":39,"character":19},"end":{"line":39,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":86,"result":[]}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":87,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":38,"character":20}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":87,"result":[]}
<<<
Content-Length: 286

{"jsonrpc":"2.0","id":88,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":38,"character":21}}}
>>>
Content-Length: 238

{"jsonrpc":"2.0","id":88,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":39,"character":8},"end":{"line":39,"character":12}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}Content-Length: 355

{"jsonrpc":"2.0","id":89,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":38,"character":19},"end":{"line":38,"character":23}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":89,"result":[]}
<<<
Content-Length: 252

{"jsonrpc":"2.0","id":90,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 379

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":8},"contentChanges":[{"range":{"start":{"line":38,"character":19},"end":{"line":38,"character":23}},"rangeLength":4,"text":"LOW"}]}}Content-Length: 63

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":90}}Content-Length: 252

{"jsonrpc":"2.0","id":91,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2077

{"jsonrpc":"2.0","id":90,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 114

{"jsonrpc":"2.0","id":"20","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}Content-Length: 2077

{"jsonrpc":"2.0","id":91,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"20","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":92,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":38,"character":22},"end":{"line":38,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":92,"result":[]}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":93,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":23}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":93,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":40,"character":19},"end":{"line":40,"character":23}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":94,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":22}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":94,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":40,"character":19},"end":{"line":40,"character":23}}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":95,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":21}}}
>>>
Content-Length: 212

{"jsonrpc":"2.0","id":95,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":40,"character":19},"end":{"line":40,"character":23}}}}
<<<
Content-Length: 1405

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":8},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //Car stop\r\n  delay(500);         //delayed\r\n  reversal();         //Car back\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //delayed\r\n  delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}
>>>
Content-Length: 119

{"jsonrpc":"2.0","id":"21","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"21","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":96,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":21}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":96,"result":[]}
<<<
Content-Length: 355

{"jsonrpc":"2.0","id":97,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":40,"character":19},"end":{"line":40,"character":23}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":97,"result":[]}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}
<<<
Content-Length: 281

{"jsonrpc":"2.0","id":98,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":41,"character":21}}}
>>>
Content-Length: 210

{"jsonrpc":"2.0","id":98,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":41,"character":19},"end":{"line":41,"character":22}}}}
<<<
Content-Length: 293

{"jsonrpc":"2.0","id":99,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":41,"character":21}}}
>>>
Content-Length: 37

{"jsonrpc":"2.0","id":99,"result":[]}
<<<
Content-Length: 287

{"jsonrpc":"2.0","id":100,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":41,"character":21}}}
>>>
Content-Length: 239

{"jsonrpc":"2.0","id":100,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":40,"character":8},"end":{"line":40,"character":11}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}Content-Length: 356

{"jsonrpc":"2.0","id":101,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":41,"character":19},"end":{"line":41,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":101,"result":[]}
<<<
Content-Length: 253

{"jsonrpc":"2.0","id":102,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 380

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":9},"contentChanges":[{"range":{"start":{"line":41,"character":19},"end":{"line":41,"character":22}},"rangeLength":3,"text":"HIGH"}]}}Content-Length: 64

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":102}}Content-Length: 253

{"jsonrpc":"2.0","id":103,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2078

{"jsonrpc":"2.0","id":102,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 114

{"jsonrpc":"2.0","id":"22","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}Content-Length: 2078

{"jsonrpc":"2.0","id":103,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"22","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 356

{"jsonrpc":"2.0","id":104,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":41,"character":23},"end":{"line":41,"character":23}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":104,"result":[]}
<<<
Content-Length: 1406

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":9},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //Car stop\r\n  delay(500);         //delayed\r\n  reversal();         //Car back\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //delayed\r\n  delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, HIGH);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}Content-Length: 282

{"jsonrpc":"2.0","id":105,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":22}}}
>>>
Content-Length: 213

{"jsonrpc":"2.0","id":105,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":40,"character":19},"end":{"line":40,"character":23}}}}Content-Length: 119

{"jsonrpc":"2.0","id":"23","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"23","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}
<<<
Content-Length: 282

{"jsonrpc":"2.0","id":106,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":39,"character":22}}}
>>>
Content-Length: 211

{"jsonrpc":"2.0","id":106,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":39,"character":19},"end":{"line":39,"character":22}}}}
<<<
Content-Length: 282

{"jsonrpc":"2.0","id":107,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":39,"character":20}}}
>>>
Content-Length: 211

{"jsonrpc":"2.0","id":107,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":39,"character":19},"end":{"line":39,"character":22}}}}
<<<
Content-Length: 294

{"jsonrpc":"2.0","id":108,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":39,"character":21}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":108,"result":[]}
<<<
Content-Length: 356

{"jsonrpc":"2.0","id":109,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":39,"character":19},"end":{"line":39,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":109,"result":[]}
<<<
Content-Length: 287

{"jsonrpc":"2.0","id":110,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":39,"character":21}}}
>>>
Content-Length: 239

{"jsonrpc":"2.0","id":110,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":40,"character":8},"end":{"line":40,"character":11}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}Content-Length: 282

{"jsonrpc":"2.0","id":111,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":39,"character":22}}}
>>>
Content-Length: 211

{"jsonrpc":"2.0","id":111,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":39,"character":19},"end":{"line":39,"character":22}}}}
<<<
Content-Length: 287

{"jsonrpc":"2.0","id":112,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":22}}}
>>>
Content-Length: 239

{"jsonrpc":"2.0","id":112,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":39,"character":8},"end":{"line":39,"character":12}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}Content-Length: 282

{"jsonrpc":"2.0","id":113,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":22}}}
>>>
Content-Length: 213

{"jsonrpc":"2.0","id":113,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":40,"character":19},"end":{"line":40,"character":23}}}}Content-Length: 119

{"jsonrpc":"2.0","id":"24","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"24","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}
<<<
Content-Length: 294

{"jsonrpc":"2.0","id":114,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":21}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":114,"result":[]}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}Content-Length: 114

{"jsonrpc":"2.0","id":"25","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"25","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 287

{"jsonrpc":"2.0","id":115,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":21}}}
>>>
Content-Length: 239

{"jsonrpc":"2.0","id":115,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":39,"character":8},"end":{"line":39,"character":12}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}Content-Length: 253

{"jsonrpc":"2.0","id":116,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 380

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":10},"contentChanges":[{"range":{"start":{"line":40,"character":19},"end":{"line":40,"character":23}},"rangeLength":4,"text":"LOW"}]}}Content-Length: 64

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":116}}Content-Length: 253

{"jsonrpc":"2.0","id":117,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2078

{"jsonrpc":"2.0","id":116,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 2078

{"jsonrpc":"2.0","id":117,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 356

{"jsonrpc":"2.0","id":118,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":40,"character":22},"end":{"line":40,"character":22}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":118,"result":[]}
<<<
Content-Length: 356

{"jsonrpc":"2.0","id":119,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":40,"character":24},"end":{"line":40,"character":24}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":119,"result":[]}
<<<
Content-Length: 1406

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":10},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //Car stop\r\n  delay(500);         //delayed\r\n  reversal();         //Car back\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //delayed\r\n  delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, HIGH);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}Content-Length: 282

{"jsonrpc":"2.0","id":120,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":41,"character":21}}}
>>>
Content-Length: 213

{"jsonrpc":"2.0","id":120,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":41,"character":19},"end":{"line":41,"character":23}}}}
<<<
Content-Length: 294

{"jsonrpc":"2.0","id":121,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":41,"character":22}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":121,"result":[]}
<<<
Content-Length: 287

{"jsonrpc":"2.0","id":122,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":41,"character":22}}}
>>>
Content-Length: 239

{"jsonrpc":"2.0","id":122,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":39,"character":8},"end":{"line":39,"character":12}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 356

{"jsonrpc":"2.0","id":123,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":41,"character":19},"end":{"line":41,"character":23}},"context":{"diagnostics":[]}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":123,"result":[]}
<<<
Content-Length: 282

{"jsonrpc":"2.0","id":124,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":41,"character":21}}}
>>>
Content-Length: 213

{"jsonrpc":"2.0","id":124,"result":{"contents":{"kind":"markdown","value":"### macro `HIGH`  \n\n---\n```cpp\n#define HIGH 0x1\n```"},"range":{"start":{"line":41,"character":19},"end":{"line":41,"character":23}}}}
<<<
Content-Length: 282

{"jsonrpc":"2.0","id":125,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":40,"character":21}}}
>>>
Content-Length: 211

{"jsonrpc":"2.0","id":125,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":40,"character":19},"end":{"line":40,"character":22}}}}
<<<
Content-Length: 282

{"jsonrpc":"2.0","id":126,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":39,"character":21}}}
>>>
Content-Length: 211

{"jsonrpc":"2.0","id":126,"result":{"contents":{"kind":"markdown","value":"### macro `LOW`  \n\n---\n```cpp\n#define LOW 0x0\n```"},"range":{"start":{"line":39,"character":19},"end":{"line":39,"character":22}}}}
<<<
Content-Length: 294

{"jsonrpc":"2.0","id":127,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":39,"character":21}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":127,"result":[]}
<<<
Content-Length: 253

{"jsonrpc":"2.0","id":128,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}Content-Length: 381

{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":11},"contentChanges":[{"range":{"start":{"line":39,"character":19},"end":{"line":39,"character":22}},"rangeLength":3,"text":"HIGH"}]}}Content-Length: 64

{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":128}}Content-Length: 253

{"jsonrpc":"2.0","id":129,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"}}}
>>>
Content-Length: 2078

{"jsonrpc":"2.0","id":128,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}Content-Length: 2078

{"jsonrpc":"2.0","id":129,"result":[{"name":"tDelay","detail":"int","kind":13,"range":{"start":{"line":1,"character":0},"end":{"line":1,"character":17}},"selectionRange":{"start":{"line":1,"character":4},"end":{"line":1,"character":10}}},{"name":"D1","detail":"int","kind":13,"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":10}},"selectionRange":{"start":{"line":2,"character":4},"end":{"line":2,"character":6}}},{"name":"D2","detail":"int","kind":13,"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":10}},"selectionRange":{"start":{"line":3,"character":4},"end":{"line":3,"character":6}}},{"name":"D3","detail":"int","kind":13,"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":10}},"selectionRange":{"start":{"line":4,"character":4},"end":{"line":4,"character":6}}},{"name":"D4","detail":"int","kind":13,"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}},"selectionRange":{"start":{"line":5,"character":4},"end":{"line":5,"character":6}}},{"name":"setup","detail":"void ()","kind":12,"range":{"start":{"line":8,"character":0},"end":{"line":15,"character":1}},"selectionRange":{"start":{"line":8,"character":5},"end":{"line":8,"character":10}}},{"name":"loop","detail":"void ()","kind":12,"range":{"start":{"line":18,"character":0},"end":{"line":28,"character":1}},"selectionRange":{"start":{"line":18,"character":5},"end":{"line":18,"character":9}}},{"name":"Forward_rotation","detail":"void ()","kind":12,"range":{"start":{"line":29,"character":0},"end":{"line":35,"character":1}},"selectionRange":{"start":{"line":29,"character":5},"end":{"line":29,"character":21}}},{"name":"reversal","detail":"void ()","kind":12,"range":{"start":{"line":36,"character":0},"end":{"line":42,"character":1}},"selectionRange":{"start":{"line":36,"character":5},"end":{"line":36,"character":13}}},{"name":"stop_it","detail":"void ()","kind":12,"range":{"start":{"line":43,"character":0},"end":{"line":49,"character":1}},"selectionRange":{"start":{"line":43,"character":5},"end":{"line":43,"character":12}}}]}
<<<
Content-Length: 287

{"jsonrpc":"2.0","id":130,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"position":{"line":39,"character":21}}}
>>>
Content-Length: 239

{"jsonrpc":"2.0","id":130,"result":[{"uri":"file:///C:/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","range":{"start":{"line":39,"character":8},"end":{"line":39,"character":12}}}]}
<<<
Content-Length: 8136

{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h","languageId":"cpp","version":1,"text":"/*\n  Arduino.h - Main include file for the Arduino SDK\n  Copyright (c) 2005-2013 Arduino Team.  All right reserved.\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#ifndef Arduino_h\n#define Arduino_h\n\n#include <stdlib.h>\n#include <stdbool.h>\n#include <string.h>\n#include <math.h>\n\n#include <avr/pgmspace.h>\n#include <avr/io.h>\n#include <avr/interrupt.h>\n\n#include \"binary.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n\nvoid yield(void);\n\n#define HIGH 0x1\n#define LOW  0x0\n\n#define INPUT 0x0\n#define OUTPUT 0x1\n#define INPUT_PULLUP 0x2\n\n#define PI 3.1415926535897932384626433832795\n#define HALF_PI 1.5707963267948966192313216916398\n#define TWO_PI 6.283185307179586476925286766559\n#define DEG_TO_RAD 0.017453292519943295769236907684886\n#define RAD_TO_DEG 57.295779513082320876798154814105\n#define EULER 2.718281828459045235360287471352\n\n#define SERIAL  0x0\n#define DISPLAY 0x1\n\n#define LSBFIRST 0\n#define MSBFIRST 1\n\n#define CHANGE 1\n#define FALLING 2\n#define RISING 3\n\n#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)\n  #define DEFAULT 0\n  #define EXTERNAL 1\n  #define INTERNAL1V1 2\n  #define INTERNAL INTERNAL1V1\n#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)\n  #define DEFAULT 0\n  #define EXTERNAL 4\n  #define INTERNAL1V1 8\n  #define INTERNAL INTERNAL1V1\n  #define INTERNAL2V56 9\n  #define INTERNAL2V56_EXTCAP 13\n#else  \n#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)\n#define INTERNAL1V1 2\n#define INTERNAL2V56 3\n#else\n#define INTERNAL 3\n#endif\n#define DEFAULT 1\n#define EXTERNAL 0\n#endif\n\n// undefine stdlib's abs if encountered\n#ifdef abs\n#undef abs\n#endif\n\n#define min(a,b) ((a)<(b)?(a):(b))\n#define max(a,b) ((a)>(b)?(a):(b))\n#define abs(x) ((x)>0?(x):-(x))\n#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))\n#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))\n#define radians(deg) ((deg)*DEG_TO_RAD)\n#define degrees(rad) ((rad)*RAD_TO_DEG)\n#define sq(x) ((x)*(x))\n\n#define interrupts() sei()\n#define noInterrupts() cli()\n\n#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )\n#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )\n#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )\n\n#define lowByte(w) ((uint8_t) ((w) & 0xff))\n#define highByte(w) ((uint8_t) ((w) >> 8))\n\n#define bitRead(value, bit) (((value) >> (bit)) & 0x01)\n#define bitSet(value, bit) ((value) |= (1UL << (bit)))\n#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))\n#define bitToggle(value, bit) ((value) ^= (1UL << (bit)))\n#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))\n\n// avr-libc defines _NOP() since 1.6.2\n#ifndef _NOP\n#define _NOP() do { __asm__ volatile (\"nop\"); } while (0)\n#endif\n\ntypedef unsigned int word;\n\n#define bit(b) (1UL << (b))\n\ntypedef bool boolean;\ntypedef uint8_t byte;\n\nvoid init(void);\nvoid initVariant(void);\n\nint atexit(void (*func)()) __attribute__((weak));\n\nvoid pinMode(uint8_t pin, uint8_t mode);\nvoid digitalWrite(uint8_t pin, uint8_t val);\nint digitalRead(uint8_t pin);\nint analogRead(uint8_t pin);\nvoid analogReference(uint8_t mode);\nvoid analogWrite(uint8_t pin, int val);\n\nunsigned long millis(void);\nunsigned long micros(void);\nvoid delay(unsigned long ms);\nvoid delayMicroseconds(unsigned int us);\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);\n\nvoid shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);\nuint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);\n\nvoid attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode);\nvoid detachInterrupt(uint8_t interruptNum);\n\nvoid setup(void);\nvoid loop(void);\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n\n#define analogInPinToBit(P) (P)\n\n// On the ATmega1280, the addresses of some of the port registers are\n// greater than 255, so we can't store them in uint8_t's.\nextern const uint16_t PROGMEM port_to_mode_PGM[];\nextern const uint16_t PROGMEM port_to_input_PGM[];\nextern const uint16_t PROGMEM port_to_output_PGM[];\n\nextern const uint8_t PROGMEM digital_pin_to_port_PGM[];\n// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];\nextern const uint8_t PROGMEM digital_pin_to_timer_PGM[];\n\n// Get the bit location within the hardware port of the given virtual pin.\n// This comes from the pins_*.c file for the active board configuration.\n// \n// These perform slightly better as macros compared to inline functions\n//\n#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )\n#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )\n#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )\n#define analogInPinToBit(P) (P)\n#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )\n#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )\n#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )\n\n#define NOT_A_PIN 0\n#define NOT_A_PORT 0\n\n#define NOT_AN_INTERRUPT -1\n\n#ifdef ARDUINO_MAIN\n#define PA 1\n#define PB 2\n#define PC 3\n#define PD 4\n#define PE 5\n#define PF 6\n#define PG 7\n#define PH 8\n#define PJ 10\n#define PK 11\n#define PL 12\n#endif\n\n#define NOT_ON_TIMER 0\n#define TIMER0A 1\n#define TIMER0B 2\n#define TIMER1A 3\n#define TIMER1B 4\n#define TIMER1C 5\n#define TIMER2  6\n#define TIMER2A 7\n#define TIMER2B 8\n\n#define TIMER3A 9\n#define TIMER3B 10\n#define TIMER3C 11\n#define TIMER4A 12\n#define TIMER4B 13\n#define TIMER4C 14\n#define TIMER4D 15\n#define TIMER5A 16\n#define TIMER5B 17\n#define TIMER5C 18\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#include \"WCharacter.h\"\n#include \"WString.h\"\n#include \"HardwareSerial.h\"\n#include \"USBAPI.h\"\n#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL)\n#error \"Targets with both UART0 and CDC serial not supported\"\n#endif\n\nuint16_t makeWord(uint16_t w);\nuint16_t makeWord(byte h, byte l);\n\n#define word(...) makeWord(__VA_ARGS__)\n\nunsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\nunsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);\n\nvoid tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);\nvoid noTone(uint8_t _pin);\n\n// WMath prototypes\nlong random(long);\nlong random(long, long);\nvoid randomSeed(unsigned long);\nlong map(long, long, long, long, long);\n\n#endif\n\n#include \"pins_arduino.h\"\n\n#endif\n"}}}Content-Length: 203

{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///c%3A/Users/Administrator/AppData/Local/Arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Arduino.h"}}}Content-Length: 356

{"jsonrpc":"2.0","id":131,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino"},"range":{"start":{"line":39,"character":25},"end":{"line":39,"character":25}},"context":{"diagnostics":[]}}}
>>>
Content-Length: 38

{"jsonrpc":"2.0","id":131,"result":[]}
<<<
Content-Length: 1407

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":11},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //Car stop\r\n  delay(500);         //delayed\r\n  reversal();         //Car back\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //delayed\r\n  delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, HIGH);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, HIGH);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}
>>>
Content-Length: 119

{"jsonrpc":"2.0","id":"26","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"26","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}
<<<
Content-Length: 1407

{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///e%3A/5-%E6%95%99%E7%A8%8B/1.tutorial/ZYC0055%29Mini%20DIY%20obstacle%20avoidance%20car/ZYC0055/Part2.0%20Module%20learning/code/motor/motor.ino","version":11},"text":"//Line order test function of trolley wheel\r\nint tDelay = 3000; //The delay time is 3S\r\nint D1 = 5;      // Definition of IO port\r\nint D2 = 6;       \r\nint D3 = 9;      \r\nint D4 = 10;      \r\n\r\n//Function initialization\r\nvoid setup() \r\n{\r\n  pinMode(D1, OUTPUT);\r\n  pinMode(D2, OUTPUT); \r\n  pinMode(D3, OUTPUT);\r\n  pinMode(D4, OUTPUT);  \r\n\r\n}\r\n\r\n//Principal function\r\nvoid loop() \r\n{\r\n  Forward_rotation(); //Car forward\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //Car stop\r\n  delay(500);         //delayed\r\n  reversal();         //Car back\r\n  delay(tDelay);      //delayed\r\n  stop_it();          //delayed\r\n  delay(500);         //delayed\r\n}\r\nvoid Forward_rotation()\r\n{\r\n  digitalWrite(D1, HIGH);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, HIGH);\r\n  digitalWrite(D4, LOW);\r\n}\r\nvoid reversal()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, HIGH);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, HIGH);\r\n}\r\nvoid stop_it()\r\n{\r\n  digitalWrite(D1, LOW);\r\n  digitalWrite(D2, LOW);\r\n  digitalWrite(D3, LOW);\r\n  digitalWrite(D4, LOW);\r\n}\r\n"}}
>>>
Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}Content-Length: 119

{"jsonrpc":"2.0","id":"27","method":"window/workDoneProgress/create","params":{"token":"arduinoLanguageServerRebuild"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"27","result":null}
>>>
Content-Length: 140

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"begin","title":"Building sketch"}}}Content-Length: 129

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"arduinoLanguageServerRebuild","value":{"kind":"end","message":"done"}}}Content-Length: 114

{"jsonrpc":"2.0","id":"28","method":"window/workDoneProgress/create","params":{"token":"backgroundIndexProgress"}}
<<<
Content-Length: 41

{"jsonrpc":"2.0","id":"28","result":null}
>>>
Content-Length: 143

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"begin","title":"indexing","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 141

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"report","message":"0/1","percentage":0}}}Content-Length: 107

{"jsonrpc":"2.0","method":"$/progress","params":{"token":"backgroundIndexProgress","value":{"kind":"end"}}}
<<<
Content-Length: 60

{"jsonrpc":"2.0","id":132,"method":"shutdown","params":null}
>>>
Content-Length: 40

{"jsonrpc":"2.0","id":132,"result":null}
<<<
Content-Length: 47

{"jsonrpc":"2.0","method":"exit","params":null}