Commit 61440f55aeca7d5553a6c578eea2d0ef4a0a24ac
1 parent
692f6b76
Baud rate until 4,000,000 (POSIX), 1,000,000 (Windows) (closes #93)
Showing
1 changed file
with
80 additions
and
0 deletions
src/modbus-rtu.c
| @@ -478,6 +478,9 @@ static int _modbus_rtu_connect(modbus_t *ctx) | @@ -478,6 +478,9 @@ static int _modbus_rtu_connect(modbus_t *ctx) | ||
| 478 | case 9600: | 478 | case 9600: |
| 479 | dcb.BaudRate = CBR_9600; | 479 | dcb.BaudRate = CBR_9600; |
| 480 | break; | 480 | break; |
| 481 | + case 14400: | ||
| 482 | + dcb.BaudRate = CBR_14400; | ||
| 483 | + break; | ||
| 481 | case 19200: | 484 | case 19200: |
| 482 | dcb.BaudRate = CBR_19200; | 485 | dcb.BaudRate = CBR_19200; |
| 483 | break; | 486 | break; |
| @@ -491,8 +494,24 @@ static int _modbus_rtu_connect(modbus_t *ctx) | @@ -491,8 +494,24 @@ static int _modbus_rtu_connect(modbus_t *ctx) | ||
| 491 | dcb.BaudRate = CBR_115200; | 494 | dcb.BaudRate = CBR_115200; |
| 492 | break; | 495 | break; |
| 493 | case 230400: | 496 | case 230400: |
| 497 | + /* CBR_230400 - not defined */ | ||
| 494 | dcb.BaudRate = 230400; | 498 | dcb.BaudRate = 230400; |
| 495 | break; | 499 | break; |
| 500 | + case 250000: | ||
| 501 | + dcb.BaudRate = 250000; | ||
| 502 | + break; | ||
| 503 | + case 460800: | ||
| 504 | + dcb.BaudRate = 460800; | ||
| 505 | + break; | ||
| 506 | + case 500000: | ||
| 507 | + dcb.BaudRate = 500000; | ||
| 508 | + break; | ||
| 509 | + case 921600: | ||
| 510 | + dcb.BaudRate = 921600; | ||
| 511 | + break; | ||
| 512 | + case 1000000: | ||
| 513 | + dcb.BaudRate = 1000000; | ||
| 514 | + break; | ||
| 496 | default: | 515 | default: |
| 497 | dcb.BaudRate = CBR_9600; | 516 | dcb.BaudRate = CBR_9600; |
| 498 | printf("WARNING Unknown baud rate %d for %s (B9600 used)\n", | 517 | printf("WARNING Unknown baud rate %d for %s (B9600 used)\n", |
| @@ -614,15 +633,76 @@ static int _modbus_rtu_connect(modbus_t *ctx) | @@ -614,15 +633,76 @@ static int _modbus_rtu_connect(modbus_t *ctx) | ||
| 614 | case 38400: | 633 | case 38400: |
| 615 | speed = B38400; | 634 | speed = B38400; |
| 616 | break; | 635 | break; |
| 636 | +#ifdef B57600 | ||
| 617 | case 57600: | 637 | case 57600: |
| 618 | speed = B57600; | 638 | speed = B57600; |
| 619 | break; | 639 | break; |
| 640 | +#endif | ||
| 641 | +#ifdef B115200 | ||
| 620 | case 115200: | 642 | case 115200: |
| 621 | speed = B115200; | 643 | speed = B115200; |
| 622 | break; | 644 | break; |
| 645 | +#endif | ||
| 646 | +#ifdef B230400 | ||
| 623 | case 230400: | 647 | case 230400: |
| 624 | speed = B230400; | 648 | speed = B230400; |
| 625 | break; | 649 | break; |
| 650 | +#endif | ||
| 651 | +#ifdef B460800 | ||
| 652 | + case 460800: | ||
| 653 | + speed = B460800; | ||
| 654 | + break; | ||
| 655 | +#endif | ||
| 656 | +#ifdef B500000 | ||
| 657 | + case 500000: | ||
| 658 | + speed = B500000; | ||
| 659 | + break; | ||
| 660 | +#endif | ||
| 661 | +#ifdef B576000 | ||
| 662 | + case 576000: | ||
| 663 | + speed = B576000; | ||
| 664 | + break; | ||
| 665 | +#endif | ||
| 666 | +#ifdef B921600 | ||
| 667 | + case 921600: | ||
| 668 | + speed = B921600; | ||
| 669 | + break; | ||
| 670 | +#endif | ||
| 671 | +#ifdef B1000000 | ||
| 672 | + case 1000000: | ||
| 673 | + speed = B1000000; | ||
| 674 | + break; | ||
| 675 | +#endif | ||
| 676 | +#ifdef B1152000 | ||
| 677 | + case 1152000: | ||
| 678 | + speed = B1152000; | ||
| 679 | + break; | ||
| 680 | +#endif | ||
| 681 | +#ifdef B1500000 | ||
| 682 | + case 1500000: | ||
| 683 | + speed = B1500000; | ||
| 684 | + break; | ||
| 685 | +#endif | ||
| 686 | +#ifdef B2500000 | ||
| 687 | + case 2500000: | ||
| 688 | + speed = B2500000; | ||
| 689 | + break; | ||
| 690 | +#endif | ||
| 691 | +#ifdef B3000000 | ||
| 692 | + case 3000000: | ||
| 693 | + speed = B3000000; | ||
| 694 | + break; | ||
| 695 | +#endif | ||
| 696 | +#ifdef B3500000 | ||
| 697 | + case 3500000: | ||
| 698 | + speed = B3500000; | ||
| 699 | + break; | ||
| 700 | +#endif | ||
| 701 | +#ifdef B4000000 | ||
| 702 | + case 4000000: | ||
| 703 | + speed = B4000000; | ||
| 704 | + break; | ||
| 705 | +#endif | ||
| 626 | default: | 706 | default: |
| 627 | speed = B9600; | 707 | speed = B9600; |
| 628 | if (ctx->debug) { | 708 | if (ctx->debug) { |