Skip to content

Commit eb55036

Browse files
committed
Merge branch 'sebromero/max-carrier-launch' into canchebagur/max-carrier-getting-started
# Conflicts: # content/hardware/04.pro/carriers/portenta-max-carrier/compatibility.yml # content/hardware/04.pro/carriers/portenta-max-carrier/datasheet/assets/maxCarrierAssembly.png # content/hardware/04.pro/carriers/portenta-max-carrier/datasheet/assets/maxCarrierPowerTree.svg # content/hardware/04.pro/carriers/portenta-max-carrier/datasheet/datasheet.md # content/hardware/04.pro/carriers/portenta-max-carrier/product.md
2 parents 2a834cf + b1df6bd commit eb55036

File tree

617 files changed

+298647
-29798
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

617 files changed

+298647
-29798
lines changed

.github/workflows/deploy-prd.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
name: Deploy to production
22

33
on:
4-
workflow_dispatch:
4+
push:
5+
branches:
6+
- main
57

68
jobs:
79
build:

.github/workflows/deploy-stg.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@ on:
44
workflow_dispatch:
55
push:
66
branches:
7-
- main
87
- ghaction
98

109
jobs:
1110
build:
12-
if: "github.repository == 'arduino/docs-content'"
1311
runs-on: ubuntu-latest
1412
env:
1513
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
.babelrc
22
.cache
3-
_templates
43
algolia-queries.js
54
envs
65
gatsby-*

.vscode/launch.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,17 @@
1414
"program": "validate.js",
1515
"args": ["-p", "../../content"],
1616
"cwd": "${workspaceFolder}/scripts/validation/"
17+
},
18+
{
19+
"type": "pwa-node",
20+
"request": "launch",
21+
"name": "Debug Quickfix",
22+
"skipFiles": [
23+
"<node_internals>/**"
24+
],
25+
"program": "fix-issues.js",
26+
"args": ["-p", "../../content"],
27+
"cwd": "${workspaceFolder}/scripts/validation/"
1728
}
1829
]
1930
}

Power_Tree_Max_Carrier.svg

Lines changed: 91 additions & 0 deletions
Loading

README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,22 @@ The production website is available at: <https://docs.arduino.cc>
99
## How Can I Contribute?
1010

1111
Contributing by creating content or suggestion changes to existing content can be done by making **pull requests**.
12+
1213
You start by forking the repository or by creating a new branch if you have write access to this repo. Create a new branch based on main and name it according to what you will create prefixed with your github username and a slash (e.g. `sebromero/wifi-tutorial`). Read in the section below how to add different types of new content.
1314

1415
When you're done with a draft you can create a pull request. This will give the content team the possibility to review it and leave comments or request changes. During this review process you can continue to push commits to the same branch. They will show up in the pull request automatically.
16+
1517
Once the pull request gests approved and merged into main, the content will be deployed to the live server.
1618

