diff options
| -rw-r--r-- | src/system.h | 54 | 
1 files changed, 54 insertions, 0 deletions
| diff --git a/src/system.h b/src/system.h index dcff642..eb5d9dd 100644 --- a/src/system.h +++ b/src/system.h @@ -18,13 +18,67 @@   */  class System {  	private: +		/** +		 * Shutdown threshold counter. Contains the time since both +		 * buttons were first pressed at the same time in 256µs steps. +		 */  		uint16_t want_shutdown; + +		/** +		 * Debounce counter for button presses. Buttons are ignored while +		 * this value is greater than zero +		 */  		uint8_t btn_debounce; + +		/** +		 * Index of the currently active animation +		 */  		uint8_t current_anim_no; + +		/** +		 * Shuts down the entire system. Shows a shutdown animation, waits +		 * untel both buttons are released, turns off all hardware and puts +		 * the system to sleep. Re-enables the hardware and shows the +		 * last active animation after a wakeup +		 */  		void shutdown(void); + +		/** +		 * Modem receive function. Maintains the internal state machine +		 * (see RxExpect) +		 */  		void receive(void); + +		/** +		 * Loads a pattern from the EEPROM and shows it on the display. +		 * Loads the first 132 bytes (4 bytes header + 128 bytes data) of +		 * the pattern into the global disp_buf variable, updates the +		 * global active_anim to reflect the read metadata and calls +		 * Display::show() to display the pattern. +		 * +		 * @param pattern_no index of pattern to show +		 */  		void loadPattern(uint8_t pattern_no); + +		/** +		 * Show the pattern stored in pattern on the display. +		 * Updates the global active_anim object with the metadata +		 * stored in the first four bytes of pattern and cals +		 * Display::show() to display it +		 * +		 * @param pattern array containing the pattern +		 */  		void loadPattern_buf(uint8_t *pattern); + +		/** +		 * Load pattern from PROGMEM. Loads the entire pattern stored +		 * at pattern_ptr into the global disp_buf variable, updates +		 * the global active_anim object with the metadata stored in the +		 * first four pattern bytes and calls Display::show() to display +		 * the pattern. The pattern data must not be longer than 128 bytes. +		 * +		 * @param pattern_ptr pointer to pattern data in PROGMEM +		 */  		void loadPattern_P(const uint8_t *pattern_ptr);  		enum TransmissionControl : uint8_t { | 
