@alteriom/painlessmesh 1.6.1 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/CHANGELOG.md +380 -143
  2. package/LICENSE +674 -674
  3. package/README.md +477 -434
  4. package/RELEASE_GUIDE.md +504 -418
  5. package/docs/DOCUMENTATION_MIGRATION_PLAN.md +175 -175
  6. package/docs/IMPLEMENTATION_PLAN_MESH_TOPOLOGY.md +1062 -0
  7. package/docs/MESH_TOPOLOGY_GUIDE.md +992 -0
  8. package/docs/MESH_TOPOLOGY_PROGRESS.md +422 -0
  9. package/docs/MQTT_BRIDGE_COMMANDS.md +894 -0
  10. package/docs/MQTT_BRIDGE_IMPLEMENTATION_SUMMARY.md +324 -0
  11. package/docs/MQTT_COMMAND_SCHEMA_PROPOSAL.md +576 -0
  12. package/docs/MQTT_SCHEMA_COMPLIANCE.md +285 -0
  13. package/docs/MQTT_SCHEMA_PROPOSALS.md +446 -0
  14. package/docs/MQTT_SCHEMA_REVIEW.md +690 -0
  15. package/docs/OTA_COMMANDS_REFERENCE.md +554 -0
  16. package/docs/PHASE1_GUIDE.md +349 -0
  17. package/docs/PHASE2_GUIDE.md +543 -0
  18. package/docs/README.md +77 -70
  19. package/docs/SCHEMA_VALIDATION_CHECKLIST.md +222 -0
  20. package/docs/alteriom/overview.md +507 -507
  21. package/docs/api/core-api.md +606 -606
  22. package/docs/architecture/mesh-architecture.md +378 -378
  23. package/docs/architecture/plugin-system.md +516 -516
  24. package/docs/getting-started/first-mesh.md +409 -409
  25. package/docs/getting-started/installation.md +274 -274
  26. package/docs/getting-started/quickstart.md +157 -157
  27. package/docs/improvements/FEATURE_PROPOSALS.md +337 -0
  28. package/docs/improvements/PHASE1_IMPLEMENTATION.md +325 -0
  29. package/docs/improvements/PHASE2_IMPLEMENTATION.md +567 -0
  30. package/docs/improvements/README.md +86 -68
  31. package/docs/improvements/ota-and-status-enhancements.md +911 -0
  32. package/docs/improvements/ota-status-architecture-diagrams.md +658 -0
  33. package/docs/improvements/ota-status-quick-reference.md +284 -0
  34. package/docs/platformio-publishing.md +255 -0
  35. package/docs/platformio-setup-summary.md +121 -0
  36. package/docs/troubleshooting/common-issues.md +520 -520
  37. package/docs/troubleshooting/faq.md +472 -472
  38. package/docs/tutorials/basic-examples.md +717 -717
  39. package/docs/wiki/API-Reference.md +245 -245
  40. package/docs/wiki/Complete-Documentation.md +122 -122
  41. package/examples/alteriom/README.md +139 -81
  42. package/examples/alteriom/alteriom.ino +186 -185
  43. package/examples/alteriom/alteriom_sensor_package.hpp +240 -127
  44. package/examples/alteriom/platformio.ini +24 -24
  45. package/examples/alteriomImproved/alteriom_sensor_package.hpp +224 -0
  46. package/examples/{alteriom → alteriomImproved}/improved_sensor_node.ino +245 -245
  47. package/examples/alteriomImproved/platformio.ini +25 -0
  48. package/examples/alteriomPhase1/alteriom_sensor_package.hpp +224 -0
  49. package/examples/alteriomPhase1/phase1_features.ino +242 -0
  50. package/examples/alteriomPhase1/platformio.ini +25 -0
  51. package/examples/alteriomPhase2/alteriom_sensor_package.hpp +224 -0
  52. package/examples/alteriomPhase2/phase2_features.ino +186 -0
  53. package/examples/alteriomPhase2/platformio.ini +25 -0
  54. package/examples/{alteriom → alteriomSensorNode}/alteriom_sensor_node.ino +183 -183
  55. package/examples/alteriomSensorNode/alteriom_sensor_package.hpp +224 -0
  56. package/examples/alteriomSensorNode/platformio.ini +25 -0
  57. package/examples/basic/basic.ino +66 -66
  58. package/examples/basic/platformio.ini +25 -25
  59. package/examples/bridge/bridge.ino +51 -51
  60. package/examples/bridge/mesh_event_publisher.hpp +253 -0
  61. package/examples/bridge/mesh_topology_reporter.hpp +303 -0
  62. package/examples/bridge/mqtt_command_bridge.hpp +459 -0
  63. package/examples/bridge/mqtt_status_bridge.hpp +519 -0
  64. package/examples/bridge/platformio.ini +25 -25
  65. package/examples/echoNode/echoNode.ino +33 -33
  66. package/examples/echoNode/platformio.ini +25 -25
  67. package/examples/logClient/logClient.ino +109 -109
  68. package/examples/logClient/platformio.ini +25 -25
  69. package/examples/logServer/logServer.ino +81 -81
  70. package/examples/logServer/platformio.ini +25 -25
  71. package/examples/meshCommandNode/alteriom_sensor_package.hpp +235 -0
  72. package/examples/meshCommandNode/meshCommandNode.ino +263 -0
  73. package/examples/meshCommandNode/platformio.ini +25 -0
  74. package/examples/mqttBridge/mqttBridge.ino +118 -118
  75. package/examples/mqttBridge/platformio.ini +26 -26
  76. package/examples/mqttCommandBridge/alteriom_sensor_package.hpp +235 -0
  77. package/examples/mqttCommandBridge/mesh_event_publisher.hpp +253 -0
  78. package/examples/mqttCommandBridge/mesh_topology_reporter.hpp +303 -0
  79. package/examples/mqttCommandBridge/mqttCommandBridge.ino +252 -0
  80. package/examples/mqttCommandBridge/mqtt_command_bridge.hpp +459 -0
  81. package/examples/mqttCommandBridge/platformio.ini +26 -0
  82. package/examples/mqttStatusBridge/mqttStatusBridge.ino +216 -0
  83. package/examples/mqttStatusBridge/mqtt_status_bridge.hpp +522 -0
  84. package/examples/mqttStatusBridge/platformio.ini +26 -0
  85. package/examples/mqttTopologyTest/README.md +467 -0
  86. package/examples/mqttTopologyTest/mqttTopologyTest.ino +748 -0
  87. package/examples/mqttTopologyTest/platformio.ini +26 -0
  88. package/examples/namedMesh/namedMesh.ino +97 -97
  89. package/examples/namedMesh/platformio.ini +25 -25
  90. package/examples/otaReceiver/otaReceiver.ino +79 -79
  91. package/examples/otaReceiver/platformio.ini +25 -25
  92. package/examples/otaSender/otaSender.ino +160 -151
  93. package/examples/otaSender/platformio.ini +25 -25
  94. package/examples/startHere/platformio.ini +25 -25
  95. package/examples/startHere/startHere.ino +159 -159
  96. package/examples/webServer/platformio.ini +27 -27
  97. package/examples/webServer/webServer.ino +89 -89
  98. package/keywords.txt +48 -48
  99. package/library.json +55 -34
  100. package/library.properties +10 -10
  101. package/package.json +86 -78
  102. package/src/AlteriomPainlessMesh.h +97 -97
  103. package/src/arduino/wifi.hpp +365 -365
  104. package/src/boost/asynctcp.hpp +279 -279
  105. package/src/painlessMesh.h +70 -70
  106. package/src/painlessMeshSTA.cpp +236 -236
  107. package/src/painlessMeshSTA.h +58 -58
  108. package/src/painlessTaskOptions.h +4 -4
  109. package/src/painlessmesh/base64.hpp +111 -111
  110. package/src/painlessmesh/buffer.hpp +229 -229
  111. package/src/painlessmesh/callback.hpp +91 -91
  112. package/src/painlessmesh/configuration.hpp +77 -77
  113. package/src/painlessmesh/connection.hpp +192 -192
  114. package/src/painlessmesh/layout.hpp +188 -188
  115. package/src/painlessmesh/logger.hpp +158 -158
  116. package/src/painlessmesh/memory.hpp +119 -119
  117. package/src/painlessmesh/mesh.hpp +761 -560
  118. package/src/painlessmesh/metrics.hpp +322 -322
  119. package/src/painlessmesh/ntp.hpp +263 -263
  120. package/src/painlessmesh/ota.hpp +582 -553
  121. package/src/painlessmesh/plugin.hpp +188 -188
  122. package/src/painlessmesh/protocol.hpp +813 -813
  123. package/src/painlessmesh/router.hpp +322 -322
  124. package/src/painlessmesh/tcp.hpp +71 -71
  125. package/src/painlessmesh/validation.hpp +238 -238
  126. package/src/plugin/performance.hpp +214 -214
  127. package/src/plugin/remote.hpp +64 -64
  128. package/src/scheduler.cpp +10 -10
  129. package/src/wifi.cpp +2 -2
