Skip to content

Commit bb57b7c

Browse files
committed
Add optional error callback parameter to serial interface functions
- Enhanced multiple serial interface functions by adding an optional `error_callback` parameter, allowing users to handle errors more effectively. - Updated documentation across various headers to reflect the new parameter, ensuring clarity and consistency. This change improves the robustness of the serial API by providing better error handling capabilities.
1 parent 1bd6256 commit bb57b7c

18 files changed

+30
-4
lines changed

include/cpp_core/interface/serial_abort_read.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ extern "C"
1515
* ::cpp_core::StatusCodes::kAbortReadError.
1616
*
1717
* @param handle Port handle.
18+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
1819
* @return 0 on success or a negative error code on failure.
1920
*/
2021
MODULE_API auto serialAbortRead(

include/cpp_core/interface/serial_abort_write.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ extern "C"
1515
* ::cpp_core::StatusCodes::kAbortWriteError.
1616
*
1717
* @param handle Port handle.
18+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
1819
* @return 0 on success or a negative error code on failure.
1920
*/
2021
MODULE_API auto serialAbortWrite(

include/cpp_core/interface/serial_clear_buffer_in.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ extern "C"
1515
* has not yet read.
1616
*
1717
* @param handle Port handle.
18+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
1819
* @return 0 on success or a negative error code on failure.
1920
*/
2021
MODULE_API auto serialClearBufferIn(

include/cpp_core/interface/serial_clear_buffer_out.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ extern "C"
1515
* remaining data.
1616
*
1717
* @param handle Port handle.
18+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
1819
* @return 0 on success or a negative error code on failure.
1920
*/
2021
MODULE_API auto serialClearBufferOut(

include/cpp_core/interface/serial_close.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ extern "C"
1515
* (≤ 0) handle is a no-op.
1616
*
1717
* @param handle Handle obtained from serialOpen().
18+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
1819
* @return 0 on success or a negative error code on failure.
1920
*/
2021
MODULE_API auto serialClose(

include/cpp_core/interface/serial_drain.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ extern "C"
2828
* @endcode
2929
*
3030
* @param handle Port handle.
31+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
3132
* @return 0 on success; negative ::cpp_core::StatusCodes value on error.
3233
*/
3334
MODULE_API auto serialDrain(

include/cpp_core/interface/serial_get_ports_info.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ extern "C"
1313
* The supplied callback is invoked once for every discovered port. All string
1414
* parameters may be `nullptr` if the information is unknown.
1515
*
16-
* @param function Callback receiving port information.
16+
* @param callback_fn Callback receiving port information.
17+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
1718
* @return Number of ports found or a negative error code.
1819
*/
1920
MODULE_API auto serialGetPortsInfo(

include/cpp_core/interface/serial_in_bytes_total.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#pragma once
2+
#include "../error_callback.h"
23
#include "../module_api.h"
34
#include <cstdint>
45

@@ -11,9 +12,13 @@ extern "C"
1112
* @brief Total number of bytes received since the port was opened.
1213
*
1314
* @param handle Port handle.
15+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
1416
* @return Total number of bytes read or a negative error code.
1517
*/
16-
MODULE_API auto serialInBytesTotal(int64_t handle) -> int64_t;
18+
MODULE_API auto serialInBytesTotal(
19+
int64_t handle,
20+
ErrorCallbackT error_callback = nullptr
21+
) -> int64_t;
1722

1823
#ifdef __cplusplus
1924
}

include/cpp_core/interface/serial_in_bytes_waiting.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ extern "C"
2323
* @endcode
2424
*
2525
* @param handle Port handle.
26+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
2627
* @return Bytes available for instant reading or a negative error code.
2728
*/
2829
MODULE_API auto serialInBytesWaiting(

include/cpp_core/interface/serial_open.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ extern "C"
2222
* @param data_bits Number of data bits (5–8).
2323
* @param parity 0 = none, 1 = even, 2 = odd.
2424
* @param stop_bits 0 = 1 stop bit, 2 = 2 stop bits.
25+
* @param error_callback [optional] Callback to invoke on error. Defined in error_callback.h. Default is `nullptr`.
2526
* @return A positive opaque handle on success or a negative value from ::cpp_core::StatusCodes on failure.
2627
*/
2728
MODULE_API auto serialOpen(

0 commit comments

Comments
 (0)