Skip to content

Commit d0e3fcd

Browse files
committed
Updated Pintest sketch
1 parent 90331b6 commit d0e3fcd

File tree

4 files changed

+64
-40
lines changed

4 files changed

+64
-40
lines changed
+47-40
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,112 @@
1-
2-
#include <FastSPI_LED2.h>
1+
#include <AslFastPin.h>
32

43
const char *getPort(void *portPtr) {
54
#ifdef PORTA
6-
if(portPtr == (void*)&PORTA) { return "PORTA"; }
5+
if (portPtr == (void*)&PORTA) { return "PORTA"; }
76
#endif
87
#ifdef PORTB
9-
if(portPtr == (void*)&PORTB) { return "PORTB"; }
8+
if (portPtr == (void*)&PORTB) { return "PORTB"; }
109
#endif
1110
#ifdef PORTC
12-
if(portPtr == (void*)&PORTC) { return "PORTC"; }
11+
if (portPtr == (void*)&PORTC) { return "PORTC"; }
1312
#endif
1413
#ifdef PORTD
15-
if(portPtr == (void*)&PORTD) { return "PORTD"; }
14+
if (portPtr == (void*)&PORTD) { return "PORTD"; }
1615
#endif
1716
#ifdef PORTE
18-
if(portPtr == (void*)&PORTE) { return "PORTE"; }
17+
if (portPtr == (void*)&PORTE) { return "PORTE"; }
1918
#endif
2019
#ifdef PORTF
21-
if(portPtr == (void*)&PORTF) { return "PORTF"; }
20+
if (portPtr == (void*)&PORTF) { return "PORTF"; }
2221
#endif
2322
#ifdef PORTG
24-
if(portPtr == (void*)&PORTG) { return "PORTG"; }
23+
if (portPtr == (void*)&PORTG) { return "PORTG"; }
2524
#endif
2625
#ifdef PORTH
27-
if(portPtr == (void*)&PORTH) { return "PORTH"; }
26+
if (portPtr == (void*)&PORTH) { return "PORTH"; }
2827
#endif
2928
#ifdef PORTI
30-
if(portPtr == (void*)&PORTI) { return "PORTI"; }
29+
if (portPtr == (void*)&PORTI) { return "PORTI"; }
3130
#endif
3231
#ifdef PORTJ
33-
if(portPtr == (void*)&PORTJ) { return "PORTJ"; }
32+
if (portPtr == (void*)&PORTJ) { return "PORTJ"; }
3433
#endif
3534
#ifdef PORTK
36-
if(portPtr == (void*)&PORTK) { return "PORTK"; }
35+
if (portPtr == (void*)&PORTK) { return "PORTK"; }
3736
#endif
3837
#ifdef PORTL
39-
if(portPtr == (void*)&PORTL) { return "PORTL"; }
38+
if (portPtr == (void*)&PORTL) { return "PORTL"; }
4039
#endif
4140
#ifdef GPIO_A_PDOR
42-
if(portPtr == (void*)&GPIO_A_PDOR) { return "GPIO_A_PDOR"; }
41+
if (portPtr == (void*)&GPIO_A_PDOR) { return "GPIO_A_PDOR"; }
4342
#endif
4443
#ifdef GPIO_B_PDOR
45-
if(portPtr == (void*)&GPIO_B_PDOR) { return "GPIO_B_PDOR"; }
44+
if (portPtr == (void*)&GPIO_B_PDOR) { return "GPIO_B_PDOR"; }
4645
#endif
4746
#ifdef GPIO_C_PDOR
48-
if(portPtr == (void*)&GPIO_C_PDOR) { return "GPIO_C_PDOR"; }
47+
if (portPtr == (void*)&GPIO_C_PDOR) { return "GPIO_C_PDOR"; }
4948
#endif
5049
#ifdef GPIO_D_PDOR
51-
if(portPtr == (void*)&GPIO_D_PDOR) { return "GPIO_D_PDOR"; }
50+
if (portPtr == (void*)&GPIO_D_PDOR) { return "GPIO_D_PDOR"; }
5251
#endif
5352
#ifdef GPIO_E_PDOR
54-
if(portPtr == (void*)&GPIO_E_PDOR) { return "GPIO_E_PDOR"; }
53+
if (portPtr == (void*)&GPIO_E_PDOR) { return "GPIO_E_PDOR"; }
5554
#endif
5655
#ifdef REG_PIO_A_ODSR
57-
if(portPtr == (void*)&REG_PIO_A_ODSR) { return "REG_PIO_A_ODSR"; }
56+
if (portPtr == (void*)&REG_PIO_A_ODSR) { return "REG_PIO_A_ODSR"; }
5857
#endif
5958
#ifdef REG_PIO_B_ODSR
60-
if(portPtr == (void*)&REG_PIO_B_ODSR) { return "REG_PIO_B_ODSR"; }
59+
if (portPtr == (void*)&REG_PIO_B_ODSR) { return "REG_PIO_B_ODSR"; }
6160
#endif
6261
#ifdef REG_PIO_C_ODSR
63-
if(portPtr == (void*)&REG_PIO_C_ODSR) { return "REG_PIO_C_ODSR"; }
62+
if (portPtr == (void*)&REG_PIO_C_ODSR) { return "REG_PIO_C_ODSR"; }
6463
#endif
6564
#ifdef REG_PIO_D_ODSR
66-
if(portPtr == (void*)&REG_PIO_D_ODSR) { return "REG_PIO_D_ODSR"; }
65+
if (portPtr == (void*)&REG_PIO_D_ODSR) { return "REG_PIO_D_ODSR"; }
6766
#endif
6867
return "unknown";
6968
}
7069

