Skip to content

Commit 6a80036

Browse files
authored
Add Units, Measurement & Locale user guide page (#1766)
* Add Units, Measurement & Locale user guide page - New docs/user/units-and-locale.md covering how the app automatically adapts temperatures, distances, speeds, weight, rainfall, and date/time formatting to the user's device locale settings - Documents where to change measurement system and date/time settings on iOS and macOS - Explains universal units that never convert (hPa, degrees, µR/hr) - Added What's New entry and Quick Links reference - Regenerated bundled HTML docs * Add Language & Region screenshot to units/locale docs - Captured iOS Settings → General → Language & Region screenshot showing Temperature, Measurement System, Calendar, Date Format, and Number Format settings - Added settings summary table linking each setting to its effect in the Meshtastic app - Removed redundant 'where to change it' tables now covered by the screenshot - Rebuilt bundled HTML docs and copied screenshots * Update Language & Region screenshot to iOS 26 - Replaced iOS 18 screenshot with iOS 26 Language & Region screen - Added First Day of Week to settings summary table - Shows Region Format Example preview at bottom of screen * Add MANUAL_SCREENSHOTS manifest for non-test screenshots Lists screenshots captured manually (e.g., iOS Simulator Settings screens) so future cleanup scripts know not to delete them. * Add screenshot cleanup script and integrate with copy-snapshots - New scripts/cleanup-screenshots.sh removes orphaned PNGs from docs/assets/screenshots/ that are not referenced in any markdown file and not listed in MANUAL_SCREENSHOTS - Supports --dry-run to preview deletions without removing files - Integrated into copy-snapshots.sh so cleanup runs automatically whenever screenshots are copied to the app bundle
1 parent 2dbd4bd commit 6a80036

10 files changed

Lines changed: 528 additions & 0 deletions

File tree

264 KB
Loading

Meshtastic/Resources/docs/index.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,45 @@
545545
],
546546
"charCount": 1115
547547
},
548+
{
549+
"id": "units-and-locale",
550+
"title": "Units, Measurement & Locale",
551+
"section": "user",
552+
"navOrder": 9,
553+
"keywords": [
554+
"system",
555+
"app",
556+
"setting",
557+
"metric",
558+
"measurement",
559+
"node",
560+
"temperature",
561+
"imperial",
562+
"distances",
563+
"distance",
564+
"date",
565+
"amp",
566+
"units",
567+
"telemetry",
568+
"meshtastic",
569+
"device",
570+
"automatically",
571+
"weather",
572+
"unit",
573+
"transmitted",
574+
"speed",
575+
"see",
576+
"locale",
577+
"language",
578+
"gps",
579+
"displays",
580+
"change",
581+
"altitude",
582+
"uses",
583+
"time"
584+
],
585+
"charCount": 4817
586+
},
548587
{
549588
"id": "watch",
550589
"title": "Apple Watch App",
Lines changed: 267 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,267 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Units, Measurement &amp; Locale</title>
7+
<link rel="stylesheet" href="../assets/docs.css">
8+
</head>
9+
<body data-page="units-and-locale">
10+
<div class="pre-release-banner">⚠️ <strong>Pre-release</strong> — subject to change</div><h1>Units, Measurement &amp; Locale</h1>
11+
<p>The Meshtastic app automatically displays temperatures, distances, speeds, and times in the units your device is configured to use — no settings to change inside the app.</p>
12+
<hr />
13+
<h2>How It Works</h2>
14+
<p>Meshtastic radios always transmit data in <strong>metric units</strong> (meters, °C, km/h, hPa, etc.). When the app receives this data, it hands it to your device's built-in formatting system, which converts and displays values in whatever unit system you've chosen in <strong>Settings → General → Language &amp; Region</strong>.</p>
15+
<p><img src="../assets/screenshots/settingsLanguageRegion.png" alt="Language &amp; Region settings" /></p>
16+
<p>The <strong>Language &amp; Region</strong> screen controls how the Meshtastic app displays temperatures, distances, dates, numbers, and more. Key settings:</p>
17+
<table>
18+
<thead>
19+
<tr>
20+
<th>Setting</th>
21+
<th>What It Controls in Meshtastic</th>
22+
</tr>
23+
</thead>
24+
<tbody>
25+
<tr>
26+
<td><strong>Temperature</strong></td>
27+
<td>°C or °F for all sensor readings and weather</td>
28+
</tr>
29+
<tr>
30+
<td><strong>Measurement System</strong></td>
31+
<td>Metric (m, km, kg, mm) or US/UK (ft, mi, lbs, in)</td>
32+
</tr>
33+
<tr>
34+
<td><strong>Calendar</strong></td>
35+
<td>Calendar system for all dates</td>
36+
</tr>
37+
<tr>
38+
<td><strong>First Day of Week</strong></td>
39+
<td>Week start day in date displays</td>
40+
</tr>
41+
<tr>
42+
<td><strong>Date Format</strong></td>
43+
<td>Date ordering throughout the app</td>
44+
</tr>
45+
<tr>
46+
<td><strong>Number Format</strong></td>
47+
<td>Decimal separators and digit grouping</td>
48+
</tr>
49+
</tbody>
50+
</table>
51+
<div class="tips-callout"><strong>Tip — You never need to toggle units inside the app.</strong> Change your system measurement preferences and every screen in Meshtastic updates automatically — node details, telemetry charts, weather, altitude, and more.</div>
52+
<h2>Temperature</h2>
53+
<p>Temperature values from environment sensors and weather forecasts are transmitted as <strong>°C</strong> and displayed as either <strong>°C</strong> or <strong>°F</strong> based on your device's temperature unit preference.</p>
54+
<table>
55+
<thead>
56+
<tr>
57+
<th>Your Setting</th>
58+
<th>You See</th>
59+
</tr>
60+
</thead>
61+
<tbody>
62+
<tr>
63+
<td>Celsius</td>
64+
<td>22 °C</td>
65+
</tr>
66+
<tr>
67+
<td>Fahrenheit</td>
68+
<td>72 °F</td>
69+
</tr>
70+
</tbody>
71+
</table>
72+
<p>This affects all temperature displays throughout the app: node environment telemetry, soil temperature, dew point, weather forecasts, and telemetry chart axes.</p>
73+
<h2>Distance &amp; Altitude</h2>
74+
<p>Distances between nodes and GPS altitudes are transmitted as <strong>meters</strong> and automatically scaled and converted by the system.</p>
75+
<table>
76+
<thead>
77+
<tr>
78+
<th>Your Setting</th>
79+
<th>Small Distance</th>
80+
<th>Large Distance</th>
81+
<th>Altitude</th>
82+
</tr>
83+
</thead>
84+
<tbody>
85+
<tr>
86+
<td>Metric</td>
87+
<td>350 m</td>
88+
<td>2.5 km</td>
89+
<td>1,200 m</td>
90+
</tr>
91+
<tr>
92+
<td>Imperial (US)</td>
93+
<td>1,148 ft</td>
94+
<td>1.6 mi</td>
95+
<td>3,937 ft</td>
96+
</tr>
97+
</tbody>
98+
</table>
99+
<p>The app uses natural scaling — short distances stay in meters or feet, while longer distances switch to kilometres or miles automatically.</p>
100+
<h3>Where these appear</h3>
101+
<ul>
102+
<li><strong>Node list</strong> — distance and bearing to each node</li>
103+
<li><strong>Node detail</strong> — altitude, distance from your position</li>
104+
<li><strong>Map</strong> — waypoint distances, trace route hop distances</li>
105+
<li><strong>Compass</strong> — distance to selected node</li>
106+
<li><strong>Altitude chart</strong> — Y-axis labels adapt to your locale</li>
107+
</ul>
108+
<h2>Speed</h2>
109+
<p>GPS ground speed is displayed in your locale's preferred speed unit.</p>
110+
<table>
111+
<thead>
112+
<tr>
113+
<th>Your Setting</th>
114+
<th>You See</th>
115+
</tr>
116+
</thead>
117+
<tbody>
118+
<tr>
119+
<td>Metric</td>
120+
<td>12 km/h</td>
121+
</tr>
122+
<tr>
123+
<td>Imperial (US)</td>
124+
<td>7 mph</td>
125+
</tr>
126+
</tbody>
127+
</table>
128+
<p>Speed appears on the <strong>GPS Status</strong> screen when your device has an active GPS fix.</p>
129+
<h2>Wind</h2>
130+
<p>Wind speed and gust data from environment sensors are transmitted as <strong>m/s</strong> and converted for display.</p>
131+
<table>
132+
<thead>
133+
<tr>
134+
<th>Your Setting</th>
135+
<th>You See</th>
136+
</tr>
137+
</thead>
138+
<tbody>
139+
<tr>
140+
<td>Metric</td>
141+
<td>5 m/s</td>
142+
</tr>
143+
<tr>
144+
<td>Imperial (US)</td>
145+
<td>11 mph</td>
146+
</tr>
147+
</tbody>
148+
</table>
149+
<p>Wind readings appear in the <strong>Node Detail</strong> weather section and the <strong>Environment Telemetry</strong> log columns.</p>
150+
<h2>Weight</h2>
151+
<p>Weight telemetry is transmitted as <strong>kg</strong> and converted for display.</p>
152+
<table>
153+
<thead>
154+
<tr>
155+
<th>Your Setting</th>
156+
<th>You See</th>
157+
</tr>
158+
</thead>
159+
<tbody>
160+
<tr>
161+
<td>Metric</td>
162+
<td>24.5 kg</td>
163+
</tr>
164+
<tr>
165+
<td>Imperial (US)</td>
166+
<td>54.0 lbs</td>
167+
</tr>
168+
</tbody>
169+
</table>
170+
<h2>Rainfall</h2>
171+
<p>Rainfall measurements (1-hour and 24-hour totals) are transmitted as <strong>mm</strong> and converted for display.</p>
172+
<table>
173+
<thead>
174+
<tr>
175+
<th>Your Setting</th>
176+
<th>You See</th>
177+
</tr>
178+
</thead>
179+
<tbody>
180+
<tr>
181+
<td>Metric</td>
182+
<td>12 mm</td>
183+
</tr>
184+
<tr>
185+
<td>Imperial (US)</td>
186+
<td>0.5 in</td>
187+
</tr>
188+
</tbody>
189+
</table>
190+
<h2>Units That Never Change</h2>
191+
<p>Some units are international standards and are displayed the same way regardless of your locale:</p>
192+
<table>
193+
<thead>
194+
<tr>
195+
<th>Measurement</th>
196+
<th>Unit</th>
197+
<th>Why</th>
198+
</tr>
199+
</thead>
200+
<tbody>
201+
<tr>
202+
<td>Barometric pressure</td>
203+
<td>hPa</td>
204+
<td>International meteorological standard</td>
205+
</tr>
206+
<tr>
207+
<td>Heading / bearing</td>
208+
<td>° (degrees)</td>
209+
<td>Universal navigation convention</td>
210+
</tr>
211+
<tr>
212+
<td>Radiation</td>
213+
<td>µR/hr</td>
214+
<td>Standard dosimetry unit</td>
215+
</tr>
216+
<tr>
217+
<td>GPS coordinates</td>
218+
<td>decimal degrees</td>
219+
<td>Universal geographic standard</td>
220+
</tr>
221+
<tr>
222+
<td>Humidity, battery, soil moisture</td>
223+
<td>%</td>
224+
<td>Universal</td>
225+
</tr>
226+
</tbody>
227+
</table>
228+
<h2>Date &amp; Time</h2>
229+
<p>All timestamps throughout the app — last heard, message times, telemetry logs, chart axes — follow your device's date and time preferences.</p>
230+
<table>
231+
<thead>
232+
<tr>
233+
<th>Setting</th>
234+
<th>What It Controls</th>
235+
<th>Example</th>
236+
</tr>
237+
</thead>
238+
<tbody>
239+
<tr>
240+
<td><strong>24-Hour Time</strong></td>
241+
<td>Clock format</td>
242+
<td>14:30 vs 2:30 PM</td>
243+
</tr>
244+
<tr>
245+
<td><strong>Date Format</strong></td>
246+
<td>Date ordering</td>
247+
<td>09/05/2026 vs 05/09/2026 vs 2026-05-09</td>
248+
</tr>
249+
<tr>
250+
<td><strong>Calendar</strong></td>
251+
<td>Calendar system</td>
252+
<td>Gregorian, Buddhist, Japanese, etc.</td>
253+
</tr>
254+
</tbody>
255+
</table>
256+
<p>The app also uses <strong>relative time</strong> where it makes sense — for example, &quot;5 min ago&quot; or &quot;2 hours ago&quot; in the node list — which is automatically localised into your device language.</p>
257+
<h2>Changing Your Measurement System</h2>
258+
<p>Your measurement system (metric vs imperial) is tied to your region setting. To change it without changing your language:</p>
259+
<ol>
260+
<li>Open <strong>Settings → General → Language &amp; Region</strong></li>
261+
<li>Tap <strong>Measurement System</strong></li>
262+
<li>Choose <strong>Metric</strong>, <strong>US</strong>, or <strong>UK</strong></li>
263+
</ol>
264+
<p>The Meshtastic app picks up the change immediately — no restart needed.</p>
265+
<div class="tips-callout"><strong>Tip — UK vs US imperial.</strong> The UK measurement system uses miles for distance but stones for body weight and Celsius for temperature. The US system uses Fahrenheit and pounds. The app respects these distinctions automatically.</div>
266+
</body>
267+
</html>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Manual Screenshots
2+
#
3+
# Screenshots in this directory that are NOT generated by snapshot tests.
4+
# These are captured manually (e.g., from iOS Simulator Settings screens)
5+
# and must not be deleted by automated cleanup scripts.
6+
#
7+
# Format: one filename per line, lines starting with # are comments.
8+
9+
settingsLanguageRegion.png
264 KB
Loading

docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ Use the sidebar navigation to browse the **User Guide** for app features and the
1919
| [Getting Started](user/getting-started) | Connect your first radio and send a message |
2020
| [Nodes List](user/nodes) | Understanding the mesh network node list |
2121
| [Signal Meter](user/signal-meter) | How the LoRa signal quality meter works |
22+
| [Units & Locale](user/units-and-locale) | How temperatures, distances, and times adapt to your region |
2223
| [Architecture](developer/architecture) | App architecture overview for contributors |

docs/user.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Documentation for using the Meshtastic iOS, iPadOS, macOS, watchOS, and visionOS
1818
Keep the last 5–8 entries and archive older ones by removing them.
1919
-->
2020

21+
**May 2026**[Units, Measurement & Locale](user/units-and-locale) — New page explaining how the app automatically adapts temperatures, distances, speeds, and times to your device's regional settings.
22+
2123
**May 2026**[Messages & Channels](user/messages) — Channel conversations now load the most recent 50 messages with a Load More button for older history.
2224

2325
**May 2026**[CarPlay](user/carplay) — Direct message list is now capped at 200 users sorted by most recent, improving performance on large meshes.

0 commit comments

Comments
 (0)