Browse Source

Add support for CONFIGURATION command

I have no idea what it does unfortunately.

Thanks to Yannick BARBEAUX for the report.
Georgi Chorbadzhiyski 6 years ago
parent
commit
1ffab2e688
4 changed files with 12 additions and 1 deletions
  1. 6
    0
      cmd.c
  2. 2
    1
      cmd.h
  3. 1
    0
      data.h
  4. 3
    0
      test/input-17.txt

+ 6
- 0
cmd.c View File

22
 const char *videohub_commands_text[NUM_COMMANDS] = {
22
 const char *videohub_commands_text[NUM_COMMANDS] = {
23
 	[CMD_PROTOCOL_PREAMBLE]    = "PROTOCOL PREAMBLE",
23
 	[CMD_PROTOCOL_PREAMBLE]    = "PROTOCOL PREAMBLE",
24
 	[CMD_VIDEOHUB_DEVICE]      = "VIDEOHUB DEVICE",
24
 	[CMD_VIDEOHUB_DEVICE]      = "VIDEOHUB DEVICE",
25
+	[CMD_CONFIGURATION]        = "CONFIGURATION",
25
 	[CMD_INPUT_LABELS]         = "INPUT LABELS",
26
 	[CMD_INPUT_LABELS]         = "INPUT LABELS",
26
 	[CMD_OUTPUT_LABELS]        = "OUTPUT LABELS",
27
 	[CMD_OUTPUT_LABELS]        = "OUTPUT LABELS",
27
 	[CMD_VIDEO_OUTPUT_LOCKS]   = "VIDEO OUTPUT LOCKS",
28
 	[CMD_VIDEO_OUTPUT_LOCKS]   = "VIDEO OUTPUT LOCKS",
51
 struct videohub_commands videohub_commands[NUM_COMMANDS] = {
52
 struct videohub_commands videohub_commands[NUM_COMMANDS] = {
52
 	[CMD_PROTOCOL_PREAMBLE]    = { .cmd = CMD_PROTOCOL_PREAMBLE   , .type = PARSE_CUSTOM },
53
 	[CMD_PROTOCOL_PREAMBLE]    = { .cmd = CMD_PROTOCOL_PREAMBLE   , .type = PARSE_CUSTOM },
53
 	[CMD_VIDEOHUB_DEVICE]      = { .cmd = CMD_VIDEOHUB_DEVICE     , .type = PARSE_CUSTOM },
54
 	[CMD_VIDEOHUB_DEVICE]      = { .cmd = CMD_VIDEOHUB_DEVICE     , .type = PARSE_CUSTOM },
55
+	[CMD_CONFIGURATION]        = { .cmd = CMD_CONFIGURATION       , .type = PARSE_CUSTOM },
54
 	[CMD_INPUT_LABELS]         = { .cmd = CMD_INPUT_LABELS        , .type = PARSE_LABEL,
56
 	[CMD_INPUT_LABELS]         = { .cmd = CMD_INPUT_LABELS        , .type = PARSE_LABEL,
55
 		.ports1 = OFS(inputs),
57
 		.ports1 = OFS(inputs),
56
 		.port_id1 = "video input",
58
 		.port_id1 = "video input",
322
 				q("Please report this line to author's email: georgi@unixsol.org\n");
324
 				q("Please report this line to author's email: georgi@unixsol.org\n");
323
 			}
325
 			}
324
 			break;
326
 			break;
327
+		case CMD_CONFIGURATION:
328
+			if ((p = parse_text(line, "Take Mode: "))) {
329
+				d->device.conf_take_mode = streq(p, "true");
330
+			}
325
 		case CMD_NAK:
331
 		case CMD_NAK:
326
 			ret = false;
332
 			ret = false;
327
 			break;
333
 			break;

+ 2
- 1
cmd.h View File

15
 
15
 
16
 #include <stdbool.h>
16
 #include <stdbool.h>
17
 
17
 
18
-#define NUM_COMMANDS 24
18
+#define NUM_COMMANDS 25
19
 
19
 
20
 enum vcmd {
20
 enum vcmd {
21
 	CMD_PROTOCOL_PREAMBLE,
21
 	CMD_PROTOCOL_PREAMBLE,
22
 	CMD_VIDEOHUB_DEVICE,
22
 	CMD_VIDEOHUB_DEVICE,
23
+	CMD_CONFIGURATION,
23
 	CMD_INPUT_LABELS,
24
 	CMD_INPUT_LABELS,
24
 	CMD_OUTPUT_LABELS,
25
 	CMD_OUTPUT_LABELS,
25
 	CMD_VIDEO_OUTPUT_LOCKS,
26
 	CMD_VIDEO_OUTPUT_LOCKS,

+ 1
- 0
data.h View File

23
 struct device_desc {
23
 struct device_desc {
24
 	bool			dev_present;
24
 	bool			dev_present;
25
 	bool			needs_fw_update;
25
 	bool			needs_fw_update;
26
+	bool			conf_take_mode;
26
 	char			protocol_ver[16];
27
 	char			protocol_ver[16];
27
 	char			model_name[MAX_NAME_LEN];
28
 	char			model_name[MAX_NAME_LEN];
28
 	char			friendly_name[MAX_NAME_LEN];
29
 	char			friendly_name[MAX_NAME_LEN];

+ 3
- 0
test/input-17.txt View File

15
 Debug mode: yes
15
 Debug mode: yes
16
 Power: both
16
 Power: both
17
 
17
 
18
+CONFIGURATION:
19
+Take Mode: true
20
+
18
 INPUT LABELS:
21
 INPUT LABELS:
19
 0 Windows 1
22
 0 Windows 1
20
 1 Windows 2
23
 1 Windows 2

Loading…
Cancel
Save