Skip to content

Commit 9e97a83

Browse files
committed
Update Examples
1 parent 67df887 commit 9e97a83

File tree

4 files changed

+169
-153
lines changed

4 files changed

+169
-153
lines changed

examples/digitalReadFast_ForCycle/digitalReadFast_ForCycle.ino

+58-53
Original file line numberDiff line numberDiff line change
@@ -3,60 +3,65 @@
33
#define PIN_TEST 4
44

55
void setup() {
6-
digitalPinFast pinTest(PIN_TEST);
7-
unsigned long initTime, endTime;
8-
9-
Serial.begin(115200);
10-
while(!Serial) {}
11-
12-
Serial.println("FastDigitalPin test: digitalReadFast in 255 cycles");
13-
Serial.print("sizeof digitalPinFast Object: "); Serial.println(sizeof(pinTest));
14-
Serial.println();
15-
16-
pinMode(PIN_TEST, INPUT);
17-
18-
Serial.println("Arduino digitalRead() function:");
19-
initTime = micros();
20-
for(uint8_t i = 0; i < 255; ++i) {
21-
digitalRead(PIN_TEST);
22-
}
23-
endTime = micros();
24-
25-
Serial.print("initTime : "); Serial.println(initTime);
26-
Serial.print("endTime : "); Serial.println(endTime);
27-
Serial.print("Time : "); Serial.println(endTime - initTime);
28-
Serial.println();
29-
30-
delay(2000);
31-
32-
Serial.println("digitalReadFast() function:");
33-
initTime = micros();
34-
for(uint8_t i = 0; i < 255; ++i) {
35-
pinTest.digitalReadFast();
36-
}
37-
endTime = micros();
38-
39-
Serial.print("initTime : "); Serial.println(initTime);
40-
Serial.print("endTime : "); Serial.println(endTime);
41-
Serial.print("Time : "); Serial.println(endTime - initTime);
42-
Serial.println();
43-
44-
delay(2000);
45-
46-
Serial.println("register function:"); //D4 = PD4
47-
initTime = micros();
48-
for(uint8_t i = 0; i < 255; ++i) {
49-
uint8_t pinValue = bitRead(PIND, 4);
50-
}
51-
endTime = micros();
52-
53-
Serial.print("initTime : "); Serial.println(initTime);
54-
Serial.print("endTime : "); Serial.println(endTime);
55-
Serial.print("Time : "); Serial.println(endTime - initTime);
56-
Serial.println();
6+
digitalPinFast pinTest(PIN_TEST);
7+
unsigned long initTime, endTime;
8+
9+
Serial.begin(115200);
10+
while (!Serial) {}
11+
12+
Serial.println("FastDigitalPin test: digitalReadFast in 255 cycles");
13+
Serial.print("sizeof digitalPinFast Object: "); Serial.println(sizeof(pinTest));
14+
Serial.println();
15+
16+
pinMode(PIN_TEST, INPUT);
17+
18+
Serial.println("Arduino digitalRead() function:");
19+
Serial.flush(); // Ensure write transmit buffer empty
20+
delay(10); // Empirical; hope to wait past any final transmit interrupt
21+
initTime = micros();
22+
for (uint8_t i = 0; i < 255; ++i) {
23+
digitalRead(PIN_TEST);
24+
}
25+
endTime = micros();
26+
27+
Serial.print("initTime : "); Serial.println(initTime);
28+
Serial.print("endTime : "); Serial.println(endTime);
29+
Serial.print("Time : "); Serial.println(endTime - initTime);
30+
Serial.println();
31+
32+
delay(2000);
33+
34+
Serial.println("digitalReadFast() function:");
35+
Serial.flush(); // Ensure write transmit buffer empty
36+
delay(10); // Empirical; hope to wait past any final transmit interrupt
37+
initTime = micros();
38+
for (uint8_t i = 0; i < 255; ++i) {
39+
pinTest.digitalReadFast();
40+
}
41+
endTime = micros();
42+
43+
Serial.print("initTime : "); Serial.println(initTime);
44+
Serial.print("endTime : "); Serial.println(endTime);
45+
Serial.print("Time : "); Serial.println(endTime - initTime);
46+
Serial.println();
47+
48+
delay(2000);
49+
50+
Serial.println("register function:"); //D4 = PD4
51+
Serial.flush(); // Ensure write transmit buffer empty
52+
delay(10); // Empirical; hope to wait past any final transmit interrupt
53+
initTime = micros();
54+
for (uint8_t i = 0; i < 255; ++i) {
55+
uint8_t pinValue = bitRead(PIND, 4);
56+
}
57+
endTime = micros();
58+
59+
Serial.print("initTime : "); Serial.println(initTime);
60+
Serial.print("endTime : "); Serial.println(endTime);
61+
Serial.print("Time : "); Serial.println(endTime - initTime);
62+
Serial.println();
5763
}
5864

5965
void loop() {
60-
// put your main code here, to run repeatedly:
61-
66+
// put your main code here, to run repeatedly:
6267
}

