| ... | ... | @@ -20,7 +20,7 @@ | 
              
                    | 20 | 20 |  | 
              
                    | 21 | 21 | {{/code}} | 
              
                    | 22 | 22 |  | 
              
                    | 23 |  | -Blink all GPIO pin and NTP (uses [[https:~~/~~/platformio.org/lib/show/551/NTPClient/>>https://platformio.org/lib/show/551/NTPClient/]]): | 
              
                    |  | 23 | +Blink all GPIO pins and NTP (uses [[https:~~/~~/platformio.org/lib/show/551/NTPClient/>>https://platformio.org/lib/show/551/NTPClient/]]): | 
              
                    | 24 | 24 |  | 
              
                    | 25 | 25 | {{code language="c++" title="main.cpp"}} | 
              
                    | 26 | 26 | #include <Arduino.h> | 
                      
        | ... | ... | @@ -35,12 +35,30 @@ | 
              
                    | 35 | 35 | NTPClient timeClient(ntpUDP, "ntp-b.nist.gov", 0, 60000); | 
              
                    | 36 | 36 |  | 
              
                    | 37 | 37 |  | 
              
                    | 38 |  | -void setup() { | 
              
                    |  | 38 | +void f2(void (*f)(uint8_t, uint8_t), uint8_t val) { | 
              
                    |  | 39 | + | 
              
                    |  | 40 | +// static const uint8_t D0   = 16; | 
              
                    |  | 41 | +// static const uint8_t D1   = 5; | 
              
                    |  | 42 | +// static const uint8_t D2   = 4; | 
              
                    |  | 43 | +// static const uint8_t D3   = 0; | 
              
                    |  | 44 | +// static const uint8_t D4   = 2; | 
              
                    |  | 45 | +// static const uint8_t D5   = 14; | 
              
                    |  | 46 | +// static const uint8_t D6   = 12; | 
              
                    |  | 47 | +// static const uint8_t D7   = 13; | 
              
                    |  | 48 | +// static const uint8_t D8   = 15; | 
              
                    |  | 49 | +// static const uint8_t D9   = 3; | 
              
                    |  | 50 | +// static const uint8_t D10  = 1; | 
              
                    |  | 51 | + | 
              
                    |  | 52 | + | 
              
                    | 39 | 39 | for (uint8_t i = 0; i <= 5; i++) | 
              
                    | 40 |  | - pinMode(i,OUTPUT); | 
              
                    |  | 54 | +  (*f)(i, val); | 
              
                    | 41 | 41 | for (uint8_t i = 12; i <= 16; i++) | 
              
                    | 42 |  | -  pinMode(i, OUTPUT); | 
              
                    |  | 56 | +  (*f)(i, val); | 
              
                    |  | 57 | +} | 
              
                    | 43 | 43 |  | 
              
                    |  | 59 | +void setup() { | 
              
                    |  | 60 | +  f2(&pinMode, OUTPUT); | 
              
                    |  | 61 | + | 
              
                    | 44 | 44 | // Serial.begin(115200); | 
              
                    | 45 | 45 |  | 
              
                    | 46 | 46 | WiFi.begin(ssid, password); | 
                      
        | ... | ... | @@ -58,7 +58,7 @@ | 
              
                    | 58 | 58 | unsigned long t; | 
              
                    | 59 | 59 |  | 
              
                    | 60 | 60 |  | 
              
                    | 61 |  | -void f(uint8_t hl) { | 
              
                    |  | 79 | +void f1(uint8_t hl) { | 
              
                    | 62 | 62 | timeClient.update(); | 
              
                    | 63 | 63 | unsigned long t1; | 
              
                    | 64 | 64 | for (; (t1 = timeClient.getEpochTime()) == t; delay(1)); | 
                      
        | ... | ... | @@ -66,17 +66,14 @@ | 
              
                    | 66 | 66 | t = t1; | 
              
                    | 67 | 67 | // Serial.println(timeClient.getFormattedTime()); | 
              
                    | 68 | 68 |  | 
              
                    | 69 |  | -  for (uint8_t i = 0; i <= 5; i++) | 
              
                    | 70 |  | -  digitalWrite(i, hl); | 
              
                    | 71 |  | -  for (uint8_t i = 12; i <= 16; i++) | 
              
                    | 72 |  | -  digitalWrite(i, hl); | 
              
                    |  | 87 | +  f2(&digitalWrite, OUTPUT); | 
              
                    |  | 88 | + | 
              
                    | 73 | 73 | } | 
              
                    | 74 | 74 |  | 
              
                    | 75 | 75 | void loop() { | 
              
                    | 76 |  | -  f(HIGH); | 
              
                    | 77 |  | -  f(LOW); | 
              
                    |  | 92 | +  f1(HIGH); | 
              
                    |  | 93 | +  f1(LOW); | 
              
                    | 78 | 78 | } | 
              
                    | 79 |  | - | 
              
                    | 80 | 80 | {{/code}} | 
              
                    | 81 | 81 |  | 
              
                    | 82 | 82 | {{code language="none" title="Upload log"}} |