#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <errno.h>
#include <confuse.h>
#include <libusb.h>
fprintf(stderr, " i:<vendor>:<product>:<index>\n");
fprintf(stderr, " s:<vendor>:<product>:<serial>\n");
fprintf(stderr, "--read-eeprom Read eeprom and write to -filename- from config-file\n");
+ fprintf(stderr, "--build-eeprom Build eeprom image\n");
fprintf(stderr, "--erase-eeprom Erase eeprom\n");
fprintf(stderr, "--flash-eeprom Flash eeprom\n");
}
CFG_BOOL("chb_rs485", cfg_false, 0),
CFG_BOOL("chc_rs485", cfg_false, 0),
CFG_BOOL("chd_rs485", cfg_false, 0),
+ CFG_FUNC("include", &cfg_include),
CFG_END()
};
cfg_t *cfg;
enum {
COMMAND_READ = 1,
COMMAND_ERASE,
- COMMAND_FLASH
+ COMMAND_FLASH,
+ COMMAND_BUILD
} command = 0;
const char *cfg_filename = NULL;
const char *device_description = NULL;
{
command = COMMAND_FLASH;
}
+ else if (!strcmp(argv[i], "--build-eeprom"))
+ {
+ command = COMMAND_BUILD;
+ }
else
{
usage(argv[0]);
}
if (filename != NULL && strlen(filename) > 0)
{
-
FILE *fp = fopen (filename, "wb");
- fwrite (eeprom_buf, 1, my_eeprom_size, fp);
- fclose (fp);
+
+ if(fp)
+ {
+ fwrite(eeprom_buf, 1, my_eeprom_size, fp);
+ fclose(fp);
+ }
+ else
+ fprintf(stderr, "Could not open output file %s: %s\n", filename, strerror(errno));
}
else
{