use spaces instead of tab

This commit is contained in:
john30
2017-01-14 18:01:37 +01:00
parent 917414a6f8
commit ebcb260d5f
47 changed files with 13575 additions and 13575 deletions
+91 -91
View File
@@ -17,7 +17,7 @@
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
# include <config.h>
#endif
#include <argp.h>
@@ -42,18 +42,18 @@ using ebusd::Device;
/** A structure holding all program options. */
struct options {
const char* device; //!< device to write to [/dev/ttyUSB60]
unsigned int time; //!< delay between bytes in us [10000]
const char* device; //!< device to write to [/dev/ttyUSB60]
unsigned int time; //!< delay between bytes in us [10000]
const char* dumpFile; //!< dump file to read
const char* dumpFile; //!< dump file to read
};
/** the program options. */
static struct options opt = {
"/dev/ttyUSB60", // device
10000, // time
"/dev/ttyUSB60", // device
10000, // time
"/tmp/ebus_dump.bin", // dumpFile
"/tmp/ebus_dump.bin", // dumpFile
};
/** the version string of the program. */
@@ -64,27 +64,27 @@ const char *argp_program_bug_address = ""PACKAGE_BUGREPORT"";
/** the documentation of the program. */
static const char argpdoc[] =
"Feed data from an "PACKAGE" DUMPFILE to a serial device.\n"
"\v"
"With no DUMPFILE, /tmp/ebus_dump.bin is used.\n"
"\n"
"Example for setting up two pseudo terminals with 'socat':\n"
" 1. 'socat -d -d pty,raw,echo=0 pty,raw,echo=0'\n"
" 2. create symbol links to appropriate devices, e.g.\n"
" 'ln -s /dev/pts/2 /dev/ttyUSB60'\n"
" 'ln -s /dev/pts/3 /dev/ttyUSB20'\n"
" 3. start "PACKAGE": '"PACKAGE" -f -d /dev/ttyUSB20 --nodevicecheck'\n"
" 4. start ebusfeed: 'ebusfeed /path/to/ebus_dump.bin'\n";
"Feed data from an "PACKAGE" DUMPFILE to a serial device.\n"
"\v"
"With no DUMPFILE, /tmp/ebus_dump.bin is used.\n"
"\n"
"Example for setting up two pseudo terminals with 'socat':\n"
" 1. 'socat -d -d pty,raw,echo=0 pty,raw,echo=0'\n"
" 2. create symbol links to appropriate devices, e.g.\n"
" 'ln -s /dev/pts/2 /dev/ttyUSB60'\n"
" 'ln -s /dev/pts/3 /dev/ttyUSB20'\n"
" 3. start "PACKAGE": '"PACKAGE" -f -d /dev/ttyUSB20 --nodevicecheck'\n"
" 4. start ebusfeed: 'ebusfeed /path/to/ebus_dump.bin'\n";
/** the description of the accepted arguments. */
static char argpargsdoc[] = "[DUMPFILE]";
/** the definition of the known program arguments. */
static const struct argp_option argpoptions[] = {
{"device", 'd', "DEV", 0, "Write to DEV (serial device) [/dev/ttyUSB60]", 0 },
{"time", 't', "USEC", 0, "Delay each byte by USEC us [10000]", 0 },
{"device", 'd', "DEV", 0, "Write to DEV (serial device) [/dev/ttyUSB60]", 0 },
{"time", 't', "USEC", 0, "Delay each byte by USEC us [10000]", 0 },
{NULL, 0, NULL, 0, NULL, 0 },
{NULL, 0, NULL, 0, NULL, 0 },
};
/**
@@ -94,80 +94,80 @@ static const struct argp_option argpoptions[] = {
* @param state the parsing state.
*/
error_t parse_opt(int key, char *arg, struct argp_state *state) {
struct options *opt = (struct options*)state->input;
char* strEnd = NULL;
switch (key) {
// Device settings:
case 'd': // --device=/dev/ttyUSB60
if (arg == NULL || arg[0] == 0) {
argp_error(state, "invalid device");
return EINVAL;
}
opt->device = arg;
break;
case 't': // --time=10000
opt->time = (unsigned int)strtoul(arg, &strEnd, 10);
if (strEnd == NULL || strEnd == arg || *strEnd != 0 || opt->time < 1000 || opt->time > 100000000) {
argp_error(state, "invalid time");
return EINVAL;
}
break;
case ARGP_KEY_ARG:
if (state->arg_num == 0) {
if (arg == NULL || arg[0] == 0 || strcmp("/", arg) == 0) {
argp_error(state, "invalid dumpfile");
return EINVAL;
}
opt->dumpFile = arg;
} else {
return ARGP_ERR_UNKNOWN;
}
break;
default:
return ARGP_ERR_UNKNOWN;
}
return 0;
struct options *opt = (struct options*)state->input;
char* strEnd = NULL;
switch (key) {
// Device settings:
case 'd': // --device=/dev/ttyUSB60
if (arg == NULL || arg[0] == 0) {
argp_error(state, "invalid device");
return EINVAL;
}
opt->device = arg;
break;
case 't': // --time=10000
opt->time = (unsigned int)strtoul(arg, &strEnd, 10);
if (strEnd == NULL || strEnd == arg || *strEnd != 0 || opt->time < 1000 || opt->time > 100000000) {
argp_error(state, "invalid time");
return EINVAL;
}
break;
case ARGP_KEY_ARG:
if (state->arg_num == 0) {
if (arg == NULL || arg[0] == 0 || strcmp("/", arg) == 0) {
argp_error(state, "invalid dumpfile");
return EINVAL;
}
opt->dumpFile = arg;
} else {
return ARGP_ERR_UNKNOWN;
}
break;
default:
return ARGP_ERR_UNKNOWN;
}
return 0;
}
int main(int argc, char* argv[]) {
struct argp argp = { argpoptions, parse_opt, argpargsdoc, argpdoc, NULL, NULL, NULL };
setenv("ARGP_HELP_FMT", "no-dup-args-note", 0);
if (argp_parse(&argp, argc, argv, ARGP_IN_ORDER, NULL, &opt) != 0) {
return EINVAL;
}
Device* device = Device::create(opt.device, false, false, NULL);
if (device == NULL) {
cout << "unable to create device " << opt.device << endl;
return EINVAL;
}
result_t result = device->open();
if (result != ebusd::RESULT_OK) {
cout << "unable to open " << opt.device << ": " << getResultCode(result) << endl;
}
if (!device->isValid()) {
cout << "device " << opt.device << " not available" << endl;
} else {
cout << "device opened" << endl;
fstream file(opt.dumpFile, ios::in | ios::binary);
if (file.is_open()) {
while (true) {
unsigned char byte = (unsigned char)file.get();
if (file.eof()) {
break;
}
cout << hex << setw(2) << setfill('0')
<< static_cast<unsigned>(byte) << endl;
device->send(byte);
usleep(opt.time);
}
file.close();
} else {
cout << "error opening file " << opt.dumpFile << endl;
}
}
struct argp argp = { argpoptions, parse_opt, argpargsdoc, argpdoc, NULL, NULL, NULL };
setenv("ARGP_HELP_FMT", "no-dup-args-note", 0);
if (argp_parse(&argp, argc, argv, ARGP_IN_ORDER, NULL, &opt) != 0) {
return EINVAL;
}
Device* device = Device::create(opt.device, false, false, NULL);
if (device == NULL) {
cout << "unable to create device " << opt.device << endl;
return EINVAL;
}
result_t result = device->open();
if (result != ebusd::RESULT_OK) {
cout << "unable to open " << opt.device << ": " << getResultCode(result) << endl;
}
if (!device->isValid()) {
cout << "device " << opt.device << " not available" << endl;
} else {
cout << "device opened" << endl;
fstream file(opt.dumpFile, ios::in | ios::binary);
if (file.is_open()) {
while (true) {
unsigned char byte = (unsigned char)file.get();
if (file.eof()) {
break;
}
cout << hex << setw(2) << setfill('0')
<< static_cast<unsigned>(byte) << endl;
device->send(byte);
usleep(opt.time);
}
file.close();
} else {
cout << "error opening file " << opt.dumpFile << endl;
}
}
delete device;
exit(EXIT_SUCCESS);
delete device;
exit(EXIT_SUCCESS);
}