1
0
mirror of https://github.com/thooge/esp32-nmea2000-obp60.git synced 2025-12-16 07:23:07 +01:00

handle bus recovery in driver class

This commit is contained in:
andreas
2023-08-25 20:14:26 +02:00
parent f5e48fcab3
commit 0d5215e00f
3 changed files with 40 additions and 23 deletions

View File

@@ -5,7 +5,7 @@
class Nmea2kTwai : public tNMEA2000{
public:
Nmea2kTwai(gpio_num_t _TxPin, gpio_num_t _RxPin);
Nmea2kTwai(gpio_num_t _TxPin, gpio_num_t _RxPin, unsigned long recP=0);
typedef enum{
ST_STOPPED,
ST_RUNNING,
@@ -25,7 +25,7 @@ class Nmea2kTwai : public tNMEA2000{
STATE state=ST_ERROR;
} Status;
Status getStatus();
bool startRecovery();
bool checkRecovery();
static const char * stateStr(const STATE &st);
virtual bool CANOpen();
virtual ~Nmea2kTwai(){};
@@ -47,9 +47,12 @@ class Nmea2kTwai : public tNMEA2000{
private:
void initDriver();
bool startRecovery();
gpio_num_t TxPin;
gpio_num_t RxPin;
uint32_t txTimeouts=0;
unsigned long recoveryPeriod=0;
unsigned long lastRecoveryCheck=0;
};
#endif