WeatherDuino Forum

Full Version: error compilation with LCD 20x4
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
hello,

following 2 compilation errors for use with a 20X4 LCD on the RX PRO2 + V500_b002 with IDE 1.8.5 on MAC, I modified the code in the D_LCD tab
line 114: else if (UV_OutUnit! = 9 TX_Unit [UV_OutUnit] .UV! = 0) L_info = 5;
i wrote:   else if (UV_OutUnit! = 9 && TX_Unit [UV_OutUnit] .UV! = 0) L_info = 5;

[Image: captur10.png]

now, it's OK
(26-01-2018, 23:07)f4aii Wrote: [ -> ]following 2 compilation errors for use with a 20X4 LCD on the RX PRO2 + V500_b002...

I think you mean RX Pro2 PLUS + V500_b002

Thank you, indeed the error exists, and your solution is correct.
Somehow during some edition I deleted the && and haven't noticed it... the LCD rarely is used with te Pro2 PLUS.
I am preparing a weather station that will be in an uninhabited cabin at 2000m altitude and the TFT screen will be really useless.
As there is a wifi beam on the 10 km that separate us, a set TX, RX, UV, AQI will take place. As there is a lot of frost on this site, I will not put a cup anemometer, I will see later the design of an ultrasound model.

Here is why I use a LCD 20X4 which indeed must be very rare.
I wrote the wrong version of my platinum, it is a RX PRO2 PLUS V1.3, soft V500_b002.
same file, same hardware, i have an error on line 124:

Code:
#if (SR_OutUnit != 9)
   case 4:
     {
       lcd.setCursor(0, 3);
       lcd.print(F("Solar Rad: "));
       lcd.print(TX_Unit[SRUV_OutUnit].SolarRad);
       lcd.print(F(" Wm2"));
       if (UV_OutUnit != 9 && TX_Unit[UV_OutUnit].UV != 0) L_info = 5;
       else L_info = 1;
       break;
     }

i change for:
Code:
#if (SR_OutUnit != 9)
   case 4:
     {
       lcd.setCursor(0, 3);
       lcd.print(F("Solar Rad: "));
       lcd.print(TX_Unit[[b]SR[/b]_OutUnit].SolarRad);
       lcd.print(F(" Wm2"));
       if (UV_OutUnit != 9 && TX_Unit[UV_OutUnit].UV != 0) L_info = 5;
       else L_info = 1;
       break;
     }

It's OK for use with BMP280 and SHT31

But i have these errors if i select BME280 for pressure and int temp. Error on line 404: BME280 bme;

Code:
// --------------------------------------------------------------------------------------
//  WeatherDuino Pro2 PLUS RF Receiver - Version: 5.0 b002
//          Start of user configurable options
// --------------------------------------------------------------------------------------
// If you need help about any of the user configurable settings, please first do a search
// at the WeatherDuino Pro2 support forum. If you don't find any relevant info, then post
// a new thread.
//
// --------------------------------------------------------------------------------------
//   Define Name and ID's for this weather station
// --------------------------------------------------------------------------------------
const String WeatherStation_Name = "Susville 3 test"; // This is important, put here your Weather Station name (don't use special chars, like accents)

#define Station_ID      0xA1    // Station_ID, use the same value in all TX units
#define Relay_ID        0xEE    // Relay_ID,   use the same value in all WD units


// --------------------------------------------------------------------------------------
//   Define your Weather Station location. Use decimal format for Latitude and Longitude
// --------------------------------------------------------------------------------------
#define LATITUDE      44.926    // Put here your Station latitude in degrees North (always use 3 decimal places)
#define LONGITUDE     5.777    // Put here your Station longitude in degrees - minus for West (always use 3 decimal places)
#define ELEVATION     900       // Put here your Station height above sea level in Meters (no decimal places)


// --------------------------------------------------------------------------------------
//   Define rules for Auto Summer Time Display, and clock adjustment
// --------------------------------------------------------------------------------------
#include <Timezone.h>
// Example for Australia Eastern Time Zone (Sydney, Melbourne)
// TimeChangeRule aEDT = {"AEDT", First, Sun, Oct, 2, 660};    //UTC + 11 hours
// TimeChangeRule aEST = {"AEST", First, Sun, Apr, 3, 600};    //UTC + 10 hours
// Timezone myTZ(aEDT, aEST);

