Git Product home page Git Product logo

crystal-face's Introduction

Crystal

A Garmin Connect IQ watch face.

Description

If you enjoy using Crystal, you can support my work with a small donation: https://goo.gl/vFCE4T

FAQs, including how to change watch face settings: https://github.com/warmsound/crystal-face/wiki/FAQ

A crystal clear watch face, with LCD-like goal meter segments, written while snow crystals were falling during an unusually cold spell of weather here in England.

Features (depending on watch support):

  • Big time digits right in the middle, with hours in bold. Leading zero and seconds can be hidden. Hours and minutes colours can be set independently.
  • Up to 3 customisable data fields: HR (historical/live), battery, notifications, calories, distance, alarms, altitude, thermometer, sunrise/sunset, weather (OpenWeatherMap).
  • Up to 3 customisable indicators: Bluetooth, alarms, notifications, Bluetooth/notifications, battery.
  • 2 customisable meters: steps, floors climbed, active minutes (weekly), battery, calories (custom goal). The meters have auto-scaling segments and current/target value display.
  • Move bar.
  • 12 colour themes.

The techie bit: to save your watch battery, the goal meters and move bar are drawn from a palette-restricted back buffer, for improved drawing performance, with minimal memory penalty.

This is my first ever Connect IQ watch face (please be kind!), so I look forward to your feedback, improving the watch face, and bringing it to more devices.

Reviews:

What's New

2.6.1

  • Fix "night scattered clouds" weather icon on round-454x454 watches.

2.6.0

  • Add support for latest watches, including vívoactive® 5 and Venu® 3.
  • Fix gap in battery meter on AMOLED screens.
  • Technical update to CIQ 6.4.1. Use Properties/Storage instead of Object Store for supporting watches. Fix most compiler warnings.

2.5.0

  • Add support for Venu® 2 and Venu® 2S (thanks to fallingrock for testing help). Thank you for your patience!
  • Technical update to CIQ 4.0.3.

2.4.7

  • Improve German translation (thanks to 2b2bff).
  • Translate Dutch settings (thanks to DRG-developer).
  • Allow override of built-in OpenWeatherMap key, in case that key is blocked.
  • Technical update to CIQ 3.2.5 SDK.

2.4.6

  • Cycle OpenWeatherMap key to circumvent key abuse that led to blocked account.

2.4.5

  • Add support for Korean language (thanks to nanbean).
  • 2nd attempt at settings-related crash fix.

2.4.4

  • Add support for Approach® S62, D2 Air, Descent™ Mk2, Garmin Swim™ 2, Rey™, MARQ® Golfer, Venu® Mercedes-Benz Collection, Venu® Sq, Venu® Sq – Music Edition.
  • Fix several settings-related crashes.
  • Update Russian translation (thanks to ya_kazachkov).
  • Correct German translation (thanks to axcro7).
  • Technical update to CIQ 3.2.2 SDK.

2.4.3

  • Putative fix for Venu™ crash on 2.80 firmware.

2.4.2

  • 2nd attempt at fēnix® 5X crash. Bug in 15.10 firmware (requiresBurnInProtection incorrectly set to true) identified with invaluable help from jeriveraf.

2.4.1

  • Putative fix for fēnix® 5X series crash. Thank you everyone for your patience.

2.4.0

  • Add support for Venu™, with new always-on layout.
  • Add support for MARQ™ Adventurer and Commander.
  • Technical update to CIQ 3.1.5 SDK.

2.3.7

  • Add bespoke fonts and layout for fēnix® 6X.
  • Improve readability of small font for all watches.

2.3.6

  • Technical update to CIQ 3.1.4 SDK. Add support for fēnix® 6 series (except fēnix® 6X), Captain Marvel, First Avenger and vívoactive® 4 series.

2.3.5

  • Add support for Forerunner® 45.

2.3.4

  • Fix crash when changing numeric settings (e.g. "Calories Goal") using Connect IQ Store app.

2.3.3

  • New Meter Style options, and new Meter Digits Style setting.
  • Fix issue when setting field or indicator count to 0.
  • Fix display of weather icon on Forerunner® 735XT.
  • Fix German translation typo.
  • Technical update to CIQ 3.0.11 SDK. Add support for Forerunner® 245/245 Music/945 and vívolife.

2.3.2

  • Fix issues with weather and humidity not updating.
  • Technical update to CIQ 3.0.10 SDK. Add support for MARQ™ series and vívoactive® 3 Mercedes-Benz.

2.3.1

  • Putative fix for intermittent storage-related crashes on fēnix® 5 series, vívoactive® 3 series and Approach® S60.
  • Update Swedish translation (thanks to fredrikaverpil).
  • Technical update to CIQ 3.0.9 SDK. Add support for vívoactive® 3 Music LTE.

2.3.0

  • Increase time font size and revise layouts for all watches.
  • Single line time for vívoactive® HR.

