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