examples/digitalWriteFast_ForCycle/digitalWriteFast_ForCycle.ino

+58-52
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,65 @@
1-
#include <digitalPinFast.h>
1+
#include <digitalPinFast.h>
22

33
#define PIN_TEST 4
44

55
void setup() {
6-
digitalPinFast pinTest(PIN_TEST);
7-
unsigned long initTime, endTime;
8-
9-
Serial.begin(115200);
10-
while(!Serial) {}
11-
12-
Serial.println("FastDigitalPin test: digitalWriteFast in 255 cycles");
13-
Serial.print("sizeof digitalPinFast Object: "); Serial.println(sizeof(pinTest));
14-
Serial.println();
15-
16-
pinMode(PIN_TEST, INPUT);
17-
18-
Serial.println("Arduino digitalWrite() function:");
19-
initTime = micros();
20-
for(uint8_t i = 0; i < 255; ++i) {
21-
digitalWrite(PIN_TEST, HIGH);
22-
}
23-
endTime = micros();
24-
25-
Serial.print("initTime : "); Serial.println(initTime);
26-
Serial.print("endTime : "); Serial.println(endTime);
27-
Serial.print("Time : "); Serial.println(endTime - initTime);
28-
Serial.println();
29-
30-
delay(2000);
31-
32-
Serial.println("digitalWriteFast() function:");
33-
initTime = micros();
34-
for(uint8_t i = 0; i < 255; ++i) {
35-
pinTest.digitalWriteFast(HIGH);
36-
}
37-
endTime = micros();
38-
39-
Serial.print("initTime : "); Serial.println(initTime);
40-
Serial.print("endTime : "); Serial.println(endTime);
41-
Serial.print("Time : "); Serial.println(endTime - initTime);
42-
Serial.println();
43-
44-
delay(2000);
45-
46-
Serial.println("register function:"); //D4 = PD4
47-
initTime = micros();
48-
for(uint8_t i = 0; i < 255; ++i) {
49-
PORTD = B00010000;
50-
}
51-
endTime = micros();
52-
53-
Serial.print("initTime : "); Serial.println(initTime);
54-
Serial.print("endTime : "); Serial.println(endTime);
55-
Serial.print("Time : "); Serial.println(endTime - initTime);
56-
Serial.println();
6+
digitalPinFast pinTest(PIN_TEST);
7+
unsigned long initTime, endTime;
8+
9+
Serial.begin(115200);
10+
while (!Serial) {}
11+
12+
Serial.println("FastDigitalPin test: digitalWriteFast in 255 cycles");
13+
Serial.print("sizeof digitalPinFast Object: "); Serial.println(sizeof(pinTest));
14+
Serial.println();
15+
16+
pinMode(PIN_TEST, INPUT);
17+
18+
Serial.println("Arduino digitalWrite() function:");
19+
Serial.flush(); // Ensure write transmit buffer empty
20+
delay(10); // Empirical; hope to wait past any final transmit interrupt
21+
initTime = micros();
22+
for (uint8_t i = 0; i < 255; ++i) {
23+
digitalWrite(PIN_TEST, HIGH);
24+
}
25+
endTime = micros();
26+
27+
Serial.print("initTime : "); Serial.println(initTime);
28+
Serial.print("endTime : "); Serial.println(endTime);
29+
Serial.print("Time : "); Serial.println(endTime - initTime);
30+
Serial.println();
31+
32+
delay(2000);
33+
34+
Serial.println("digitalWriteFast() function:");
35+
Serial.flush(); // Ensure write transmit buffer empty
36+
delay(10); // Empirical; hope to wait past any final transmit interrupt
37+
initTime = micros();
38+
for (uint8_t i = 0; i < 255; ++i) {
39+
pinTest.digitalWriteFast(HIGH);
40+
}
41+
endTime = micros();
42+
43+
Serial.print("initTime : "); Serial.println(initTime);
44+
Serial.print("endTime : "); Serial.println(endTime);
45+
Serial.print("Time : "); Serial.println(endTime - initTime);
46+
Serial.println();
47+
48+
delay(2000);
49+
50+
Serial.println("register function:"); // D4 = PD4
51+
Serial.flush(); // Ensure write transmit buffer empty
52+
delay(10); // Empirical; hope to wait past any final transmit interrupt
53+
initTime = micros();
54+
for (uint8_t i = 0; i < 255; ++i) {
55+
PORTD = B00010000;
56+
}
57+
endTime = micros();
58+
59+
Serial.print("initTime : "); Serial.println(initTime);
60+
Serial.print("endTime : "); Serial.println(endTime);
61+
Serial.print("Time : "); Serial.println(endTime - initTime);
62+
Serial.println();
5763
}
5864

