Lines Matching refs:rds

3  * vivid-rds-gen.c - rds (radio data system) generator support functions.
13 #include "vivid-rds-gen.h"
15 static u8 vivid_get_di(const struct vivid_rds_gen *rds, unsigned grp)
19 return (rds->dyn_pty << 2) | (grp & 3);
21 return (rds->compressed << 2) | (grp & 3);
23 return (rds->art_head << 2) | (grp & 3);
25 return (rds->mono_stereo << 2) | (grp & 3);
42 void vivid_rds_generate(struct vivid_rds_gen *rds)
44 struct v4l2_rds_data *data = rds->data;
53 data[0].lsb = rds->picode & 0xff;
54 data[0].msb = rds->picode >> 8;
56 data[1].lsb = rds->pty << 5;
57 data[1].msb = (rds->pty >> 3) | (rds->tp << 2);
66 data[1].lsb |= (rds->ta << 4) | (rds->ms << 3);
67 data[1].lsb |= vivid_get_di(rds, idx);
69 data[2].lsb = rds->picode & 0xff;
70 data[2].msb = rds->picode >> 8;
72 data[3].lsb = rds->psname[2 * idx + 1];
73 data[3].msb = rds->psname[2 * idx];
80 data[2].msb = rds->radiotext[4 * idx];
81 data[2].lsb = rds->radiotext[4 * idx + 1];
83 data[3].msb = rds->radiotext[4 * idx + 2];
84 data[3].lsb = rds->radiotext[4 * idx + 3];
113 data[1].lsb |= (rds->ta << 4) | (rds->ms << 3);
114 data[1].lsb |= vivid_get_di(rds, grp % 22);
116 data[2].lsb = rds->picode & 0xff;
117 data[2].msb = rds->picode >> 8;
119 data[3].lsb = rds->pty << 5;
120 data[3].lsb |= (rds->ta << 4) | (rds->ms << 3);
121 data[3].lsb |= vivid_get_di(rds, grp % 22);
122 data[3].msb |= rds->pty >> 3;
129 void vivid_rds_gen_fill(struct vivid_rds_gen *rds, unsigned freq,
133 if (rds->use_rbds) {
134 rds->picode = 0x2e75; /* 'KLNX' call sign */
135 rds->pty = alt ? 29 : 2;
137 rds->picode = 0x8088;
138 rds->pty = alt ? 16 : 3;
140 rds->mono_stereo = true;
141 rds->art_head = false;
142 rds->compressed = false;
143 rds->dyn_pty = false;
144 rds->tp = true;
145 rds->ta = alt;
146 rds->ms = true;
147 snprintf(rds->psname, sizeof(rds->psname), "%6d.%1d",
150 strscpy(rds->radiotext,
152 sizeof(rds->radiotext));
154 strscpy(rds->radiotext,
156 sizeof(rds->radiotext));