mirror of
https://github.com/ProDOS-8/xHD.git
synced 2025-01-14 16:33:32 +00:00
Added baud rate option.
Interestingly libserialport doesn't complain about any weird value. So there's nothing to validate. Surprisingly Windows doesn't complain about any weird value! So even the sp_set_config() succeeds!
This commit is contained in:
parent
610c00cd48
commit
beb202aeac
@ -53,6 +53,7 @@ int main(int argc, char *argv[])
|
|||||||
bool bVerbose = false;
|
bool bVerbose = false;
|
||||||
bool bLog = true;
|
bool bLog = true;
|
||||||
char *pPortname = 0;
|
char *pPortname = 0;
|
||||||
|
int iBaudrate = 230400;
|
||||||
char *apFilename[2] = {0, 0};
|
char *apFilename[2] = {0, 0};
|
||||||
|
|
||||||
for (int iArg = 1; iArg < argc; iArg++)
|
for (int iArg = 1; iArg < argc; iArg++)
|
||||||
@ -60,6 +61,22 @@ int main(int argc, char *argv[])
|
|||||||
// Process option
|
// Process option
|
||||||
if (argv[iArg][0] == '-')
|
if (argv[iArg][0] == '-')
|
||||||
{
|
{
|
||||||
|
if (argv[iArg][1] == 'b')
|
||||||
|
{
|
||||||
|
char *pEnd;
|
||||||
|
long lBaudrate = strtol(&argv[iArg][2], &pEnd, 10);
|
||||||
|
iBaudrate = (int)lBaudrate;
|
||||||
|
if (*pEnd || iBaudrate != lBaudrate)
|
||||||
|
{
|
||||||
|
// Force usage
|
||||||
|
apFilename[0] = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (bVerbose)
|
||||||
|
printf("Baud: %d\n", iBaudrate);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (argv[iArg][1] == 'p')
|
if (argv[iArg][1] == 'p')
|
||||||
{
|
{
|
||||||
pPortname = &argv[iArg][2];
|
pPortname = &argv[iArg][2];
|
||||||
@ -106,9 +123,10 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (apFilename[0] == 0)
|
if (apFilename[0] == 0)
|
||||||
{
|
{
|
||||||
printf("Usage: %s [-nv] [-p<port>] img1 [img2]\n"
|
printf("Usage: %s [-nv] [-b<baud>] [-p<port>] img1 [img2]\n"
|
||||||
"\t-n\t\tno logging\n"
|
"\t-n\t\tno logging\n"
|
||||||
"\t-v\t\tbe verbose\n"
|
"\t-v\t\tbe verbose\n"
|
||||||
|
"\t-b<baud>\tbaud rate\n"
|
||||||
"\t-p<port>\t(partial) serial portname\n"
|
"\t-p<port>\t(partial) serial portname\n"
|
||||||
"\timg1\t\tdrive 1 disk image filename\n"
|
"\timg1\t\tdrive 1 disk image filename\n"
|
||||||
"\timg2\t\tdrive 2 disk image filename\n",
|
"\timg2\t\tdrive 2 disk image filename\n",
|
||||||
@ -149,7 +167,7 @@ int main(int argc, char *argv[])
|
|||||||
// Create a configuration for the serial ports
|
// Create a configuration for the serial ports
|
||||||
struct sp_port_config *pSerialConfig = 0;
|
struct sp_port_config *pSerialConfig = 0;
|
||||||
assert(sp_new_config(&pSerialConfig) == SP_OK);
|
assert(sp_new_config(&pSerialConfig) == SP_OK);
|
||||||
assert(sp_set_config_baudrate(pSerialConfig, 230400) == SP_OK);
|
assert(sp_set_config_baudrate(pSerialConfig, iBaudrate) == SP_OK);
|
||||||
assert(sp_set_config_bits(pSerialConfig, 8) == SP_OK);
|
assert(sp_set_config_bits(pSerialConfig, 8) == SP_OK);
|
||||||
assert(sp_set_config_parity(pSerialConfig, SP_PARITY_NONE) == SP_OK);
|
assert(sp_set_config_parity(pSerialConfig, SP_PARITY_NONE) == SP_OK);
|
||||||
assert(sp_set_config_stopbits(pSerialConfig, 1) == SP_OK);
|
assert(sp_set_config_stopbits(pSerialConfig, 1) == SP_OK);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user