Bugfixes
[rtl-433.git] / src / devices / silvercrest.c
1 #include "rtl_433.h"
2
3 static int silvercrest_callback(bitbuffer_t *bitbuffer) {
4     bitrow_t *bb = bitbuffer->bb;
5     /* FIXME validate the received message better */
6     if (bb[1][0] == 0xF8 &&
7         bb[2][0] == 0xF8 &&
8         bb[3][0] == 0xF8 &&
9         bb[4][0] == 0xF8 &&
10         bb[1][1] == 0x4d &&
11         bb[2][1] == 0x4d &&
12         bb[3][1] == 0x4d &&
13         bb[4][1] == 0x4d) {
14         /* Pretty sure this is a Silvercrest remote */
15         fprintf(stdout, "Remote button event:\n");
16         fprintf(stdout, "model = Silvercrest, %d bits\n",bitbuffer->bits_per_row[1]);
17         fprintf(stdout, "%02x %02x %02x %02x %02x\n",bb[1][0],bb[0][1],bb[0][2],bb[0][3],bb[0][4]);
18
19         return 1;
20     }
21     return 0;
22 }
23
24 r_device silvercrest = {
25     .name           = "Silvercrest Remote Control",
26     .modulation     = OOK_PULSE_PWM_RAW,
27     .short_limit    = 600,
28     .long_limit     = 5000,
29     .reset_limit    = 15000,
30     .json_callback  = &silvercrest_callback,
31     .disabled       = 1,
32     .demod_arg      = 1,        // Remove startbit
33 };