2.2.6

  • Add "Humidity" data field (uses OpenWeatherMap). Many thanks to jrmcsoftware for implementing this.
  • Technical update to CIQ 3.0.8 SDK.

2.2.5

  • "Pressure" data field should use historical data, to respect manual pressure calibration on fēnix® 5 watches (thanks to Allalin72 for help with this).

2.2.4

  • Fix issue with move bar not clearing in "Show Filled Segments" mode (thanks to BrettL for reproduction steps).
  • Add "Corn Yellow (Dark)" and "Dayglo Orange (Light)" themes.
  • Add "Pressure" data field.
  • Technical update to CIQ 3.0.7 SDK.

2.2.3

  • Remove need to enter OpenWeatherMap key.
  • Technical update to CIQ 3.0.6 SDK.

2.2.2

  • Fix issue with stuck "key!" if weather key is used before it has been activated.

2.2.1

  • Fix intermittent crash after receiving weather data.

2.2.0

2.1.0

  • Add "Sunrise/Sunset" data field.
  • Read altitude from more up-to-date source, and enable for all watches.
  • Add Croatian date translation (thanks to Kristijan).
  • Russian translation updates, and string fixes (thanks to xgsa).
  • German translation for settings screen (thanks to dragonito).
  • Technical update to CIQ 3.0.4 SDK.

2.0.1

  • Fix crash when changing settings.

2.0.0

  • Russian translation for watch face and settings screen (thanks to xgsa).
  • Display of additional time zone: specify city in settings (CIQ 2.x devices only, in beta). See FAQ.
  • Re-enable support for Approach® S60.
  • Technical update to CIQ 3.0.3 SDK.

1.8.1

  • Added "Heart Rate (Live 5s)" data field.
  • Read HR from more up-to-date source.
  • Improved clarity of battery indicator.
  • "Hide Hours Leading Zero" now setting applies to both 12- and 24-hour modes.
  • Technical update to CIQ 2.4.9 SDK, to add support for D2™ Delta, D2™ Delta PX, D2™ Delta S.

1.8.0

  • Added setting to control number of data fields (0-3).
  • Added setting to control number of indicators (0-3): Bluetooth, alarms, notifications, bluetooth/notifications.
  • Improved memory efficiency.
  • Layout adjustments.
  • Technical update to CIQ 2.4.8 SDK.

1.7.4

  • Polish translation for settings screen (thanks to Flugcojt).
  • Swedish translation for settings screen (thanks to hasselrot).

1.7.3

  • Update to CIQ 2.4.7 SDK, to add support for fēnix® 5 Plus, fēnix® 5S Plus, fēnix® 5X Plus, vívoactive® 3 Music.
  • Fixed issue with "ft" altitude units displaying incorrectly (thanks to Matt Reiser).

1.7.2

  • Altitude units now obey statue/metric setting (thanks to Rick Gorham).
  • Added "Battery (Hide Percentage)" data field (thanks to Paolo Avezzano).
  • Corrected number of move bar segments to 5 (thanks to Viorel).
  • Technical update to CIQ 2.4.6 SDK.

1.7.1

  • Re-enabled Forerunner® 920XT, following non-anti-aliased custom font workaround provided by Coleman at Garmin.
  • Corrected French translation (thanks to Ju Neusch).

1.7.0

  • Added temperature data field option.
  • Added vivid yellow dark theme.
  • Added meter style setting.
  • Added move bar style setting.
  • Corrected German translations (thanks to Christoph Heymann for help with this).
  • Temporarily removed support for Approach® S60 and Forerunner® 920XT, pending fixes from Garmin - many thanks for your patience.
  • Technical update to CIQ 2.4.5 SDK.

1.6.1

  • Added barometric altitude for supported CIQ 2.x devices.
  • Show midnight as "12" instead of "00" in 12-hour mode.
  • Fixed incorrect default settings for vívoactive®.

1.6.0

  • Added blue, red and green light themes.
  • Allow colour of hours and minutes to be overridden independently.
  • Allow hiding of hours leading zero in 12 hr mode.
  • Prevent overlapping goal numbers on semi-round watches (thanks to G_stijn for reporting this).

1.5.3

  • Fix crash if floors or active minutes goal is set to 0: show disabled meter instead.

1.5.2

  • Technical update to CIQ 2.4.4 SDK.

1.5.1

  • Added alarms data field option.
  • Rollout to CIQ 1.x devices, part 2: Forerunner® 230, Forerunner® 235, Forerunner® 630, Forerunner® 920XT, vívoactive®.

1.5.0

  • Rollout to CIQ 1.x devices, part 1: D2™ Bravo, D2™ Bravo Titanium, fēnix® 3, fēnix® 3 HR.