@@ -1,176 +1,176 @@
1
- # painlessMesh Documentation - Docusaurus Migration
2
-
3
- ## Overview
4
-
5
- This document outlines the migration from the current custom documentation approach to **Docusaurus 3** for better user experience and maintainability.
6
-
7
- ## Current Issues
8
-
9
- ### Broken Links Found
10
- - `docs/tutorials/custom-packages.md` - Missing
11
- - `docs/tutorials/sensor-networks.md` - Missing
12
- - `docs/advanced/performance.md` - Missing
13
- - `docs/architecture/routing.md` - Missing
14
-
15
- ### Problems with Current Approach
16
- 1. **Raw Markdown** - No processing, links break in GitHub Pages
17
- 2. **Manual HTML generation** - Basic and unmaintainable
18
- 3. **Doxygen isolation** - Separate from user documentation
19
- 4. **No link validation** - Broken links undetected
20
- 5. **No search functionality** - Poor discoverability
21
- 6. **Poor mobile experience** - Not responsive
22
-
23
- ## Proposed Solution: Docusaurus 3
24
-
25
- ### Why Docusaurus?
26
- - ✅ **Modern React-based** - Fast, responsive, beautiful
27
- - ✅ **Built-in search** - Algolia integration
28
- - ✅ **API docs integration** - Seamless with Doxygen
29
- - ✅ **Link validation** - Automatic broken link detection
30
- - ✅ **Versioning support** - Multiple library versions
31
- - ✅ **GitHub Pages deployment** - Automated CI/CD
32
- - ✅ **SEO optimized** - Better search engine ranking
33
-
34
- ### Implementation Plan
35
-
36
- #### Phase 1: Setup Docusaurus
37
- ```bash
38
- # Initialize Docusaurus
39
- npx create-docusaurus@latest website classic
40
-
41
- # Configure for painlessMesh
42
- cd website
43
- npm install --save @docusaurus/plugin-client-redirects
44
- npm install --save @docusaurus/theme-mermaid
45
- ```
46
-
47
- #### Phase 2: Content Migration
48
- 1. **Migrate existing docs** to `docs/` folder
49
- 2. **Create missing pages** identified in review
50
- 3. **Fix all broken links**
51
- 4. **Integrate Doxygen** output
52
- 5. **Add interactive examples**
53
-
54
- #### Phase 3: Enhanced Features
55
- 1. **Search integration** with Algolia
56
- 2. **API documentation** with auto-generated content
57
- 3. **Interactive code examples**
58
- 4. **Version management** for releases
59
- 5. **Analytics integration**
60
-
61
- ## File Structure (Proposed)
62
-
63
- ```
64
- website/
65
- ├── docs/ # Main documentation
66
- │ ├── getting-started/
67
- │ │ ├── installation.md
68
- │ │ ├── quickstart.md
69
- │ │ └── first-mesh.md
70
- │ ├── api/
71
- │ │ ├── core-api.md
72
- │ │ └── alteriom-packages.md
73
- │ ├── tutorials/
74
- │ │ ├── basic-examples.md
75
- │ │ ├── custom-packages.md # NEW - Currently missing
76
- │ │ └── sensor-networks.md # NEW - Currently missing
77
- │ ├── architecture/
78
- │ │ ├── mesh-architecture.md
79
- │ │ ├── plugin-system.md
80
- │ │ └── routing.md # NEW - Currently missing
81
- │ ├── advanced/
82
- │ │ └── performance.md # NEW - Currently missing
83
- │ └── troubleshooting/
84
- │ ├── faq.md
85
- │ └── common-issues.md
86
- ├── src/
87
- │ ├── components/ # React components
88
- │ └── pages/ # Custom pages
89
- ├── static/ # Static assets
90
- ├── docusaurus.config.js # Main configuration
91
- └── sidebars.js # Navigation structure
92
- ```
93
-
94
- ## Benefits
95
-
96
- ### For Users
97
- - 🚀 **Faster navigation** - Single-page app performance
98
- - 🔍 **Powerful search** - Find anything instantly
99
- - 📱 **Mobile-friendly** - Responsive design
100
- - 🎯 **Better organization** - Clear navigation
101
- - 💡 **Interactive examples** - Live code demos
102
-
103
- ### For Maintainers
104
- - 🔗 **Link validation** - Automatic broken link detection
105
- - 📝 **Easy content management** - Simple Markdown workflow
106
- - 🚀 **Automated deployment** - GitHub Actions integration
107
- - 📊 **Analytics** - Usage insights
108
- - 🔄 **Version control** - Git-based workflow
109
-
110
- ## Migration Timeline
111
-
112
- ### Week 1: Setup & Configuration
113
- - [ ] Initialize Docusaurus project
114
- - [ ] Configure for painlessMesh branding
115
- - [ ] Set up build pipeline
116
-
117
- ### Week 2: Content Migration
118
- - [ ] Migrate existing documentation
119
- - [ ] Create missing pages
120
- - [ ] Fix all broken links
121
- - [ ] Integrate Doxygen output
122
-
123
- ### Week 3: Enhancement & Testing
124
- - [ ] Add search functionality
125
- - [ ] Create interactive examples
126
- - [ ] Mobile testing
127
- - [ ] Performance optimization
128
-
129
- ### Week 4: Deployment & Cleanup
130
- - [ ] Deploy to GitHub Pages
131
- - [ ] Update all repository links
132
- - [ ] Archive old documentation
133
- - [ ] Team training
134
-
135
- ## Implementation Commands
136
-
137
- ```bash
138
- # 1. Create Docusaurus site
139
- npx create-docusaurus@latest docs-website classic
140
- cd docs-website
141
-
142
- # 2. Install additional plugins
143
- npm install --save @docusaurus/plugin-client-redirects
144
- npm install --save @docusaurus/theme-mermaid
145
- npm install --save @docusaurus/plugin-google-analytics
146
-
147
- # 3. Configure build for GitHub Pages
148
- npm run build
149
-
150
- # 4. Deploy
151
- npm run deploy
152
- ```
153
-
154
- ## Cost-Benefit Analysis
155
-
156
- ### Current Approach Costs
157
- - ❌ **Developer time** - Manual HTML maintenance
158
- - ❌ **User frustration** - Broken links, poor UX
159
- - ❌ **SEO penalty** - Poor search ranking
160
- - ❌ **Mobile users** - Bad mobile experience
161
-
162
- ### Docusaurus Benefits
163
- - ✅ **Time savings** - Automated builds
164
- - ✅ **Better UX** - Professional documentation
165
- - ✅ **SEO boost** - Optimized for search engines
166
- - ✅ **Future-proof** - Modern, maintained framework
167
-
168
- ## Recommendation
169
-
170
- **Immediate Action**: Implement Docusaurus 3 migration
171
-
172
- **Priority**: High - Current documentation has critical usability issues
173
-
174
- **Timeline**: 2-4 weeks for full migration
175
-
1
+ # painlessMesh Documentation - Docusaurus Migration
2
+
3
+ ## Overview
4
+
5
+ This document outlines the migration from the current custom documentation approach to **Docusaurus 3** for better user experience and maintainability.
6
+
7
+ ## Current Issues
8
+
9
+ ### Broken Links Found
10
+ - `docs/tutorials/custom-packages.md` - Missing
11
+ - `docs/tutorials/sensor-networks.md` - Missing
12
+ - `docs/advanced/performance.md` - Missing
13
+ - `docs/architecture/routing.md` - Missing
14
+
15
+ ### Problems with Current Approach
16
+ 1. **Raw Markdown** - No processing, links break in GitHub Pages
17
+ 2. **Manual HTML generation** - Basic and unmaintainable
18
+ 3. **Doxygen isolation** - Separate from user documentation
19
+ 4. **No link validation** - Broken links undetected
20
+ 5. **No search functionality** - Poor discoverability
21
+ 6. **Poor mobile experience** - Not responsive
22
+
23
+ ## Proposed Solution: Docusaurus 3
24
+
25
+ ### Why Docusaurus?
26
+ - ✅ **Modern React-based** - Fast, responsive, beautiful
27
+ - ✅ **Built-in search** - Algolia integration
28
+ - ✅ **API docs integration** - Seamless with Doxygen
29
+ - ✅ **Link validation** - Automatic broken link detection
30
+ - ✅ **Versioning support** - Multiple library versions
31
+ - ✅ **GitHub Pages deployment** - Automated CI/CD
32
+ - ✅ **SEO optimized** - Better search engine ranking
33
+
34
+ ### Implementation Plan
35
+
36
+ #### Phase 1: Setup Docusaurus
37
+ ```bash
38
+ # Initialize Docusaurus
39
+ npx create-docusaurus@latest website classic
40
+
41
+ # Configure for painlessMesh
42
+ cd website
43
+ npm install --save @docusaurus/plugin-client-redirects
44
+ npm install --save @docusaurus/theme-mermaid
45
+ ```
46
+
47
+ #### Phase 2: Content Migration
48
+ 1. **Migrate existing docs** to `docs/` folder
49
+ 2. **Create missing pages** identified in review
50
+ 3. **Fix all broken links**
51
+ 4. **Integrate Doxygen** output
52
+ 5. **Add interactive examples**
53
+
54
+ #### Phase 3: Enhanced Features
55
+ 1. **Search integration** with Algolia
56
+ 2. **API documentation** with auto-generated content
57
+ 3. **Interactive code examples**
58
+ 4. **Version management** for releases
59
+ 5. **Analytics integration**
60
+
61
+ ## File Structure (Proposed)
62
+
63
+ ```
64
+ website/
65
+ ├── docs/ # Main documentation
66
+ │ ├── getting-started/
67
+ │ │ ├── installation.md
68
+ │ │ ├── quickstart.md
69
+ │ │ └── first-mesh.md
70
+ │ ├── api/
71
+ │ │ ├── core-api.md
72
+ │ │ └── alteriom-packages.md
73
+ │ ├── tutorials/
74
+ │ │ ├── basic-examples.md
75
+ │ │ ├── custom-packages.md # NEW - Currently missing
76
+ │ │ └── sensor-networks.md # NEW - Currently missing
77
+ │ ├── architecture/
78
+ │ │ ├── mesh-architecture.md
79
+ │ │ ├── plugin-system.md
80
+ │ │ └── routing.md # NEW - Currently missing
81
+ │ ├── advanced/
82
+ │ │ └── performance.md # NEW - Currently missing
83
+ │ └── troubleshooting/
84
+ │ ├── faq.md
85
+ │ └── common-issues.md
86
+ ├── src/
87
+ │ ├── components/ # React components
88
+ │ └── pages/ # Custom pages
89
+ ├── static/ # Static assets
90
+ ├── docusaurus.config.js # Main configuration
91
+ └── sidebars.js # Navigation structure
92
+ ```
93
+
94
+ ## Benefits
95
+
96
+ ### For Users
97
+ - 🚀 **Faster navigation** - Single-page app performance
98
+ - 🔍 **Powerful search** - Find anything instantly
99
+ - 📱 **Mobile-friendly** - Responsive design
100
+ - 🎯 **Better organization** - Clear navigation
101
+ - 💡 **Interactive examples** - Live code demos
102
+
103
+ ### For Maintainers
104
+ - 🔗 **Link validation** - Automatic broken link detection
105
+ - 📝 **Easy content management** - Simple Markdown workflow
106
+ - 🚀 **Automated deployment** - GitHub Actions integration
107
+ - 📊 **Analytics** - Usage insights
108
+ - 🔄 **Version control** - Git-based workflow
109
+
110
+ ## Migration Timeline
111
+
112
+ ### Week 1: Setup & Configuration
113
+ - [ ] Initialize Docusaurus project
114
+ - [ ] Configure for painlessMesh branding
115
+ - [ ] Set up build pipeline
116
+
117
+ ### Week 2: Content Migration
118
+ - [ ] Migrate existing documentation
119
+ - [ ] Create missing pages
120
+ - [ ] Fix all broken links
121
+ - [ ] Integrate Doxygen output
122
+
123
+ ### Week 3: Enhancement & Testing
124
+ - [ ] Add search functionality
125
+ - [ ] Create interactive examples
126
+ - [ ] Mobile testing
127
+ - [ ] Performance optimization
128
+
129
+ ### Week 4: Deployment & Cleanup
130
+ - [ ] Deploy to GitHub Pages
131
+ - [ ] Update all repository links
132
+ - [ ] Archive old documentation
133
+ - [ ] Team training
134
+
135
+ ## Implementation Commands
136
+
137
+ ```bash
138
+ # 1. Create Docusaurus site
139
+ npx create-docusaurus@latest docs-website classic
140
+ cd docs-website
141
+
142
+ # 2. Install additional plugins
143
+ npm install --save @docusaurus/plugin-client-redirects
144
+ npm install --save @docusaurus/theme-mermaid
145
+ npm install --save @docusaurus/plugin-google-analytics
146
+
147
+ # 3. Configure build for GitHub Pages
148
+ npm run build
149
+
150
+ # 4. Deploy
151
+ npm run deploy
152
+ ```
153
+
154
+ ## Cost-Benefit Analysis
155
+
156
+ ### Current Approach Costs
157
+ - ❌ **Developer time** - Manual HTML maintenance
158
+ - ❌ **User frustration** - Broken links, poor UX
159
+ - ❌ **SEO penalty** - Poor search ranking
160
+ - ❌ **Mobile users** - Bad mobile experience
161
+
162
+ ### Docusaurus Benefits
163
+ - ✅ **Time savings** - Automated builds
164
+ - ✅ **Better UX** - Professional documentation
165
+ - ✅ **SEO boost** - Optimized for search engines
166
+ - ✅ **Future-proof** - Modern, maintained framework
167
+
168
+ ## Recommendation
169
+
170
+ **Immediate Action**: Implement Docusaurus 3 migration
171
+
172
+ **Priority**: High - Current documentation has critical usability issues
173
+
174
+ **Timeline**: 2-4 weeks for full migration
175
+
176
176
  **ROI**: High - Significantly better user experience with minimal ongoing maintenance