Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

upgraded to Rx v3.0 b001
#1

Upgraded my Pro2+ receiver to v3.0 b001. Nice to see the case temp on the internal web page changed from C to F.

Pressure graph has nice resolution now when set to inHg. Thanks!

My RF efficiency, however, now says 26%? It was 96% before the software upgrade. I noticed there was a selection for new extra sensors and ES5 and ES6 were 8,0 and 8,1 respectively. I changed them both to 9,9 and restarted the receive unit. Now it says 0.74% RF Efficiency. Not sure what's going on or if I missed something somewhere?

Code:
// --------------------------------------------------------------------------------------
//  WeatherDuino Pro2 PLUS RF Receiver - Version: 3.00 b001
//          Start of user configurable options
// --------------------------------------------------------------------------------------


// --------------------------------------------------------------------------------------
//   Define Name and ID's for this weather station
// --------------------------------------------------------------------------------------
const char WeatherStation_Name[] = "Dan's WeatherDuino";

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


// --------------------------------------------------------------------------------------
//   Define your Weather Station location
// --------------------------------------------------------------------------------------
#define LATITUDE      434    // Put here your Station latitude in tenths of degrees North
#define LONGITUDE     -847    // Put here your Station longitude in tenths of degrees (minus for West)
#define ELEVATION     236    // Put here your Station height above sea level in Meters


// --------------------------------------------------------------------------------------
//   Define rules for Auto Summer Time Display, and clock adjustment
// --------------------------------------------------------------------------------------
// 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 usEDT = {"USEDT", Second, Sat, Mar, 11, -240};   //UTC - 4 hours
TimeChangeRule usEST = {"USEST", First, Sun, Nov, 5, -300};    //UTC - 5 hours
Timezone myTZ(usEDT, usEST);


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


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

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

// --------------------------------------------------------------------------------------
//   Define data display units
// --------------------------------------------------------------------------------------
#define Date_Time_Format  1    // 0 for dd-mm-yyyy, 1 for yyyy/mm/dd
#define Temp_Display_Unit 1    // 0 for ºC, 1 for ºF
#define ATM_Display_Unit  1    // 0 for mBar, 1 for inHg
#define Rain_Display_Unit 1    // 0 for mm, 1 for inches
#define Wind_Display_Unit 1    // 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 =   0;   // 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= Temp/Hum sensor connected to TX_Unit 1, ...

// ---- 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, ...

// ---- 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 / UV sensores
#define SRUV_OutUnit     9   // 0= Solar Rad / UV sensors connected to TX_Unit 0, 1= connected to TX_Unit1, 9 for not used

// ---- Define type of Solar Radiation / UV Sensors
// ---- Support for Solar Radiation sensor type 2 and UV sensor type 4 (it is a PAR sensor not a UV Sensor) still are experimental
#define Solar_Sensor     0   // 0 not used, 1= Solar Cell "Pyranometer", 2= Apogee SP-110 Pyranometer, 3= Reserved, 4= Apogee SQ-110: Photosynthetically Active Radiation Sensor
#define UV_Sensor        0   // 0 not used, 1= UVM-30A, 2= VEML6075, 3= Reserved
#define UV_Transmission 70   // 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 { {9,9},{9,9},{9,9},{9,9},{9,9},{9,9},{9,9} }

// ---- Define personalized names for each Extra sensor. Attention, maximum 8 chars
#define ExtraSensor1_Name ""
#define ExtraSensor2_Name ""
#define ExtraSensor3_Name ""
#define ExtraSensor4_Name ""
#define ExtraSensor5_Name ""
#define ExtraSensor6_Name "Dust TH "
#define ExtraSensor7_Name "-"


// --------------------------------------------------------------------------------------
//   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, fill up to 8 chars
#define SoilSensor1_Name "_"
#define SoilSensor2_Name "-"
#define SoilSensor3_Name "-"
#define SoilSensor4_Name "_"
#define LeafSensor1_Name "1"
#define LeafSensor2_Name "2"
#define LeafSensor3_Name "3"
#define LeafSensor4_Name "4"

// 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 unsigned int AnalogSensor_MaxVoltOut[4]   = { 3000, 1395, 5000, 5000 };    // Values in miliVolts
const unsigned int AnalogSensor_MinVoltOut[4]   = {    0,  530,    0,    0 };


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


