Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. Error compiling for Arduino / Energy Monitor Shield

Error compiling for Arduino / Energy Monitor Shield

Scheduled Pinned Locked Moved Troubleshooting
9 Posts 4 Posters 4.3k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Christian WilhelmC Offline
    Christian WilhelmC Offline
    Christian Wilhelm
    wrote on last edited by
    #1

    Hello,

    I am trying to get the Energy Monitor Shield from Seeed to work (http://wiki.seeedstudio.com/wiki/Energy_Monitor_Shield_V0.9b) but struggling to use the provided sketch. As far as I know I need to transform the code to make it work with MySensors 2.0. I am rubbish with code (only know a little python) and have no clue where to start or decipher the error messages.

    The original code looks like this:

    /*
     This example code is in the public domain. 
     */
     
    #include <SPI.h>
    #include <MySensor.h>  // Include MySensors.org Library V1.5
    #include "EmonLib.h" // Include Emon Library
    #include <LCD5110_Graph_SPI.h> // Include NOKIA5110 Library
     
    #define CHILD_ID_POWER 0
     
    EnergyMonitor emon;
     
    LCD5110 myGLCD(5,6,3);
    extern unsigned char SmallFont[];
     
    MyTransportNRF24 transport(7, 8); //for EMv1
    MySensor gw(transport);
     
    unsigned long lastSend;
    unsigned long SEND_FREQUENCY = 20000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway.
     
    float Irms;
    float lastIrms = -99;
     
    char tbuf[8];
    char sbuf[12];
     
    MyMessage IrmsMsg(CHILD_ID_POWER, V_KWH);
     
    void setup()  
    { 
      myGLCD.InitLCD();
      myGLCD.setFont(SmallFont);
      myGLCD.update();
     
      // The third argument enables repeater mode.
      gw.begin(NULL, AUTO, true),
      gw.sendSketchInfo("Energy Monitor v1", "1.0");
     
    //  emon.current(0, 111.1);             // Current: input pin, calibration.
       emon.current(0, 66.5); 
     
      // Register all sensors to gw (they will be created as child devices)
     
      gw.present(CHILD_ID_POWER, S_POWER); 
    }
     
    void loop()      
    {      
      gw.process(); 
      unsigned long now = millis();
     
      double Irms = emon.calcIrms(1480);  // Calculate Irms only
      float realIrms  = emon.Irms*220;        //extract Real Power into variable
     
     if (realIrms != lastIrms) {
          gw.send(IrmsMsg.set(realIrms, 1)); //send to gateway
     
      lastIrms=realIrms;
      }
     
       dtostrf(realIrms,5,2,tbuf);
        sprintf(sbuf, "  %s kWt", tbuf);
        myGLCD.print(sbuf, 20, 0);   
        myGLCD.print("Powr:", 0, 0);  
     
        dtostrf(Irms,5,2,tbuf);
        sprintf(sbuf, "  %s Amp", tbuf);
        myGLCD.print(sbuf, 20, 10);   
        myGLCD.print("Irms:", 0, 10);  
     
        myGLCD.update(); 
     
          Serial.print("Power: ");
          Serial.println(realIrms);
     
      gw.sleep(SEND_FREQUENCY);
      }```
    
    
    Then I transformed it to:
    
    
    

    /*
    This example code is in the public domain.
    */

    #include <nRF24L01.h>
    #include <RF24.h>
    #include <RF24_config.h>
    #include <SPI.h>
    #include <MySensors.h> // Include MySensors.org Library V1.5
    #include "EmonLib.h" // Include Emon Library
    #include <LCD5110_Graph_SPI.h> // Include NOKIA5110 Library

    #define CHILD_ID_POWER 0
    #define MY_RADIO_NRF24

    EnergyMonitor emon;

    LCD5110 myGLCD(5,6,3);
    extern unsigned char SmallFont[];

    MyTransportNRF24 transport(7, 8); //for EMv1

    unsigned long lastSend;
    unsigned long SEND_FREQUENCY = 20000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway.

    float Irms;
    float lastIrms = -99;

    char tbuf[8];
    char sbuf[12];

    MyMessage IrmsMsg(CHILD_ID_POWER, V_KWH);

    void setup()
    {
    myGLCD.InitLCD();
    myGLCD.setFont(SmallFont);
    myGLCD.update();

    // The third argument enables repeater mode.
    begin(NULL, AUTO, true),
    sendSketchInfo("Energy Monitor v1", "1.0");

    // emon.current(0, 111.1); // Current: input pin, calibration.
    emon.current(0, 66.5);

    // Register all sensors to gw (they will be created as child devices)

    present(CHILD_ID_POWER, S_POWER);
    }

    void loop()
    {

    unsigned long now = millis();

    double Irms = emon.calcIrms(1480); // Calculate Irms only
    float realIrms = emon.Irms*220; //extract Real Power into variable

    if (realIrms != lastIrms) {
    send(IrmsMsg.set(realIrms, 1)); //send to gateway

    lastIrms=realIrms;
    }

    dtostrf(realIrms,5,2,tbuf);
    sprintf(sbuf, " %s kWt", tbuf);
    myGLCD.print(sbuf, 20, 0);
    myGLCD.print("Powr:", 0, 0);

    dtostrf(Irms,5,2,tbuf);
    sprintf(sbuf, "  %s Amp", tbuf);
    myGLCD.print(sbuf, 20, 10);   
    myGLCD.print("Irms:", 0, 10);  
    
    myGLCD.update(); 
    
      Serial.print("Power: ");
      Serial.println(realIrms);
    

    sleep(SEND_FREQUENCY);
    } ```

    But still get the same error which is:

    MySensors.h:287:4: error: #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
    #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
    ^
    exit status 1
    Error compiling for board Arduino/Genuino Mega or Mega 2560.

    I think the sketch was written some time ago, using MySensors 1.5, not sure how to change it to the updated version.

    Appreciate any help

    Regards

    Christian

    1 Reply Last reply
    0
    • H Offline
      H Offline
      hek
      Admin
      wrote on last edited by
      #2

      Move the MySensors include to the bottom of your sketch

      1 Reply Last reply
      0
      • Christian WilhelmC Offline
        Christian WilhelmC Offline
        Christian Wilhelm
        wrote on last edited by
        #3

        Hi,

        Thanks for your help, still struggling to make it work. I have amended the sketch to that:

        /*
         This example code is in the public domain. 
         */
         
        #include <SPI.h>
        
        #include "EmonLib.h" // Include Emon Library
        #include <LCD5110_Graph_SPI.h> // Include NOKIA5110 Library
         
        #define CHILD_ID_POWER 0
         
        EnergyMonitor emon;
         
        LCD5110 myGLCD(5,6,3);
        extern unsigned char SmallFont[];
         
        MyTransportNRF24 transport(7, 8); //for EMv1
        MySensors gw(transport);
         
        unsigned long lastSend;
        unsigned long SEND_FREQUENCY = 20000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway.
         
        float Irms;
        float lastIrms = -99;
         
        char tbuf[8];
        char sbuf[12];
         
        MyMessage IrmsMsg(CHILD_ID_POWER, V_KWH);
         
        void setup()  
        { 
          myGLCD.InitLCD();
          myGLCD.setFont(SmallFont);
          myGLCD.update();
         
          // The third argument enables repeater mode.
          begin(NULL, AUTO, true),
          sendSketchInfo("Energy Monitor v1", "1.0");
         
        //  emon.current(0, 111.1);             // Current: input pin, calibration.
           emon.current(0, 66.5); 
         
        
         
        void loop()      
        {      
          process(); 
          unsigned long now = millis();
         
          double Irms = emon.calcIrms(1480);  // Calculate Irms only
          float realIrms  = emon.Irms*220;        //extract Real Power into variable
         
         if (realIrms != lastIrms) {
              gw.send(IrmsMsg.set(realIrms, 1)); //send to gateway
         
          lastIrms=realIrms;
          }
         
           dtostrf(realIrms,5,2,tbuf);
            sprintf(sbuf, "  %s kWt", tbuf);
            myGLCD.print(sbuf, 20, 0);   
            myGLCD.print("Powr:", 0, 0);  
         
            dtostrf(Irms,5,2,tbuf);
            sprintf(sbuf, "  %s Amp", tbuf);
            myGLCD.print(sbuf, 20, 10);   
            myGLCD.print("Irms:", 0, 10);  
         
            myGLCD.update(); 
         
              Serial.print("Power: ");
              Serial.println(realIrms);
         
          sleep(SEND_FREQUENCY);
          }
          #include <MySensors.h>  // Include MySensors.org Library V2.0
        

        Still get this error message:

        Documents/Arduino/libraries/MySensors-master/MySensors.h:287:4: error: #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
        #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
        ^
        exit status 1
        Error compiling for board Arduino/Genuino Mega or Mega 2560.

        Thanks

        Christian

        1 Reply Last reply
        0
        • H Offline
          H Offline
          hek
          Admin
          wrote on last edited by
          #4

          You seem to have picked some old 1.5 sketch and compile it using MySensors 2.0 .

          1 Reply Last reply
          0
          • Christian WilhelmC Offline
            Christian WilhelmC Offline
            Christian Wilhelm
            wrote on last edited by
            #5

            Yes the sketch was written using MySensors 1.5, but these don't seem to work anymore with the new IDE. I assume to code needs to look quite a bit differently.

            O 1 Reply Last reply
            0
            • Christian WilhelmC Christian Wilhelm

              Yes the sketch was written using MySensors 1.5, but these don't seem to work anymore with the new IDE. I assume to code needs to look quite a bit differently.

              O Offline
              O Offline
              Oleg Greengo
              wrote on last edited by Oleg Greengo
              #6

              @Christian-Wilhelm
              try this sketch

              
              /*
              This sketch is for a Energy Monitor v 1.0 
              http://www.elecrow.com/cooperated-designers/devicter/energy-monitor-shield-p-835.html
              
              and MySensors 2.0
              https://www.mysensors.org/
              
               modified
               17 Oct 2016
               by greengo
               */
              // Enable debug prints to serial monitor
              #define MY_DEBUG
              
              // Enable and select radio type attached
              #define MY_RADIO_NRF24
              
              #define MY_NODE_ID       AUTO
              
              #define SKETCH_NAME "Energy Monitor v1.0"
              #define SKETCH_VERSION "2.0.0"
              
              // Enable repeater functionality for this node
              #define MY_REPEATER_FEATURE
              
              #define MY_RF24_CHANNEL 76
              
              // Connected we have to move CE/CSN pins for NRF radio
              #define MY_RF24_CE_PIN   7
              #define MY_RF24_CS_PIN   8
              
              #include <SPI.h>
              #include <MySensors.h>
              #include "EmonLib.h"
              #include <Time.h>
              #include <LCD5110_Graph_SPI.h>
              
              LCD5110 myGLCD(5,6,3);
              //extern unsigned char SmallFont[];
              extern uint8_t SmallFont[];
              
              #define WINDOW 15
              
              // How many milli seconds between each measurement
              #define MEASURE_INTERVAL    1000 //for 1 sec
              
              // FORCE_TRANSMIT_INTERVAL, this number of times of wakeup, the sensor is forced to report all values to the controller
              #define FORCE_TRANSMIT_INTERVAL 600 //every 10 min
              
              unsigned long SLEEP_TIME = 1000; // Sleep time between reads (in milliseconds)
              
              int TEMP_TRANSMIT_THRESHOLD = 0; //~3-5 Watt
              
              #define CHILD_ID_POWER 0
              #define CHILD_ID_FLOATING_CUR_SENSOR 1 //floating sensor
              
              EnergyMonitor emon;
              
              unsigned long CHECK_TIME = millis();
              
              MyMessage IrmsMsg(CHILD_ID_POWER, V_WATT);
              MyMessage kWhMsg(CHILD_ID_POWER, V_KWH);
              MyMessage FloatingMsg(CHILD_ID_FLOATING_CUR_SENSOR, V_VAR1);
              
              // Global settings
              int measureCount = 0;
              boolean transmission_occured = false;
              
              boolean timeReceived = false;
              unsigned long lastUpdate = 0, lastRequest = 0;
              
              // Storage of old measurements
              double realWatt = 0;
              float realkWt = 0;
              double Irms;
              float lastIrms = 0;
              int Floating;
              float PMin = 99;
              float PMax = 0;
              
              int stateFloating = 0;
              
              long wattsum  = 0;
              long wattsumS = 0;
              //int seconds   = 0;
              double wh     = 0;
              double kwh    = 0;
              double whS    = 0;
              double kwhS   = 0;
              
              void setup()  
              { 
               double cIrms = 0;  
                 emon.current(0, 11.0);        // Current: input pin, calibration.
              
               double Irms[WINDOW];   
                       Irms[0] = emon.calcIrms(1480); // первое значение при измерении явно "кривое"
                //    Serial.println("calculate delta");
                    for (int i=0; i<WINDOW; i++) {
                      Irms[i] = emon.calcIrms(1480);
                   cIrms = cIrms + Irms[i];
                      delay(100);      
                    } 
                    
              sendPowerMeasurements(true);
                wait(500);
                
                //request Time
                requestTime();
                
                myGLCD.InitLCD();
                myGLCD.setFont(SmallFont);
              }
              
              void presentation()  
              {   
              // Send the sketch version information to the gateway and Controller
                
                sendSketchInfo(SKETCH_NAME, SKETCH_VERSION);
              
                // Register all sensors to gw (they will be created as child devices)
                present(CHILD_ID_POWER, S_POWER, "POWER");
              //present(CHILD_ID_POWER_COUNTER, S_CUSTOM, "COUNTER");
                present(CHILD_ID_FLOATING_CUR_SENSOR, S_CUSTOM, "Float");
              }
              
              // This is called when a new time value was received
              void receiveTime(unsigned long time) {
                Serial.print("Time value received: ");
                Serial.println(time);
                // Ok, set incoming time
                setTime(time);
                timeReceived = true;
              }
              
              void loop()      
              {       
                 unsigned long now = millis();
              
                // If no time has been received yet, request it every 10 second from controller
                // When time has been received, request update every hour
                if ((!timeReceived && now - lastRequest > (unsigned long)10 * 1000)
                    || (timeReceived && now - lastRequest > (unsigned long)60 * 1000 * 60)) {
                  // Request time from controller.
                  Serial.println("Requesting time");
                  Serial.println("Time now: ");
                  Serial.println(timeReceived);
                  wait(300);
                  requestTime();
                  lastRequest = now;
                }
                //*********************************
                 
                 displayUpdate();
                 
                int HH = hour();
                int MM = minute();
                int SS = second();
                 
                unsigned long NOW_TIME = millis();
                
                if(NOW_TIME - CHECK_TIME >= SLEEP_TIME)
                { 
                measureCount ++;
                
                  double Irms = emon.calcIrms(1480);  // Calculate Irms only
                  realWatt  = (emon.Irms * 220);  // Extract Real Power into variable
                  long watt = Irms * 220.0;
                  realkWt   = (Irms * 0.220);
              
                  wattsum = wattsum + watt;
                  wattsumS = wattsumS + watt;
                  //   seconds++;
              
              /*
                  Serial.print("    Real TIME   =    ");
                  Serial.print(hour());
                  Serial.print(" : ");
                  Serial.print(minute());
                  Serial.println();
              */
                  // hours KW reading
                  if ( (MM >= 59) & (SS >= 59)) {
                    wh = wh + wattsum / 3600;
                    kwh = wh / 1000;
                    send(kWhMsg.set(kwh, 4)); // Send kwh value to gw
              
                    wattsum = 0;
                    wh = 0;
                    //   seconds = 0;
                    // end of hourly KW reading
                  }
                
                  // fixing minimum and maximum values for Nokia
                if ( realkWt > PMax) PMax = realkWt;
                if ( realkWt < PMin &&  realkWt > 0.05) PMin = realkWt;   
                
                
                bool forceTransmit = false;
                transmission_occured = false;
               
                
                if (measureCount > FORCE_TRANSMIT_INTERVAL) { // force a transmission
                  forceTransmit = true; 
                  measureCount = 0;
                 
                    send(kWhMsg.set(kwh, 4)); // Send kwh value to gw 
                  
                }
                   sendPowerMeasurements(forceTransmit);
                 
               // Serial.print(" measureCount: ");
               // Serial.println(measureCount); 
               // Serial.print(" ");
                
                     CHECK_TIME = NOW_TIME;
                   } 
                }
              
              void sendPowerMeasurements(bool force)
              {
                bool tx = force;       
                
               // Set relay to last known state (using eeprom storage)
                TEMP_TRANSMIT_THRESHOLD = loadState(CHILD_ID_FLOATING_CUR_SENSOR);
                Floating = TEMP_TRANSMIT_THRESHOLD;
              
                //  Serial.print("TEMP_TRANSMIT_THRESHOLD: ");Serial.println(TEMP_TRANSMIT_THRESHOLD);
              
                float diffIrms = abs(lastIrms - realWatt);
              
                //  Serial.print(F("IrmsDiff :"));Serial.println(diffIrms);
              
                if (diffIrms > TEMP_TRANSMIT_THRESHOLD) tx = true;
              
                if (tx) {
                  measureCount = 0;
              
                  //   Serial.print("Watt: ");Serial.println(realWatt);
                
                  send(IrmsMsg.set(realWatt, 1));
              
                  lastIrms = realWatt;
                  transmission_occured = true;
                }
              /*
                //  Serial.print("seconds : "); Serial.println(seconds);
                Serial.print(" ***************** ");
                Serial.print("wh : "); Serial.println(wh);
                Serial.print(" ");
                Serial.print("kwhS : "); Serial.println(kwhS, 4);
                Serial.print(" ***************** ");
                Serial.print("wattsum : "); Serial.println(wattsum);
                Serial.print(" ");
                Serial.print("wattsumS : "); Serial.println(wattsumS);
                Serial.print(" ");
                Serial.print("Irms : "); Serial.println(Irms, 4);
                Serial.print(" ");
                Serial.print("kwh : "); Serial.println(kwh, 4);
                Serial.println(" ");
                Serial.print("Watt: "); Serial.println(realWatt);
                Serial.println(" ");
                Serial.print("realkWt : ");Serial.println(realkWt);
              */  
              }  
                // LCD Nokia 
               void displayUpdate()
               {
              // myGLCD.clrScr();
                
               char tbuf[8];
               char sbuf[12];
                  
                  dtostrf(realWatt,5,2,tbuf);
                  sprintf(sbuf, " %s Watt", tbuf);
                  myGLCD.print(sbuf, 20, 0);   //от края, высота 
                  myGLCD.print("PWR:", 0, 0);   //от края, высота  
                    
                  dtostrf(Irms,5,2,tbuf);
                  sprintf(sbuf, " %s Amp", tbuf);
                  myGLCD.print(sbuf, 20, 10);   //от края, высота 
                  myGLCD.print("IRM:", 0, 10);   //от края, высота 
                  
                  dtostrf(PMin,5,2,tbuf);
                  sprintf(sbuf, " %s kWt", tbuf);
                  myGLCD.print(sbuf, 20, 20);   //от края, высота 
                  myGLCD.print("MiN:", 0, 20);   //от края, высота 
                  
                  dtostrf(PMax,5,2,tbuf);
                  sprintf(sbuf, " %s kWt", tbuf);
                  myGLCD.print(sbuf, 20, 30);   //от края, высота 
                  myGLCD.print("MaX:", 0, 30);   //от края, высота 
                  
                  dtostrf(Floating,5,2,tbuf);
                  sprintf(sbuf, " %s Watt", tbuf);
                  myGLCD.print(sbuf, 20, 40);   //от края, высота 
                  myGLCD.print("flt:", 0, 40);   //от края, высота 
                  
                  myGLCD.update();     
              }
              //*********************************************
               void receive(const MyMessage &message) {
                // We only expect one type of message from controller. But we better check anyway.
                if (message.isAck()) {
                   Serial.println("This is an ack from gateway");
                }
              
                if (message.type == V_VAR1) {
                   // Change state
                   stateFloating = message.getInt();
               
                   // Store state in eeprom
                   saveState(CHILD_ID_FLOATING_CUR_SENSOR, stateFloating);
                  
                   // Write some debug info
                   Serial.print("Incoming change for sensor:");
                   Serial.print(message.sensor);
                   Serial.print(", Delta =: ");
                   Serial.println(message.getInt());
                 //  Serial.print(", New status: ");
                 //  Serial.println(message.getBool());
                 } 
               }   ```
              1 Reply Last reply
              0
              • Christian WilhelmC Offline
                Christian WilhelmC Offline
                Christian Wilhelm
                wrote on last edited by
                #7

                Hi,

                Thanks for the sketch :)

                I managed to find the time library but seem to have a problem with settime I don't understand:

                It says 'setTime' was not declared in this scope

                : In function 'void receiveTime(long unsigned int)':
                New_powermonitor:132: error: 'setTime' was not declared in this scope
                setTime(time);
                ^
                : In function 'void loop()':
                New_powermonitor:156: error: 'hour' was not declared in this scope
                int HH = hour();
                ^
                New_powermonitor:157: error: 'minute' was not declared in this scope
                int MM = minute();
                ^
                New_powermonitor:158: error: 'second' was not declared in this scope
                int SS = second();
                ^
                : In function 'void displayUpdate()':
                277:30: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                myGLCD.print("PWR:", 0, 0); //от края, высота
                ^
                :282:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                myGLCD.print("IRM:", 0, 10); //от края, высота
                ^
                :287:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                myGLCD.print("MiN:", 0, 20); //от края, высота
                ^
                :292:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                myGLCD.print("MaX:", 0, 30); //от края, высота
                ^
                :297:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                myGLCD.print("flt:", 0, 40); //от края, высота
                ^
                exit status 1
                'setTime' was not declared in this scope

                O 1 Reply Last reply
                0
                • Vincent PandoyV Offline
                  Vincent PandoyV Offline
                  Vincent Pandoy
                  wrote on last edited by
                  #8

                  Does anyone here done with this code?

                  1 Reply Last reply
                  0
                  • Christian WilhelmC Christian Wilhelm

                    Hi,

                    Thanks for the sketch :)

                    I managed to find the time library but seem to have a problem with settime I don't understand:

                    It says 'setTime' was not declared in this scope

                    : In function 'void receiveTime(long unsigned int)':
                    New_powermonitor:132: error: 'setTime' was not declared in this scope
                    setTime(time);
                    ^
                    : In function 'void loop()':
                    New_powermonitor:156: error: 'hour' was not declared in this scope
                    int HH = hour();
                    ^
                    New_powermonitor:157: error: 'minute' was not declared in this scope
                    int MM = minute();
                    ^
                    New_powermonitor:158: error: 'second' was not declared in this scope
                    int SS = second();
                    ^
                    : In function 'void displayUpdate()':
                    277:30: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                    myGLCD.print("PWR:", 0, 0); //от края, высота
                    ^
                    :282:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                    myGLCD.print("IRM:", 0, 10); //от края, высота
                    ^
                    :287:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                    myGLCD.print("MiN:", 0, 20); //от края, высота
                    ^
                    :292:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                    myGLCD.print("MaX:", 0, 30); //от края, высота
                    ^
                    :297:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
                    myGLCD.print("flt:", 0, 40); //от края, высота
                    ^
                    exit status 1
                    'setTime' was not declared in this scope

                    O Offline
                    O Offline
                    Oleg Greengo
                    wrote on last edited by
                    #9

                    @Christian-Wilhelm

                    #include <Time.h>
                    #include <LCD5110_Graph_SPI.h>

                    add them to your library
                    C:\Program Files\Arduino\libraries

                    1 Reply Last reply
                    0

                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                    With your input, this post could be even better 💗

                    Register Login
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    20

                    Online

                    12.0k

                    Users

                    11.2k

                    Topics

                    113.4k

                    Posts


                    Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • MySensors
                    • OpenHardware.io
                    • Categories
                    • Recent
                    • Tags
                    • Popular