Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FastLED/FastLED.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Garcia <dgarcia@dgarcia.net>2019-08-12 06:50:38 +0300
committerDaniel Garcia <dgarcia@dgarcia.net>2019-08-12 06:50:38 +0300
commit0b337fb865a26dfa350b5220b0c54a3819edd82a (patch)
tree25940ef988459a8ee3991066b2c5a3a2fc0dfdc7
parent031d022d4ce8285f83c4e836defb105a8bf2f131 (diff)
Updating the pintest program w/Teensy 4 defs
-rw-r--r--examples/Pintest/Pintest.ino49
1 files changed, 37 insertions, 12 deletions
diff --git a/examples/Pintest/Pintest.ino b/examples/Pintest/Pintest.ino
index a63f0d46..f0a0dadc 100644
--- a/examples/Pintest/Pintest.ino
+++ b/examples/Pintest/Pintest.ino
@@ -1,7 +1,10 @@
-#include <FastSPI_LED.h>
+#include <FastLED.h>
+
+char fullstrBuffer[64];
const char *getPort(void *portPtr) {
+// AVR port checks
#ifdef PORTA
if(portPtr == (void*)&PORTA) { return "PORTA"; }
#endif
@@ -38,6 +41,8 @@ const char *getPort(void *portPtr) {
#ifdef PORTL
if(portPtr == (void*)&PORTL) { return "PORTL"; }
#endif
+
+// Teensy 3.x port checks
#ifdef GPIO_A_PDOR
if(portPtr == (void*)&GPIO_A_PDOR) { return "GPIO_A_PDOR"; }
#endif
@@ -65,7 +70,24 @@ const char *getPort(void *portPtr) {
#ifdef REG_PIO_D_ODSR
if(portPtr == (void*)&REG_PIO_D_ODSR) { return "REG_PIO_D_ODSR"; }
#endif
- return "unknown";
+
+// Teensy 4 port checks
+#ifdef GPIO1_DR
+ if(portPtr == (void*)&GPIO1_DR) { return "GPIO1_DR"; }
+#endif
+#ifdef GPIO2_DR
+if(portPtr == (void*)&GPIO2_DR) { return "GPIO21_DR"; }
+#endif
+#ifdef GPIO3_DR
+if(portPtr == (void*)&GPIO3_DR) { return "GPIO3_DR"; }
+#endif
+#ifdef GPIO4_DR
+if(portPtr == (void*)&GPIO4_DR) { return "GPIO4_DR"; }
+#endif
+ String unknown_str = "Unknown: " + String((size_t)portPtr, HEX);
+ strncpy(fullstrBuffer, unknown_str.c_str(), unknown_str.length());
+ fullstrBuffer[sizeof(fullstrBuffer)-1] = '\0';
+ return fullstrBuffer;
}
template<uint8_t PIN> void CheckPin()
@@ -74,32 +96,35 @@ template<uint8_t PIN> void CheckPin()
RwReg *systemThinksPortIs = portOutputRegister(digitalPinToPort(PIN));
RwReg systemThinksMaskIs = digitalPinToBitMask(PIN);
-
+
Serial.print("Pin "); Serial.print(PIN); Serial.print(": Port ");
-
- if(systemThinksPortIs == FastPin<PIN>::port()) {
+
+ if(systemThinksPortIs == FastPin<PIN>::port()) {
Serial.print("valid & mask ");
- } else {
- Serial.print("invalid, is "); Serial.print(getPort((void*)FastPin<PIN>::port())); Serial.print(" should be ");
+ } else {
+ Serial.print("invalid, is "); Serial.print(getPort((void*)FastPin<PIN>::port())); Serial.print(" should be ");
Serial.print(getPort((void*)systemThinksPortIs));
Serial.print(" & mask ");
}
if(systemThinksMaskIs == FastPin<PIN>::mask()) {
Serial.println("valid.");
- } else {
+ } else {
Serial.print("invalid, is "); Serial.print(FastPin<PIN>::mask()); Serial.print(" should be "); Serial.println(systemThinksMaskIs);
}
-}
+}
template<> void CheckPin<-1> () {}
-void setup() {
+void setup() {
+ delay(5000);
Serial.begin(38400);
Serial.println("resetting!");
}
-void loop() {
+void loop() {
CheckPin<MAX_PIN>();
- delay(10000);
+ delay(100000);
+
+ Serial.print("GPIO_1_DR is: "); Serial.print(getPort((void*)&(GPIO1_DR)));
}