71-
template<uint8_t PIN> void CheckPin()
72-
{
70+
template<uint8_t PIN>
71+
void CheckPin() {
72+
using namespace asl;
73+
7374
CheckPin<PIN - 1>();
7475

7576
RwReg *systemThinksPortIs = portOutputRegister(digitalPinToPort(PIN));
7677
RwReg systemThinksMaskIs = digitalPinToBitMask(PIN);
77-
78+
7879
Serial.print("Pin "); Serial.print(PIN); Serial.print(": Port ");
79-
80-
if(systemThinksPortIs == FastPin<PIN>::port()) {
80+
81+
if (systemThinksPortIs == FastPin<PIN>::port()) {
8182
Serial.print("valid & mask ");
82-
} else {
83-
Serial.print("invalid, is "); Serial.print(getPort((void*)FastPin<PIN>::port())); Serial.print(" should be ");
83+
} else {
84+
Serial.print("invalid, is ");
85+
Serial.print(getPort((void*)FastPin<PIN>::port()));
86+
Serial.print(" should be ");
8487
Serial.print(getPort((void*)systemThinksPortIs));
8588
Serial.print(" & mask ");
8689
}
8790

88-
if(systemThinksMaskIs == FastPin<PIN>::mask()) {
91+
if (systemThinksMaskIs == FastPin<PIN>::mask()) {
8992
Serial.println("valid.");
90-
} else {
91-
Serial.print("invalid, is "); Serial.print(FastPin<PIN>::mask()); Serial.print(" should be "); Serial.println(systemThinksMaskIs);
93+
} else {
94+
Serial.print("invalid, is ");
95+
Serial.print(FastPin<PIN>::mask());
96+
Serial.print(" should be ");
97+
Serial.println(systemThinksMaskIs);
9298
}
93-
}
99+
}
94100

95-
template<> void CheckPin<-1> () {}
101+
template<>
102+
void CheckPin<-1>() {}
96103

97-
void setup() {
98-
Serial.begin(38400);
99-
Serial.println("resetting!");
104+
void setup() {
105+
Serial.begin(38400);
106+
Serial.println("resetting!");
100107
}
101108

102-
void loop() {
109+
void loop() {
103110
CheckPin<MAX_PIN>();
104111
delay(10000);
105-
}
112+
}

AslFastPin/src/utility/arm/k20/fastpin_sysdefs_arm_k20.h

+6
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,11 @@
1212
#include <avr/io.h>
1313
#include <avr/interrupt.h> // for cli/se definitions
1414

15+
// Define the register types
16+
#if defined(ARDUINO) // && ARDUINO < 150
17+
typedef volatile uint8_t RoReg; /**< Read only 8-bit register (volatile const unsigned int) */
18+
typedef volatile uint8_t RwReg; /**< Read-Write 8-bit register (volatile unsigned int) */
19+
#endif
20+
1521

1622
#endif // __INC_FASTPIN_SYSDEFS_ARM_K20_H

AslFastPin/src/utility/arm/kl26/fastpin_sysdefs_arm_kl26.h

+6
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,10 @@
1313
#include <avr/io.h>
1414
#include <avr/interrupt.h> // for cli/se definitions
1515

16+
// Define the register types
17+
#if defined(ARDUINO) // && ARDUINO < 150
18+
typedef volatile uint8_t RoReg; /**< Read only 8-bit register (volatile const unsigned int) */
19+
typedef volatile uint8_t RwReg; /**< Read-Write 8-bit register (volatile unsigned int) */
20+
#endif
21+
1622
#endif // __INC_FASTPIN_SYSDEFS_ARM_KL26_H

AslFastPin/src/utility/arm/nrf51/fastpin_sysdefs_arm_nrf51.h

+5
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,9 @@
1616
#include "nrf51.h"
1717
#include "core_cm0.h"
1818

19+
typedef volatile uint32_t RoReg;
20+
typedef volatile uint32_t RwReg;
21+
typedef uint32_t prog_uint32_t;
22+
typedef uint8_t boolean;
23+
1924
#endif // __INC_FASTPIN_SYSDEFS_ARM_NRF51

0 commit comments

Comments
 (0)