Giter VIP home page Giter VIP logo

timeclock's People

Contributors

frishkorn avatar

Watchers

 avatar

timeclock's Issues

Move timeUtility.ino Into Sub-folder

Arduino won't allow multiple *.ino files sit in the same folder unless they are part of the same main sketch. Move the timeUtility.ino file into its own sub-folder.

Trim Version History

Trim version history in timeClock.ino. Remove from start to release 1.0. It's grown large and if someone needs to find that information, they can look at the history in GitHub.

Improve Log Format

Time and date are from the RTC so preceding zeros are missing. Update code to use a function pointer that the LCD and the Log can utilize.

Time Condition Causes 0 to be Preceded

When time is equal to 10 or 11 a 0 is preceded before the hours digit. Saw this issue with 11 AM, not sure if PM is affected.

Problem lies here

    {
      if (now.hour() == 12) { // Don't precede with a zero if it's noon.
        lcd.print(now.hour(), DEC);
      }
      else {
        lcd.print("0");
        lcd.print(now.hour(), DEC);
      }
    }

Explore Ways to Utilize NV_SRAM

While brushing up on the DS1307 RTC, I noticed that it contains 56 Bytes of Non-Voltage SRAM that is persistent as long as a battery is installed. Learn more about how to manipulate this and use it for a purpose.

Remove Time-Set Code

RTC Time-Set code if not commented out, will cause time to reset to when code was complied every time the Arduino is reset. I think it would be better to split this out into it's own code that only sets the RTC and wipes NV_SRAM.

Update timeExample

Spreadsheet hasn't been updated since the timer issue has been fixed.

Add Start Stop Timer

A timer shall start at first button press, and end at second button press. The log-file shall create an entry for each timer.

Backup Time / Date To NV_SRAM

In case of power loss, every 5 secs write date and time to NV_SRAM.

now.month() = 02
now.day() = 03
now.year() = 04 High Byte
now.year() = 05 Low Byte
now.hour() = 06
now.minute() = 07

Use Project Names

Develop a way to read Project Names that are stored on the SD Card. This would eliminate the need to look up the project based off of what number it is.

Projects.txt Names Must Be Contigous

Update code so that each projects.txt entry can be entered like,

Project1
Project2
etc...

Rather than, Project1Project2.

It should also handle newlines so that they don't have to contain whitespace characters to equal 8. Arrays should be null terminated.

Update Time / Date UI

Move both to button line and allow user to select them using left or right buttons. Primarily show the time but show the date periodically (interval TBD).

Improve Timer Timing

Timing seems to be off in some cases. Right around a second. Check the button press code for collisions with the delay.

Space Before Time in Data-log

There is a space before the time in the data-log. This prevents Excel from doing easy calculations. Need to work on testing and improving the timer if needed.

Clock Set Causes Display Issue

When the devices time is reset using timeUtility.ino, memory is set to 0xFF. To retain project memory the project and LCD back-light are fetched from memory. This causes them to be set to 255 which causes an issue until the user selects a project. Need an if statement to set these to default if the memory is equal to 0xFF.

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.