VFD modular clock firmware
Dependencies: DipCortex-EEprom RTC flw mbed
prefs.h
- Committer:
- Backstr?m
- Date:
- 2015-02-24
- Revision:
- 12:dfb422107412
- Parent:
- 0:f6e68b4ce169
File content as of revision 12:dfb422107412:
/* * VFD Modular Clock - mbed * (C) 2011-14 Akafugu Corporation * * This program is free software; you can redistribute it and/or modify it under the * terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNU General Public License for more details. * */ #ifndef PREFS_H_ #define PREFS_H_ const uint8_t PREFS_SIZE = 12; enum PREFS { PREF_24H = 0, PREF_BRIGHTNESS, PREF_ALARM, PREF_DOTS, PREF_GPS, PREF_GPS_TZH, PREF_GPS_TZM, PREF_AUTODATE, PREF_FLW, // Prefs that are not saved to eeprom PREF_SET_TIME, PREF_SET_ALARM, PREF_YEAR, PREF_MONTH, PREF_DAY, PREF_NULL // placeholder }; struct prefs_t { uint8_t sig0; // expected 0x42 uint8_t sig1; // expected 0x66 uint8_t disp_24h; uint8_t brightness; uint8_t alarm; uint8_t dots; uint8_t gps; int8_t gps_tzh; uint8_t gps_tzm; uint8_t auto_date; uint8_t flw; uint8_t crc; }; union PrefsData { uint8_t buf[12]; prefs_t prefs; }; void init_prefs(); void save_prefs(); PrefsData* get_prefs(); // prefs that are not saved to EEPROM void set_year(int year); void set_month(int month); void set_day(int day); void set_extra_prefs(int year, int month, int day); void get_extra_prefs(int& year, int& month, int& day); void set_pref(PREFS pref, uint32_t value); #endif // PREFS_H_