rtl433  UNKNOWN
RTL-433 utility
lacrossews.c File Reference

LaCrosse WS-2310 / WS-3600 433 Mhz Weather Station. More...

Functions

static int lacrossews_detect (r_device *decoder, uint8_t *pRow, uint8_t *msg_nybbles, int16_t rowlen)
 
static int lacrossews_callback (r_device *decoder, bitbuffer_t *bitbuffer)
 LaCrosse WS-2310 / WS-3600 433 Mhz Weather Station. More...
 

Variables

static char * output_fields []
 
r_device lacrossews
 

Detailed Description

LaCrosse WS-2310 / WS-3600 433 Mhz Weather Station.

Function Documentation

◆ lacrossews_callback()

int lacrossews_callback ( r_device decoder,
bitbuffer_t bitbuffer 
)
static

LaCrosse WS-2310 / WS-3600 433 Mhz Weather Station.

  • long pulse 1464 us
  • short pulse 368 us
  • fixed gap 1336 us

Packet Format is 53 bits/ 13 nibbles:

bits nibble
0- 3 0 - 0000
4- 7 1 - 1001 for WS-2310, 0110 for WS-3600
8-11 2 - Type GPTT G=0, P=Parity, Gust=Gust, TT=Type GTT 000=Temp, 001=Humidity, 010=Rain, 011=Wind, 111-Gust
12-15 3 - ID High
16-19 4 - ID Low
20-23 5 - Data Types GWRH G=Gust Sent, W=Wind Sent, R=Rain Sent, H=Humidity Sent
24-27 6 - Parity TUU? T=Temp Sent, UU=Next Update, 00=8 seconds, 01=32 seconds, 10=?, 11=128 seconds, ?=?
28-31 7 - Value1
32-35 8 - Value2
36-39 9 - Value3
40-43 10 - ~Value1
44-47 11 - ~Value2
48-51 12 - Check Sum = Nibble sum of nibbles 0-11

References bitbuffer::bb, bitbuffer::bits_per_row, DATA_DOUBLE, DATA_FORMAT, DATA_INT, data_make(), DATA_STRING, decoder_output_data(), lacrossews_detect(), and r_device::verbose.

◆ lacrossews_detect()

static int lacrossews_detect ( r_device decoder,
uint8_t pRow,
uint8_t msg_nybbles,
int16_t  rowlen 
)
static

References bit(), bitrow_print(), and r_device::verbose.

Referenced by lacrossews_callback().

Variable Documentation

◆ lacrossews

r_device lacrossews
Initial value:
= {
.name = "LaCrosse WS-2310 / WS-3600 Weather Station",
.modulation = OOK_PULSE_PWM,
.short_width = 368,
.long_width = 1464,
.reset_limit = 8000,
.decode_fn = &lacrossews_callback,
.disabled = 0,
.fields = output_fields,
}
static int lacrossews_callback(r_device *decoder, bitbuffer_t *bitbuffer)
LaCrosse WS-2310 / WS-3600 433 Mhz Weather Station.
Definition: lacrossews.c:83
Pulse Width Modulation with precise timing parameters.
Definition: r_device.h:13
static char * output_fields[]
Definition: lacrossews.c:205

◆ output_fields

char* output_fields[]
static
Initial value:
= {
"model",
"id",
"temperature_C",
"humidity",
"rainfall_mm",
"rain_mm",
"wind_speed_ms",
"gust_speed_ms",
"wind_avg_m_s",
"wind_max_m_s",
"wind_direction",
"wind_dir_deg",
NULL,
}