# Metric Day Progress Watchface A novelty Garmin watchface that displays time as decimal day progress instead of traditional 12/24 hour format! ## Concept Instead of the traditional 12-hour clock, this watchface divides the day into **10 equal parts** and displays your progress through the day as a decimal number from 0 to 10. ### Time Conversions - **Midnight (00:00)** → 0.0 - **6:00 AM** → 2.5 - **Noon (12:00)** → 5.0 - **6:00 PM** → 7.5 - **End of day (24:00)** → 10.0 ## Features - Analog watchface with 10 divisions (0-9) - Rotating red hand showing current day progress - Digital decimal time display - Clean, minimalist design - Supports most modern Garmin devices ## Building the Watchface ### Prerequisites 1. **Garmin Connect IQ SDK** - Download from [developer.garmin.com](https://developer.garmin.com/connect-iq/sdk/) 2. **Java Development Kit (JDK)** - OpenJDK recommended 3. **Visual Studio Code** (optional but recommended) 4. **Garmin Monkey C Extension** for VS Code (optional) ### Build Methods #### Method 1: Using Visual Studio Code 1. Open this folder in VS Code 2. Ensure the Monkey C extension is installed 3. Press the play button in the toolbar 4. Select your target device from the simulator #### Method 2: Using Command Line If you have the SDK installed and `$SDK_PATH` set: ```bash # Build for simulator $SDK_PATH/bin/monkeyc \ -o MetricWatchFace.prg \ -f monkey.jungle \ -y $SDK_PATH/bin/developer_key # Run in simulator $SDK_PATH/bin/connectiq ``` #### Method 3: Using monkeybrains (if available) ```bash monkeybrains build monkeybrains run ``` ### Deploying to a Real Device 1. Build the `.prg` file using one of the methods above 2. Connect your Garmin device via USB 3. Copy the `.prg` file to the `GARMIN/APPS` folder on your device 4. Safely disconnect the device 5. The watchface should now be available in your watchface selection menu ## Project Structure ``` MetricWatchFace/ ├── manifest.xml # App configuration ├── monkey.jungle # Build configuration ├── source/ │ ├── MetricWatchFaceApp.mc # Application entry point │ └── MetricWatchFaceView.mc # Main watchface logic └── resources/ ├── drawables/ │ ├── drawables.xml # Drawable resources │ └── launcher_icon.png # App icon (placeholder) └── strings/ └── strings.xml # String resources ``` ## How It Works The watchface calculates decimal time using the formula: ``` decimalTime = (hours + minutes/60 + seconds/3600) / 24 * 10 ``` This value (0.0 to 10.0) is then displayed: - **Graphically** via a rotating red hand on an analog face - **Digitally** as a decimal number at the bottom of the screen ## Supported Devices This watchface supports a wide range of Garmin devices including: - Fenix series (5, 5 Plus, 6, 7) - Forerunner series (245, 645, 945, 955) - Vivoactive series (3, 4) - Venu series (1, 2, 2 Plus) See `manifest.xml` for the complete list. ## Notes - The launcher icon is currently a placeholder - you can replace it with your own PNG image - The watchface uses a simple black background with white/red elements - Updates occur every second when active to show smooth hand movement ## Future Enhancements Potential improvements: - Add date display - Battery indicator - Step count or other fitness metrics - Customizable colors via settings - Different hand styles - AMOLED-optimized always-on mode ## License This is a fun/joke project - feel free to use and modify as you wish!