diff --git a/erpc_c/config/erpc_config.h b/erpc_c/config/erpc_config.h index d8c35f86e..2c4a43edd 100644 --- a/erpc_c/config/erpc_config.h +++ b/erpc_c/config/erpc_config.h @@ -181,6 +181,13 @@ //! Uncomment for using pre post default callback feature. //#define ERPC_PRE_POST_ACTION_DEFAULT (ERPC_PRE_POST_ACTION_DEFAULT_ENABLED) +//! @name Assert function definition +//@{ +//! User custom asser defition. Include header file if needed before bellow line. If assert is not enabled, default will be used. +// #define erpc_assert(condition) +//@} + + /*! @} */ #endif // _ERPC_CONFIG_H_ //////////////////////////////////////////////////////////////////////////////// diff --git a/erpc_c/infra/erpc_arbitrated_client_manager.cpp b/erpc_c/infra/erpc_arbitrated_client_manager.cpp index 3ff84617f..961d55ac0 100644 --- a/erpc_c/infra/erpc_arbitrated_client_manager.cpp +++ b/erpc_c/infra/erpc_arbitrated_client_manager.cpp @@ -11,8 +11,6 @@ #include "erpc_arbitrated_client_manager.h" #include "erpc_transport_arbitrator.h" -#include "assert.h" - #if ERPC_THREADS_IS(NONE) #error "Arbitrator code does not work in no-threading configuration." #endif @@ -42,7 +40,7 @@ void ArbitratedClientManager::performClientRequest(RequestContext &request) erpc_status_t err; TransportArbitrator::client_token_t token = 0; - assert(m_arbitrator && "arbitrator not set"); + erpc_assert(m_arbitrator && "arbitrator not set"); // Set up the client receive before we send the request, so if the reply is sent // before we get to the clientReceive() call below the arbitrator already has the buffer. diff --git a/erpc_c/infra/erpc_basic_codec.cpp b/erpc_c/infra/erpc_basic_codec.cpp index 5b453858a..88bd183f3 100644 --- a/erpc_c/infra/erpc_basic_codec.cpp +++ b/erpc_c/infra/erpc_basic_codec.cpp @@ -150,7 +150,7 @@ void BasicCodec::writeCallback(arrayOfFunPtr callbacks, uint8_t callbacksCount, { uint8_t i; - assert(callbacksCount > 1U); + erpc_assert(callbacksCount > 1U); // callbacks = callbacks table for (i = 0; i < callbacksCount; i++) @@ -352,7 +352,7 @@ void BasicCodec::readCallback(arrayOfFunPtr callbacks, uint8_t callbacksCount, f { uint8_t _tmp_local; - assert(callbacksCount > 1U); + erpc_assert(callbacksCount > 1U); // callbacks = callbacks table read(&_tmp_local); diff --git a/erpc_c/infra/erpc_client_manager.cpp b/erpc_c/infra/erpc_client_manager.cpp index 766bf4210..5b5038572 100644 --- a/erpc_c/infra/erpc_client_manager.cpp +++ b/erpc_c/infra/erpc_client_manager.cpp @@ -10,8 +10,6 @@ #include "erpc_client_manager.h" -#include "assert.h" - using namespace erpc; //////////////////////////////////////////////////////////////////////////////// @@ -49,7 +47,7 @@ void ClientManager::performRequest(RequestContext &request) #if ERPC_NESTED_CALLS if (performRequest) { - assert(m_serverThreadId && "server thread id was not set"); + erpc_assert(m_serverThreadId && "server thread id was not set"); if (Thread::getCurrentThreadId() == m_serverThreadId) { performNestedClientRequest(request); @@ -120,7 +118,7 @@ void ClientManager::performNestedClientRequest(RequestContext &request) { erpc_status_t err; - assert(m_transport && "transport/arbitrator not set"); + erpc_assert(m_transport && "transport/arbitrator not set"); #if ERPC_MESSAGE_LOGGING if (request.getCodec()->isStatusOk() == true) @@ -143,7 +141,7 @@ void ClientManager::performNestedClientRequest(RequestContext &request) // Receive reply. if (request.getCodec()->isStatusOk() == true) { - assert(m_server && "server for nesting calls was not set"); + erpc_assert(m_server && "server for nesting calls was not set"); err = m_server->run(request); request.getCodec()->updateStatus(err); } diff --git a/erpc_c/infra/erpc_framed_transport.cpp b/erpc_c/infra/erpc_framed_transport.cpp index 35cab66bc..83ee8711e 100644 --- a/erpc_c/infra/erpc_framed_transport.cpp +++ b/erpc_c/infra/erpc_framed_transport.cpp @@ -11,7 +11,6 @@ #include "erpc_framed_transport.h" #include "erpc_message_buffer.h" -#include #include using namespace erpc; @@ -34,7 +33,7 @@ FramedTransport::~FramedTransport(void) {} void FramedTransport::setCrc16(Crc16 *crcImpl) { - assert(crcImpl); + erpc_assert(crcImpl); m_crcImpl = crcImpl; } @@ -44,7 +43,7 @@ erpc_status_t FramedTransport::receive(MessageBuffer *message) erpc_status_t retVal; uint16_t computedCrc; - assert(m_crcImpl && "Uninitialized Crc16 object."); + erpc_assert(m_crcImpl && "Uninitialized Crc16 object."); { #if !ERPC_THREADS_IS(NONE) @@ -102,7 +101,7 @@ erpc_status_t FramedTransport::send(MessageBuffer *message) uint16_t messageLength; Header h; - assert(m_crcImpl && "Uninitialized Crc16 object."); + erpc_assert(m_crcImpl && "Uninitialized Crc16 object."); #if !ERPC_THREADS_IS(NONE) Mutex::Guard lock(m_sendLock); diff --git a/erpc_c/infra/erpc_message_buffer.cpp b/erpc_c/infra/erpc_message_buffer.cpp index 87bbae9c4..d5588ee28 100644 --- a/erpc_c/infra/erpc_message_buffer.cpp +++ b/erpc_c/infra/erpc_message_buffer.cpp @@ -9,8 +9,8 @@ */ #include "erpc_message_buffer.h" +#include "erpc_config_internal.h" -#include #include using namespace erpc; @@ -64,7 +64,7 @@ erpc_status_t MessageBuffer::write(uint16_t offset, const void *data, uint32_t l erpc_status_t MessageBuffer::copy(const MessageBuffer *other) { - assert(m_len >= other->m_len); + erpc_assert(m_len >= other->m_len); m_used = other->m_used; (void)memcpy(m_buf, other->m_buf, m_used); @@ -74,7 +74,7 @@ erpc_status_t MessageBuffer::copy(const MessageBuffer *other) void MessageBuffer::swap(MessageBuffer *other) { - assert(other); + erpc_assert(other); MessageBuffer temp(*other); @@ -90,7 +90,7 @@ void MessageBuffer::Cursor::set(MessageBuffer *buffer) { m_buffer = buffer; // RPMSG when nested calls are enabled can set NULL buffer. - // assert(buffer->get() && "Data buffer wasn't set to MessageBuffer."); + // erpc_assert(buffer->get() && "Data buffer wasn't set to MessageBuffer."); // receive function should return err if it couldn't set data buffer. m_pos = buffer->get(); m_remaining = buffer->getLength(); @@ -98,7 +98,7 @@ void MessageBuffer::Cursor::set(MessageBuffer *buffer) erpc_status_t MessageBuffer::Cursor::read(void *data, uint32_t length) { - assert(m_pos && "Data buffer wasn't set to MessageBuffer."); + erpc_assert(m_pos && "Data buffer wasn't set to MessageBuffer."); erpc_status_t err; @@ -120,7 +120,7 @@ erpc_status_t MessageBuffer::Cursor::read(void *data, uint32_t length) erpc_status_t MessageBuffer::Cursor::write(const void *data, uint32_t length) { - assert(m_pos && "Data buffer wasn't set to MessageBuffer."); + erpc_assert(m_pos && "Data buffer wasn't set to MessageBuffer."); erpc_status_t err; diff --git a/erpc_c/infra/erpc_server.cpp b/erpc_c/infra/erpc_server.cpp index daea93844..db720f4e6 100644 --- a/erpc_c/infra/erpc_server.cpp +++ b/erpc_c/infra/erpc_server.cpp @@ -10,8 +10,6 @@ #include "erpc_server.h" -#include "assert.h" - using namespace erpc; //////////////////////////////////////////////////////////////////////////////// diff --git a/erpc_c/infra/erpc_transport_arbitrator.cpp b/erpc_c/infra/erpc_transport_arbitrator.cpp index c70e82545..fd9d496ef 100644 --- a/erpc_c/infra/erpc_transport_arbitrator.cpp +++ b/erpc_c/infra/erpc_transport_arbitrator.cpp @@ -8,10 +8,9 @@ * SPDX-License-Identifier: BSD-3-Clause */ #include "erpc_transport_arbitrator.h" - +#include "erpc_config_internal.h" #include "erpc_manually_constructed.h" -#include #include #include @@ -47,21 +46,21 @@ TransportArbitrator::~TransportArbitrator(void) void TransportArbitrator::setCrc16(Crc16 *crcImpl) { - assert(crcImpl); - assert(m_sharedTransport); + erpc_assert(crcImpl); + erpc_assert(m_sharedTransport); m_sharedTransport->setCrc16(crcImpl); } bool TransportArbitrator::hasMessage(void) { - assert(m_sharedTransport && "shared transport is not set"); + erpc_assert(m_sharedTransport && "shared transport is not set"); return m_sharedTransport->hasMessage(); } erpc_status_t TransportArbitrator::receive(MessageBuffer *message) { - assert(m_sharedTransport && "shared transport is not set"); + erpc_assert(m_sharedTransport && "shared transport is not set"); erpc_status_t err; message_type_t msgType; @@ -142,7 +141,7 @@ erpc_status_t TransportArbitrator::receive(MessageBuffer *message) erpc_status_t TransportArbitrator::send(MessageBuffer *message) { - assert(m_sharedTransport && "shared transport is not set"); + erpc_assert(m_sharedTransport && "shared transport is not set"); return m_sharedTransport->send(message); } @@ -159,7 +158,7 @@ TransportArbitrator::client_token_t TransportArbitrator::prepareClientReceive(Re erpc_status_t TransportArbitrator::clientReceive(client_token_t token) { - assert((token != 0) && "invalid client token"); + erpc_assert((token != 0) && "invalid client token"); // Convert token to pointer to info struct for this client receive request. PendingClientInfo *info = reinterpret_cast(token); diff --git a/erpc_c/port/erpc_config_internal.h b/erpc_c/port/erpc_config_internal.h index f96346661..cc54decae 100644 --- a/erpc_c/port/erpc_config_internal.h +++ b/erpc_c/port/erpc_config_internal.h @@ -49,13 +49,13 @@ // Detect allocation policy if not already set. #if !defined(ERPC_ALLOCATION_POLICY) - #if defined(__has_include) && __has_include("FreeRTOSConfig.h") + #if ERPC_HAS_FREERTOSCONFIG_H #ifdef __cplusplus - extern "C" { + extern "C" { #endif #include "FreeRTOSConfig.h" #ifdef __cplusplus - } + } #endif #if defined(configSUPPORT_STATIC_ALLOCATION) && configSUPPORT_STATIC_ALLOCATION #define ERPC_ALLOCATION_POLICY (ERPC_ALLOCATION_POLICY_STATIC) @@ -68,15 +68,15 @@ #endif #if ERPC_ALLOCATION_POLICY == ERPC_ALLOCATION_POLICY_STATIC -#if !defined(ERPC_CODEC_COUNT) -#define ERPC_CODEC_COUNT (2U) -#endif -#if !defined(ERPC_MESSAGE_LOGGERS_COUNT) -#define ERPC_MESSAGE_LOGGERS_COUNT (0U) -#endif -#if !defined(ERPC_CLIENTS_THREADS_AMOUNT) -#define ERPC_CLIENTS_THREADS_AMOUNT (1U) -#endif + #if !defined(ERPC_CODEC_COUNT) + #define ERPC_CODEC_COUNT (2U) + #endif + #if !defined(ERPC_MESSAGE_LOGGERS_COUNT) + #define ERPC_MESSAGE_LOGGERS_COUNT (0U) + #endif + #if !defined(ERPC_CLIENTS_THREADS_AMOUNT) + #define ERPC_CLIENTS_THREADS_AMOUNT (1U) + #endif #endif // Safely detect tx_api.h. @@ -133,9 +133,9 @@ //NOEXCEPT support #if defined(__cplusplus) && __cplusplus >= 201103 && ERPC_NOEXCEPT -#define NOEXCEPT noexcept + #define NOEXCEPT noexcept #else -#define NOEXCEPT + #define NOEXCEPT #endif // NOEXCEPT // Disabling nesting calls support as default. @@ -162,11 +162,11 @@ #endif #if defined(__CC_ARM) || defined(__ARMCC_VERSION) /* Keil MDK */ -#define THROW_BADALLOC throw(std::bad_alloc) -#define THROW throw() + #define THROW_BADALLOC throw(std::bad_alloc) + #define THROW throw() #else -#define THROW_BADALLOC -#define THROW + #define THROW_BADALLOC + #define THROW #endif #ifndef ERPC_TRANSPORT_MU_USE_MCMGR @@ -195,6 +195,30 @@ #define ERPC_PRE_POST_ACTION_DEFAULT (ERPC_PRE_POST_ACTION_DEFAULT_DISABLED) #endif +#if !defined(erpc_assert) + #if ERPC_HAS_FREERTOSCONFIG_H + #ifdef __cplusplus + extern "C" { + #endif + #include "FreeRTOS.h" + #include "task.h" + #ifdef __cplusplus + } + #endif + #define erpc_assert(condition) configASSERT(condition) + #elif defined(ERPC_THREADS) && (ERPC_THREADS == ERPC_THREADS_MBED) + #include "platform/mbed_assert.h" + #define erpc_assert(condition) MBED_ASSERT(condition) + #else + #ifdef __cplusplus + #include + #else + #include "assert.h" + #endif + #define erpc_assert(condition) assert(condition) + #endif +#endif + /* clang-format on */ #endif // _ERPC_DETECT_H_ //////////////////////////////////////////////////////////////////////////////// diff --git a/erpc_c/port/erpc_setup_extensions_freertos.cpp b/erpc_c/port/erpc_setup_extensions_freertos.cpp index 2f16024a2..b93e4a29e 100644 --- a/erpc_c/port/erpc_setup_extensions_freertos.cpp +++ b/erpc_c/port/erpc_setup_extensions_freertos.cpp @@ -11,8 +11,6 @@ #include "erpc_setup_extensions.h" #include "erpc_threading.h" -#include - using namespace erpc; static Semaphore *s_erpc_call_in_progress = NULL; @@ -25,10 +23,10 @@ ERPC_MANUALLY_CONSTRUCTED_STATIC(Semaphore, s_semaphore); void erpc::erpc_pre_cb_default(void) { - assert(s_erpc_call_in_progress && + erpc_assert(s_erpc_call_in_progress && "If you want use default pre cb action, do not forget call erpc_init_call_progress_detection_default."); (void)s_erpc_call_in_progress->get(s_erpc_call_in_progress->kWaitForever); - assert(s_erpc_call_timer_cb && + erpc_assert(s_erpc_call_timer_cb && "If you want use default pre cb action, do not forget call erpc_init_call_progress_detection_default."); xTimerStart(s_erpc_call_timer_cb, 0); } @@ -42,7 +40,7 @@ void erpc::erpc_post_cb_default(void) static void erpc_call_timer_cb_default(TimerHandle_t xTimer) { (void)xTimer; - assert(1 && "eRPC task freezed."); + erpc_assert(1 && "eRPC task freezed."); } void erpc_init_call_progress_detection_default( @@ -56,7 +54,7 @@ void erpc_init_call_progress_detection_default( s_semaphore.construct(semaphoreCount); s_erpc_call_in_progress = s_semaphore.get(); #endif - assert(s_erpc_call_in_progress && "Creating eRPC semaphore failed."); + erpc_assert(s_erpc_call_in_progress && "Creating eRPC semaphore failed."); #if ERPC_ALLOCATION_POLICY == ERPC_ALLOCATION_POLICY_STATIC s_erpc_call_timer_cb = xTimerCreateStatic("Erpc client call timer", waitTimeMs / portTICK_PERIOD_MS, pdFALSE, NULL, @@ -65,7 +63,7 @@ void erpc_init_call_progress_detection_default( s_erpc_call_timer_cb = xTimerCreate("Erpc client call timer", waitTimeMs / portTICK_PERIOD_MS, pdFALSE, NULL, erpc_call_timer_cb); #endif - assert(s_erpc_call_timer_cb && "Creating eRPC timer failed."); + erpc_assert(s_erpc_call_timer_cb && "Creating eRPC timer failed."); } void erpc_deinit_call_progress_detection_default(void) @@ -87,7 +85,7 @@ void erpc_deinit_call_progress_detection_default(void) bool erpc_is_call_in_progress_default(void) { - assert(s_erpc_call_in_progress && + erpc_assert(s_erpc_call_in_progress && "If you want use default pre cb action, do not forget call erpc_init_call_progress_detection_default."); if (s_erpc_call_in_progress->get(0)) { @@ -100,12 +98,12 @@ bool erpc_is_call_in_progress_default(void) void erpc_reset_in_progress_state_default(void) { - assert(s_erpc_call_in_progress && + erpc_assert(s_erpc_call_in_progress && "If you want use default pre cb action, do not forget call erpc_init_call_progress_detection_default."); s_erpc_call_in_progress->get(0); s_erpc_call_in_progress->put(); - assert(s_erpc_call_timer_cb && + erpc_assert(s_erpc_call_timer_cb && "If you want use default pre cb action, do not forget call erpc_init_call_progress_detection_default."); (void)xTimerStop(s_erpc_call_timer_cb, 0); } diff --git a/erpc_c/port/erpc_threading_freertos.cpp b/erpc_c/port/erpc_threading_freertos.cpp index 7a027aa19..42affe272 100644 --- a/erpc_c/port/erpc_threading_freertos.cpp +++ b/erpc_c/port/erpc_threading_freertos.cpp @@ -10,7 +10,6 @@ #include "erpc_threading.h" -#include #include #if ERPC_THREADS_IS(FREERTOS) @@ -150,7 +149,7 @@ void Thread::threadEntryPoint(void) void Thread::threadEntryPointStub(void *arg) { Thread *_this = reinterpret_cast(arg); - assert(_this && "Reinterpreting 'void *arg' to 'Thread *' failed."); + erpc_assert(_this && "Reinterpreting 'void *arg' to 'Thread *' failed."); _this->threadEntryPoint(); // Remove this thread from the linked list. diff --git a/erpc_c/port/erpc_threading_mbed.cpp b/erpc_c/port/erpc_threading_mbed.cpp index d95eed4cc..c93832183 100644 --- a/erpc_c/port/erpc_threading_mbed.cpp +++ b/erpc_c/port/erpc_threading_mbed.cpp @@ -13,7 +13,6 @@ #include "erpc_threading.h" #include "platform/CriticalSectionLock.h" -#include "platform/mbed_assert.h" #if ERPC_THREADS_IS(MBED) @@ -135,7 +134,7 @@ void Thread::threadEntryPoint(void) void Thread::threadEntryPointStub(void *arg) { Thread *_this = reinterpret_cast(arg); - MBED_ASSERT(_this); // Reinterpreting 'void *arg' to 'Thread *' failed. + erpc_assert(_this); // Reinterpreting 'void *arg' to 'Thread *' failed. _this->threadEntryPoint(); // Remove this thread from the linked list. diff --git a/erpc_c/port/erpc_threading_threadx.cpp b/erpc_c/port/erpc_threading_threadx.cpp index 49d57ff59..d36c0ac93 100644 --- a/erpc_c/port/erpc_threading_threadx.cpp +++ b/erpc_c/port/erpc_threading_threadx.cpp @@ -10,7 +10,6 @@ #include "erpc_threading.h" -#include #include #if ERPC_THREADS_IS(THREADX) @@ -171,7 +170,7 @@ void Thread::threadEntryPoint(void) void Thread::threadEntryPointStub(ULONG arg) { Thread *_this = reinterpret_cast(arg); - assert(_this && "Reinterpreting 'void *arg' to 'Thread *' failed."); + erpc_assert(_this && "Reinterpreting 'void *arg' to 'Thread *' failed."); _this->threadEntryPoint(); // Remove this thread from the linked list. diff --git a/erpc_c/port/erpc_threading_zephyr.cpp b/erpc_c/port/erpc_threading_zephyr.cpp index 03cda1df9..4c475165a 100644 --- a/erpc_c/port/erpc_threading_zephyr.cpp +++ b/erpc_c/port/erpc_threading_zephyr.cpp @@ -9,8 +9,6 @@ #include "erpc_threading.h" -#include - #if ERPC_THREADS_IS(ZEPHYR) using namespace erpc; @@ -56,7 +54,7 @@ void Thread::start(void *arg) { m_arg = arg; - assert(m_stack && "Set stack address"); + erpc_assert(m_stack && "Set stack address"); k_thread_create(&m_thread, m_stack, m_stackSize, threadEntryPointStub, this, NULL, NULL, m_priority, 0, K_NO_WAIT); } @@ -86,7 +84,7 @@ void Thread::threadEntryPoint(void) void *Thread::threadEntryPointStub(void *arg1, void *arg2, void *arg3) { Thread *_this = reinterpret_cast(arg1); - assert(_this && "Reinterpreting 'void *arg1' to 'Thread *' failed."); + erpc_assert(_this && "Reinterpreting 'void *arg1' to 'Thread *' failed."); k_thread_custom_data_set(arg1); _this->threadEntryPoint(); diff --git a/erpc_c/setup/erpc_arbitrated_client_setup.cpp b/erpc_c/setup/erpc_arbitrated_client_setup.cpp index 6df4a8300..c3c962448 100644 --- a/erpc_c/setup/erpc_arbitrated_client_setup.cpp +++ b/erpc_c/setup/erpc_arbitrated_client_setup.cpp @@ -18,7 +18,6 @@ #if ERPC_NESTED_CALLS #include "erpc_threading.h" #endif -#include #if ERPC_THREADS_IS(NONE) #error "Arbitrator code does not work in no-threading configuration." @@ -46,7 +45,7 @@ ERPC_MANUALLY_CONSTRUCTED(Crc16, s_crc16); erpc_transport_t erpc_arbitrated_client_init(erpc_transport_t transport, erpc_mbf_t message_buffer_factory) { - assert(transport); + erpc_assert(transport); Transport *castedTransport; @@ -126,14 +125,14 @@ bool erpc_arbitrated_client_add_message_logger(erpc_transport_t transport) #if ERPC_PRE_POST_ACTION void erpc_arbitrated_client_add_pre_cb_action(pre_post_action_cb preCB) { - assert(g_client); + erpc_assert(g_client); g_client->addPreCB(preCB); } void erpc_arbitrated_client_add_post_cb_action(pre_post_action_cb postCB) { - assert(g_client); + erpc_assert(g_client); g_client->addPostCB(postCB); } diff --git a/erpc_c/setup/erpc_client_setup.cpp b/erpc_c/setup/erpc_client_setup.cpp index e653bf4f0..4dd5e5f12 100644 --- a/erpc_c/setup/erpc_client_setup.cpp +++ b/erpc_c/setup/erpc_client_setup.cpp @@ -9,7 +9,6 @@ */ #include "erpc_client_setup.h" - #include "erpc_basic_codec.h" #include "erpc_client_manager.h" #include "erpc_crc16.h" @@ -17,7 +16,6 @@ #include "erpc_message_buffer.h" #include "erpc_transport.h" -#include #if ERPC_NESTED_CALLS #include "erpc_threading.h" #endif @@ -41,7 +39,7 @@ ERPC_MANUALLY_CONSTRUCTED(Crc16, s_crc16); void erpc_client_init(erpc_transport_t transport, erpc_mbf_t message_buffer_factory) { - assert(transport); + erpc_assert(transport); Transport *castedTransport; @@ -111,14 +109,14 @@ bool erpc_client_add_message_logger(erpc_transport_t transport) #if ERPC_PRE_POST_ACTION void erpc_client_add_pre_cb_action(pre_post_action_cb preCB) { - assert(g_client); + erpc_assert(g_client); g_client->addPreCB(preCB); } void erpc_client_add_post_cb_action(pre_post_action_cb postCB) { - assert(g_client); + erpc_assert(g_client); g_client->addPostCB(postCB); } diff --git a/erpc_c/setup/erpc_server_setup.cpp b/erpc_c/setup/erpc_server_setup.cpp index 3288a1f73..ee161d3cf 100644 --- a/erpc_c/setup/erpc_server_setup.cpp +++ b/erpc_c/setup/erpc_server_setup.cpp @@ -9,7 +9,6 @@ */ #include "erpc_server_setup.h" - #include "erpc_basic_codec.h" #include "erpc_crc16.h" #include "erpc_manually_constructed.h" @@ -17,8 +16,6 @@ #include "erpc_simple_server.h" #include "erpc_transport.h" -#include - using namespace erpc; //////////////////////////////////////////////////////////////////////////////// @@ -38,7 +35,7 @@ ERPC_MANUALLY_CONSTRUCTED(Crc16, s_crc16); erpc_server_t erpc_server_init(erpc_transport_t transport, erpc_mbf_t message_buffer_factory) { - assert(transport); + erpc_assert(transport); Transport *castedTransport; @@ -147,14 +144,14 @@ bool erpc_server_add_message_logger(erpc_transport_t transport) #if ERPC_PRE_POST_ACTION void erpc_client_add_pre_cb_action(pre_post_action_cb preCB) { - assert(g_server); + erpc_assert(g_server); g_server->addPreCB(preCB); } void erpc_client_add_post_cb_action(pre_post_action_cb postCB) { - assert(g_server); + erpc_assert(g_server); g_server->addPostCB(postCB); } diff --git a/erpc_c/setup/erpc_setup_mbf_dynamic.cpp b/erpc_c/setup/erpc_setup_mbf_dynamic.cpp index e0e0ab69e..0fbfe9b44 100644 --- a/erpc_c/setup/erpc_setup_mbf_dynamic.cpp +++ b/erpc_c/setup/erpc_setup_mbf_dynamic.cpp @@ -12,7 +12,6 @@ #include "erpc_mbf_setup.h" #include "erpc_message_buffer.h" -#include #include using namespace std; @@ -36,7 +35,7 @@ class DynamicMessageBufferFactory : public MessageBufferFactory virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); if (buf->get() != NULL) { delete[] buf->get(); diff --git a/erpc_c/setup/erpc_setup_mbf_rpmsg.cpp b/erpc_c/setup/erpc_setup_mbf_rpmsg.cpp index de769061e..e7bc453ae 100644 --- a/erpc_c/setup/erpc_setup_mbf_rpmsg.cpp +++ b/erpc_c/setup/erpc_setup_mbf_rpmsg.cpp @@ -16,8 +16,6 @@ #include "rpmsg_lite.h" -#include - using namespace erpc; //////////////////////////////////////////////////////////////////////////////// @@ -53,7 +51,7 @@ class RPMsgMessageBufferFactory : public MessageBufferFactory uint32_t size = 0; buf = rpmsg_lite_alloc_tx_buffer(m_rpmsg, &size, RL_BLOCK); - assert(NULL != buf); + erpc_assert(NULL != buf); return MessageBuffer((uint8_t *)buf, size); } @@ -64,7 +62,7 @@ class RPMsgMessageBufferFactory : public MessageBufferFactory */ virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); void *tmp = (void *)buf->get(); if (tmp != NULL) { diff --git a/erpc_c/setup/erpc_setup_mbf_rpmsg_tty.cpp b/erpc_c/setup/erpc_setup_mbf_rpmsg_tty.cpp index 25daebb5f..9dd716e6e 100644 --- a/erpc_c/setup/erpc_setup_mbf_rpmsg_tty.cpp +++ b/erpc_c/setup/erpc_setup_mbf_rpmsg_tty.cpp @@ -17,8 +17,6 @@ #include "rpmsg_lite.h" -#include - using namespace erpc; #define TIMEOUT_MS 10 @@ -56,7 +54,7 @@ class RPMsgTTYMessageBufferFactory : public MessageBufferFactory uint32_t size = 0; buf = rpmsg_lite_alloc_tx_buffer(m_rpmsg, &size, TIMEOUT_MS); - assert(NULL != buf); + erpc_assert(NULL != buf); return MessageBuffer(&((uint8_t *)buf)[sizeof(FramedTransport::Header)], size - sizeof(FramedTransport::Header)); } @@ -68,7 +66,7 @@ class RPMsgTTYMessageBufferFactory : public MessageBufferFactory */ virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); void *tmp = (void *)buf->get(); if (tmp != NULL) { diff --git a/erpc_c/setup/erpc_setup_mbf_static.cpp b/erpc_c/setup/erpc_setup_mbf_static.cpp index 34997f0b9..2b66dc863 100644 --- a/erpc_c/setup/erpc_setup_mbf_static.cpp +++ b/erpc_c/setup/erpc_setup_mbf_static.cpp @@ -13,7 +13,6 @@ #include "erpc_mbf_setup.h" #include "erpc_message_buffer.h" -#include #include #if !ERPC_THREADS_IS(NONE) @@ -67,7 +66,7 @@ class StaticMessageBufferFactory : public MessageBufferFactory idx++; } - assert(idx < ERPC_DEFAULT_BUFFERS_COUNT); + erpc_assert(idx < ERPC_DEFAULT_BUFFERS_COUNT); m_freeBufferBitmap[idx >> 3U] &= ~(1U << (idx & 0x7U)); #if !ERPC_THREADS_IS(NONE) @@ -77,7 +76,7 @@ class StaticMessageBufferFactory : public MessageBufferFactory uint8_t *buf; buf = (uint8_t *)m_buffers[idx]; - assert(NULL != buf); + erpc_assert(NULL != buf); return MessageBuffer(buf, ERPC_DEFAULT_BUFFER_SIZE); } @@ -88,7 +87,7 @@ class StaticMessageBufferFactory : public MessageBufferFactory */ virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); uint8_t *tmp = buf->get(); if (tmp != NULL) { diff --git a/erpc_c/transports/erpc_inter_thread_buffer_transport.cpp b/erpc_c/transports/erpc_inter_thread_buffer_transport.cpp index 8ccd14aae..2ee346676 100644 --- a/erpc_c/transports/erpc_inter_thread_buffer_transport.cpp +++ b/erpc_c/transports/erpc_inter_thread_buffer_transport.cpp @@ -10,8 +10,6 @@ #include "erpc_inter_thread_buffer_transport.h" -#include - using namespace erpc; //////////////////////////////////////////////////////////////////////////////// @@ -41,13 +39,13 @@ void InterThreadBufferTransport::linkWithPeer(InterThreadBufferTransport *peer) erpc_status_t InterThreadBufferTransport::receive(MessageBuffer *message) { - assert(m_state && m_peer); + erpc_assert(m_state && m_peer); m_inSem.get(); m_state->m_mutex.lock(); - assert(m_inBuffer); + erpc_assert(m_inBuffer); message->copy(m_inBuffer); m_inBuffer = NULL; @@ -60,13 +58,13 @@ erpc_status_t InterThreadBufferTransport::receive(MessageBuffer *message) erpc_status_t InterThreadBufferTransport::send(MessageBuffer *message) { - assert(m_state && m_peer); + erpc_assert(m_state && m_peer); m_peer->m_outSem.get(); m_state->m_mutex.lock(); - assert(m_peer->m_inBuffer == NULL); + erpc_assert(m_peer->m_inBuffer == NULL); m_peer->m_inBuffer = const_cast(message); m_peer->m_inSem.put(); diff --git a/erpc_c/transports/erpc_rpmsg_linux_transport.cpp b/erpc_c/transports/erpc_rpmsg_linux_transport.cpp index de4d41ec9..7750f135a 100644 --- a/erpc_c/transports/erpc_rpmsg_linux_transport.cpp +++ b/erpc_c/transports/erpc_rpmsg_linux_transport.cpp @@ -9,7 +9,6 @@ #include "erpc_rpmsg_linux_transport.h" -#include #include using namespace erpc; @@ -29,7 +28,7 @@ RPMsgLinuxTransport::~RPMsgLinuxTransport(void) {} erpc_status_t RPMsgLinuxTransport::init(void) { - assert(m_endPoint != NULL); + erpc_assert(m_endPoint != NULL); return (m_endPoint->init()) ? kErpcStatus_Fail : kErpcStatus_Success; } diff --git a/erpc_c/transports/erpc_rpmsg_lite_rtos_transport.cpp b/erpc_c/transports/erpc_rpmsg_lite_rtos_transport.cpp old mode 100755 new mode 100644 index 290ed01e6..0e02311c4 --- a/erpc_c/transports/erpc_rpmsg_lite_rtos_transport.cpp +++ b/erpc_c/transports/erpc_rpmsg_lite_rtos_transport.cpp @@ -9,13 +9,10 @@ */ #include "erpc_rpmsg_lite_rtos_transport.h" - #include "erpc_config_internal.h" #include "rpmsg_ns.h" -#include - using namespace erpc; //////////////////////////////////////////////////////////////////////////////// @@ -249,7 +246,7 @@ erpc_status_t RPMsgRTOSTransport::receive(MessageBuffer *message) int32_t ret_val; ret_val = rpmsg_queue_recv_nocopy(s_rpmsg, m_rpmsg_queue, &m_dst_addr, &buf, &length, RL_BLOCK); - assert(buf); + erpc_assert(buf); message->set((uint8_t *)buf, length); message->setUsed(length); diff --git a/erpc_c/transports/erpc_rpmsg_tty_rtos_transport.cpp b/erpc_c/transports/erpc_rpmsg_tty_rtos_transport.cpp old mode 100755 new mode 100644 index 32bdf099f..baadaceac --- a/erpc_c/transports/erpc_rpmsg_tty_rtos_transport.cpp +++ b/erpc_c/transports/erpc_rpmsg_tty_rtos_transport.cpp @@ -9,14 +9,11 @@ */ #include "erpc_rpmsg_tty_rtos_transport.h" - #include "erpc_config_internal.h" #include "erpc_framed_transport.h" #include "rpmsg_ns.h" -#include - using namespace erpc; using namespace std; @@ -74,7 +71,7 @@ RPMsgTTYRTOSTransport::~RPMsgTTYRTOSTransport(void) void RPMsgTTYRTOSTransport::setCrc16(Crc16 *crcImpl) { - assert(crcImpl); + erpc_assert(crcImpl); m_crcImpl = crcImpl; } @@ -258,8 +255,8 @@ erpc_status_t RPMsgTTYRTOSTransport::receive(MessageBuffer *message) int32_t ret_val = rpmsg_queue_recv_nocopy(s_rpmsg, m_rpmsg_queue, &m_dst_addr, &buf, &length, RL_BLOCK); uint16_t computedCrc; - assert(m_crcImpl && "Uninitialized Crc16 object."); - assert(buf); + erpc_assert(m_crcImpl && "Uninitialized Crc16 object."); + erpc_assert(buf); if (ret_val == RL_SUCCESS) { @@ -294,7 +291,7 @@ erpc_status_t RPMsgTTYRTOSTransport::send(MessageBuffer *message) uint32_t used = message->getUsed(); int32_t ret_val; - assert(m_crcImpl && "Uninitialized Crc16 object."); + erpc_assert(m_crcImpl && "Uninitialized Crc16 object."); message->set(NULL, 0); h.m_crc = m_crcImpl->computeCRC16(buf, used); diff --git a/erpcsniffer/src/erpc_config.h b/erpcsniffer/src/erpc_config.h index 4408628fc..f1a68c01a 100644 --- a/erpcsniffer/src/erpc_config.h +++ b/erpcsniffer/src/erpc_config.h @@ -174,6 +174,12 @@ //! Uncomment for using pre post default callback feature. //#define ERPC_PRE_POST_ACTION_DEFAULT (ERPC_PRE_POST_ACTION_DEFAULT_ENABLED) +//! @name Assert function definition +//@{ +//! User custom asser defition. Include header file if needed before bellow line. If assert is not enabled, default will be used. +// #define erpc_assert(condition) +//@} + /*! @} */ #endif // _ERPC_CONFIG_H_ //////////////////////////////////////////////////////////////////////////////// diff --git a/test/common/config/erpc_config.h b/test/common/config/erpc_config.h index 97d5cb9d2..4d35278c8 100644 --- a/test/common/config/erpc_config.h +++ b/test/common/config/erpc_config.h @@ -180,6 +180,12 @@ //! Uncomment for using pre post default callback feature. //#define ERPC_PRE_POST_ACTION_DEFAULT (ERPC_PRE_POST_ACTION_DEFAULT_ENABLED) +//! @name Assert function definition +//@{ +//! User custom asser defition. Include header file if needed before bellow line. If assert is not enabled, default will be used. +// #define erpc_assert(condition) +//@} + /*! @} */ #endif // _ERPC_CONFIG_H_ //////////////////////////////////////////////////////////////////////////////// diff --git a/test/common/unit_test_serial_client.cpp b/test/common/unit_test_serial_client.cpp index 890a4185a..5db37c937 100644 --- a/test/common/unit_test_serial_client.cpp +++ b/test/common/unit_test_serial_client.cpp @@ -29,7 +29,7 @@ class MyMessageBufferFactory : public MessageBufferFactory virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); if (*buf) { delete[] buf->get(); diff --git a/test/common/unit_test_serial_server.cpp b/test/common/unit_test_serial_server.cpp index 5892b16dd..56557c4f5 100644 --- a/test/common/unit_test_serial_server.cpp +++ b/test/common/unit_test_serial_server.cpp @@ -30,7 +30,7 @@ class MyMessageBufferFactory : public MessageBufferFactory virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); if (*buf) { delete[] buf->get(); diff --git a/test/common/unit_test_tcp_arbitrator_client.cpp b/test/common/unit_test_tcp_arbitrator_client.cpp index 36bc9ed14..9fdc62376 100644 --- a/test/common/unit_test_tcp_arbitrator_client.cpp +++ b/test/common/unit_test_tcp_arbitrator_client.cpp @@ -33,7 +33,7 @@ class MyMessageBufferFactory : public MessageBufferFactory virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); if (*buf) { delete[] buf->get(); diff --git a/test/common/unit_test_tcp_arbitrator_server.cpp b/test/common/unit_test_tcp_arbitrator_server.cpp index 7295117ce..9502d3747 100644 --- a/test/common/unit_test_tcp_arbitrator_server.cpp +++ b/test/common/unit_test_tcp_arbitrator_server.cpp @@ -33,7 +33,7 @@ class MyMessageBufferFactory : public MessageBufferFactory virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); if (*buf) { delete[] buf->get(); diff --git a/test/common/unit_test_tcp_client.cpp b/test/common/unit_test_tcp_client.cpp index 1d4db5ca5..ad4025c8f 100644 --- a/test/common/unit_test_tcp_client.cpp +++ b/test/common/unit_test_tcp_client.cpp @@ -29,7 +29,7 @@ class MyMessageBufferFactory : public MessageBufferFactory virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); if (*buf) { delete[] buf->get(); diff --git a/test/common/unit_test_tcp_server.cpp b/test/common/unit_test_tcp_server.cpp index e79557cc3..c4180cbee 100644 --- a/test/common/unit_test_tcp_server.cpp +++ b/test/common/unit_test_tcp_server.cpp @@ -28,7 +28,7 @@ class MyMessageBufferFactory : public MessageBufferFactory virtual void dispose(MessageBuffer *buf) { - assert(buf); + erpc_assert(buf); if (*buf) { delete[] buf->get(); diff --git a/test/test_arbitrator/config/erpc_config.h b/test/test_arbitrator/config/erpc_config.h index abac75886..42bced91c 100644 --- a/test/test_arbitrator/config/erpc_config.h +++ b/test/test_arbitrator/config/erpc_config.h @@ -179,6 +179,12 @@ //! Uncomment for using pre post default callback feature. //#define ERPC_PRE_POST_ACTION_DEFAULT (ERPC_PRE_POST_ACTION_DEFAULT_ENABLED) +//! @name Assert function definition +//@{ +//! User custom asser defition. Include header file if needed before bellow line. If assert is not enabled, default will be used. +// #define erpc_assert(condition) +//@} + /*! @} */ #endif // _ERPC_CONFIG_H_ ////////////////////////////////////////////////////////////////////////////////