rtl433  UNKNOWN
RTL-433 utility
prologue.c File Reference

Prologue sensor protocol. More...

Functions

int alecto_checksum (r_device *decoder, bitrow_t *bb)
 
static int prologue_callback (r_device *decoder, bitbuffer_t *bitbuffer)
 Prologue sensor protocol, also FreeTec NC-7104 sensor for FreeTec Weatherstation NC-7102, and Pearl NC-7159-675. More...
 

Variables

static char * output_fields []
 
r_device prologue
 

Detailed Description

Prologue sensor protocol.

Function Documentation

◆ alecto_checksum()

int alecto_checksum ( r_device decoder,
bitrow_t bb 
)

◆ prologue_callback()

int prologue_callback ( r_device decoder,
bitbuffer_t bitbuffer 
)
static

Prologue sensor protocol, also FreeTec NC-7104 sensor for FreeTec Weatherstation NC-7102, and Pearl NC-7159-675.

The sensor sends 36 bits 7 times, before the first packet there is a sync pulse. The packets are ppm modulated (distance coding) with a pulse of ~500 us followed by a short gap of ~2000 us for a 0 bit or a long ~4000 us gap for a 1 bit, the sync gap is ~9000 us.

The data is grouped in 9 nibbles

[type] [id0] [id1] [flags] [temp0] [temp1] [temp2] [humi0] [humi1]
  • type: 4 bit fixed 1001 (9) or 0110 (5)
  • id: 8 bit a random id that is generated when the sensor starts, could include battery status the same batteries often generate the same id
  • flags(3): is 0 the battery status, 1 ok, 0 low, first reading always say low
  • flags(2): is 1 when the sensor sends a reading when pressing the button on the sensor
  • flags(1,0): the channel number that can be set by the sensor (1, 2, 3, X)
  • temp: 12 bit signed scaled by 10
  • humi: 8 bit always 11001100 (0xCC) if no humidity sensor is available

The sensor can be bought at Clas Ohlson.

References alecto_checksum(), bitbuffer::bb, bitbuffer_find_repeated_row(), bitbuffer::bits_per_row, data_append(), DATA_DOUBLE, DATA_FORMAT, DATA_INT, data_make(), DATA_STRING, and decoder_output_data().

Variable Documentation

◆ output_fields

char* output_fields[]
static
Initial value:
= {
"model",
"subtype",
"id",
"rid",
"channel",
"battery",
"button",
"temperature_C",
"humidity",
NULL}

◆ prologue

r_device prologue
Initial value:
= {
.name = "Prologue Temperature Sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 2000,
.long_width = 4000,
.gap_limit = 7000,
.reset_limit = 10000,
.decode_fn = &prologue_callback,
.disabled = 0,
.fields = output_fields,
}
Pulse Position Modulation. Short gap = 0, Long = 1.
Definition: r_device.h:12
static int prologue_callback(r_device *decoder, bitbuffer_t *bitbuffer)
Prologue sensor protocol, also FreeTec NC-7104 sensor for FreeTec Weatherstation NC-7102, and Pearl NC-7159-675.
Definition: prologue.c:34
static char * output_fields[]
Definition: prologue.c:99