Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion book/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@
- [Filesystem](filesystem.md)
- [Web Server](web.md)
- [WiFi](wifi.md)
- [Serial](serial.md)
- [Serial and Debug Logging](serial.md)
- [mDNS](mdns.md)
37 changes: 27 additions & 10 deletions book/src/arduino_user.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,28 @@

⚠️ Install [Arduino-LittleFS-Upload](https://github.com/earlephilhower/arduino-littlefs-upload) for filesystem uploading.

⚠️ ESP32 board library : Open **Boards Manager** icon in Arduino 2.0 IDE, type **esp32** in the Boars Manager **search bar** and install *esp32* by *Espressif Systems*.
⚠️ ESP32 board library: Open **Boards Manager** icon in Arduino 2.0 IDE, type **esp32** in the Boards Manager **search bar** and install *esp32* by *Espressif Systems*.

⚠️ Partition size options : Select any options that offer minimal partition before building program. These options vary depending on board capabilities and can be found here : `/Tools/Partition Scheme/`. A common option is `Minimal SPIFFS` such as : `/Tools/Partition Scheme/Minimal SPIFFS`.
Warning, some boards simply do not have such options.
⚠️ Partition size options: Select any options that offer minimal partition before building the program. These options vary depending on board capabilities and can be found here: `/Tools/Partition Scheme/`. A common option is `Minimal SPIFFS` such as: `/Tools/Partition Scheme/Minimal SPIFFS`.
Warning: some boards simply do not have such options.

## How to Use

1. **Install Arduino 2.0 IDE**

2. **Dowload the `puara-module` library from library manager**
2. **Download the `puara-module` library from Library Manager**

3. **Open a puara template in Arduino IDE**: Open Arduino IDE, go to File/Examples/puara-module/ and select the template of your choice.

4. **Configure the board**: Ensure the `board` and `port` variables in the IDE match your board.

5. **Edit partition scheme** : Allow more space for your programs. Go to :
5. **Edit partition scheme**: Allow more space for your programs. Go to:
- Tools/Partition Scheme/
Select `Minimal Spiffs` or similar option. Different boards have different possibilities but generally the `Minimal Spiffs:...` option should be present.

6. **Edit the template**: You are now ready to edit the template according to your board/needs.

7. **Edit the filesystem**: To modify network configurations, add or modify the available variables in the settings, got to :
7. **Edit the filesystem**: To modify network configurations, add or modify the available variables in the settings, go to:
- `Sketch/Show Sketch Folder` which will open your local project folder
- Enter `data/` folder:
- Modify network name (SSID) and password (PSK) configurations in config.json;
Expand Down Expand Up @@ -55,7 +55,8 @@ On macOS, press `[⌘]` + `[Shift]` + `[P]` to open the Command Palette in the A

⚠️
**Every template related to Puara Module has a different set of options but they all generally respect the following explanation.**
The following sections are detailed more thoroughly in the [Puara Module](https://github.com/Puara/puara-module) doumentation.
If needed, the following sections are detailed more thoroughly in the [Puara Module Book](https://puara.github.io/puara-module/introduction.html#2-developer-reference)


### 1. Establishing WiFi

Expand All @@ -74,12 +75,12 @@ The `puara-module` supports three modes of operation:
3. **Station (STA) Mode**:
- The device connects to an existing WiFi network.
- The Access Point is turned off with `persistent_AP=0`
- Useful to limit Wifi pollution and securing device.
- Useful to limit WiFi pollution and secure the device.


### 2. Making the Web Server Accessible

Browser-accessible pages available for configuring, scanning, and managing settings on your device are made availabe through Puara Module.
Browser-accessible pages available for configuring, scanning, and managing settings on your device are made available through Puara Module.

Once the web server is running, you can access it in two ways:

Expand Down Expand Up @@ -120,7 +121,7 @@ User may add/modify fields in this file and then upload the new filesystem in or

---

For more detailed documentation, please refer to the mdBook in the puara-module's github repository.
For more detailed documentation, please refer to the Puara Module [developer documents](https://puara.github.io/puara-module/introduction.html#2-developer-reference)

---

Expand All @@ -134,6 +135,7 @@ Each example includes a `data/` folder containing configuration files (`config.j

⚠️ **After building and uploading the firmware to your board, you must also upload the filesystem**.

---

### 1. Basic Example

Expand All @@ -147,6 +149,9 @@ A minimal example demonstrating core Puara Module functionality. This example:

This is the best starting point for learning how to use the Puara framework.


---

### 2. OSC-Send Example

**File**: `examples/OSC-Send/OSC-Send.ino`
Expand All @@ -159,6 +164,9 @@ Demonstrates how to set up a basic OSC transmitter. This example:

**Note**: Please refer to [CNMAT's OSC repository](https://github.com/CNMAT/OSC) on GitHub for more details on OSC.

---


### 3. OSC-Receive Example

**File**: `examples/OSC-Receive/OSC-Receive.ino`
Expand All @@ -173,6 +181,9 @@ The example expects a float between [0,1] on the OSC address `/led/brightness` w

**Note**: Please refer to [CNMAT's OSC repository](https://github.com/CNMAT/OSC) on GitHub for more details on OSC.

---


### 4. OSC-Duplex Example

**File**: `examples/OSC-Duplex/OSC-Duplex.ino`
Expand All @@ -185,6 +196,9 @@ Combines both OSC-Send and OSC-Receive functionality in a single sketch. This ex

**Note**: Please refer to [CNMAT's OSC repository](https://github.com/CNMAT/OSC) on GitHub for more details on OSC.

---


### 5. BLE Advertising Example

**File**: `examples/ble-advertising/ble-advertising.ino`
Expand Down Expand Up @@ -224,6 +238,9 @@ You can customize the BLE advertising behavior:

For more information, see the [BLE-CBOR-to-OSC script documentation](https://gitlab.com/sat-mtl/collaborations/2024-iot/ble-cbor-to-osc).

---





8 changes: 4 additions & 4 deletions book/src/browser.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This document explains the browser-accessible pages available for configuring, s

The **Config Page** is the main page of the web interface, allowing you to manage network and device configuration parameters.

![Config Page](../media/browser_config.png)
![Config Page](media/browser_config.png)

### Key Parameters

Expand Down Expand Up @@ -57,7 +57,7 @@ You can modify configuration values directly in the source file, then build and

The **Scan Page** displays WiFi networks detected by your device, helping you identify available networks to connect to.

![Scan Page](../media/browser_scan.png)
![Scan Page](media/browser_scan.png)

### Features

Expand All @@ -71,7 +71,7 @@ The **Scan Page** displays WiFi networks detected by your device, helping you id

The **Settings Page** allows you to view and modify custom application variables defined in your project.

![Settings Page](../media/browser_settings_rndm.png)
![Settings Page](media/browser_settings_rndm.png)

### Features

Expand Down Expand Up @@ -119,4 +119,4 @@ The `/data/settings.json` file stores custom application settings as an array of

For projects using OSC communication, the settings page can be used to configure IP addresses and ports:

![OSC Settings Page](../media/browser_settings_osc.png)
![OSC Settings Page](media/browser_settings_osc.png)
2 changes: 1 addition & 1 deletion book/src/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@ Technical documentation for understanding and extending the codebase:
- [Filesystem](filesystem.md) - LittleFS vs SPIFFS configuration
- [Web Server](web.md) - Integrated web server for device configuration
- [WiFi](wifi.md) - WiFi connection management
- [Serial](serial.md) - Serial communication and debug output
- [Serial and Debug Logging](serial.md) - Serial communication and debug output
- [mDNS](mdns.md) - Local network device discovery
File renamed without changes
File renamed without changes
34 changes: 27 additions & 7 deletions book/src/pio_user.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ This [repository](https://github.com/Puara/puara-module-templates) contains seve


**Every template related to Puara Module has a different set of options but they all generally respect the following explanation.**
The following sections are detailed more thoroughly in the [Puara Module](https://github.com/Puara/puara-module) doumentation.
The following sections are detailed more thoroughly in the [Puara Module Book](https://puara.github.io/puara-module/introduction.html).

### 1. Establishing WiFi

Expand All @@ -59,12 +59,12 @@ The `puara-module` supports three modes of operation:
3. **Station (STA) Mode**:
- The device connects to an existing WiFi network.
- The Access Point is turned off with `persistent_AP=0`
- Useful to limit Wifi pollution and securing device.
- Useful to limit WiFi pollution and secure the device.


### 2. Making the Web Server Accessible

Browser-accessible pages available for configuring, scanning, and managing settings on your device are made availabe through Puara Module.
Browser-accessible pages available for configuring, scanning, and managing settings on your device are made available through Puara Module.

Once the web server is running, you can access it in two ways:

Expand Down Expand Up @@ -116,7 +116,6 @@ Each example includes a `data/` folder containing configuration files (`config.j

---


### 1. Basic Example

A minimal example demonstrating core Puara Module functionality. This template:
Expand All @@ -127,6 +126,9 @@ A minimal example demonstrating core Puara Module functionality. This template:

This is the best starting point for learning how to use the Puara framework.

---


### 2. OSC-Send Example

Demonstrates how to set up a basic OSC transmitter. This template:
Expand All @@ -137,6 +139,9 @@ Demonstrates how to set up a basic OSC transmitter. This template:

**Note**: Please refer to [CNMAT's OSC repository](https://github.com/CNMAT/OSC) on GitHub for more details on OSC.

---


### 3. OSC-Receive Example

Demonstrates how to receive and process OSC messages. This template:
Expand All @@ -149,6 +154,9 @@ The example expects a float between [0,1] on the OSC address `/led/brightness` w

**Note**: Please refer to [CNMAT's OSC repository](https://github.com/CNMAT/OSC) on GitHub for more details on OSC.

---


### 4. OSC-Duplex Example

Combines both OSC-Send and OSC-Receive functionality in a single sketch. This template:
Expand All @@ -159,6 +167,9 @@ Combines both OSC-Send and OSC-Receive functionality in a single sketch. This te

**Note**: Please refer to [CNMAT's OSC repository](https://github.com/CNMAT/OSC) on GitHub for more details on OSC.

---


### 5. BLE Advertising Example

Demonstrates BLE (Bluetooth Low Energy) advertising without requiring device connections. This template:
Expand All @@ -169,22 +180,31 @@ Demonstrates BLE (Bluetooth Low Energy) advertising without requiring device con

For detailed setup instructions and configuration options, refer to the template's README file.

---


### 6. Basic Gestures Example

Extends the basic template with gesture recognition capabilities using an IMU (Inertial Measurement Unit). This template:
- Demonstrates how to read and process IMU sensor data
- Includes gesture detection logic
- Shows integration with the Puara module system

---


### 7. Button OSC Example

Demonstrates how to use button inputs with puara gestures and OSC messaging. This template:
- Reads digital button inputs (simulated button in template cas be replaced a real button)
Demonstrates how to use button inputs with Puara gestures and OSC messaging. This template:
- Reads digital button inputs (simulated button in template can be replaced with a real button)
- Shows event-driven communication patterns
- Evaluates the user interaction with button to determine if button is being held, pressed once, twice, or three times in a row, and such...
- Evaluates the user interaction with the button to determine if it is being held, pressed once, twice, or three times in a row, and so on
- Sends button state changes as OSC messages


---


### 8. Libmapper OSC Example

Demonstrates integration with libmapper, a distributed signal mapping system. This template:
Expand Down
2 changes: 1 addition & 1 deletion book/src/puara.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ void setup() {
}
```

The `start()` method initializes the following :
The `start()` method initializes the following:
* Filesystem
* Configuration and settings (from the JSON files)
* WiFi (in STA-AP, AP or STA mode)
Expand Down
2 changes: 1 addition & 1 deletion book/src/serial.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Serial
# Serial and Debug Logging

The `puara-module` library provides a simple interface for serial communication, allowing you to send data and receive commands via the serial port.

Expand Down
2 changes: 1 addition & 1 deletion book/src/wifi.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The `puara-module` supports three modes of operation:
3. **Station (STA) Mode**:
- The device connects to an existing WiFi network.
- The Access Point is turned off with `persistent_AP=0`
- Useful to limit Wifi pollution and securing device.
- Useful to limit WiFi pollution and secure the device.

### Default Behavior
Device is STA-AP by default:
Expand Down