diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e794407..f14431e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -134,6 +134,8 @@ A healthy project needs the perspective of many people.
Submitting a pull request
-------------------------
Pull request is the preferred way to contribute code and documentation.
+[How to contribute to an open source project on GitHub](http://blog.davidecoppola.com/2016/11/howto-contribute-to-open-source-project-on-github/)
+
If you want to contribute some other way, please make a request in
[GitHub issues](https://github.com/wolfv6/Keybrd/issues)
or [geekhack thread](https://geekhack.org/index.php?topic=83599.0).
diff --git a/README.md b/README.md
index 45ee635..7150712 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,7 @@ keybrd_DH and its instantiation files contain about 800 lines of code.
[keybrd_DH_library_developer_guide.md](https://github.com/wolfv6/keybrd_DH/blob/master/doc/keybrd_DH_library_developer_guide.md)
[mainSketch.ino](https://github.com/wolfv6/keybrd_DH/blob/master/examples/keybrd_DH/mainSketch.cpp)
-[instantiations_scannersLEDs.h](https://github.com/wolfv6/keybrd_DH/blob/master/src/instantiations_pins.h)
+[instantiations_scannersLEDs.h](https://github.com/wolfv6/keybrd_DH/blob/master/src/instantiations_scannersLEDs.h)
[instantiations_scancodes.h](https://github.com/wolfv6/keybrd_DH/blob/master/src/instantiations_scancodes.h)
[instantiations_layercodes.h](https://github.com/wolfv6/keybrd_DH/blob/master/src/instantiations_layercodes.h)
[instantiations_rows_L.h](https://github.com/wolfv6/keybrd_DH/blob/master/src/instantiations_rows_L.h)
diff --git a/library.properties b/library.properties
index 2c3f84c..b87c0dc 100644
--- a/library.properties
+++ b/library.properties
@@ -1,5 +1,5 @@
name=keybrd
-version=0.5.0
+version=0.6.1
author=Wolfram Volpi
maintainer=Wolfram Volpi
sentence=A library for creating custom-keyboard firmware.
diff --git a/src/Scanner_IOE.cpp b/src/Scanner_IOE.cpp
index dd4d9d6..ca02d2f 100644
--- a/src/Scanner_IOE.cpp
+++ b/src/Scanner_IOE.cpp
@@ -13,8 +13,8 @@ Initiates communication protocal and configs ports.
void Scanner_IOE::begin()
{
refPortWrite.beginProtocol();
- refPortWrite.begin(strobeOn);
- refPortRead.begin(strobeOn);
+ refPortWrite.begin(activeState);
+ refPortRead.begin(activeState);
}
/* scan() is called on every iteration of sketch loop().
@@ -26,16 +26,16 @@ read_pins_t Scanner_IOE::scan(const uint8_t strobePin)
uint8_t readState; //bits, 1 means key is pressed, 0 means released
//strobe on
- refPortWrite.write(strobePin, strobeOn);
+ refPortWrite.write(strobePin, activeState);
delayMicroseconds(3); //time to stabilize voltage
//read the port pins
readState = refPortRead.read();
//strobe off
- refPortWrite.write(strobePin, strobeOff);
+ refPortWrite.write(strobePin, !activeState);
- if (strobeOn == LOW) //if active low
+ if (activeState == LOW) //if active low
{
readState = ~readState;
}
diff --git a/src/Scanner_IOE.h b/src/Scanner_IOE.h
index 3350edf..21c871f 100644
--- a/src/Scanner_IOE.h
+++ b/src/Scanner_IOE.h
@@ -16,15 +16,12 @@ keybrd_library_developer_guide.md has instructions for ## Active state and diode
class Scanner_IOE : public ScannerInterface
{
private:
- const bool strobeOn; //logic level of strobe on, HIGH or LOW
- const bool strobeOff; //logic level of strobe off, complement of strobeOn
+ const bool activeState; //logic level of strobe on, HIGH or LOW
PortInterface& refPortWrite; //the IC port containing the strobePin
PortInterface& refPortRead; //the IC's read port
public:
- Scanner_IOE(const bool strobeOn,
- PortInterface &refPortWrite, PortInterface& refPortRead)
- : strobeOn(strobeOn), strobeOff(!strobeOn),
- refPortWrite(refPortWrite), refPortRead(refPortRead) {}
+ Scanner_IOE(const bool activeState, PortInterface &refPortWrite, PortInterface& refPortRead)
+ : activeState(activeState) refPortWrite(refPortWrite), refPortRead(refPortRead) {}
void init(const uint8_t strobePin);
void begin();
read_pins_t scan(const uint8_t strobePin);
diff --git a/src/Scanner_ShiftRegsRead.cpp b/src/Scanner_ShiftRegsRead.cpp
index 5956165..a25aabf 100644
--- a/src/Scanner_ShiftRegsRead.cpp
+++ b/src/Scanner_ShiftRegsRead.cpp
@@ -1,9 +1,9 @@
#include "Scanner_ShiftRegsRead.h"
/* constructor
-Parameter strobeOn is not used.
+Parameter activeState is not used.
*/
-Scanner_ShiftRegsRead::Scanner_ShiftRegsRead(const bool strobeOn,
+Scanner_ShiftRegsRead::Scanner_ShiftRegsRead(const bool activeState,
const uint8_t slaveSelect, const uint8_t byte_count)
: slaveSelect(slaveSelect), byte_count(byte_count)
{
diff --git a/src/Scanner_ShiftRegsRead.h b/src/Scanner_ShiftRegsRead.h
index 7f1060f..d531e03 100644
--- a/src/Scanner_ShiftRegsRead.h
+++ b/src/Scanner_ShiftRegsRead.h
@@ -20,7 +20,7 @@ Example instantiation:
In the above Row instantiation, argument 0 for "strobePin" is ignored because there is no strobe.
There are three Scanner_ShiftRegsRead parameters.
-1. "strobeOn" paramter is ignored, but should be active state HIGH or LOW for ScannerInterface.
+1. "activeState" paramter is ignored, but should be active state HIGH or LOW for ScannerInterface.
2. "slaveSelect" paramter can be any controller pin connected to shift register's SHIFT-LOAD pin.
3. "byte_count" is the number of bytes to read from shift registers (1 to 4).
byte_count should cover all the row's keys: byte_count*8 >= row's keyCount
@@ -54,7 +54,7 @@ class Scanner_ShiftRegsRead : public ScannerInterface
const uint8_t slaveSelect;//controller pin number connected to shift register SHIFT-LOAD pin
const uint8_t byte_count; //number of bytes to read from shift registers
public:
- Scanner_ShiftRegsRead(const bool strobeOn,
+ Scanner_ShiftRegsRead(const bool activeState,
const uint8_t slaveSelect, const uint8_t byte_count);
void init(const uint8_t strobePin);
void begin();
diff --git a/src/Scanner_ShiftRegsReadStrobed.cpp b/src/Scanner_ShiftRegsReadStrobed.cpp
index c58915f..2e0e989 100644
--- a/src/Scanner_ShiftRegsReadStrobed.cpp
+++ b/src/Scanner_ShiftRegsReadStrobed.cpp
@@ -1,8 +1,8 @@
#include "Scanner_ShiftRegsReadStrobed.h"
-Scanner_ShiftRegsReadStrobed::Scanner_ShiftRegsReadStrobed(const bool strobeOn,
+Scanner_ShiftRegsReadStrobed::Scanner_ShiftRegsReadStrobed(const bool activeState,
const uint8_t slaveSelect, const uint8_t byte_count)
- : strobeOn(strobeOn), strobeOff(!strobeOn),
+ : activeState(activeState),
slaveSelect(slaveSelect), byte_count(byte_count)
{
pinMode(slaveSelect, OUTPUT);
@@ -44,7 +44,7 @@ read_pins_t Scanner_ShiftRegsReadStrobed::scan(const uint8_t strobePin)
{
read_pins_t readState = 0; //bits, 1 means key is pressed, 0 means released
- digitalWrite(strobePin, strobeOn); //strobe on
+ digitalWrite(strobePin, activeState); //strobe on
//SPI.beginTransaction( SPISettings(5000000, MSBFIRST, SPI_MODE0) ); //control SPI bus, 5 MHz
@@ -53,7 +53,7 @@ read_pins_t Scanner_ShiftRegsReadStrobed::scan(const uint8_t strobePin)
digitalWrite(slaveSelect, HIGH); //shift the data toward a serial output
- digitalWrite(strobePin, strobeOff); //strobe off
+ digitalWrite(strobePin, !activeState); //strobe off to preserv IR LED life
SPI.transfer(&readState, byte_count);
diff --git a/src/Scanner_ShiftRegsReadStrobed.h b/src/Scanner_ShiftRegsReadStrobed.h
index 17db711..3d7f767 100644
--- a/src/Scanner_ShiftRegsReadStrobed.h
+++ b/src/Scanner_ShiftRegsReadStrobed.h
@@ -19,7 +19,7 @@ Example instantiation:
Scanner_ShiftRegsReadStrobed scanner_R(HIGH, 6, 4);
There are three Scanner_ShiftRegsReadStrobed parameters.
-1. "strobeOn" paramter is active state HIGH or LOW.
+1. "activeState" paramter is active state HIGH or LOW.
2. "slaveSelect" paramter is controller pin connected to shift register's SHIFT-LOAD pin.
3. "byte_count" is the number of bytes to read from shift registers (1 to 4).
byte_count should cover all the row's keys: byte_count*8 >= row's keyCount
@@ -48,12 +48,11 @@ If multiple rows (or any SPI divice) share a MISO line, the shift registers need
class Scanner_ShiftRegsReadStrobed : public ScannerInterface
{
private:
- const bool strobeOn; //logic level of strobe on, active state HIGH or LOW
- const bool strobeOff; //logic level of strobe off, complement of strobeOn
+ const bool activeState; //logic level of strobe on, active state HIGH or LOW
const uint8_t slaveSelect;//controller pin number connected to shift register SHIFT-LOAD pin
const uint8_t byte_count; //number of bytes to read from shift registers
public:
- Scanner_ShiftRegsReadStrobed(const bool strobeOn,
+ Scanner_ShiftRegsReadStrobed(const bool activeState,
const uint8_t slaveSelect, const uint8_t byte_count);
virtual void init(const uint8_t strobePin);
virtual void begin();
diff --git a/src/Scanner_uC.cpp b/src/Scanner_uC.cpp
index b22c4a6..8de55e6 100644
--- a/src/Scanner_uC.cpp
+++ b/src/Scanner_uC.cpp
@@ -10,13 +10,13 @@ https://www.arduino.cc/en/Reference/Constants > Digital Pins modes: INPUT, INPUT
/* constructor
*/
-Scanner_uC::Scanner_uC(const bool strobeOn, const uint8_t readPins[], const uint8_t readPinCount)
- : strobeOn(strobeOn), strobeOff(!strobeOn), readPins(readPins), readPinCount(readPinCount)
+Scanner_uC::Scanner_uC(const bool activeState, const uint8_t readPins[], const uint8_t readPinCount)
+ : activeState(activeState), readPins(readPins), readPinCount(readPinCount)
{
uint8_t mode;
//configure read pins
- if (strobeOn == LOW) //if active low
+ if (activeState == LOW) //if active low
{
mode = INPUT_PULLUP; //use internal pull-up resistor
}
@@ -48,22 +48,22 @@ read_pins_t Scanner_uC::scan(const uint8_t strobePin)
read_pins_t readState = 0; //bits, 1 means key is pressed, 0 means released
read_pins_t readMask = 1; //bits, active bit is 1
- //strobe row on
- digitalWrite(strobePin, strobeOn);
+ //strobe on
+ digitalWrite(strobePin, activeState);
delayMicroseconds(3); //time to stablize voltage
//read all the read pins
for (uint8_t i=0; i < readPinCount; i++)
{
- if ( digitalRead(readPins[i]) == strobeOn )
+ if ( digitalRead(readPins[i]) == activeState )
{
readState |= readMask;
}
readMask <<= 1;
}
- //strobe row off
- digitalWrite(strobePin, strobeOff);
+ //strobe off
+ digitalWrite(strobePin, !activeState);
return readState;
}
diff --git a/src/Scanner_uC.h b/src/Scanner_uC.h
index 5ed8cf2..9c14ac3 100644
--- a/src/Scanner_uC.h
+++ b/src/Scanner_uC.h
@@ -12,12 +12,11 @@ Limit number of readPins to size of read_pins_t, which is defined in config_keyb
class Scanner_uC : public ScannerInterface
{
private:
- const bool strobeOn; //logic level of strobe on, HIGH or LOW
- const bool strobeOff; //logic level of strobe off, complement of strobeOn
+ const bool activeState; //logic level of strobe on, HIGH or LOW
const uint8_t* const readPins; //array of read pin numbers
const uint8_t readPinCount; //number of readPins
public:
- Scanner_uC(const bool strobeOn, const uint8_t readPins[], const uint8_t readPinCount);
+ Scanner_uC(const bool activeState, const uint8_t readPins[], const uint8_t readPinCount);
void init(const uint8_t strobePin);
virtual read_pins_t scan(const uint8_t strobePin);
};