1.4.3

  • Meters can now show a custom calories goal, specified in settings.
  • Fixed issue with wrong strings or crash when changing settings via Garmin Express in non-English locales (thanks to Ezio Pillan for reporting this bug).
  • Added app version to settings page.

1.4.2

  • Allow hiding of seconds.

1.4.1

  • Reduce battery drain, part 2: optimise per-minute updates (cache drawable references).
  • Allow meters to display battery level.

1.4.0

  • Reduce battery drain, part 1: reduce per-second update time from ~13ms to ~5ms (measured on Approach® S60, simulator).
  • Added Red (Dark) and Mono (Dark) themes.
  • Added support for vívoactive® HR.

1.3.0

  • Added support for fēnix® 5S, fēnix® Chronos, Forerunner® 735XT.
  • Added Dayglo Orange theme.

1.2.1

  • Fixed issue with distance value being too low (thanks to catana.remulus for reporting and assisting with this bug).

1.2.0

  • Added support for Approach® S60, D2™ Charlie, Descent™ Mk1, Forerunner® 645, Forerunner® 645 Music, Forerunner® 935, fēnix® 5, fēnix® 5X.
  • Added Cornflower Blue and Lemon Cream themes for better visibility.

N.B. Due to a vívoactive® 3 firmware bug, this watch face will be stuck on the language that was active at the time of the 3.30-3.40 firmware upgrade. Hopefully Garmin will fix this in a future firmware.

1.1.0

  • Internationalisation: added support for Chinese (Simplified/Traditional), Czech, Danish, Dutch, Finnish, French, German, Hungarian, Italian, Norwegian, Polish, Portugese, Slovak, Slovenian, Spanish, Swedish.
  • Force language to English for unsupported locales, to prevent garbled characters.
  • Fixed issue with battery meter not showing low/critical warning colours soon enough.

1.0.1

  • Fixed issue with showing noon as AM, rather than PM (with thanks to JACalvo for reporting this bug).
  • Fixed issue with move bar not updating correctly.

1.0.0

  • Initial public release for vívoactive® 3 only.

Credits

Icons:

crystal-face's People

Contributors

2b2bff avatar dragonito avatar drg-developer avatar flugcojt avatar fredrikaverpil avatar nanbean avatar warmsound avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crystal-face's Issues

One move bar segment missing

There should be 5 move bar segments: MOVE_BAR_MIN is 0 (none), MOVE_BAR_MAX is 5 (one double-width segment, four further segments).

Reported by Viorel.

Startup crash on S60

Reported by user scottfeirn. Crystal version 1.5.3. S60 firmware 4.0 (current).
CIQ_LOG.TXT
Crystal.debug.xml.zip

ERROR: Invalid Value
DETAILS: Failed invoking <symbol>
STORE_ID: 9fd04d098c804c81925717cfa0f0081b
CALLSTACK:
	@PC = 0x10002641

PC from callstack (268445249 decimal) appears to correspond to one of:

<entry endPc="268445640" name="dc" stackId="1" startPc="268445081"/>
<entry endPc="268445639" name="dateFontOverride" stackId="2" startPc="268445085"/>

Allow goal meters to show fixed percentage/fraction of goal value

Requested by Sam Bernikier. Sam has suggested e.g. 12 segments for (150) Weekly Active Minutes, to show 1/4, 1/3 and 1/2 fractions more easily. I have explained how the current algorithm works. It should be possible to add a setting to toggle the behaviour.

Distance reading low, or lagged

User catana.remulus has reported that distance is reading lower than on other watch faces at a given time on the same hardware. I have now also seen a similar issue on my own Vivoactive 3 watch.

2 reports of "not working" on 920xt

Reported by users Hannu and Hugo Ojeda. Latter user on 1.5.3, including #16 fix.

Debug version of Crystal.prg, built for 920xt, attached, with debug.xml.
Archive.zip

Works in simulator. Suspected missing null check for ActivityMonitor.info field, but would like to confirm.

remove data fields

I'm about the purchase the paid version but just to ask is it possible to remove data fields if I want to?

Thanks

Neighbouring data field text can touch

Matjaz Pirc supplied photo of the following data fields touching "0.5km 2940 0.5km" (distance, calories, distance - for illustration purposes only). Possible solutions:

  • Hide units altogether;
  • Display units vertically e.g. "k" on top of "m";
  • Provide option to reduce number of data fields.

Reduce memory usage

Current usage is 75.1/92.0kB. Main culprits are:

  • Full colour palette back buffers for goal meters;
  • Duplicate loading of font resources.

Add custom calories goal

This provides another option for displaying on a meter. CIQ 1.x devices currently only have a choice between steps and battery. Users would have to specify a goal, as CIQ does not provide one.

Empty settings

First of all, thank you for the great watchface!
My problem is: I don't have any settings available for this watchface both in Garmin connect Android app and in my Garmin Fenix x5 watch. I don't have even "settings" options on device for this particular watchface. What am I doing wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.