Skip to content

Commit f20b2e0

Browse files
authored
Merge pull request #2204 from serl/ble-write-protec
BLE: add setting and basic write protection
2 parents a79791f + 97ea25a commit f20b2e0

43 files changed

Lines changed: 186 additions & 42 deletions

Some content is hidden

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

Documentation/Bluetooth.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ The Pinecilv2 has hardware support for Bluetooth Low Energy (BLE). This protocol
55
The BLE interface advertises three services, these provide access to live telemetry as well as the ability to read/write settings.
66
These are outlined in more detail below.
77

8+
## BLE Modes
9+
10+
The BLE setting in the Advanced menu supports three modes:
11+
12+
- **Off (0):** BLE is completely disabled. No advertising, no connections.
13+
- **On (1):** Full BLE access. All characteristics and settings can be read and written.
14+
- **Read-only (2):** BLE advertises and accepts connections. All characteristics can be read (live data, settings, bulk data). However, all write operations are rejected with a `WRITE_NOT_PERMITTED` error. This prevents remote users from changing settings, temperature, or triggering save/reset, while still allowing monitoring tools (e.g., fume extractors) to read temperature data. The BLE mode can only be changed from the physical device menu.
15+
816
Pinecil devices advertise themselves on BLE as `Pinecil-XXXXXXX`.
917
They also include the UUID `9eae1000-9d0d-48c5-AA55-33e27f9bc533` in the advertisement packet to allow for filtering.
1018

Documentation/Settings.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -383,11 +383,11 @@ Display detailed info in a smaller font on soldering screen
383383

384384
### Setting: Bluetooth
385385

386-
Should BLE be enabled at boot time.
386+
BLE mode: Off, full read/write access (+), or read-only mode (R) which blocks all writes over BLE.
387387

388388
On device help text:
389389

390-
Enables BLE
390+
Enables BLE (+=full access | R=read-only)
391391

392392
### Setting: Power limit
393393

Translations/translation_BE.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@
8181
"SettingStartSleepChar": "Ч",
8282
"SettingStartSleepOffChar": "Х",
8383
"SettingLockBoostChar": "Т",
84-
"SettingLockFullChar": "П"
84+
"SettingLockFullChar": "П",
85+
"SettingBLEOnChar": "+",
86+
"SettingBLEReadOnlyChar": "R"
8587
},
8688
"menuGroups": {
8789
"PowerMenu": {

Translations/translation_BG.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@
8181
"SettingStartSleepChar": "С",
8282
"SettingStartSleepOffChar": "П",
8383
"SettingLockBoostChar": "Т",
84-
"SettingLockFullChar": "П"
84+
"SettingLockFullChar": "П",
85+
"SettingBLEOnChar": "+",
86+
"SettingBLEReadOnlyChar": "R"
8587
},
8688
"menuGroups": {
8789
"PowerMenu": {

Translations/translation_CS.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@
8181
"SettingStartSleepChar": "S",
8282
"SettingStartSleepOffChar": "M",
8383
"SettingLockBoostChar": "B",
84-
"SettingLockFullChar": "U"
84+
"SettingLockFullChar": "U",
85+
"SettingBLEOnChar": "+",
86+
"SettingBLEReadOnlyChar": "R"
8587
},
8688
"menuGroups": {
8789
"PowerMenu": {

Translations/translation_DA.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@
8181
"SettingStartSleepChar": "D",
8282
"SettingStartSleepOffChar": "R",
8383
"SettingLockBoostChar": "B",
84-
"SettingLockFullChar": "F"
84+
"SettingLockFullChar": "F",
85+
"SettingBLEOnChar": "+",
86+
"SettingBLEReadOnlyChar": "R"
8587
},
8688
"menuGroups": {
8789
"PowerMenu": {

Translations/translation_DE.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@
8181
"SettingStartSleepChar": "R",
8282
"SettingStartSleepOffChar": "K",
8383
"SettingLockBoostChar": "B",
84-
"SettingLockFullChar": "V"
84+
"SettingLockFullChar": "V",
85+
"SettingBLEOnChar": "+",
86+
"SettingBLEReadOnlyChar": "R"
8587
},
8688
"menuGroups": {
8789
"PowerMenu": {

Translations/translation_EL.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@
8181
"SettingStartSleepChar": "Ζ",
8282
"SettingStartSleepOffChar": "Υ",
8383
"SettingLockBoostChar": "B",
84-
"SettingLockFullChar": "Π"
84+
"SettingLockFullChar": "Π",
85+
"SettingBLEOnChar": "+",
86+
"SettingBLEReadOnlyChar": "R"
8587
},
8688
"menuGroups": {
8789
"PowerMenu": {

Translations/translation_EN.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@
8181
"SettingStartSleepChar": "Z",
8282
"SettingStartSleepOffChar": "R",
8383
"SettingLockBoostChar": "B",
84-
"SettingLockFullChar": "F"
84+
"SettingLockFullChar": "F",
85+
"SettingBLEOnChar": "+",
86+
"SettingBLEReadOnlyChar": "R"
8587
},
8688
"menuGroups": {
8789
"PowerMenu": {
@@ -309,7 +311,7 @@
309311
},
310312
"BluetoothLE": {
311313
"displayText": "Bluetooth\n",
312-
"description": "Enables BLE"
314+
"description": "Enables BLE (+=full access | R=read-only)"
313315
},
314316
"PowerLimit": {
315317
"displayText": "Power\nlimit",

Translations/translation_ES.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@
8181
"SettingStartSleepChar": "R",
8282
"SettingStartSleepOffChar": "F",
8383
"SettingLockBoostChar": "B",
84-
"SettingLockFullChar": "F"
84+
"SettingLockFullChar": "F",
85+
"SettingBLEOnChar": "+",
86+
"SettingBLEReadOnlyChar": "R"
8587
},
8688
"menuGroups": {
8789
"PowerMenu": {

0 commit comments

Comments
 (0)