Ontbrekend stuk code

Hallo,

ik ben redelijk nieuw op het gebied van arduino, maar heb via internet een 1 wire udp gateway gevonden voor intergratie met loxone, maar als ik dit stuk programma wil verifieren krijg ik de volgende foutmelding,

fatal error: LinkedList.h: No such file or directory
#include <LinkedList.h>.

Iemand een idee hoe ik dit kan oplossen?


#ifndef OneWireReading_h
#define OneWireReading_h

#include <Arduino.h>
#include "DS1820Lib.h"
#include "DS2438Lib.h"
#include <OneWire.h>
#include <LinkedList.h>
#include <TrueRandom.h>


#define ONE_WIRE_READING_VERSION "1.0.1"
#define DS2401MODEL 0x01
#define DS2438MODEL 0x26

typedef uint8_t ADDRESS[8];
enum DS2438State {DS2438_CLEAR, DS2438_CHA_SENT, DS2438_CHA_READ, DS2438_CHB_SENT, DS2438_CHB_READ};

struct ONE_WIRE_BUS {
  uint8_t pin;
  bool priority;
};


typedef void (*PrepareCallBack) ();
typedef void (*DataCallBack) (char *data);
typedef void (*FinishCallBack) ();

class DSGenericDevice {
  public:
    DSGenericDevice(ADDRESS addr); 
    ADDRESS address;

  protected:
    static void copyAddress(ADDRESS source, ADDRESS &destination);
};
class DS1820Device : public DSGenericDevice {
  public:
    DS1820Device(ADDRESS addr, DS1820 *ds);
    
    bool read();
    bool readTemp(double &temp);

    unsigned long nextReading;
    uint8_t state;

  private:
    DS1820 *_ds1820;
    bool _parasite;
};
class DS2401Device : public DSGenericDevice {
  public:
    DS2401Device(ADDRESS addr): DSGenericDevice(addr) {};
};
class DS2438Device : public DSGenericDevice {
  public:
    DS2438Device(ADDRESS addr, DS2438 *ds);
    
    void reset();
    bool readCHA();
    bool retrieveCHA();
    bool readCHB();
    bool retrieveCHB();

    void updateToNextState();
    void resetState(unsigned long _nextReading);

    unsigned long nextReading;
    DS2438State state;
    byte errCounter;

    double temperature;
    double voltageVAD;
    double voltageVDD;
    double voltageVSens;
    
  private:
    DS2438 *_ds2438;
};

class OneWireBus {
  public:
    OneWireBus(uint8_t pin, bool priority, unsigned int tempReadDelay,
               PrepareCallBack prepareCB, DataCallBack dataCB, FinishCallBack finishCallBack);
    void read();
    bool getPriority();
  
  private:
    static void sendDS2401(PrepareCallBack pCB, DataCallBack dCB, FinishCallBack fCB, ADDRESS addr);
    static void sendDS1820(PrepareCallBack pCB, DataCallBack dCB, FinishCallBack fCB,
                           ADDRESS addr, float temp);
    static void sendDS2438(PrepareCallBack pCB, DataCallBack dCB, FinishCallBack fCB,
                           ADDRESS addr, float temp, float vad, float vdd, float vsens);
    static void sendNewDevice(PrepareCallBack pCB, DataCallBack dCB, FinishCallBack fCB, ADDRESS addr);
    static void sendError(PrepareCallBack pCB, DataCallBack dCB, FinishCallBack fCB, ADDRESS addr);
    static void sendAddressAndGenericText(PrepareCallBack pCB, DataCallBack dCB, FinishCallBack fCB,
                                          ADDRESS addr, const char *text);

    static void handlePrepareCallBack(PrepareCallBack pCB);
    static void handleFinishCallBack(FinishCallBack fCB);
    static void sendAddress(DataCallBack dCB, ADDRESS addr);
    static void sendFloat(DataCallBack dCB, float value, int16_t precision = 1000);

    static bool findDeviceInList(ADDRESS addr, LinkedList<DSGenericDevice*> *list, uint8_t &index);
    static bool compareAddress(ADDRESS addr1, ADDRESS addr2);

    bool _priority;
    unsigned long _tempReadDelay;
    
    PrepareCallBack _prepareCallBack;
    DataCallBack _dataCallBack;
    FinishCallBack _finishCallBack;

    OneWire *_oneWire;
    DS1820 *_ds1820;
    DS2438 *_ds2438;
    LinkedList<DSGenericDevice*> *_devicesList;
};


class OneWireReading {
  public:
    OneWireReading(ONE_WIRE_BUS buses[], uint8_t numBuses, unsigned int tempReadDelay,
                   PrepareCallBack prepareCB, DataCallBack dataCB, FinishCallBack finishCB);
    void read();

  private:
    unsigned int _tempReadDelay;
    LinkedList<OneWireBus*> _buses;
};

#endif

Dat is het resultaat van een niet of incorrect geinstalleerde bibliotheek. De plaats waar je dat programma gevonden hebt geeft misschien informatie waar de bibliotheken gevonden kunnen worden.

Een korte zoektocht op google (arduino linkedlist.h - Google Search) geeft https://www.arduino.cc/reference/en/libraries/linkedlist/. Het is niet gezegd dat het de juiste is, dat is altijd een kwestie van proberen.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.