-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.html
233 lines (219 loc) · 11.3 KB
/
index.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
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-157182554-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-157182554-1');
</script>
<meta charset="utf-8">
<title>P1AM Documentation</title>
<link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="styles.css">
<script src="modules.js"></script>
<script src="main.js"></script>
<link rel="shortcut icon" type="image/png" href="/favicon.png"/>
</head>
<body>
<div class="sidebar">
<div class="sidebar-header">
<a id="title" href="/index.html">P1AM</a>
</div>
<ul class="sidebar-content"></ul>
</div>
<div class="header">
<img src="Aqua-productivity-open_logo_large-CTP-01.png" height="175px">
<img src="adc_logo_rot.png" width="85x" style="float:right; margin-right:20px; margin-top:20px">
</div>
<div class="content">
<!--Overview ------------------------------------------------------->
<h2>
Overview
</h2>
<p>The ProductivityOpen P1AM is an automation platform compatible with Productivity1000
Series I/O modules, P1AM Series shields, and Arduino MKR format shields.
</p>
<p><strong>P1AM-100:</strong> This board uses the SAMD21G18 Microcontroller like the
Arduino MKRZERO and other similar boards. It can be programmed in C/C++ using the Arduino IDE.
</p>
<p><strong>P1AM-200:</strong> This board uses the ATSAMD51P20 Microcontroller like the
Adafruit Grand Central M4. It can be programmed in CircuitPython using a
<a href="https://learn.adafruit.com/welcome-to-circuitpython/recommended-editors"> compatible text editor like Microsoft VS Code</a> or in C/C++
using the Arduino IDE.
<li>To change from programming in CircuitPython to Arduino, simply upload any program to the P1AM-200 using the Arduino IDE.</li>
<li>To change from programming in Arduino to CircuitPython, double tap the reset button and drag the .uf2 file into the P1AM200BOOT drive. It will reset and boot into CircuitPython.</li>
</p>
<!--P1AM-100 Getting Started ------------------------------------------------------->
<div class="line"></div>
<h2>
Arduino Getting Started
</h2>
<div class="line"></div>
<p><strong>Arduino IDE Setup</strong></p>
<div class="installList">
<ul>
<li>Follow the <a href="#arduino-ide-setup">Arduino IDE Setup</a> process to install the board core and library in the Arduino IDE.</li>
</ul>
</div>
<p><strong>Select the Board and Port</strong></p>
<div class="installList">
<ul>
<li>Connect the P1AM-CPU to the PC using a microUSB cable.<br>
</li>
<li>Select the board: <div class="textBlock">Tools > Board > P1AM-100 or P1AM-200</div>.</li>
<li>Select the port: <div class="textBlock">Tools > Port > P1AM-100 or P1AM-200</div>.</li>
</ul>
</div>
<p><strong>Select and Upload Blink Program</strong></p>
<div class="installList">
<ul>
<li>Select the Blink program: <div class="textBlock">File > Examples > Basics > Blink</div> This program will blink the yellow LED.</li>
<li>Upload the program by clicking on the round icon with a right arrow on the top bar.</li>
<li>After the program has been uploaded, the yellow LED will blink on and off every second.</li>
</ul>
</div>
<p><strong>P1AM Library Examples and API</strong></p>
<div class="installList">
<ul>
<li>The P1AM Library examples are located in <div class="textBlock">File > Examples > P1AM</div></li>
<li>It is recommended to take a look at the basic examples to become familiar with the
<a href="https://facts-engineering.github.io/api_reference.html">P1AM library API</a> to control module I/O<br>
<strong>NOTE: The P1AM library only controls the module I/O(right side).</strong></li>
</ul>
</div>
<!--P1AM-200 Getting Started ------------------------------------------------------->
<div class="line"></div>
<h2>
CircuitPython Getting Started
</h2>
<div class="line"></div>
<p>To program in CircuitPython only a text editor is required. It is recommended to use <a href="https://code.visualstudio.com/">Microsoft VS Code</a> for programming in CircuitPython. Other supported IDEs can be found
<a href="https://learn.adafruit.com/welcome-to-circuitpython/recommended-editors">here</a>.
</p>
<p><strong>Updating the Board Libraries</strong></p>
<p>The P1AM-200 arrives will all libraries needed to use the board. However, it is recommended to update the libraries to the latest version.
</p>
<div class="installList">
<ul>
<li>Connect the P1AM-200 to your PC using a microUSB cable.</li>
<li>A new drive should appear on your PC called <span class="textBlock">CIRCUITPY</span>.</li>
<li>To update the libraries grab the latest bundle from <a href="https://github.com/facts-engineering/ProductivityOpen_CircuitPython_Bundle/releases/latest">here</a>.</li>
<li>Extract the contents of the bundle to the root directory on the <span class="textBlock">CIRCUITPY</span> drive.</li>
<li style="margin-left: 40px;"><strong>NOTE: Before extracting the bundle on first-time setup, you must delete the following from your CIRCUITPY drive:</strong></li>
<li style="margin-left: 40px;"><span class="textBlock">lib</span> folder</li>
<li style="margin-left: 40px;"><span class="textBlock">examples</span> folder</li>
<li style="margin-left: 40px;"><span class="textBlock">bundle.txt</span></li>
</ul>
</div>
<p><strong>The CircuitPython Drive</strong></p>
<p>CircuitPython boards will enumerate as a USB Mass Storage Device named <span class="textBlock">CIRCUITPY</span>. This drive can be viewed with your operating systems file explorer and files can be opened in any supported text editor.
<br>Below are some important files and directories and their purpose.
</p>
<div class="installList">
<ul>
<li><strong>code.py:</strong> This is the program that CircuitPython will execute on power-up.</li>
<li><strong>lib: </strong> This directory contains libraries that can be imported into the application. Any downloaded library source should be placed in this folder to be used.</li>
<li><strong>examples: </strong> This directory contains all example programs for the included libraries.</li>
</ul>
</div>
<p><strong>Serial Console</strong></p>
<div class="installList">
<p>CircuitPython boards will enumerate as a USB Serial Device. This can be used to interface with running programs or use the device with the REPL command line.
<br> Below are some common keyboard commands to interact with the REPL.
</p>
<ul>
<li><span class="textBlock">CTRL + C</span> - Stop the current executing program. Hit any key to enter the REPL.</li>
<li><span class="textBlock">CTRL + D</span> - Soft reboot the board and start running code.py.</li>
</ul>
</div>
<!--Arduino IDE Setup -------------------------------------------------------------->
<div class="line"></div>
<a id="arduino-ide-setup"></a>
<h2 id="p1am-100-library-install">Arduino IDE Setup</h2>
<div class="line"></div>
<p><strong>Important Note: </strong>
This installation process will require an internet connection. If you need
an alternative install method for PCs not connected to the internet or with other restrictions,
please follow the directions at <a href="https://facts-engineering.github.io/faqs.html#offline">this
link.</a>
</p>
<p>Install the most recent Arduino IDE version 2.x.x or later.
<a href="https://www.arduino.cc/en/main/software">Arduino website</a>.
</p>
<p><strong>Install From Library Manager</strong></p>
<div class="installList">
<ul>
<li>In the Arduino IDE go to <div class="textBlock">Sketch > Include Library > Manage Libraries
</div>
</li>
<li>Type <strong>P1AM</strong> into the search box</li>
<li>Click the install button in the P1AM library box
</li>
</ul>
</div>
<p><strong>Manual Library Install</strong></p>
<div class="installList">
<ul>
<li>Click the green button that says <strong>Clone or download</strong>
<a href="https://github.com/facts-engineering/P1AM">on this repository page</a></li>
<li>Select <strong>Download ZIP</strong></li>
<li>In the Arduino IDE go to <div class="textBlock">Sketch > Include Library > Add .ZIP Library
</div>
</li>
<li>Navigate to the ZIP file that you downloaded in the window that opens</li>
</ul>
<h3 id="boards-manager-install">Boards Manager Install</h3>
<ul>
<li>Start the Arduino IDE and select <div class="textBlock">File > Preferences</div>
</li>
<li>Enter <div id="boardLink" class="textBlock">
https://raw.githubusercontent.com/facts-engineering/facts-engineering.github.io/master/package_productivity-P1AM-boardmanagermodule_index.json
</div>
into the <strong>Additional Board Manager URLs</strong> field. You can add multiple URLs, separating
them with commas.</li>
<li>Open the Boards Manager from <div class="textBlock">Tools > Board > Boards Manager</div>
</li>
<li>Type <strong>P1AM</strong> into the search box and install the <strong>P1AM</strong> platform
</li>
<li>Select <div class="textBlock">Tools > Board > P1AM-100 or P1AM-200</div>
</li>
<li>Go to <div class="textBlock">Tools > Port</div> and select the COM Port for your P1AM-CPU</li>
</ul>
Boards manager link:<br>
<div id="boardLink" class="textBlock">
https://raw.githubusercontent.com/facts-engineering/facts-engineering.github.io/master/package_productivity-P1AM-boardmanagermodule_index.json
</div>
<h3 id="driver-installation">P1AM-100 Driver Installation</h3>
<p>If you are having issues with the USB being discovered or not showing up correctly, installing the device driver may fix the issue.
<div class="installList">
<ul>
<li>Download the driver installer <a href="https://github.com/facts-engineering/P1AMCore/raw/master/drivers.zip">here</a>.</li>
<li>Extract the .zip file to your PC.</li>
<li>Unplug any P1AM-100 systems from your PC.</li>
<li>Run <b>P1AM-100_install.bat</b> and follow the prompts to install the driver.</li>
</ul>
</div>
</p>
<br>
<div class="line"></div>
<h3>Additional Resources</h3>
<ul>
<li><a href="https://github.com/AutomationDirect/ProductivityBlocks">ProductivityBlocks Graphical
Programming Tool from AutomationDirect</a></li>
<li><a href="http://go2adc.com/p1am">AutomationDirect P1AM Customer Forum</a></li>
<li><a href="https://www.automationdirect.com/adc/home/home">AutomationDirect Webstore</a></li>
<li><a href="https://www.arduino.cc/en/Guide/HomePage">Arduino Getting Started</a></li>
<li><a href="https://forum.arduino.cc/index.php">Arduino Forum</a></li>
<li><a href="https://learn.adafruit.com/welcome-to-circuitpython/welcome-to-the-community">Adafruit's CircuitPython Introduction</a></li>
<li><a href="http://adafru.it/discord">Adafruit Support Discord</a></li>
<li><a href="https://discord.com/invite/jQJFwW7">Arduino Support Discord</a></li>
</ul>
</div>
</div>
</body>
</html>