19+
There are four different content types you can contribute with. These are **tutorial**, **article**, **how to** and **project**. Please read more on what they mean and how to write one in the [Contribution Templates folder](/contribution-templates/README.md).
20+
21+
|Content|Description|Example|
22+
|-------|-----------|-------|
23+
|Tutorial|Learn how to do something.|[Control Built-in RGB LED over Wi-Fi with Nano RP2040 Connect](https://docs.arduino.cc/tutorials/nano-rp2040-connect/rp2040-web-server-rgb)|
24+
|Article|Learn about a specific topic.|[Multimeter Basics](https://docs.arduino.cc/learn/electronics/multimeter-basics)|
25+
|How To|Smaller tutorial with less information and more straight to the example.|[Analog Read Serial](https://docs.arduino.cc/built-in-examples/basics/AnalogReadSerial)|
26+
|Project|Learn how to build something.|[DIY Photoshop Editing Console using Arduino Nano RP2040 Connect](https://create.arduino.cc/projecthub/jithinsanal1610/diy-photoshop-editing-console-using-arduino-nano-rp-2040-a43e97?ref=search&ref_id=nano%20rp2040%20connect&offset=0)|
27+
1728
## Fixing Bugs and Typos
1829

1930
If you found a mistake in the content you need to locate the corresponding file to fix it and create a pull request. Here is how to locate the content.
@@ -37,7 +48,7 @@ If you found a mistake in the content you need to locate the corresponding file
3748

3849
### Software
3950

40-
- If you found an issue in a sofware product's tutorial they are located according to the following pattern:
51+
- If you found an issue in a software product's tutorial they are located according to the following pattern:
4152
`/content/software/[product-name]/tutorials/(tutorial-subfolder)/[tutorial-name]/[content-file].md`
4253

4354
## Adding Content

content/built-in-examples/09.usb/ButtonMouseControl/ButtonMouseControl.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Connect your board to your computer with a micro-USB cable. The buttons are conn
3838

3939
![](assets/circuit.png)
4040

41-
###Schematic
41+
### Schematic
4242

4343
![](assets/schematic.png)
4444

Loading

content/built-in-examples/09.usb/KeyboardAndMouseControl/KeyboardAndMouseControl.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ tags:
1212

1313
This example illustrates the use of the Mouse and Keyboard libraries together. Five momentary switches act as directional buttons for your cursor. When a button is pressed, the cursor on your screen will move, and a keypress, corresponding to the letter associated with the direction, will be sent to the computer. Once you have the Leonardo, Micro or Due programmed and wired up, open up your favorite text editor to see the results.
1414

15-
**NB: When you use the Mouse and Keyboard library functions, the Arduino takes over your computer's cursor! To insure you don't lose control of your computer while running a sketch with this function, make sure to set up a controller before you call Mouse.move().**
15+
**NB: When you use the Mouse and Keyboard library functions, the Arduino takes over your computer's cursor! To ensure you don't lose control of your computer while running a sketch with this function, make sure to set up a controller before you call Mouse.move().**
1616

1717
### Hardware Required
1818

@@ -57,4 +57,4 @@ You can find more basic tutorials in the [built-in examples](/built-in-examples)
5757

5858
You can also explore the [language reference](https://www.arduino.cc/reference/en/), a detailed collection of the Arduino programming language.
5959

60-
*Last revision 2015/07/29 by SM*
60+
*Last revision 2015/07/29 by SM*
Loading

content/cloud/iot-cloud/tutorials/01.iot-cloud-getting-started/iot-cloud-getting-started.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ Connection through mobile networks can be considered in remote areas where there
8484

8585
***For more information, visit the [Arduino SIM page](https://store.arduino.cc/digital/sim).***
8686

87+
***Note that a secured connection is a memory intense operation, so there's not a lot of memory for the user application (e.g. around 2.6 kB on the MKR GSM 1400). Using a lot of IoT Cloud variables may cause the sketch to run out of memory on boards which don't offload the SSL stack and make it crash.***
88+
8789
### ESP32 / ESP8266
8890

8991
The Arduino IoT Cloud supports a wide range of third party boards based on the ESP32 and ESP8266 microcontrollers with support for Wi-Fi. To set them up, simply choose the **third party option** in the device setup.

content/cloud/iot-cloud/tutorials/03.cloud-scheduler/cloud-scheduler.md

Lines changed: 58 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ software:
77
- iot-cloud
88
---
99

10-
It is now possible to schedule jobs with the [Arduino IoT Cloud](https://create.arduino.cc/iot/), using the new `CloudSchedule` variable type. You can pick a start & end date for when the variable should be triggered, and for how long it should be active. This is done through the IoT Cloud dashboards.
10+
It is now possible to schedule jobs with the [Arduino IoT Cloud](https://create.arduino.cc/iot/), using the new `CloudSchedule` variable type. You can pick a start & end date for when the variable should be triggered, and for how long it should be active. This variable can be controlled in real time using a graphical widget that you can place on an IoT Cloud dashboard.
1111

1212
We can for example have:
1313

14-
- One trigger scheduled to go off every minute, and last for 10 seconds
15-
- One trigger scheduled to go off every hour, and last for 10 minutes.
14+
- One trigger scheduled to run every minute for 10 seconds
15+
- One trigger scheduled to run every hour for 10 minutes
1616

1717
## Goals
1818

@@ -21,48 +21,18 @@ The goals of this project are:
2121
- Learn how the `CloudSchedule` variable works.
2222
- Learn how to access local time in your sketch.
2323

24-
## Hardware & Software Needed
25-
26-
For this tutorial, you will need a cloud compatible board. You can see the full list below:
27-
28-
- [MKR 1000 WiFi](https://store.arduino.cc/arduino-mkr1000-wifi)
29-
- [MKR WiFi 1010](https://store.arduino.cc/arduino-mkr-wifi-1010)
30-
- [MKR GSM 1400](https://store.arduino.cc/arduino-mkr-gsm-1400)\*
31-
- [MKR NB 1500](https://store.arduino.cc/arduino-mkr-nb-1500-1413)\*
32-
- [Nano RP2040 Connect](https://store.arduino.cc/nano-rp2040-connect)
33-
- [Nano 33 IoT](https://store.arduino.cc/arduino-nano-33-iot)
34-
- [Portenta H7](https://store.arduino.cc/portenta-h7)
35-
36-
***The MKR GSM 1400 & MKR NB 1500 requires a SIM card with a data plan to work. You can read more about it in [this page](https://store.arduino.cc/digital/sim).***
24+
Make sure you have a [cloud-compatible board](/cloud/iot-cloud/tutorials/technical-reference#compatible-hardware).
3725

3826
## How Does it Work?
3927

40-
The working principle of the scheduler is pretty straight forward. The `CloudSchedule` variable can be configured to go off at a specific time, with a specific duration. In the code, you do not need to worry about any timers, as this is done in the Arduino IoT Cloud. The "jobs" are created in the dashboard, through a widget associated to the variable.
28+
A variable of `CloudSchedule` type can be configured to trigger at a specific time, with a specific duration. In the code, you do not need to worry about the logic for this. The configuration of the variable is done in the dashboard, through a widget associated to the variable.
4129

42-
For example, we can set `schedule_variable` to be:
30+
For example, we can set such variable to be:
4331
- ON for 10 seconds, every minute.
4432
- ON for 8 hours, every day.
4533
- ON for a week, and then finish.
4634

47-
![Example of how a scheduler works.](assets/cloud-scheduler-img-01.png)
48-
49-
## API
50-
51-
The two **variables types** introduced in this tutorial are `CloudTime` and `CloudSchedule`. These are used to retrieve local time and to schedule a job respectively.
52-
53-
The `CloudSchedule` variable is of a **complex type**. It has a **internal boolean state**, which can be checked through the `isActive()` function (returns `true` or `false`).
54-
55-
```arduino
56-
if(schedule_variable.isActive()) {
57-
//do something
58-
}
59-
```
60-
61-
The `CloudTime` variable is an unsigned integer which is used to store current time. We can use the `getLocalTime()` function to retrieve local time.
62-
63-
```arduino
64-
time_variable = ArduinoCloud.getLocalTime();
65-
```
35+
![Example of a schedule configured to run for 10 seconds every minute.](assets/cloud-scheduler-img-01.png)
6636

6737
## Application Examples
6838

@@ -75,15 +45,12 @@ There are countless examples where schedulers can be used, but predominantly it
7545
To test out functionality of your scheduler job, we can turn on an LED while the job is active.
7646

7747
```arduino
78-
// whenever the job is "active", turn on the LED
79-
if(schedule_variable.isActive()){
80-
digitalWrite(LED, HIGH);
81-
}
82-
83-
84-
// whenever the job is "not active", turn off the LED
85-
else{
86-
digitalWrite(LED, LOW);
48+
if (schedule_variable.isActive()) {
49+
// whenever the job is "active", turn on the LED
50+
digitalWrite(LED, HIGH);
51+
} else {
52+
// whenever the job is "not active", turn off the LED
53+
digitalWrite(LED, LOW);
8754
}
8855
```
8956

@@ -96,23 +63,22 @@ You can set up **multiple scheduler variables.** This way, you can have a differ
9663
- Change a string.
9764

9865
```arduino
99-
//scheduler 1 (write a high state to a pin)
100-
if(schedule_variable_1.isActive()){
101-
digitalWrite(3, HIGH);
102-
}
103-
else{
104-
digitalWrite(3, HIGH);
66+
// scheduler 1 (write a high state to a pin)
67+
if (schedule_variable_1.isActive()) {
68+
digitalWrite(3, HIGH);
69+
} else {
70+
digitalWrite(3, LOW);
10571
}
10672
107-
//scheduler 2 (read a sensor)
108-
if(schedule_variable_2.isActive()){
109-
sensor_variable = analogRead(A1);
73+
// scheduler 2 (read a sensor)
74+
if(schedule_variable_2.isActive()) {
75+
sensor_variable = analogRead(A1);
11076
}
11177
112-
//scheduler 3 (change a string)
113-
if(schedule_variable_3.isActive()){
114-
string_variable = "";
115-
string_variable = "Update something here!";
78+
// scheduler 3 (change a string)
79+
if (schedule_variable_3.isActive()) {
80+
string_variable = "";
81+
string_variable = "Update something here!";
11682
}
11783
```
11884

@@ -122,14 +88,12 @@ string_variable = "Update something here!";
12288
Turning on and off light sources can be a great power saver for the office, home or vacation home. This can be achieved with a few lines of code and a [relay shield](https://store.arduino.cc/products/arduino-mkr-relay-proto-shield).
12389

12490
```arduino
125-
//can be configured to be ON between 8am - 5pm
126-
if(schedule_variable.isActive()){
127-
digitalWrite(relay, HIGH);
128-
}
129-
130-
//can be set to OFF between 5pm - 8am the next morning
131-
else{
132-
digitalWrite(relay, LOW);
91+
if (schedule_variable.isActive()) {
92+
// can be configured to be ON between 8am - 5pm
93+
digitalWrite(relay, HIGH);
94+
} else {
95+
//can be set to OFF between 5pm - 8am the next morning
96+
digitalWrite(relay, LOW);
13397
}
13498
```
13599

@@ -140,25 +104,21 @@ digitalWrite(relay, LOW);
140104
For a "smart watering" setup, if you connect a pump through a relay, you can schedule a job to be on for a period of time (pumping water) and then turn off. This could for example occur for a few seconds every day to keep your plants alive.
141105

142106
```arduino
143-
//configure to be "on" for 10 seconds every day
144-
if(schedule_variable.isActive()){
145-
digitalWrite(pump, HIGH);
146-
}
147-
148-
else{
149-
digitalWrite(pump, LOW);
107+
// configure to be "on" for 10 seconds every day
108+
if (schedule_variable.isActive()) {
109+
digitalWrite(pump, HIGH);
110+
} else {
111+
digitalWrite(pump, LOW);
150112
}
151113
```
152114

153115
Or, if you use a driver, such as **L298N**, you can control the pump through:
154116

155117
```arduino
156-
if(schedule_variable.isActive()){
157-
analogWrite(pump, 127); //range between 0-255
158-
}
159-
160-
else{
161-
analogWrite(pump, 0);
118+
if (schedule_variable.isActive()) {
119+
analogWrite(pump, 127); // range between 0-255
120+
} else {
121+
analogWrite(pump, 0);
162122
}
163123
```
164124

@@ -171,6 +131,24 @@ In this section you will find a step by step tutorial that will guide you to cre
171131
- Create a basic sketch & upload it to the board.
172132
- Create a dashboard.
173133

134+
### API
135+
136+
The two **variables types** introduced in this tutorial are `CloudTime` and `CloudSchedule`. These are used to retrieve local time and to schedule a job respectively.
137+
138+
The `CloudSchedule` variable is of a **complex type**. It has a **internal boolean state**, which can be checked through the `isActive()` function (returns `true` or `false`).
139+
140+
```arduino
141+
if(schedule_variable.isActive()) {
142+
//do something
143+
}
144+
```
145+
146+
The `CloudTime` variable is an unsigned integer which is used to store current time. We can use the `getLocalTime()` function to retrieve local time.
147+
148+
```arduino
149+
time_variable = ArduinoCloud.getLocalTime();
150+
```
151+
174152
### Create a Thing
175153

176154
***If you are new to the Arduino IoT Cloud, you can either visit the [Getting Started with Arduino IoT Cloud](https://docs.arduino.cc/cloud/iot-cloud/tutorials/iot-cloud-getting-started) guide, or any of the tutorials in the [Arduino IoT Cloud documentation](https://docs.arduino.cc/cloud/iot-cloud). There you will find detailed step by step guides.***

content/hacking/01.software/Bootloader/Bootloader.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ Windows XP may be polling your parallel port and disrupting the bootloader burni
2626
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Parport\Parameters]
2727
"DisableWarmPoll"=dword:00000001
2828
```
29-
See this [forum thread](http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1142106610) for details.
3029

3130
## Versions of the Bootloader
3231
There are different versions of the bootloader - both in order to work on different hardware and because it has changed over time.

content/hacking/01.software/LibraryTutorial/LibraryTutorial.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,6 @@ It's also nice to provide people with an example sketch that uses your library.
225225

226226
If you'd like to check out the complete library (with keywords and example), you can download it: [Morse.zip](https://www.arduino.cc/en/uploads/Hacking/Morse.zip).
227227

228-
That's all for now but I'll probably write an advanced library tutorial soon. In the meantime, if you have any problems or suggestions, please post them to the [Software Development forum](http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=dev).
228+
That's all for now but I'll probably write an advanced library tutorial soon. In the meantime, if you have any problems or suggestions, please post them to the [Software Development forum](https://forum.arduino.cc/c/development/libraries/39).
229229

230-
For more information, see the [API Style Guide](https://www.arduino.cc/en/Reference/APIStyleGuide) for information on making a good Arduino-style API for your library.
230+
For more information, see the [API Style Guide](https://www.arduino.cc/en/Reference/APIStyleGuide) for information on making a good Arduino-style API for your library.

content/hardware/01.mkr/01.boards/mkr-1000-wifi/product.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ url_shop: https://store.arduino.cc/arduino-mkr1000-wifi
44
url_guide: /software/ide-v1/installing-samd21-core
55
core: arduino:samd
66
forumCategorySlug: '/hardware/mkr-boards/mkr1000/137'
7+
status: end-of-life
8+
productCode: '017'
79
---
810

911
The Arduino MKR 1000 WiFi is the easiest point of entry to basic IoT and pico-network application design. Whether you are looking at setting up a sensor network for your office or building a smart home, the MKR 1000 WiFi will make that journey easy.

content/hardware/01.mkr/01.boards/mkr-1000-wifi/tutorials/AnalogToMidi/AnalogToMidi.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ Defines the correspondence between notes and MIDI note values. Part of MIDIUSB
5656

5757
### Functions In Sketch
5858

59-
*searchForNote(float frequency)*
59+
**searchForNote(float frequency)**
6060
Search for the nearest frequency that is in the vector of frequencies noteFrequency[ ]
6161

62-
*noteOn(byte channel, byte pitch, byte velocity)*
62+
**noteOn(byte channel, byte pitch, byte velocity)**
6363
Sends out to MIDI the event to turn on the note of the specified pitch on the specified MIDI Channel
6464

65-
*void noteOff(byte channel, byte pitch, byte velocity)*
65+
**void noteOff(byte channel, byte pitch, byte velocity)**
6666
Sends out to MIDI the event to turn off the note of the specified pitch on the specified MIDI Channel
6767

6868
## Code

content/hardware/01.mkr/01.boards/mkr-1000-wifi/tutorials/WiFi101OTA/WiFi101OTA.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,4 +202,4 @@ void printWifiStatus() {
202202

203203

204204

205-
*Last revision 2017/03/24 by AG*
205+
**Last revision 2017/03/24 by AG**

0 commit comments

Comments
 (0)