TimeChangeRule PST = {"PST", Last, Sun, Mar, 1, 120};   //Portuguese Summer Time -  "UTC + 1" or GMT + 1
TimeChangeRule GMT = {"GMT", Last, Sun, Oct, 2, 60};    //Portuguese Winter Time -  "UTC + 0" or GMT
Timezone myTZ(PST, GMT);


// --------------------------------------------------------------------------------------
//   Define Interface Language
// --------------------------------------------------------------------------------------
     
#include "_lang/fr_FR.h"      // Change the language code according to your preference. Keep "_lang/" and the ".h" at the end
                             // Currently available languages: en_GB, fr_FR, de_DE, pt_PT, es_ES, cs_CZ, nl_NL

// --------------------------------------------------------------------------------------
//   Define Roll Over Hour for Meteorological Day
// --------------------------------------------------------------------------------------
#define MeteoDay_HStart 0    // Use values from 0 to 23


// --------------------------------------------------------------------------------------
//   Define Display Backlight TimeOut
// --------------------------------------------------------------------------------------
const byte  BackLight_Timeout = 0;   // Timeout for display backlight in minutes (1 to 255). 0 = Always ON
#define Use_BigClock             0    // Instead of turn off TFT backlight show a big clock screen. 0= No, 1= Yes

// --------------------------------------------------------------------------------------
//   Define data display units
// --------------------------------------------------------------------------------------
#define Date_Time_Format  0    // 0 for dd-mm-yyyy, 1 for yyyy/mm/dd
#define Temp_Display_Unit 0    // 0 for ºC, 1 for ºF
#define ATM_Display_Unit  0    // 0 for mBar, 1 for inHg
#define Rain_Display_Unit 0    // 0 for mm, 1 for inches
#define Wind_Display_Unit 0    // 0 for Km/h, 1 for mph, 2 for m/s, 3 for Knots


// --------------------------------------------------------------------------------------
//   Define the type of your Barometric Pressure Sensor
// --------------------------------------------------------------------------------------
#define Barometric_Sensor  0   // 0= BME280, 1= BMP280 2= BMP085 / BMP180


// --------------------------------------------------------------------------------------
//   Define the type of your inside Temperature / Humidity Sensor
// --------------------------------------------------------------------------------------
#define InsideTH_Sensor   0   // 0= BME280, 1= HTU21D, 2= SHT21, 3= SHT31


// --------------------------------------------------------------------------------------
//   Fine adjusts for Inside Temperature and Barometer
// --------------------------------------------------------------------------------------
const int   TemperaturaInt_offset =   -13;   // Inside Temperature Fine Adjust in Tenths of Degree (-4 = -0,4ºC)
const float pressure_offset       =   0;   // Pressure Fine Adjust in mB


// --------------------------------------------------------------------------------------
//   Define the type of your outside Temperature / Humidity Sensor
// --------------------------------------------------------------------------------------
#define MainOutTH_Sensor 0   // 0 for sensor type SHT31, SHT21 or HTU21D, 1 for sensor type SHT1x or DHT22


// --------------------------------------------------------------------------------------
//   Define Wind Speed and Wind Gust resolution
// --------------------------------------------------------------------------------------
// This setting only have effect when the software is used in Davis VP emulation mode
#define VP2_WindRes     2    // If set to 2, set Cumulus Wind Speed and Wind Gust multipliers to 0.448. Wind Resolution 0.72 Km/h
                            // If set to 1, set Cumulus Wind Speed and Wind Gust multipliers to 0.224. Wind Resolution 0.36 Km/h
                            // WARNING !!! Setting this variable to 1 allows a better wind speed and gust resolution,
                            // but also limits both of them, to a maximum reading of just 91.8 Km/h
                            // If set to 0, system uses Standard Davis wind resolution (1 mph or 0.1mph with LOOP2).
                            // Weather Display users should set this option to 0 - Standard Davis wind resolution  

// --------------------------------------------------------------------------------------
//   Define use of Wind Gust Spike prevention routines (mostly for FO anemometers)
// --------------------------------------------------------------------------------------
#define WindSpikeControl 1   // 0= Disable, 1= Enable


