Giter Club home page Giter Club logo

watchycore's Introduction

watchyCore! A library for Watchy, a Fully Open Source E-Paper Watch

This repo is just the library code for the watch. Watchfaces are managed separately and will have a repo in the future. This is a fork of the original Watchy branch which is here

How to start contributing to this library

There's currently 2 ways to go about writing / testing code in this library

Branching strategy

Here's a list of branches and what they're for

  • main (Where the 'stable' code lives)
  • release (Where the next releases code is merged, squash merged into main on deployment and re-created when release planning starts)
  • latest (Where all features are merged, this is deleted and re-created after release I think that's a rebase... )
  • <feature/patch>/ (Where feature/patch development happens, squash merge into release??? Not sure bout this yet)

When you start working on a bug/feature/patch, branch off of main (or whatever other branch you may have dependencies on.) and do your work. Once your code is worth of judgement (or lackthereof) open a pr for your branch into latest. Once that's merged it'll be available in the next latest build that occurs (needs automation see ISSUE#).

Just because a feature is in latest it does not mean the feature is going to be in the release branch / released. There's some release planning that might have to happen, not sure yet... release branch might get removed for latest, we'll see.

PR process

  • Once a PR is open it'll require review from at least one code owner. Once reviewed and approved, the code owner will squash merge the PR.
  • A PR can merge directly into main if it's documentation that does not coincide with any functionality.

Writing the code

Option 1:

  1. Edit library code
  2. Every time you want to compile copy the contents of the source folder into a folder called watchyCore in your Arduino library directory
  3. Compile the test watchface (still need to make a test watchface) with the now modified library code
  4. profit?

Option 2 (untested so far):

  1. Clone the repo into the Arduino library directory
  2. Edit library code
  3. Compile the test watchface (still need to make a test watchface) with the now modified library code

Have Fun! :)

Watchy

watchycore's People

Contributors

sqfmi avatar quinm0 avatar dandelany avatar ericlinagora avatar leonmatthes avatar kicker22004 avatar per1234 avatar

Stargazers

Frans van Bellen avatar  avatar

Watchers

James Cloos avatar

watchycore's Issues

Add alarm feature

Add alarm functionality to the main menu

Acceptance Criteria

  • Vibrate (yay/nay)
  • ability to edit/delete alarm
    maybe more?

Feature: Add Sync Time functionality

Add an option in the menu to synchronize the time on Watchy with some external service (perhaps WorldTimeAPI) using the CITY_NAME and COUNTRY_CODE in config.h. If the Watchy isn't connected to WiFi then this option should either not appear at all or return an error message indicating it requires WiFi.

As seen in this Discord message.

Acceptance Criteria:

  • There is a Sync Time option on the Watchy menu (possibly not visible if there is no WiFi connection)
  • The Sync Time menu option, when selected, auto-updates the time from a third party time service according to the user's timezone
  • If the time synchronization succeeds there should be a success message (Synchronization Succeeded! perhaps?) which can be backed out of to return to the menu
  • If the time synchronization fails there should be a failure message (Synchronization Failed! perhaps?) which can be backed out of to return to the menu

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.