david,

the sdr driver defines a special type of variable called a 'delta'

any delta variable will be calculated by taking the difference of the current 
value and the previous value

for example, 'rain' is a delta variable, and it is calculated by the 
differences in the 'rain_total' observation

delta variables are specified in the configuration file like this:

[SDR]
    [[delta]]
        rain = rain_total

in fact, 'rain' is a default delta variable, and it is mapped to 'rain_total' 
(as shown above)

the sensor_map associates an observation name (e.g., rain_total) with the 
fully-qualified observation name (e.g., rain_total.A52B.Acurite5n1Packet)

observation names must be in the database schema in order for the data to be 
recorded.  otherwise, the values will show up in loop packets or archive 
records, but they will not be inserted into the database.

why all this complexity?

the sdr driver has to be generic - it has to handle different types of 
observations with different characteristics from different types of hardware.  
all weewx drivers do these mappings (observation-name-to-database-field-name, 
observation-type), but the sdr driver does it generically so that you can 
customize it in the config file, not by modifying code.

i try to document these things in the comments at the beginning of every driver 
i write.  so its a good idea to read those comments if the associated readme 
leaves you wondering what is happening.

hope that helps.

m

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-user+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to