17 #include "../include/tscope5/serialport.h"
18 #include "../include/tscope5/timer.h"
19 #include "../include/tscope5/serialport_internal.h"
20 #include "../include/tscope5/system_internal.h"
47 ts5_log(TS5_LOGLEVEL_3,
"ts5_define_serialport_trigger_input(%s)\n",
50 _ts5_status.timer.serialport_is_trigger_device = 1;
51 _ts5_status.timer.serialport[portnum].is_trigger_input_device = 1;
69 ts5_log(TS5_LOGLEVEL_3,
"ts5_simulate_serialport_trigger_input(%d,%d,%f)\n",
70 device, value, interval);
72 if (device<1 || device>_ts5_status.timer.num_serialports) {
73 ts5_fatal(
"%s: %s %d, %s %d\n",
"ts5_simulate_serialport_trigger_input",
74 "device argument is", device,
75 "number of serial ports is",
76 _ts5_status.timer.num_serialports);
79 _ts5_status.timer.serialport[device-1].simulate_trigger_input =
82 _ts5_status.timer.serialport[device-1].trigger_simulation_interval =
103 ts5_log(TS5_LOGLEVEL_3,
"ts5_define_serialport_trigger_output(%s)\n",
106 _ts5_status.timer.serialport_is_trigger_device = 1;
107 _ts5_status.timer.serialport[portnum].is_trigger_output_device = 1;
121 ts5_log(TS5_LOGLEVEL_3,
"ts5_send_serialport_trigger(%d,%d)\n",
124 if (device<1 || device>_ts5_status.timer.num_serialports) {
125 ts5_fatal(
"%s: %s %d, %s %d\n",
"ts5_send_serialport_trigger",
126 "device argument is", device,
127 "number of serial ports is",
128 _ts5_status.timer.num_serialports);
131 char serial_buff[TS5_MAX_CHAR];
132 sprintf(serial_buff,
"%c", value);
136 unsigned long bytes_to_write = strlen(serial_buff);
137 unsigned long bytes_written;
139 if (!WriteFile(*(_ts5_status.timer.serialport[device-1].port),
140 serial_buff, bytes_to_write, &bytes_written, NULL)) {
141 ts5_fatal(
"ts5_send_serialport_trigger: write error 1\n");
144 if (bytes_written != bytes_to_write) {
145 ts5_fatal(
"ts5_send_serialport_trigger: write error 2\n");
151 unsigned int bytes_to_write = strlen(serial_buff);
152 unsigned int bytes_written;
155 write(*(_ts5_status.timer.serialport[device-1].port),
156 serial_buff, bytes_to_write);
158 if (bytes_written != bytes_to_write) {
159 ts5_fatal(
"ts5_send_serialport_trigger: write error\n");
177 ts5_log(TS5_LOGLEVEL_3,
"ts5_get_serialport(%d)\n", device);
179 if (device < 1 || device>_ts5_status.timer.num_serialports) {
181 "device argument is", device,
182 "number of opened serial ports is",
183 _ts5_status.timer.num_serialports);
186 return _ts5_status.timer.serialport[device-1].port;