diff options
| author | Frédéric Desbiens <[email protected]> | 2026-04-17 08:59:45 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-17 08:59:45 -0400 |
| commit | e2e81a870b81b73dc471f59fb582f1104141ae2e (patch) | |
| tree | 47e320d00286be676c9358b02129e6a8227ec782 | |
| parent | 6765d688e0b9d1c163068bb93ff22c6f63fd321b (diff) | |
| parent | 0b95590b1854a9f38be39a96876067ba3e47db8f (diff) | |
Merge pull request #257 from ayedm1/default_value_protection
Added default value protection for line coding parameters in serial Host classes
4 files changed, 39 insertions, 2 deletions
diff --git a/common/usbx_host_classes/inc/ux_host_class_cdc_acm.h b/common/usbx_host_classes/inc/ux_host_class_cdc_acm.h index 24b8fb4..b8c392f 100644 --- a/common/usbx_host_classes/inc/ux_host_class_cdc_acm.h +++ b/common/usbx_host_classes/inc/ux_host_class_cdc_acm.h @@ -135,10 +135,21 @@ extern "C" { /* Define CDC ACM default values. */ +#ifndef UX_HOST_CLASS_CDC_ACM_LINE_CODING_DEFAULT_RATE #define UX_HOST_CLASS_CDC_ACM_LINE_CODING_DEFAULT_RATE 9600 +#endif + +#ifndef UX_HOST_CLASS_CDC_ACM_LINE_CODING_DEFAULT_STOP_BIT #define UX_HOST_CLASS_CDC_ACM_LINE_CODING_DEFAULT_STOP_BIT 0 +#endif + +#ifndef UX_HOST_CLASS_CDC_ACM_LINE_CODING_DEFAULT_PARITY #define UX_HOST_CLASS_CDC_ACM_LINE_CODING_DEFAULT_PARITY 0 +#endif + +#ifndef UX_HOST_CLASS_CDC_ACM_LINE_CODING_DEFAULT_DATA_BIT #define UX_HOST_CLASS_CDC_ACM_LINE_CODING_DEFAULT_DATA_BIT 8 +#endif /* Define CDC ACM line coding definitions. */ diff --git a/common/usbx_host_classes/inc/ux_host_class_gser.h b/common/usbx_host_classes/inc/ux_host_class_gser.h index 9332dbf..8096ff4 100644 --- a/common/usbx_host_classes/inc/ux_host_class_gser.h +++ b/common/usbx_host_classes/inc/ux_host_class_gser.h @@ -115,8 +115,21 @@ extern "C" { /* Define CDC ACM default values. */ +#ifndef UX_HOST_CLASS_GSER_LINE_CODING_DEFAULT_RATE #define UX_HOST_CLASS_GSER_LINE_CODING_DEFAULT_RATE 9600 +#endif + +#ifndef UX_HOST_CLASS_GSER_LINE_CODING_DEFAULT_STOP_BIT +#define UX_HOST_CLASS_GSER_LINE_CODING_DEFAULT_STOP_BIT 0 +#endif + +#ifndef UX_HOST_CLASS_GSER_LINE_CODING_DEFAULT_PARITY +#define UX_HOST_CLASS_GSER_LINE_CODING_DEFAULT_PARITY 0 +#endif + +#ifndef UX_HOST_CLASS_GSER_LINE_CODING_DEFAULT_DATA_BIT #define UX_HOST_CLASS_GSER_LINE_CODING_DEFAULT_DATA_BIT 8 +#endif /* Define CDC ACM line coding definitions. */ diff --git a/common/usbx_host_classes/inc/ux_host_class_prolific.h b/common/usbx_host_classes/inc/ux_host_class_prolific.h index 94b516f..eb6c9cb 100644 --- a/common/usbx_host_classes/inc/ux_host_class_prolific.h +++ b/common/usbx_host_classes/inc/ux_host_class_prolific.h @@ -144,8 +144,21 @@ extern "C" { /* Define PROLIFIC default values. */ +#ifndef UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_RATE #define UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_RATE 19200 +#endif + +#ifndef UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_STOP_BIT +#define UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_STOP_BIT 0 +#endif + +#ifndef UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_PARITY +#define UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_PARITY 0 +#endif + +#ifndef UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_DATA_BIT #define UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_DATA_BIT 8 +#endif /* Define PROLIFIC line coding definitions. */ diff --git a/common/usbx_host_classes/src/ux_host_class_prolific_activate.c b/common/usbx_host_classes/src/ux_host_class_prolific_activate.c index e2afb35..862af1e 100644 --- a/common/usbx_host_classes/src/ux_host_class_prolific_activate.c +++ b/common/usbx_host_classes/src/ux_host_class_prolific_activate.c @@ -125,8 +125,8 @@ UINT status; if (status == UX_SUCCESS) { line_coding.ux_host_class_prolific_line_coding_dter = UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_RATE; - line_coding.ux_host_class_prolific_line_coding_stop_bit = UX_HOST_CLASS_PROLIFIC_LINE_CODING_STOP_BIT_0; - line_coding.ux_host_class_prolific_line_coding_parity = UX_HOST_CLASS_PROLIFIC_LINE_CODING_PARITY_NONE; + line_coding.ux_host_class_prolific_line_coding_stop_bit = UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_STOP_BIT; + line_coding.ux_host_class_prolific_line_coding_parity = UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_PARITY; line_coding.ux_host_class_prolific_line_coding_data_bits = UX_HOST_CLASS_PROLIFIC_LINE_CODING_DEFAULT_DATA_BIT; status = _ux_host_class_prolific_ioctl(prolific, UX_HOST_CLASS_PROLIFIC_IOCTL_SET_LINE_CODING, (VOID *) &line_coding); } |
