I got this error running a slightly modified version of one of your examples running it on an 8266. Hard to see how my small mods could have caused this. Here's more of the compiler ouput <D:\David\MyDocuments\Arduino\libraries\SoftTimers\src/SoftTimers.h: In constructor 'SoftTimerMillis::SoftTimerMillis()':
D:\David\MyDocuments\Arduino\libraries\SoftTimers\src/SoftTimers.h:122:40: error: invalid conversion from 'long unsigned int ()()' to 'SoftTimer::CounterFunctionPointer {aka unsigned int ()()}' [-fpermissive]
SoftTimerMillis() : SoftTimer(&millis)
D:\David\MyDocuments\Arduino\libraries\SoftTimers\src/SoftTimers.h:36:3: error: initializing argument 1 of 'SoftTimer::SoftTimer(SoftTimer::CounterFunctionPointer)' [-fpermissive]
SoftTimer(CounterFunctionPointer iCntFuncPtr);
^
D:\David\MyDocuments\Arduino\libraries\SoftTimers\src/SoftTimers.h: In constructor 'SoftTimerMicros::SoftTimerMicros()':
D:\David\MyDocuments\Arduino\libraries\SoftTimers\src/SoftTimers.h:131:40: error: invalid conversion from 'long unsigned int ()()' to 'SoftTimer::CounterFunctionPointer {aka unsigned int ()()}' [-fpermissive]
SoftTimerMicros() : SoftTimer(µs)
D:\David\MyDocuments\Arduino\libraries\SoftTimers\src/SoftTimers.h:36:3: error: initializing argument 1 of 'SoftTimer::SoftTimer(SoftTimer::CounterFunctionPointer)' [-fpermissive]
SoftTimer(CounterFunctionPointer iCntFuncPtr);>
Here's the code
<#include <SoftTimers.h>
#include "Arduino_DebugUtils.h"
// My libraries
#include "boardconfig.h"
/**************************************************
- Wait 1 second, turn on a LED for 0.3 second.
**************************************************/
SoftTimer delayTimer; //millisecond timer
SoftTimer ledTimer; //millisecond timer
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(115200);
//update timers
delayTimer.setTimeOutTime(1000); // 1 second.
ledTimer.setTimeOutTime(2000); // 2 second.
//start counting now
delayTimer.reset();
ledTimer.reset();
}
void loop() {
if (!delayTimer.hasTimedOut())
{
Serial.println("waiting...");
//reset LED timer so that is does not time out before delayTimer
ledTimer.reset();
}
//did we waited long enough ?
else if (delayTimer.hasTimedOut() && !ledTimer.hasTimedOut())
{
Serial.println("turning LED ON...");
//turn ON the LED
digitalWrite(ledPin, HIGH);
}
//should the LED be turned OFF ?
else if (delayTimer.hasTimedOut() && ledTimer.hasTimedOut())
{
Serial.println("turning LED OFF...");
//turn OFF the LED
digitalWrite(ledPin, LOW);
//restart both timers
delayTimer.reset();
ledTimer.reset();
}
}>
and
</*
- Board config library
*/
#ifndef BOARDCONFIG_H
#define BD_VER 1 // set to board version being targetted
#ifndef D5
#if defined(ESP8266)
#define D0 (16)
#define D1 (5)
#define D2 (4)
#define D3 (0)
#define D4 (2)
#define D5 (14)
#define D6 (12)
#define D7 (13)
#define D8 (15)
#define TX (1)
#define RX (3)
#elif defined(ESP32)
#define D5 (18)
#define D6 (19)
#define D7 (23)
#define D8 (5)
#define TX (1)
#endif
#endif
if BD_VER == 1
const int sclPin = D1;
const int sdaPin = D2;
const int fanPin = D3;
const int ledPin = D4;
const int piezoPin = D5;
const int thPin = D6;
const int h2oPin = D7;
const int adcPin = A0;
elif BD_VER == 2
const int sclPin = D1;
const int sdaPin = D2;
const int fanPin = D3;
const int ledPin = D4;
const int swrxPin = D5;
const int swtxPin = D6;
const int openPin = D7;
const int dirPin = D8;
const int adcPin = A0;
else
const int ledPin = D0;
const int sclPin = D1;
const int sdaPin = D2;
const int fanPin = D3;
const int fanspdPin = D4;
const int swrxPin = D5;
const int swtxPin = D6;
const int openPin = D7;
const int dirPin = D8;
const int adcPin = A0; //Connected to fault output of switch to fan
#endif //BD_VER logic
#endif BOARDCONFIG_H>