// --------------------------------------------------------------------------------------
//   Define the source of your main outside sensors
// --------------------------------------------------------------------------------------
// ---- If you are using just one TX board, the source for all items should be equal to your single TX Unit ID (most likely zero).
// ---- Define the source of your main Temperature / Humidity sensor
#define TH_OutUnit       0   // 0= Temp/Hum sensor connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Temp / Hum
// ---- Define the source of your Main Wind sensor
#define WIND_OutUnit     0   // 0= Wind instruments connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Wind Speed & Dir
// ---- Define the source of your main Rain Gauge
#define RAIN_OutUnit     0   // 0= Rain Gauge connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Rain Gauge
// ---- Define the source of your main Solar Radiation sensor
#define SR_OutUnit       0   // 0= Solar Radiation sensor connected to TX_Unit 0, 1= for TX_Unit1, ..., 9 for not used
// ---- Define the source of your main UV sensor
#define UV_OutUnit       0  // 0= UV sensor connected to TX_Unit 0, 1= for TX_Unit1, ..., 9 for not used


// --------------------------------------------------------------------------------------
//   Define the type of your Solar Radiation device
// --------------------------------------------------------------------------------------
#define Solar_Sensor     1   // 1= Solar Cell "Pyranometer", 2= Apogee SP-110 Pyranometer, 3= Reserved, 4= Apogee SQ-110: Photosynthetically Active Radiation Sensor
                            // ---- Support for sensor type 4 is experimental (type 4 is a PAR sensor)

// --------------------------------------------------------------------------------------
//   Define the type of your UV device
// --------------------------------------------------------------------------------------
#define UV_Sensor        1   // 1= UVM-30A, 2= VEML6075, 3= Reserved
#define UV_Transmission 65   // UV Transmission percentage of UV sensor cover material.


// --------------------------------------------------------------------------------------
//   Extra Sensors Settings and Mapping
// --------------------------------------------------------------------------------------
// ---- Define the source and sensor type (number) for each of the seven extra sensors, insert 9 if not used.
//      Sensors SHT31, SHT21 or HTU21D are type 0, sensors SHT1x or DHT22 are type 1
//
// ---- Source 0 means TX unit0, 1 means TX unit1...
// ---- Source 6 (Reserved)
// ---- Source 7 is for BIOS Sensor (Only Temperature is shown)
// ---- Source 8 is for Air Quality Monitor. 0= Temperature/Humidity, 1= Dust Density/AQI
// ---- (AQI sensors can be mapped to any position, but should be mapped in sequence, Temperature/Humidity always first)
//
// ---- First field = Sensor source, Second field = Sensor type (0 or 1 for TX units)
// ---- Example:
// ----                          ES0   ES1   ES2   ES3   ES4   ES5   ES6    
//#define ExtraSensors_Source { {0,1},{1,1},{9,9},{6,3},{9,9},{8,0},{8,1} }
//               {0,0} - First extra sensor (ES0), will be sensor 0 from TX unit0
//               {0,1} - Second extra sensor (ES1), will be sensor 1 from TX unit0
//               {1,0} - Third extra sensor (ES2), will be sensor 0 from TX unit1
//               {9,9} - Fourth extra sensor (ES3), not used - not mapped
//               {9,9} - Fifth extra sensor (ES4), not use - not mapped
//               {8,0} - Sixth extra sensor (ES5), will be Temperature / Humidity from the Air Quality Monitor
//               {8,1} - Seventh extra sensor (ES6), will be Dust Density / AQI index from the Air Quality Monitor
//
//-----                        ES0   ES1   ES2   ES3   ES4   ES5   ES6    
#define ExtraSensors_Source { {0,0},{0,1},{9,9},{9,9},{9,9},{8,0},{8,1} }


// ---- Define personalized names for each Extra sensor. Attention, 8 chars maximum
// ---- There is no need to define a name for the Extra Sensor mapped to the Dust Density / AQI index data
//                   Max. Size  [--------]
const char ESname_1[] PROGMEM = "dehors";           // 8 chars max
const char ESname_2[] PROGMEM = "boitier";           // 8 chars max
const char ESname_3[] PROGMEM = "-";           // 8 chars max
const char ESname_4[] PROGMEM = "-";           // 8 chars max
const char ESname_5[] PROGMEM = "-";           // 8 chars max
const char ESname_6[] PROGMEM = "AQM";     // 8 chars max
const char ESname_7[] PROGMEM = "AQM";           // 8 chars max


// --------------------------------------------------------------------------------------
//   BIOS soil moisture sensor settings
// --------------------------------------------------------------------------------------
// ---- Please use the included BIOS_ID_Scanner sketch to find you BIOS Device ID
#define BiosSensor_ID 0   // Device ID in HEX format, or 0 not used

