-
Notifications
You must be signed in to change notification settings - Fork 3
/
Firmware.html
147 lines (112 loc) · 12.5 KB
/
Firmware.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
<!DOCTYPE html><html><head><meta name='viewport' content='width=device-width, initial-scale=1'><link href='styles.css' rel='stylesheet' /><link href='https://fonts.googleapis.com/css?family=Open+Sans' type='text/css' rel='stylesheet' /><title> Maslow Firmware</title><script>function resizeIframe(obj) {obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';}</script></head><body><header class = 'header'><div class='inner-header'><nav class='navigation'><a href='index.html' class='one-col'><img src='logo.png' style='width:auto;height:90px;border:0;'></a><a href='howdoesthegardenwork.html' class='nav-link button one-col'>How Does the Garden Work?</a><a href='addaproject.html' class='nav-link button one-col'>Add A Project</a></nav></div></header><section class = 'content'><div class = 'ProjectName'><h1 class='title'> Maslow Firmware</h1></div><div class='tab three-col'><button class="tablinks" onclick="openTab(event, 'Files' )" id="defaultOpen">Files</button><button class="tablinks" onclick="openTab(event, 'Instructions')" id="instructionsBTN">Instructions</button><button class="tablinks" onclick="openTab(event, 'Forums' )">Forums</button><button class="tablinks" onclick="openTab(event, 'Buy' )"id="buyBTN">Buy</button></div><div id='Files' class='tabcontent'><div class='tab-title'><h3 class='two-col'>Files</h3><a href=https://github.com/MaslowCNC/Firmware/blob/master/README.md class = 'edit_this_page_button' target='_blank'>Edit this page</a></div><table><tr><td class='project_image_area two-col'><img src=https://raw.githubusercontent.com/MaslowCNC/Firmware/master/mainpicture.jpg class = 'project_page_image'></td><td><a href=https://github.com/MaslowCNC/Firmware/releases class = 'button one-col'>Download Files</a><a href=https://github.com/MaslowCNC/Firmware class = 'button one-col' target='_blank'>Source</a></td></tr></table><div class='three-col'><h1>Maslow Firmware</h1>
<p>This is the firmware which controls the Maslow CNC machine</p>
<p><a href="https://travis-ci.org/MaslowCNC/Firmware"><img src="https://travis-ci.org/MaslowCNC/Firmware.svg?branch=master" alt="Build Status" class="page_img" /></a></p>
<p>This is the firmware for the Maslow CNC Router</p>
<h2>Steps to setup the Firmware development environment</h2>
<p>First clone the Firmware repository, then install and setup the IDE of your choice.</p>
<h3>Using Arduino IDE</h3>
<ol>
<li>Download <a href="https://www.arduino.cc/en/main/software">Arduino IDE</a> 1.8.1 or higher</li>
<li>Install Arduino IDE and run Arduino IDE</li>
<li>Navigate menus: File, Open</li>
<li>In the file chooser navigate to the cloned repository and choose the "cnc<em>ctrl</em>v1.ino" file to open</li>
<li>Navigate menu: Tools, Board, change to "Arduino/Genuino Mega or Mega 2560"</li>
<li>Navigate menu: Sketch -> Upload</li>
</ol>
<p>This should compile the project without errors, and possibly some warnings.</p>
<h3>Using PlatformIO</h3>
<ol>
<li>Download package for <a href="https://atom.io/">Atom</a></li>
<li>Follow directions for <a href="http://docs.platformio.org/en/latest/ide/atom.html#ide-installation">installing PlatformIO within Atom</a></li>
<li>Within Atom navigate menus: PlatformIO, Open Project</li>
<li>Select "Firmware" directory</li>
<li>Click "Open Firmware" </li>
</ol>
<h3>Using Eclipse Neon C/C++ with Sloeber plugin</h3>
<ol>
<li>Download <a href="https://eclipse.org/downloads/">Eclipse C/C++</a> Neon or higher</li>
<li>Install Eclipse C/C++ and run Eclipse</li>
<li>Install Sloeber Arduino plugin
<ul>
<li>Navigate menus: Help, Install New Software...</li>
<li>Copy this URL in the "Work With" field: http://eclipse.baeyens.it/update/V4/stable</li>
<li>Select "Add" button</li>
<li>Select "Sloeber Arduino IDE" check box</li>
<li>Select "Finish" button</li>
<li>Accept defaults and accept licenses, the plugin will restart Eclipse, and configure the plugin</li>
</ul></li>
<li>Change to Arduino perspective, navigate menus: Window, Perspective, Open Perspective, Other...
<ul>
<li>Choose the "Arduino" perspective and select "Ok" button</li>
</ul></li>
<li>Create an Arduino project
<ul>
<li>Navigate menus: File, New, New Arduino Sketch</li>
<li>Project Name: cnc<em>ctrl</em>v1</li>
<li>Select "Next" button</li>
<li>Select appropriate item from "Platform folder" drop down listing</li>
<li>Select Board: Arduino/Genuino Mega or Mega 2560</li>
<li>Select Upload Protocol: Default</li>
<li>Select Processor: ATmega2560 (Mega 2560)</li>
<li>Select "Finish" button</li>
</ul></li>
<li>Import project source code
<ul>
<li>Select project folder, navigate menus: File, Import...</li>
<li>Expand "General" and select "File system"</li>
<li>Select "Next" button</li>
<li>Select the "Browse" button to select the source location (location of the cloned repository cnc<em>ctrl</em>v1 directory)</li>
<li>Select whole source directory in the left pane</li>
<li>Open Advanced Settings by klicking on "Advanced>>" button</li>
<li>Select 'Create Links in Workspace' and 'Create virtual folders' leave other settings untouched</li>
<li>Select 'Finish' button</li>
<li>Eclipse asks if overwriting the original cnc<em>ctrl</em>v1.ino file is ok. Confirm with 'yes'.</li>
</ul></li>
<li>Update eclipse project include paths
<ul>
<li>Select the project folder in the project explorer and click Project->Properties in the menu.</li>
<li>In the Project properties left Pane select C/C++ Build->Settings</li>
<li>In the right Pane select the 'Tool Settings' Tab and add the path to the source location to the include paths of all compilers/linkers of the toolchain.</li>
<li>The last two steps may differ between toolchains.</li>
</ul></li>
</ol>
<h3>Using NotePad++ in Conjunction with the Arduino IDE</h3>
<ol>
<li>Download NotePad++ (Windows only) <a href="https://notepad-plus-plus.org/">link</a></li>
<li>Download the Arduino IDE <a href="https://www.arduino.cc/en/main/software">link</a></li>
<li>Set that you would like use an external editor from within the Arduino IDE by clicking File -> Preferences -> Use External Editor
*The Arduino editor will no longer allow you to edit the files, but instead will only work to compile and upload your code.
*The code can be edited from within NotePad++
*This method can be used on other platforms with editing programs other than NP++</li>
</ol>
</div></div><div id='Instructions' class='tabcontent'><div class='tab-title'><h3 class='two-col'>Instructions</h3><a href=https://github.com/MaslowCNC/Firmware/blob/master/INSTRUCTIONS.md class = 'edit_this_page_button' target='_blank'>Edit this page</a></div><br><br><br><br><div class='three-col'><h1>Maslow Firmware Setup</h1>
<p>Installing new firmware on your machine is important. We come out with a new firmware version every other week so be prepared to do this regularly. This process will also install the proper drivers to connect to your Arduino on some older computers so if you have trouble connecting it can be helpful to do this process on the same computer you will control the machine with.</p>
<h3>Step 1: Connect Your Arduino</h3>
<p>Connect your Arduino to your computer using the provided USB cable.</p>
<h3>Step 2: Download The Arduino IDE</h3>
<p>Download and install the last Arduino IDE from <a href="https://www.arduino.cc/en/Main/Software">https://www.arduino.cc/en/Main/Software</a>. Older versions of Arduino IDE have problems with libraries when compiling the firmware, so make sure you have the latest version.</p>
<p>Note - For Windows there are three options: "Windows Installer", "Windows Zip", and "Windows App".
Some users have reported problems with the "Windows App" version.
<img src="https://raw.githubusercontent.com/MaslowCNC/Firmware/master/Documentation/Download%20IDE.jpg" alt="Download IDE" class="page_img" /></p>
<h3>Step 3: Download The Latest Maslow Firmware</h3>
<p>You can do this at <a href="http://github.com/MaslowCNC/Firmware/releases/">http://github.com/MaslowCNC/Firmware/releases/</a> Click the zip file for the most recent release to download it. Extract the files from the zip folder.
<img src="https://raw.githubusercontent.com/MaslowCNC/Firmware/master/Documentation/Download%20Firmware.jpg" alt="Download Firmware" class="page_img" /></p>
<h3>Step 4: Open Firmware</h3>
<p>Click <strong>File -> Open</strong> and then open the firmware by selecting cnc<em>ctrl</em>v1.ino
<img src="https://raw.githubusercontent.com/MaslowCNC/Firmware/master/Documentation/Open%20Firmware.jpg" alt="Open Firmware" class="page_img" /></p>
<h3>Step 5: Select The Board Type</h3>
<p>Select the board type by clicking <strong>Tools -> Board -> Arduino/Genuino Mega or Mega 2560</strong>
<img src="https://raw.githubusercontent.com/MaslowCNC/Firmware/master/Documentation/Select%20Board.jpg" alt="Select Board Type" class="page_img" /></p>
<h3>Step 6: Select The Serial Port</h3>
<p>Select the correct port to connect to by clicking <strong>Tools -> Port -> Your Port</strong>. On Windows this will be something like COM3, on Mac and Linux computers it will be something like dev/tty/. You can find the right one by plugging and unplugging your Arduino compatible board and checking which option disappears.
<img src="https://raw.githubusercontent.com/MaslowCNC/Firmware/master/Documentation/Select%20COM%20Port.jpg" alt="Select Serial Port" class="page_img" /></p>
<h3>Step 7: Upload The Firmware</h3>
<p>Upload the newest firmware to your machine by clicking the upload button in the top left corner. The arrow looks disabled until you hover over it! <em>Linux users</em>: if you are getting timeout or permissions errors, you may need to add your username to the <code>dialout</code> group and then logout and back in. <a href="https://askubuntu.com/questions/112568/how-do-i-allow-a-non-default-user-to-use-serial-device-ttyusb0">Instructions here.</a>
<img src="https://raw.githubusercontent.com/MaslowCNC/Firmware/master/Documentation/Upload.jpg" alt="Upload Firmware" class="page_img" /></p>
<h3>Step 8: Finish</h3>
<p>You are now running the latest firmware. <em>Great Job!</em> Make sure you close the Arduino IDE before proceeding.</p>
<h3>Step 9: Proceed</h3>
<p>You have finished setting up the Maslow firmware. Proceed to the <a href="http://maslowcommunitygarden.org/GroundControl.html?instructions=true">next step</a> to install Ground Control on your OS.</p>
</div></div><div id='Forums' class='tabcontent'><div class='tab-title'><h3 class='three-col'>Forums</h3></div><div id='discourse-comments', class = 'forums_section'><script type='text/javascript'>DiscourseEmbed = { discourseUrl: 'https://forums.maslowcnc.com/',discourseEmbedUrl: 'http://maslowcommunitygarden.org/Firmware.html' };(function() {var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);})();</script></div></div><div id='Buy' class='tabcontent'><div class='tab-title'><h3 class='two-col'>Buy</h3><a href=https://github.com/MaslowCNC/Firmware/blob/master/BOM.md class = 'edit_this_page_button' target='_blank'>Edit this page</a></div><br><br><br><br><div class='three-col'><p>The firmware is and always will be free!</p>
<p>You can download the latest version <a href="https://github.com/MaslowCNC/Firmware/releases">here</a></p>
</div></div><div class='three-col'><script>function openTab(evt, tabName) {var i, tabcontent, tablinks;tabcontent = document.getElementsByClassName('tabcontent');for (i = 0; i < tabcontent.length; i++) {tabcontent[i].style.display = 'none';}tablinks = document.getElementsByClassName('tablinks');for (i = 0; i < tablinks.length; i++) {tablinks[i].className = tablinks[i].className.replace(' active', '');}document.getElementById(tabName).style.display = 'block';evt.currentTarget.className += ' active';var ifr = document.getElementById('discourse-embed-frame');ifr.src = ifr.src;}document.getElementById('defaultOpen').click();</script><script>if (window.location.search.indexOf('instructions=true') > -1 || window.location.search.indexOf('instructions=True') > -1) {document.getElementById('instructionsBTN').click();}if (window.location.search.indexOf('buy=true') > -1 || window.location.search.indexOf('buy=True') > -1) {document.getElementById('buyBTN').click();}</script></div></section><footer class='footer-basic-centered' style='clear: both;'><div class='inner-footer'><p class='footer-company-motto three-col'>The garden is a project of the <a href='http://www.maslowcnc.com'>Maslow CNC</a> community.</p><p class='footer-company-name three-col'>All content available under license of creator.</p></div></footer></body></html>