// --------------------------------------------------------------------------------------
//   Davis compatible Data Logger Settings
// --------------------------------------------------------------------------------------
#define Logger_Enable    1   // 0= Disable 1= Enable
byte ARCHIVE_PERIOD  =   30;  // 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

#define SSID        "*"                           // Put the SSID of your access point
#define PASSWORD    "*"                           // Password if any

#define Enable_NTP          1                        // 1= Enable Sync time with NTP servers, 0= Disable
// NTP Server:
#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     0                        // 1= Enable upload to Wunderground,     0= Disable
#define WUupload_period     4                        // Period in minutes between uploads to WU (avoid use less than 3 minutes)
#define WUupload_InTemp     0                        // 1= Enable upload of Inside Temperature / Humidity, 0= Disable

// ---- Wunderground Personal Data
#define WUNDERGROUND_STATION_ID "*"         // WU Station ID
#define WUNDERGROUND_PWD        "*"           // WU Station Key (It's more secure use Station Key than your WU acount passw)

// 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 9
#define SoilLeaf_Data     9
#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 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 0x27   


// --------------------------------------------------------------------------------------
//   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    // Prints to serial monitor messages related to sync time with NTP server
//#define PRINT_DEBUG_WU_UPLOAD     // Prints to serial monitor messages related to Weather Underground upload.
//#define PRINT_DEBUG_TCP_SERVER
//#define PRINT_DEBUG_AURIOL
//#define PRINT_DEBUG_BIOS

// ---------------------------------------------------------------------------------------------------
//     End of user configurable options
// ---------------------------------------------------------------------------------------------------
Reply
#2

When I upgraded to v3.0 the RF efficiency jumped from being around 86% before the upgrade to 96% after.
This morning I switched off the RX unit to do some mods, when I restarted the RF efficiency was only 1.5%!!. The unit seemed to be receiving the data from the TX unit OK. I waited about 1 hour and the RF efficiency was still around 1.5% so I restarted the TX unit, Since then the RF efficiency is back to around 86% where is was before the upgrade.

Rich.
Reply
#3

I found a small bug, which under some circumstances can cause the described behaviour.
It's already corrected in WeatherDuino Pro2 PLUS RX v3.0_b002
Please download the software package again.

Anyway, always take in mind that the RF Efficiency values only have a some mean after some hours of operation, in the first minutes after a start up they are always close to 100% and tend to decrease along the time, this happens because we compute the lose of data packets in a 24 hours period. An RF Efficiency of 100% is impossible to be obtained along the time, because there will always be data packets that will be lost.

The main intention of showing the "RF Efficiency" data, is to allow the users to have a quick way to check how each of their different TX units which usually are placed in different places are working, so its not a "scientific calculation".

Reply
#4

I took the change in rf efficiency to mean it was expecting to receive data from something and it received little to no data from that something. Is that a correct interpretation? Because I know it was receiving temp/humidity data fine as i never saw a drop of any of those figures.
Reply
#5

Upgraded to v3.0 b002 and all appears normal now. Thanks!


Attached Files Image(s)
   
Reply
#6

(12-08-2017, 20:28)danner Wrote:  I took the change in rf efficiency to mean it was expecting to receive data from something and it received little to no data from that something. Is that a correct interpretation? Because I know it was receiving temp/humidity data fine as i never saw a drop of any of those figures.

Each TX unit, counts the number of data packets it sends, and from time to time send that number to the receiver unit, in turn, the receiver counts the number of data packets received from each particular unit. The "RF Efficiency" is just a relation between the total number of data packets sent and the ones who have been effectively received.
TX unit resets the counter each 24 hours, and all starts again.

Unfortunately, the previous fix was introduced a new bug, that is fixed in b003.

(12-08-2017, 06:33)danner Wrote:  Pressure graph has nice resolution now when set to inHg. Thanks!

Smile

Reply
#7

ok, will upgrade to b003 in a few minutes.
Reply
#8

b003 up and running. everything appears normal. thanks!


Attached Files Image(s)
   
Reply
#9

Thanks for the quick feedback. Hope you are glad with the full support for Imperial Units which finally was fully implemented in v3

Reply
#10

(13-08-2017, 07:18)Werk_AG Wrote:  Thanks for the quick feedback. Hope you are glad with the full support for Imperial Units which finally was fully implemented in v3

indeed! thank you very much!
Reply




Users browsing this thread: 1 Guest(s)