Skip to content

Commit 86ab0a0

Browse files
committed
Unified formatting and wording across all READMEs #285
1 parent bf69d6a commit 86ab0a0

6 files changed

Lines changed: 20 additions & 32 deletions

File tree

source/README.md

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Folder `/source`
1+
# Folder `source`
22

33
This folder contains the source code of the app, written in **Monkey C**, Garmin’s programming language. It uses the Connect IQ SDK for user interface components, application settings, persistent storage, and HTTP communication with the openHAB server.
44

@@ -13,48 +13,38 @@ Two mechanisms are used to tailor the source code for different target devices:
1313
- The relevant `config` and `theme` directories are added to the device-specific source path in [`monkey.jungle`](../README.md#root-folder-).
1414
- In the shared `main` source, exclude annotations are used to adapt the code to individual target devices. These annotations are mapped to devices in [`monkey.jungle`](../README.md#root-folder-) and are documented there.
1515

16-
<br>
17-
1816
### Other Annotations
1917

2018
- `(:glance)` marks code that must be included in the _Glance_ view.
2119

22-
<br>
23-
2420
### **Inline Documentation**
2521

2622
All `.mc` files include inline comments and documentation describing the purpose and internal workings of each class.
2723

28-
<br>
29-
3024
### **Further Reading**
3125

3226
- [Connect IQ Core Topics](https://developer.garmin.com/connect-iq/core-topics/)
3327
- [Connect IQ API Docs](https://developer.garmin.com/connect-iq/api-docs/)
3428

3529
---
3630

37-
## Folder Structure
31+
## Subfolders
3832

39-
### Subfolder `config`
33+
### Subfolder `config/`
4034

4135
This folder defines device-specific configuration using code-based _Constants_, which replace Garmin SDK _Properties_ due to their limitations. Unlike _Properties_, _Constants_ are embedded in the code, update automatically with new app versions, and benefit from compiler validation.
4236

4337
For more details, continue reading the folder’s [README](config/README.md).
4438

45-
<br>
46-
47-
### Subfolder `main`
39+
### Subfolder `main/`
4840

4941
Contains the core application source code that is shared across all target devices. This includes the data layer, infrastructure and service components, as well as the user interface logic and views.
5042

5143
Although the `main` code is designed to be largely device-agnostic and to rely on `config` and `themes` for device-specific behavior, there are a few places where different implementations are required depending on device characteristics, such as button-based versus touch-based interaction or round versus rectangular displays. In these cases, device-specific code paths are introduced using exclude annotations directly within the source.
5244

5345
For additional details, refer to the folder’s [README](main/README.md).
5446

55-
<br>
56-
57-
### Subfolder `themes`
47+
### Subfolder `themes/`
5848

5949
Themes define the color schemes used in the app and can change dynamically at runtime. This also includes icons whose colors must be adapted to the active theme. Themes are used to implement the light and dark mode on Edge devices.
6050

source/main/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ While most code in this directory is shared, certain parts are conditionally inc
99

1010
## Subfolder Structure
1111

12-
### `data/`
12+
### Subfolder `data/`
1313

1414
Implements the data layer of the application.
1515

@@ -24,7 +24,7 @@ For more details, see the folder’s [README](data/README.md).
2424

2525
---
2626

27-
### `infrastructure/`
27+
### Subfolder `infrastructure/`
2828

2929
Provides the technical foundation of the application.
3030

@@ -34,7 +34,7 @@ For more details, see the folder’s [README](infrastructure/README.md).
3434

3535
---
3636

37-
### `user-interface/`
37+
### Subfolder `user-interface/`
3838

3939
Contains all presentation-layer code.
4040

source/main/data/communications/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ This folder contains the connection management logic, HTTP request handling and
88

99
## Subfolder Structure
1010

11-
### `connection/`
11+
### Subfolder `connection/`
1212

1313
Contains the `ConnectionManager`, which tracks the currently available connection type (BLE vs. Wi-Fi) and manages transitions between normal, degraded (Wi-Fi), and offline modes.
1414

1515
For more details on connection behavior, see the [Network Access](https://next.openhab.org/docs/apps/garmin/#network-access) section of the user manual.
1616

1717
---
1818

19-
### `sync-delegates/`
19+
### Subfolder `sync-delegates/`
2020

2121
Implements Wi-Fi-based synchronization used when no BLE connection is available.
2222

@@ -29,9 +29,7 @@ Sync delegates are responsible for sending commands and updating the sitemap ove
2929
Introduces SyncDelegate support and provides basic guidance on implementing Wi-Fi synchronization.
3030
- [Connect IQ API Docs – `Toybox.Communications.SyncDelegate`](https://developer.garmin.com/connect-iq/api-docs/Toybox/Communications/SyncDelegate.html)
3131

32-
<br>
33-
34-
### `web-requests/`
32+
### Subfolder `web-requests/`
3533

3634
Implements communication with the openHAB server using the Connect IQ SDK’s `Toybox.Communications` module.
3735

source/main/data/sitemap/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ The classes in this folder convert the JSON representation delivered by openHAB
1212

1313
## Subfolder Structure
1414

15-
### `base/`
15+
### Subfolder `base/`
1616

1717
Contains `SitemapElement.mc`, the abstract base class for all sitemap elements.
1818

1919
It defines shared properties and common parsing logic used by all concrete sitemap element types.
2020

2121
---
2222

23-
### `json/`
23+
### Subfolder `json/`
2424

2525
The Connect IQ API delivers JSON data as a dictionary.
2626
`JsonObjectAdapter` provides type-safe accessors for retrieving objects, arrays, strings, numbers, and booleans from the JSON structure.
@@ -29,7 +29,7 @@ This layer isolates JSON handling details from the higher-level sitemap model.
2929

3030
---
3131

32-
### `pages/`
32+
### Subfolder `pages/`
3333

3434
Contains classes representing the **content** of container-type sitemap elements (e.g., frames or groups).
3535

@@ -39,7 +39,7 @@ To keep the UI responsive and avoid limitations such as the Watchdog timeout for
3939

4040
---
4141

42-
### `widgets/`
42+
### Subfolder `widgets/`
4343

4444
Contains `SitemapElement` subclasses representing concrete sitemap widgets, such as switches, sliders, text labels, and container elements.
4545

source/main/user-interface/features/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,17 +71,17 @@ Device-specific behavior is defined in the `monkey.jungle` build file. Exclusion
7171

7272
### Subfolders
7373

74-
#### `manager/`
74+
#### Subfolder `manager/`
7575

7676
Contains `SettingsMenuManager`, which controls the lifecycle and presentation of the settings menu.
7777

7878
It maintains singleton instances of the menu and its input delegate, tracks whether the menu is currently visible, and coordinates transitions between the homepage and the settings view. It also determines focus behavior based on slide direction and input type, and manages pushing and popping the view on the `ViewStack`.
7979

80-
#### `menu/`
80+
#### Subfolder `menu/`
8181

8282
Contains the `SettingsMenu` implementation based on `BaseMenu`, along with the corresponding input delegates for handling user interaction.
8383

84-
#### `menu-items/`
84+
#### Subfolder `menu-items/`
8585

8686
Contains the individual menu items displayed within the _Settings_ menu.
8787

source/main/user-interface/features/sitemap/control/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,15 @@ The custom implementation (`DynamicPicker`) allows scrolling through and selecti
5252

5353
---
5454

55-
## `player/`
55+
## Subfolder `player/`
5656

5757
Implements `PlayerView`, which enables interaction with media players (play/pause, next/previous) and displays the current playback state.
5858

5959
See the [Player section](https://next.openhab.org/docs/apps/garmin/#player) for usage details and examples.
6060

6161
---
6262

63-
## `rollershutter/`
63+
## Subfolder `rollershutter/`
6464

6565
Implements `RollershutterView`, which allows control of a rollershutter (up/down/stop) and displays the current state.
6666

0 commit comments

Comments
 (0)