// --------------------------------------------------------------------------------------
//   Soil / Leaf Interface Settings and Sensors Mapping
//   (The mapping logic is the same than used with the Extra Sensors)
// --------------------------------------------------------------------------------------
// 0 = Soil Leaf Interface not used
// 1 = Soil Leaf Interface connected to a TX unit
#define SoilLeaf_Interface  0   // 0, 1,

// ---- For Soil & Leaf data from SoilLeaf_Interface wired to a TX unit, use TX Unit number as source
// ---- For BIOS Soil Temp / Moisture use 7 as source
// ---- To disable use 9 in both fields
//                                 S1    S2    S3    S4
#define SoilTempSensors_Source  { {9,9},{9,9},{9,9},{9,9} }
#define LeafTempSensors_Source  { {9,9},{9,9},{9,9},{9,9} }
#define SoilMoistSensors_Source { {9,9},{9,9},{9,9},{9,9} }
#define LeafWetSensors_Source   { {9,9},{9,9},{9,9},{9,9} }

// ---- Define personalized names for each Soil and Leaf sensor. Attention, 8 chars maximum
//              Soil Max. Size  [--------]
const char SSname_1[] PROGMEM = "-";            // 8 chars max
const char SSname_2[] PROGMEM = "-";            // 8 chars max
const char SSname_3[] PROGMEM = "-";            // 8 chars max
const char SSname_4[] PROGMEM = "-";            // 8 chars max

//              Leaf Max. Size  [--------]
const char LSname_1[] PROGMEM = "1";            // 8 chars max
const char LSname_2[] PROGMEM = "2";            // 8 chars max
const char LSname_3[] PROGMEM = "3";            // 8 chars max
const char LSname_4[] PROGMEM = "4";            // 8 chars max


// Define VWC calculation method
// Method 1 applies only for VH400 soil moisture sensor
//
// METHOD 1 - Conversion from voltage to VWC (volumetric water content) is done using the piecewise regressions provided by the manufacturer
// at http://www.vegetronix.com/Products/VH400/VH400-Piecewise-Curve.phtml
//
// METHOD 2 - Used for any sensor which have a linear output between voltage and VWC (0V=0VWC, maxV=100VWC) .

#define VWC_CalcMethod 1

// Max and Min output voltage of the analog sensors connected to Soil / Leaf Interface
// Default value for Decagon Devices LWS Leaf Wetness Sensor (3.3V power): Max. Output Voltage - 1395mV (max wetness), Min Output Voltage - 530mV (dry)

//                                                  ADC1  ADC2  ADC3  ADC4  
const uint16_t AnalogSensor_MaxVoltOut[4]   = { 3000, 1395, 5000, 5000 };    // Values in miliVolts
const uint16_t AnalogSensor_MinVoltOut[4]   = {    0,  530,    0,    0 };


// --------------------------------------------------------------------------------------
//   Broadacasting settings for Wireless Display Units
// --------------------------------------------------------------------------------------
#define Relay_Data       1   // 0= Disables Data Relay, 1= Enables Data Relay


// --------------------------------------------------------------------------------------
//   Davis compatible Data Logger Settings
// --------------------------------------------------------------------------------------
#define Logger_Enable    1   // 0= Disable 1= Enable
byte ARCHIVE_PERIOD  =   5;  // Default Archive Period in Minutes (Usable values: 1, 5, 10, 15, 30)


// --------------------------------------------------------------------------------------
//   Define type of your Weather Software
// --------------------------------------------------------------------------------------
#define WeatherSoft      0   // 0= CumulusMX, 1= Any other (Cumulus 1, WeewX, Weather Display, etc.)

// --------------------------------------------------------------------------------------
//   Easyweather format data Output
// --------------------------------------------------------------------------------------
#define Easyweather_Out  0   // 0= Disable (defaut) 1= Enable


// --------------------------------------------------------------------------------------
//   Internet Settings
// --------------------------------------------------------------------------------------
#define Enable_Internet     1                       // 1= Enable Internet connection, 0= Disable

// ---- NTP Settings ----
#define Enable_NTP          1                       // 1= Enable Sync time with NTP servers, 0= Disable
// NTP Servers:
#define timeServer "pool.ntp.org"
//#define timeServer "time.nist.gov"                 // ntp1.nl.net NTP server
//#define timeServer "80.96.196.58"                  // timp.mcsi.ro
//#define timeServer "193.79.237.14"                 // ntp1.nl.net NTP server

