-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbasics.html
502 lines (434 loc) · 39.3 KB
/
basics.html
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
<!DOCTYPE html>
<!--[if IE 8]> <html lang="pt" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="pt" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="pt-br"> <!--<![endif]-->
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-113079645-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-113079645-1');
</script>
<title>Avant Docs</title>
<!-- Meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="favicoln.ico">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<!-- Global CSS -->
<link rel="stylesheet" href="assets/plugins/bootstrap/css/bootstrap.min.css">
<!-- Plugins CSS -->
<link rel="stylesheet" href="assets/plugins/font-awesome/css/font-awesome.css">
<link rel="stylesheet" href="assets/plugins/prism/prism.css">
<link rel="stylesheet" href="assets/plugins/elegant_font/css/style.css">
<!-- Theme CSS -->
<link id="theme-style" rel="stylesheet" href="assets/css/styles.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body class="body-green">
<div class="page-wrapper">
<!-- ******Header****** -->
<header id="header" class="header">
<div class="container">
<div class="branding">
<h1 class="logo">
<a href="index.html">
<span aria-hidden="true" class="icon_documents_alt icon"></span>
<span class="text-highlight">Avant</span><span class="text-bold"> UFMG</span>
</a>
<div class="header-right">
<a href="https://ufmg.br/">
<img class="img-responsive" align="right" width="150" height="50" src="assets/images/UFMG.svg" alt="Logo da UFMG" />
<span class="text-bold" style="font-size:18px" align="right">Universidade Federal<br>de Minas Gerais</span>
<span class="vl"></span>
</a>
</div>
</h1>
</div><!--//branding-->
<ol class="breadcrumb">
<li><a href="index.html">Início</a></li>
<li class="active">Introdução</li>
</ol>
</div><!--//container-->
</header><!--//header-->
<div class="doc-wrapper">
<div class="container">
<div id="doc-header" class="doc-header text-center">
<h1 class="doc-title"><i class="icon fa fa-paper-plane"></i> Tutorial Básico</h1>
<div class="meta"><i class="fa fa-clock-o"></i> Última Atualização: 29 de Novembro de 2020</div>
<div class="meta"><i class="fa icon_tag"></i> Por: EmanuelM</div>
</div><!--//doc-header-->
<div class="doc-body">
<div class="doc-content">
<div class="content-inner">
<section id="download-section" class="doc-section">
<h2 class="section-title">Introdução</h2>
<div class="section-block">
<p>Essa documentação tem como objetivo demonstrar os processos básicos necessários para o desenvolvimento dos softwares envolvidos na construção do MAV da Avant UFMG. Os procedimentos serão organizados em dois sistemas: o <b>sistema embarcado (PX4 Firmware) </b> e o <b>sistema de controle em solo (QGroundControl/Mission Planner)</b>.
</p>
</div>
</section><!--//doc-section-->
<section id="installation-section" class="doc-section">
<h2 class="section-title">Plataformas Suportadas</h2>
<div id="step1" class="section-block">
<h3 class="block-title">Geral</h3>
<p>Todas as etapas demonstradas a seguir foram executadas no sistema operacional Microsoft Windows 7 Home Basic x64 Service Pack 1, e portanto todos os links se destinam a essa plataforma. Apesar disso, todo o conjunto de software pode ser utilizado em Linux ou Mac OSX.
</p>
</div><!--//section-block-->
</section><!--//doc-section-->
<section id="code-section" class="doc-section">
<h2 class="section-title">Programas Básicos</h2>
<div class="section-block">
</div><!--//section-block-->
<div id="html" class="section-block">
<h3 class="block-title">JAVA</h3>
<br>
<p>
Seu computador precisa ter instalado o Kit de desenvolvimento JAVA SE 8 (JDK) nas versões x86 e x64. O software pode ser baixado no seguinte link:</p>
<a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html" class="btn btn-blue" target="_blank"><i class="fa fa-download"></i> Download JDK 8</a></p
<p>Após a instalação do JDK, confirme o sucesso do procedimento digitando o comando</p>
<pre><code class="language-git">java - version </code></pre>
<p>no prompt de comando do Windows. O resultado deve ser semelhante ao da seguinte imagem:</p>
<img class="img-responsive" src="/assets/images/basico1.png" alt="imagem mostrando versão de java de uma máquina windows"/>
</div><!--//section-block-->
<div id="css" class="section-block">
<h3 class="block-title">GIT</h3>
<br>
<p>Para o desenvolvimento dos programas, utilizaremos o gerente de configuração de software (SCM) Git. Para baixá-lo, basta seguir o link e procurar pela última versão estável para Windows:
</p>
<a href="https://git-scm.com/" class="btn btn-blue" target="_blank"><i class="fa fa-download"></i> Download Git</a></p
<p>O instalador irá apresentar diversas opções, é recomendável deixá-las no padrão e apenas clicar em "next" até a conclusão do processo.</p>
<br>
<div id="less" class="section-block">
<h3 class="block-title">.NET Framework</h3>
<br>
<p>É preciso obter a última versão do Microsoft .NET framework através do link:
</p>
<a href="https://www.microsoft.com/net/download/dotnet-framework-runtime" class="btn btn-blue" target="_blank"><i class="fa fa-download"></i> Download .NET Framework</a></p
<p>A instalação pode levar alguns minutos dependendo do seu hardware e da velocidade de sua conexão com a internet.</p>
<div id="sass" class="section-block">
<h3 class="block-title">Python 2.7</h3>
<br>
<p>O Python pode ser baixado em:
</p>
<a href="https://www.python.org/downloads/" class="btn btn-blue" target="_blank"><i class="fa fa-download"></i> Download Python</a></p
<p>Caso seu computador já possua a versão 3.6, não é necessário removê-la.</p>
<p>Após concluir o instalador, verifique a sucesso do procedimento digitando o comando
</p>
<pre><code class="language-git">python --version </code></pre>
<p>no prompt de comando do Windows . O resultado deve ser semelhante ao da seguinte imagem:</p>
<img class="img-responsive" src="/assets/images/basico2.png" alt="imagem mostrando versão de python de uma máquina windows" />
</section><!--//doc-section-->
<section id="callouts-section" class="doc-section">
<h2 class="section-title">Firmware da PixHawk</h2>
<div id="gitrepo" class="section-block">
<h3 class="block-title">Repositório do GitHub</h3>
<br>
<p>O código fonte que será carregado na PixHawk fica armazenado no repositório público da Ardupilot no GitHub. Para clonar esse repositório em seu computador, crie uma pasta qualquer em um local de sua preferência. É importante que o caminho não tenha espaços, por exemplo, o seguinte caminho é válido:</p>
<img class="img-responsive" src="/assets/images/basico3.png" alt="imagem mostrando caminho no terminal sem espaço" />
<br>
<p>Já o caminho:</p>
<img class="img-responsive" src="/assets/images/basico4.png" alt="imagem mostrando caminho no terminal com espaço" />
<br>
<p>não é válido.
Em seguida, com a tecla shift pressionada, clique com o botão direito em um local qualquer dentro da pasta criada e selecione "Abrir janela de comando aqui":
</p>
<img class="img-responsive" width=75% src="/assets/images/basico5.png" alt="imagem mostrando como abrir uma janela do terminal git a partir de um diretório" />
<br>
<div class="callout-block callout-success">
<div class="icon-holder">
<i class="fa fa-thumbs-up"></i>
</div><!--//icon-holder-->
<div class="content">
<h4 class="callout-title">Dica:</h4>
<p>Certifique-se de que a pasta foi acessada por um caminho verdadeiro e não através de uma "biblioteca", caso contrário a opção "abrir janela de comando aqui" não estará disponível</p>
</div><!--//content-->
</div>
<p>Com o prompt de comando aberto, digite o comando para clonar o repositório:</p>
<pre><code class="language-git">git clone</code></pre>
<p> Em seguida, copie o link </p>
<pre><code class="language-markup"></code>https://github.com/ArduPilot/ardupilot.git</pre>
<p> e cole no prompt usando o botão direito. O comando completo ficará dessa forma:
</p>
<pre><code class="language-markup"></code>git clone https://github.com/ArduPilot/ardupilot.git</pre>
<br>
<p>Após inserir o comando, tecle enter para baixar o repositório na pasta escolhida (pode demorar para baixar): </p>
<img class="img-responsive" src="/assets/images/basico6.png" alt="resultado de clonagem do repositorio no githu" />
<br>
<p>O próximo passo é inicializar o código fonte utilizando o comando:</p>
<pre><code class="language-git"></code>git submodule update --init --recursive</pre>
<br>
<p>Nesse momento, o código fonte está pronto para ser editado e compilado para o firmware da PixHawk. Em seguida, baixaremos a IDE que será utilizada para facilitar esses procedimentos.</p>
</div>
<div id="arduino" class="section-block">
<h3 class="block-title">Eclipse IDE</h3>
<br>
<p>
Apesar de ser possível usar o make para compilar diretamente o firmware, o uso de um ambiente de desenvolvimento integrado (IDE) facilita muito o processo de escrever e editar o código. Usaremos o Eclipse, um IDE de código aberto que suporta desenvolvimento em inúmeras linguagens de programação como Java, C/C++, PHP, Python e Android.
</p>
<a href="https://www.eclipse.org/downloads/" class="btn btn-blue" target="_blank"><i class="fa fa-download"></i>Eclipse 64bit para Windows</a>
<br>
<br>
<p>Após o download, basta executar o arquivo e instalar o programa em seu destino padrão. </p>
</div>
<div id="cygwin" class="section-block">
<h3 class="block-title">Utilizando waf no Windows com Cygwin</h3>
<br>
<p> <a href=https://en.wikipedia.org/wiki/Waf>Waf</a> é uma ferramenta de automação de compilação que, em poucas palavras, permite que um
código seja prontamente compilável em diversos sistemas operacionais, com suas configurações e compiladores próprios, de forma automatizada.
O código do ardupilot utiliza waf para sua compilação. Para utilizar waf no Windows, será necessária a instalação do Cygwin.</p>
<div class="callout-info">
<h4 class="callout-title"> <i class="fa fa-exclamation-circle"></i> Observação</h4>
</div>
<div class="callout-block callout-success" style="padding:10px;">
<p class="last"><em>Há um script pré-pronto na pasta <a class="reference external" href="https://github.com/ArduPilot/ardupilot/tree/master/Tools/environment_install/install-prereqs-windows.ps1">/ardupilot/Tools/environment_install/install-prereqs-windows.ps1</a> que executa todos os passos descritos abaixo.</em></p>
</div>
<h5>Instalando Cygwin</h5>
<br>
<p><ol>
<li>Abra <a href=https://www.cygwin.com/install.html>https://www.cygwin.com/install.html</a> no seu navegador e baixe "setup-x86_64.exe".</li>
<li>Abra o propmpt de comando (pressionando as teclas <kbd>⊞ Win</kbd> + <kbd>D</kbd> e digitando "cmd", e então "OK") e navegue para o diretório
onde você baixou o arquivo de download (use o comando cd para mudar de diretório e dir para ver o diretório em que está).</li>
<li>Uma vez que tenha navegado até o diretório onde está o arquivo "setup-x86_64.exe" baixado, entre com o código abaixo:
<pre><span></span><span class="n">setup</span><span class="o">-</span><span class="n">x86_64</span><span class="o">.</span><span class="n">exe</span> <span class="o">-</span><span class="n">P</span> <span class="n">autoconf</span><span class="p">,</span><span class="n">automake</span><span class="p">,</span><span class="n">ccache</span><span class="p">,</span><span class="n">gcc</span><span class="o">-</span><span class="n">g</span><span class="o">++</span><span class="p">,</span><span class="n">git</span><span class="p">,</span><span class="n">libtool</span><span class="p">,</span><span class="n">make</span><span class="p">,</span><span class="n">gawk</span><span class="p">,</span><span class="n">libexpat</span><span class="o">-</span><span class="n">devel</span><span class="p">,</span><span class="n">libxml2</span><span class="o">-</span><span class="n">devel</span><span class="p">,</span><span class="n">python36</span><span class="p">,</span><span class="n">python36</span><span class="o">-</span><span class="n">future</span><span class="p">,</span><span class="n">python36</span><span class="o">-</span><span class="n">lxml</span><span class="p">,</span><span class="n">python36</span><span class="o">-</span><span class="n">pip</span><span class="p">,</span><span class="n">libxslt</span><span class="o">-</span><span class="n">devel</span><span class="p">,</span><span class="n">python36</span><span class="o">-</span><span class="n">devel</span><span class="p">,</span><span class="n">procps</span><span class="o">-</span><span class="n">ng</span><span class="p">,</span><span class="nb">zip</span><span class="p">,</span><span class="n">gdb</span><span class="p">,</span><span class="n">ddd</span></pre>
</li>
</ol></p>
<div class="callout-info">
<h4 class="callout-title"> <i class="fa fa-exclamation-circle"></i> Observação</h4>
</div>
<div class="callout-block callout-success" style="padding:10px;">
<p class="last"><em>Algumas vezes a instalação pode ficar congelada por conta de seu anti-vírus. Se isso acontecer, tente fechar todos os outros programas abertos, incluindo o anti-vírus, e tente novamente. </em></p>
</div>
<br>
<h5>Instalando o compilador GCC</h5>
<br>
<ul class="simple">
<li><dl><dt>Baixe e instale o compilador gcc-arm-non-eabi em <a class="reference external" href="https://firmware.ardupilot.org/Tools/STM32-tools">firmware.ardupilot.org/Tools/STM32-tools</a> (<a class="reference external" href="https://firmware.ardupilot.org/Tools/STM32-tools/gcc-arm-none-eabi-6-2017-q2-update-win32-sha2.exe">link direto aqui</a>)</dt>
<dd><ul class="first last">
<li>aceite todas as licenças</li>
<li>instale no diretório padrão</li>
<li>aceite todos os certificados ssl</li>
<li>marque a opção “Add path to environment variable”</li>
</ul>
</dd>
</dl>
</li>
</ul>
<img class="img-responsive" src="assets/images/building-gcc.png" alt="imagem onde marcar a opção de adicionar variável de ambiente" />
<h5>Instalando MAVProxy para Windows</h5>
<br>
<p>O MAVProxy é necessário se for utilizar o SITL (Software In The Loop). Se você não for utilizar o SITL, pode pular essa etapa.</p>
<ol class="arabic simple">
<li>Para instalar o MAVProxy para Windows, siga a <a class="reference external" href="https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html#mavproxy-downloadinstallwindows" title="(in MAVProxy)"><span class="xref std std-ref">documentação do MAVProxy</span></a>.</li>
</ol>
<h5>Configurando diretórios/paths e pacotes extras no Cygwin</h5>
<ol class="arabic simple">
<li>abra e feche o programa “Cygwin64 Terminal” a partir da área de trabalho ou menu de Inicialização do Windows. Isso irá criar os arquivos de inicialização para o usuário no diretório principal do Cygwin.</li>
<li>abra o “Cygwin64 Terminal” novamente. Entre com os seguintes comandos para setar Python 3.6 como a versão padrão de Python e então instalar os pacotes adicionais de Python:</li>
<pre>
ln -s /usr/bin/python3.6 /usr/bin/python
ln -s /usr/bin/pip3.6 /usr/bin/pip
pip install empy pyserial pymavlink</pre>
</ol>
<h5>Compile com Waf</h5>
<p>Você deve ser capaz, agora, de iniciar o programa “Cygwin64 Terminal” a partir do menu de Inicialização do Windows e compilar com Waf, como descrito em <a class="reference external" href="https://github.com/ArduPilot/ardupilot/blob/master/BUILD.md">BUILD.md</a>.</p>
<div class="callout-info">
<h4 class="callout-title"> <i class="fa fa-exclamation-circle"></i> Observação</h4>
</div>
<div class="callout-block callout-success" style="padding:10px;">
<p class="last">A compilação pode falhar se o caminho para alguns arquivos for muito longo. Se a compilação falhar, tente clonar o repositório do ardupilot numa posição alta na sua estrutura de diretórios (por exemplo: ~/ardupilot ou C:/ardupilot).<br>
<br>Se você tiver um de "missing packet <em>algumacoisa</em>", verifique se digitou corretamente o comando no cmd mencionado anteriormente, pois ele que garante que todos os pacotes foram instalados. </p>
</div>
</div>
<div id="apmup" class="section-block">
<h3 class="block-title">Configurando o Eclipse</h3>
<br>
<p> Após a instalação, abra o Eclipse através do atalho criado no menu iniciar e escolha o workspace padrão.
</p>
<br>
<p>Criaremos agora um novo projeto para organizar o código fonte:</p>
<div class="row">
<div class="">
<ul class="list">
<li>Vá até File>New>Makefile Project with Existing Code.</li>
<li>Em "existing code location", escolha a pasta ArduPlane (nosso firmware usa a versão de asa fixa) , dentro da pasta de onde foi baixado o firmware ArduPilot do GitHub.</li>
<li>Em "ToolChain for Indexer Settings" escolha Cygwin GCC.</li>
<img class="img-responsive" src="assets/images/eclipse-install2.png" alt="broken" />
<br>
<li><p>
Em seguida, no Project Explorer na lateral direita, clique com o botão direito na pasta do projeto e escolha Properties.
<br>
Quando a janela "Properties for ardupilot" aparecer, vá em “C/C++ Build”, desmarque “Use default build command” e ponha <code>c:\cygwin64\bin\python2.7 waf</code> no campo “Build command” como mostrado na figura abaixo:
</p></li>
<img class="img-responsive" src="assets/images/eclipse-install3.png"/>
<br>
<li>Na aba “Build Targets” à direita selecione “ardupilot” e pressione o botão verde “New Build Target”.</li>
<li>No campo “Target name” entre com <code class="docutils literal notranslate"><span class="pre">configure</span> <span class="pre">--board</span> <span class="pre">fmuv3</span> <span class="pre">--no-submodule-update</span></code> e pressione OK para criar um build target para configurar o waf para compilar para controladores de vôo Pixhawk/Cube usando ChibiOS</li>
<li>Crie outro build target chamado <code class="docutils literal notranslate"><span class="pre">plane</span></code></li>
<li>Rode estes dois targets para criar um arquivo binário do ArduPilot Plane para controladores de vôo Pixhawk/Cube</li>
<li>Se a compilação falhar com um aviso “Missing configuration file” cheque o diretório do ardupilot directory por um diretório chamado “build”, delete-o e tente novamente</li>
<li>Outros build targets úteis são, <code class="docutils literal notranslate"><span class="pre">clean</span></code>, <code class="docutils literal notranslate"><span class="pre">plane</span></code>, <code class="docutils literal notranslate"><span class="pre">rover</span></code> and <code class="docutils literal notranslate"><span class="pre">--help</span></code></li>
</ul>
<br>
<p>
O firmware arducopter.apj será criado na pasta ardupilot\build\fmuv3\bin e pode ser enviado a partir do Mission Planner ou de outro sistema de estação solo para o controlador.
</p>
</div>
</div>
<div id="pixom" class="section-block">
<h3 class="block-title">Editando e compilando o firmware</h3>
<p>Com o projeto aberto e configurado no Eclipse, é possível modificar qualquer arquivo através do Project Explorer.<br>
Após um longo processo de compilação (Ou não, se vc for o Iure), o arquivo de firmware será criado na pasta ArduPlane com a extensão .apj e pode ser carregado para a pixhawk usando o MissionPlanner na opção de "custom firmware".</p>
<img width=75% class="img-responsive" src="assets/images/eclipse-install5.png" />
</div>
</div>
</section>
<section id="gcs" class="doc-section">
<h2 class="section-title">Mission Planner</h2>
<br>
<div id="noob" class="section-block">
<h3 class="block-title">Programa pré-compilado</h3>
<br>
<p>Apesar da estação-solo utilizada em nossos testes ser o qGroundControl, o Mission Planner é importante por sua maior capacidade de customização, e principalmete a opção de carregar um firmware customizado. Em um primeiro momento, talvez seja interessante usar a versão pronta do Mission Planner. Ela pode ser baixada no link:</p>
<a href="http://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.msi" class="btn btn-blue" target="_blank"><i class="fa fa-download"></i>Mission Planner</a>
<br>
<br>
<img class="img-responsive" src="assets/images/missionplanner.png" alt="imagem da interface gráfica do Mission Planner" />
<br>
<p>Com o intuito de tornar esta documentação mais completa, os passos a seguir orientam a compilar o Mission Planner a partir da fonte. Com isso, a equipe pode personalizar a estação.</p>
</div>
<div id="gitrepo3" class="section-block">
<h3 class="block-title">Repositório do GitHub</h3>
<p>Use o comando</p>
<pre><code class="language-python"></code>git clone https://github.com/ArduPilot/MissionPlanner</pre>
<p>para clonar o repositório.
</p>
</div>
<div id="comp2" class="section-block">
<h3 class="block-title">Compilando a partir do código fonte</h3>
<br>
<p>
Para compilar o Misson Planner, é necessário possuir o Microsoft Visual Studio 2017 instalado no computador. A IDE é gratuita e pode ser baixada no link:
</p>
<a href="https://www.visualstudio.com/pt-br/downloads/" class="btn btn-blue" target="_blank"><i class="fa fa-download"></i>Microsoft Visual Studio 2017</a>
<br>
<br>
<p>Escolha a versão "Visual Studio Community 2017". Após abrir o executável, o instalador irá mostrar a tela de seleção de cargas de trabalho:
</p>
<br>
<p>Marque as opções "Desenvolvimento para desktop com o .NET" em Windows e "Desenvolvimento de multiplataforma do .NET Core" em Outros conjuntos de ferramentas e as instale. Certifique-se de possuir o espaço em disco necessário para os componentes.
</p>
<p> Após o download, inicie o Visual Studio e vá em Arquivo>Abrir>Projeto/solução. Navegue até a pasta onde foi baixado o repositório no item acima e escolha "MissionPlanner.sln". No canto superior, escolha "Release" e "x86". (x64 causou erro no meu computador, ainda não sei porque).
</p>
<img class="img-responsive" src="assets/images/tuto/image051.png" alt="broken" />
<br>
<p>O projeto agora está configurado e pode ser modificado de acordo com as necessidades do programador. Um exemplo básico é simplesmente personalizar um gráfico da interface. Nessa demonstração, substituiremos a logo da ArduPilot por uma logo customizada. Para realizar esta modificação, copie o arquivo de imagem desejado para a pasta MissionPlanner/Resources. Em seguida, no Visual Studio, localize o arquivo resources.resx dentro da pasta Properties:
</p>
<img class="img-responsive" src="assets/images/tuto/image049.png" alt="broken" />
<br>
<p>
Este arquivo contém as strings que apontam para os arquivos de imagem do programa. O arquivo a ser trocado está localizado na última linha. Basta substituir a linha:
</p>
<pre><code class="language-javascript"></code> <value>..\Resources\ 0d92fed790a3a70170e61a86db103f399a595c70.png;System.Drawing.Bitmap,<br> System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a </value></pre>
<p>Por:</p>
<pre><code class="language-javascript"></code> <value>..\Resources\avant.png;System.Drawing.Bitmap,<br> System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value></pre>
<p>
Onde avant.png é o nome do arquivo de imagem escolhido. O resultado ficará:
</p>
<img class="img-responsive" src="assets/images/tuto/image053.png" alt="broken" />
<br>
<p>Para compilar o projeto, selecione Compilação>Compilação em lotes no canto superior:</p>
<img class="img-responsive" src="assets/images/tuto/image055.png" alt="broken" />
<br>
<p>Na janela aberta, selecione tudo e clique em compilar. O processo poderá levar alguns minutos dependendo da configuração do seu computador.
Após o término, navegue até a pasta MissionPlanner\bin\Release\net461. O programa pode ser aberto clicando em "MissionPlanner.exe" e deverá mostrar a imagem personalizada no canto superior direito, dessa forma:
</p>
<img class="img-responsive" src="assets/images/tuto/image057.png" alt="broken" />
</div>
</section><!--//doc-section-->
</div><!--//content-inner-->
</div><!--//doc-content-->
<div class="doc-sidebar hidden-xs">
<nav id="doc-nav">
<ul id="doc-menu" class="nav doc-menu" data-spy="affix">
<li><a class="scrollto" href="#download-section">Introdução</a></li>
<li>
<a class="scrollto" href="#installation-section">Plataformas Suportadas</a>
<ul class="nav doc-sub-menu">
<li><a class="scrollto" href="#step1">Geral</a></li>
<li><a class="scrollto" href="#step2">Sistema Embarcado</a></li>
<li><a class="scrollto" href="#step3">Sistema de controle em Solo</a></li>
</ul><!--//nav-->
</li>
<li>
<a class="scrollto" href="#code-section">Programas Básicos</a>
<ul class="nav doc-sub-menu">
<li><a class="scrollto" href="#html">JAVA</a></li>
<li><a class="scrollto" href="#css">Git</a></li>
<li><a class="scrollto" href="#less">.NET Framework</a></li>
<li><a class="scrollto" href="#sass">Python 2.7</a></li>
</ul><!--//nav-->
</li>
<li>
<a class="scrollto" href="#callouts-section">Firmware da PixHawk Mini</a>
<ul class="nav doc-sub-menu">
<li><a class="scrollto" href="#gitrepo">Repositório do GitHub</a></li>
<li><a class="scrollto" href="#arduino">Eclipse IDE</a></li>
<li><a class="scrollto" href="#cygwin">Utilizando waf<br>no Windows com Cygwin</a></li>
<li><a class="scrollto" href="#apmup">Configurando o Eclipse</a></li>
<li><a class="scrollto" href="#pixom">Editando e compilando<br>o firmware</a></li>
</ul><!--//nav-->
</li>
<li>
<a class="scrollto" href="#gcs">Mission Planner</a>
<ul class="nav doc-sub-menu">
<li><a class="scrollto" href="#noob">Programa pré-compilado</a></li>
<li><a class="scrollto" href="#gitrepo3">Repositório do GitHub</a></li>
<li><a class="scrollto" href="#comp2">Compilando a partir do código fonte</a></li>
</ul><!--//nav-->
</li>
</ul><!--//doc-menu-->
</nav>
</div><!--//doc-sidebar-->
</div><!--//doc-body-->
</div><!--//container-->
</div><!--//doc-wrapper-->
</div><!--//page-wrapper-->
<footer id="footer" class="footer text-center">
<div class="container">
<!--/* This template is released under the Creative Commons Attribution 3.0 License. Please keep the attribution link below when using for your own project. Thank you for your support. :) If you'd like to use the template without the attribution, you can check out other license options via our website: themes.3rdwavemedia.com */-->
<small class="copyright">Design por <a href="http://themes.3rdwavemedia.com/" targe="_blank">Xiaoying Riley</a>. Conteúdo por CaioTBC - <a href="https://avant-ufmg.wixsite.com/avantufmg" targe="_blank">AVANT UFMG</a>. Retirado e Traduzido de <a href="https://ardupilot.org/dev/docs/building-setup-windows-eclipse.html">ArduPilot Dev Team.</a></small>
</div><!--//container-->
</footer><!--//footer-->
<!-- Main Javascript -->
<script type="text/javascript" src="assets/plugins/jquery-1.12.3.min.js"></script>
<script type="text/javascript" src="assets/plugins/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="assets/plugins/prism/prism.js"></script>
<script type="text/javascript" src="assets/plugins/jquery-scrollTo/jquery.scrollTo.min.js"></script>
<script type="text/javascript" src="assets/plugins/jquery-match-height/jquery.matchHeight-min.js"></script>
<script type="text/javascript" src="assets/js/main.js"></script>
<!-- Start 1FreeCounter.com code -->
<script language="JavaScript">
var data = '&r=' + escape(document.referrer)
+ '&n=' + escape(navigator.userAgent)
+ '&p=' + escape(navigator.userAgent)
+ '&g=' + escape(document.location.href);
if (navigator.userAgent.substring(0,1)>'3')
data = data + '&sd=' + screen.colorDepth
+ '&sw=' + escape(screen.width+'x'+screen.height);
document.write('<a href="http://www.1freecounter.com/stats.php?i=132087" target=\"_blank\" >');
document.write('<img alt="Free Counter" border=0 hspace=0 '+'vspace=0 src="http://www.1freecounter.com/counter.php?i=132087' + data + '">');
document.write('</a>');
</script>
<!-- End 1FreeCounter.com code -->
</body>
</html>