aboutsummaryrefslogtreecommitdiff
path: root/examples/Blink3rdPartyLib/Toggle/TogglePin.cpp
blob: fd6925d931ebbb6144339712a5ff7e98e3f2c0b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// This program is free software and is licensed under the same conditions as
// describe in https://github.com/sudar/Arduino-Makefile/blob/master/licence.txt

#include "TogglePin.h"

#ifdef ARDUINO
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#endif // ARDUINO

TogglePin::TogglePin(int pinNumber, bool state)
	: _pinNumber(pinNumber), _state(state)
{
	pinMode(_pinNumber, OUTPUT);
	digitalWrite(_pinNumber, _state ? HIGH : LOW);
}

bool
TogglePin::toggle()
{
	_state = !_state;
	digitalWrite(_pinNumber, _state ? HIGH : LOW);
	return _state;
}