// ---- Weather Wunderground Settings ----
#define Enable_WUupload     1                       // 1= Enable upload to Wunderground, 0= Disable
#define WUupload_period     3                        // Period in minutes between uploads to WU (Should be >= 3 minutes, if less defaults to 4 minutes)
#define WUupload_InTemp     1                        // 1= Enable upload of Inside Temperature / Humidity, 0= Disable


// ---- Air Quality Monitor - Upload to ThingSpeak Settings ----
#define Enable_AQMtoThingSpeak   1                   // 1= Enable, 0= Disable


// ---- Web Server Settings ----
#define Enable_WebServer          1                  // 1= Enable 0= Disable
#define WebServer_port           80                  // WebServer port (default 80)


// --------------------------------------------------------------------------------------
//   Enable / Disable GPIO routines - General Purpose Input / Output ports
// --------------------------------------------------------------------------------------
#define UseGPIO  0   // 0=Disable, 1= Enable


// --------------------------------------------------------------------------------------
//   Define display order of data screens on the TFT
//   Use sequentially numbers from 1 to 4. Use 9 to prevent a particular data screen to be shown
// --------------------------------------------------------------------------------------
#define ExtraSensors_Data 3
#define SoilLeaf_Data     4
#define AirQuality_Data   1
#define TXinfo_Data       2


// --------------------------------------------------------------------------------------
//   Test Mode : Never run a live system in test mode
// --------------------------------------------------------------------------------------
#define TestMode    false    // false= Normal working mode, true= Test mode only (no logger, no usb connection)


/*************************************************************************************
    Hardware Settings
*************************************************************************************/

// --------------------------------------------------------------------------------------
//   Define PCB Version Number
// --------------------------------------------------------------------------------------
//                              Take particular attention to this setting.
//                              Your system may not work properly if you define a wrong pcb version number.
//                              In case of doubt check what is printed in your pcb.
#define Board_Version   13   // PCB version number, without the decimal point Ex: 1.3 = 13 (integer number)


// --------------------------------------------------------------------------------------
//   Define your Display type
// --------------------------------------------------------------------------------------
#define DisplayType     1    // 1= LCD 20x4, 3= TFT 320x240 ILI9341


// --------------------------------------------------------------------------------------
//   Define LCD I2C address
// --------------------------------------------------------------------------------------
// Only change this if your LCD don't display any data. I2C_Scanner utility may help you to find the address of your LCD display
// Default address will work most of the times!
#define LCD_I2C_Address     0x39  


// --------------------------------------------------------------------------------------
//   SHT31 I2C Address - Default address will work most of the times!
// --------------------------------------------------------------------------------------
#define SHT31_address       0x44       // Default value is 0x44, but it can be changed to 0x45


// --------------------------------------------------------------------------------------
//   Presure Sensor Address (no need to change)
// --------------------------------------------------------------------------------------
//#define BMP085_ADDRESS    0x77       // I2C address of BMP085 or BMP180


// --------------------------------------------------------------------------------------
//   Debug helper
// --------------------------------------------------------------------------------------
//#define PRINT_DEBUG_NTP_UPDATE    // Print to serial monitor messages related to sync time with NTP server
//#define PRINT_DEBUG_WU_UPLOAD     // Print to serial monitor messages related to Weather Underground upload.
//#define PRINT_DEBUG_TS_UPLOAD
//#define PRINT_DEBUG_VCHECK
//#define PRINT_DEBUG_TCP_SERVER
//#define PRINT_DEBUG_AURIOL
//#define PRINT_DEBUG_BIOS

// ---------------------------------------------------------------------------------------------------
//     End of user configurable options
// ---------------------------------------------------------------------------------------------------

Arduino : 1.8.5 (Windows 7), Carte : "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
WeatherDuinoPro2Plus_RX_v500_b002:404: error: cannot declare variable 'bme' to be of abstract type 'BME280'
BME280 bme;
       ^
In file included from C:\Users\jch\Desktop\WeatherDuino_Pro2_PLUS\v5.0\software\RX software\WeatherDuinoPro2Plus_RX_v500_b002\WeatherDuinoPro2Plus_RX_v500_b002.ino:53:0:
C:\Users\jch\Documents\Arduino\libraries\libraries\BME280\src/BME280.h:52:7: note:   because the following virtual functions are pure within 'BME280':
class BME280{
      ^
In file included from C:\Users\jch\Desktop\WeatherDuino_Pro2_PLUS\v5.0\software\RX software\WeatherDuinoPro2Plus_RX_v500_b002\WeatherDuinoPro2Plus_RX_v500_b002.ino:53:0:
C:\Users\jch\Documents\Arduino\libraries\libraries\BME280\src/BME280.h:66:16: note: virtual void BME280::WriteRegister(uint8_t, uint8_t)

