mirror of
				https://github.com/Pablo2048/Interval.git
				synced 2025-10-31 00:12:36 +01:00 
			
		
		
		
	Prvni ulozeni do githubu
This commit is contained in:
		
							
								
								
									
										60
									
								
								examples/BlinkWithoutDelay/BlinkWithoutDelay.ino
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								examples/BlinkWithoutDelay/BlinkWithoutDelay.ino
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | |||||||
|  | /* Blink without Delay | ||||||
|  |  | ||||||
|  |  Turns on and off a light emitting diode(LED) connected to a digital | ||||||
|  |  pin, without using the delay() function.  This means that other code | ||||||
|  |  can run at the same time without being interrupted by the LED code. | ||||||
|  |  | ||||||
|  |  The circuit: | ||||||
|  |  * LED attached from pin 13 to ground. | ||||||
|  |  * Note: on most Arduinos, there is already an LED on the board | ||||||
|  |  that's attached to pin 13, so no hardware is needed for this example. | ||||||
|  |   | ||||||
|  |  created 2005 | ||||||
|  |  by David A. Mellis | ||||||
|  |  modified 8 Feb 2010 | ||||||
|  |  by Paul Stoffregen | ||||||
|  |  modified 11 Nov 2013 | ||||||
|  |  by Scott Fitzgerald | ||||||
|  |  modified 5 Oct 2014 | ||||||
|  |  by Pavel Brychta | ||||||
|  |   | ||||||
|  |   | ||||||
|  |  This example code is in the public domain. | ||||||
|  |   | ||||||
|  |  http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay | ||||||
|  |  */ | ||||||
|  | #include <interval.h> | ||||||
|  |  | ||||||
|  | // constants won't change. Used here to set a pin number : | ||||||
|  | const int ledPin =  13;      // the number of the LED pin | ||||||
|  |  | ||||||
|  | // Variables will change : | ||||||
|  | int ledState = LOW;             // ledState used to set the LED | ||||||
|  |  | ||||||
|  | Interval blink; | ||||||
|  |  | ||||||
|  | // constants won't change : | ||||||
|  | const long blinkinterval = 1000;           // interval at which to blink (milliseconds) | ||||||
|  |  | ||||||
|  | void setup() { | ||||||
|  |   // set the digital pin as output: | ||||||
|  |   pinMode(ledPin, OUTPUT); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void loop() | ||||||
|  | { | ||||||
|  |   // here is where you'd put code that needs to be running all the time. | ||||||
|  |  | ||||||
|  |   if (blink.expired()) { | ||||||
|  |     blink.set(blinkinterval); // set new interval period | ||||||
|  |     // if the LED is off turn it on and vice-versa: | ||||||
|  |     if (ledState == LOW) | ||||||
|  |       ledState = HIGH; | ||||||
|  |     else | ||||||
|  |       ledState = LOW; | ||||||
|  |  | ||||||
|  |     // set the LED with the ledState of the variable: | ||||||
|  |     digitalWrite(ledPin, ledState); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										36
									
								
								src/interval.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								src/interval.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  | extern "C" { | ||||||
|  |   #include <stdlib.h> | ||||||
|  |   #include <string.h> | ||||||
|  |   #include <inttypes.h> | ||||||
|  | } | ||||||
|  | #include <Arduino.h> | ||||||
|  | #include "interval.h" | ||||||
|  |  | ||||||
|  | // Public Methods ////////////////////////////////////////////////////////////// | ||||||
|  | uint32_t Interval::remains(void) | ||||||
|  | { | ||||||
|  |  | ||||||
|  | 	return timeout - (millis() - timefrom); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | uint32_t Interval::elapsed(void) | ||||||
|  | { | ||||||
|  |  | ||||||
|  | 	return millis() - timefrom; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | bool Interval::expired(void) | ||||||
|  | { | ||||||
|  |  | ||||||
|  | 	if ((millis() - timefrom) >= timeout) | ||||||
|  | 		return true; | ||||||
|  | 	else | ||||||
|  | 		return false; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void Interval::set(uint32_t tmout) | ||||||
|  | { | ||||||
|  |  | ||||||
|  | 	timefrom = millis(); | ||||||
|  | 	timeout = tmout; | ||||||
|  | } | ||||||
							
								
								
									
										30
									
								
								src/interval.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								src/interval.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  |  | ||||||
|  | #ifndef interval_h | ||||||
|  | #define interval_h | ||||||
|  |  | ||||||
|  | /* Interval | ||||||
|  |  * Copyright (C) 2014, 2016  Pavel Brychta http://www.xpablo.cz | ||||||
|  |  *  | ||||||
|  |  * 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 3 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. | ||||||
|  |  * You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses  | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include <inttypes.h> | ||||||
|  |  | ||||||
|  | class Interval | ||||||
|  | { | ||||||
|  |   protected: | ||||||
|  | 	uint32_t timefrom; | ||||||
|  | 	uint32_t timeout; | ||||||
|  |   public: | ||||||
|  | 	bool expired(void); | ||||||
|  | 	void set(uint32_t tmout); | ||||||
|  | 	uint32_t elapsed(void); | ||||||
|  | 	uint32_t remains(void); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #endif | ||||||
|  | // EOF | ||||||
		Reference in New Issue
	
	Block a user