5965
void loop() {

examples/pinModeFast_ForCycle/pinModeFast_ForCycle.ino

+52-47
Original file line numberDiff line numberDiff line change
@@ -3,64 +3,69 @@
33
#define PIN_TEST 4
44

55
void setup() {
6-
digitalPinFast pinTest(PIN_TEST);
7-
unsigned long initTime, endTime;
8-
9-
Serial.begin(115200);
10-
while(!Serial) {}
11-
12-
Serial.println("FastDigitalPin test: pinModeFast in 255 cycles");
13-
Serial.print("sizeof digitalPinFast Object: "); Serial.println(sizeof(pinTest));
14-
Serial.println();
6+
digitalPinFast pinTest(PIN_TEST);
7+
unsigned long initTime, endTime;
158

16-
pinMode(PIN_TEST, INPUT);
9+
Serial.begin(115200);
10+
while (!Serial) {}
1711

18-
Serial.println("Arduino pinMode() function:");
19-
initTime = micros();
20-
for(uint8_t i = 0; i < 255; ++i) {
21-
pinMode(PIN_TEST, OUTPUT);
22-
}
23-
endTime = micros();
12+
Serial.println("FastDigitalPin test: pinModeFast in 255 cycles");
13+
Serial.print("sizeof digitalPinFast Object: "); Serial.println(sizeof(pinTest));
14+
Serial.println();
2415

25-
Serial.print("initTime : "); Serial.println(initTime);
26-
Serial.print("endTime : "); Serial.println(endTime);
27-
Serial.print("Time : "); Serial.println(endTime - initTime);
28-
Serial.println();
16+
pinMode(PIN_TEST, INPUT);
2917

30-
pinMode(PIN_TEST, INPUT);
31-
delay(2000);
18+
Serial.println("Arduino pinMode() function:");
19+
Serial.flush(); // Ensure write transmit buffer empty
20+
delay(10); // Empirical; hope to wait past any final transmit interrupt
21+
initTime = micros();
22+
for (uint8_t i = 0; i < 255; ++i) {
23+
pinMode(PIN_TEST, OUTPUT);
24+
}
25+
endTime = micros();
3226

33-
Serial.println("pinModeFast() function:");
34-
initTime = micros();
35-
for(uint8_t i = 0; i < 255; ++i) {
36-
pinTest.pinModeFast(OUTPUT);
37-
}
38-
endTime = micros();
27+
Serial.print("initTime : "); Serial.println(initTime);
28+
Serial.print("endTime : "); Serial.println(endTime);
29+
Serial.print("Time : "); Serial.println(endTime - initTime);
30+
Serial.println();
3931

40-
Serial.print("initTime : "); Serial.println(initTime);
41-
Serial.print("endTime : "); Serial.println(endTime);
42-
Serial.print("Time : "); Serial.println(endTime - initTime);
43-
Serial.println();
32+
pinMode(PIN_TEST, INPUT);
33+
delay(2000);
4434

45-
pinMode(PIN_TEST, INPUT);
46-
delay(2000);
35+
Serial.println("pinModeFast() function:");
36+
Serial.flush(); // Ensure write transmit buffer empty
37+
delay(10); // Empirical; hope to wait past any final transmit interrupt
38+
initTime = micros();
39+
for (uint8_t i = 0; i < 255; ++i) {
40+
pinTest.pinModeFast(OUTPUT);
41+
}
42+
endTime = micros();
4743

48-
Serial.println("register function:"); //D4 = PD4
49-
initTime = micros();
50-
for(uint8_t i = 0; i < 255; ++i) {
51-
DDRD = B00010000;
52-
}
53-
endTime = micros();
44+
Serial.print("initTime : "); Serial.println(initTime);
45+
Serial.print("endTime : "); Serial.println(endTime);
46+
Serial.print("Time : "); Serial.println(endTime - initTime);
47+
Serial.println();
5448

55-
Serial.print("initTime : "); Serial.println(initTime);
56-
Serial.print("endTime : "); Serial.println(endTime);
57-
Serial.print("Time : "); Serial.println(endTime - initTime);
58-
Serial.println();
49+
pinMode(PIN_TEST, INPUT);
50+
delay(2000);
5951

60-
pinMode(PIN_TEST, INPUT);
52+
Serial.println("register function:"); // D4 = PD4
53+
Serial.flush(); // Ensure write transmit buffer empty
54+
delay(10); // Empirical; hope to wait past any final transmit interrupt
55+
initTime = micros();
56+
for (uint8_t i = 0; i < 255; ++i) {
57+
DDRD = B00010000;
58+
}
59+
endTime = micros();
60+
61+
Serial.print("initTime : "); Serial.println(initTime);
62+
Serial.print("endTime : "); Serial.println(endTime);
63+
Serial.print("Time : "); Serial.println(endTime - initTime);
64+
Serial.println();
65+
66+
pinMode(PIN_TEST, INPUT);
6167
}
6268

6369
void loop() {
64-
// put your main code here, to run repeatedly:
65-
70+
// put your main code here, to run repeatedly:
6671
}

library.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=digitalPinFast
2-
version=1.0.1
2+
version=1.0.2
33
author=Luca Fidanza <TheFidaxContacts@gmail.com>
44
maintainer=Luca Fidanza <TheFidaxContacts@gmail.com>
55
sentence=More speed for digitalPin operations.

0 commit comments

Comments
 (0)