  virtual void WriteRegister(uint8_t addr, uint8_t data)=0;
               ^
C:\Users\jch\Documents\Arduino\libraries\libraries\BME280\src/BME280.h:69:16: note: virtual bool BME280::ReadTrim()
  virtual bool ReadTrim()=0;
              ^
C:\Users\jch\Documents\Arduino\libraries\libraries\BME280\src/BME280.h:72:16: note: virtual bool BME280::ReadData(int32_t*)
 virtual bool ReadData(int32_t data[8])=0;
               ^
C:\Users\jch\Documents\Arduino\libraries\libraries\BME280\src/BME280.h:89:16: note: virtual bool BME280::begin()
  virtual bool begin()=0;
               ^
C:\Users\jch\Desktop\WeatherDuino_Pro2_PLUS\v5.0\software\RX software\WeatherDuinoPro2Plus_RX_v500_b002\Routines.ino: In function 'void read_InsideTH_Sensor()':
Routines:330: error: no matching function for call to 'BME280::ReadData(float&, float&, float&, bool, bool)'
  bme.ReadData(pres, temp, humd, true, true);     // Parameters: (float& pressure, float& temp, float& humidity, bool hPa = true, bool celsius = false)
                                           ^
C:\Users\jch\Desktop\WeatherDuino_Pro2_PLUS\v5.0\software\RX software\WeatherDuinoPro2Plus_RX_v500_b002\Routines.ino:330:44: note: candidate is:
In file included from C:\Users\jch\Desktop\WeatherDuino_Pro2_PLUS\v5.0\software\RX software\WeatherDuinoPro2Plus_RX_v500_b002\WeatherDuinoPro2Plus_RX_v500_b002.ino:53:0:
C:\Users\jch\Documents\Arduino\libraries\libraries\BME280\src/BME280.h:72:16: note: virtual bool BME280::ReadData(int32_t*)
  virtual bool ReadData(int32_t data[8])=0;
               ^
C:\Users\jch\Documents\Arduino\libraries\libraries\BME280\src/BME280.h:72:16: note:   candidate expects 1 argument, 5 provided

exit status 1
cannot declare variable 'bme' to be of abstract type 'BME280'
This is from the download page:

IMPORTANT:
Compile with Arduino IDE 1.8.3 or newer
Always compile using only the provided libraries.

From the error messages I see that you are using an BME library which isn't compatible. Try using the BME library suplied with the software package, and the code will compile fine (I'm using a BME280 myself).

Regards
I made the mistake of using my desktop PC that contains other libraries in addition to weatherduino. IDE chooses the wrong library.

I still have the error message for line 124 in the D_LCD tab,
must be fixed:
lcd.print(TX_Unit [SRUV_OutUnit] .SolarRad);
and put:
lcd.print (TX_Unit [UV_OutUnit] .SolarRad);
I have no other errors now.

Too bad the error messages are so little understandable for beginners like me.
Thanks for your help.
Hi,

Thank you for spotting this to me. It will be fixed on next software release.
However please note that the fix for line 124 should be:

Code:
lcd.print(TX_Unit[SR_OutUnit].SolarRad);

and not

Code:
lcd.print (TX_Unit [UV_OutUnit] .SolarRad);

which only works when the source for Solar Radiation data is the same than UV data (which happens in most of the cases).
I do not understand much about codes, I modified by deduction.
Right now, I am changing the code for my brother who is color-blind, he only sees white, gray, black and yellow. I change the color of the dots around the clock so that he can tell me if the weatherduino is connected or not. Nothing complicated to do.
thank you
(03-02-2018, 09:30)f4aii Wrote: [ -> ]I do not understand much about codes, I modified by deduction.

However, you already have helped me to find some bugs... Smile

(03-02-2018, 09:30)f4aii Wrote: [ -> ]Right now, I am changing the code for my brother who is color-blind, he only sees white, gray, black and yellow. I change the color of the dots around the clock so that he can tell me if the weatherduino is connected or not. Nothing complicated to do.
thank you

If I could help with anything on this matter, please let me know, I will be glad to help to make the system usable for your brother.