X-Ryl669 a26f3569da Fix warnings %!s(int64=4) %!d(string=hai) anos
..
bin 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
device 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
libraries 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
scripts 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
tools 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
Makefile 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
README.md 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
battery.h 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
clock.h 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
config.h 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
display.h 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
firmware.ino 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
gesture.h a26f3569da Fix warnings %!s(int64=4) %!d(string=hai) anos
lightbar.h 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
protocol.h 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
test.sh 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos
touch.h a26f3569da Fix warnings %!s(int64=4) %!d(string=hai) anos
version 634b101c64 open sourcing oboo software packages repo %!s(int64=4) %!d(string=hai) anos

README.md

Oboo Smart Clock MCU Firmware

Firmware for the ATmega micro controller on the Oboo Smart Clock. Interacts with the following:

  • RTC
  • 7-Segment Display (via MAX7219)
  • Gesture & Brightness Sensor
  • Touch Input
  • WS2818 Addressable LEDs
  • Battery Level Monitoring

Build Instructions

To release:

make clean
make
cp build-uno/firmware.hex bin/atmega328p/

Also need to update version file to hold latest version number. Device uses this to check for firmware updates.

TODO List

  • Switch to using generic MCU-to-Omega serial communication function (sendCommand in protocol.h)
  • Implement Touch detection
    • Interrupt servicing routine, reading touch values, communication protocol
  • Battery Level Monitoring
    • Implement code
    • Test with new hardware
  • Debug and improve Up/Down gesture detection algorithm
  • Optimize binary size for smaller mcu