Skip to content

Conversation

@farrenv
Copy link

@farrenv farrenv commented Mar 12, 2021

No description provided.

cringti and others added 30 commits April 15, 2019 13:46
Removes whitespace from the C common header template.  This whitespace
separates the template's doxygen-style comment and the user's
(optional) trailing interface comment.

This helps remove undesirable trailing whitespace for the (many) users
that don't use trailing interface comments.

Signed-off-by: Chris Ring <cring@ti.com>
Add deinit function for rpmsg tty transport.
-- improved the test_callbacks logic to be more understandable and to allow requested callback execution on the server side
-- transportArbitrator::prepareClientReceive modified to avoid incorrect return value type
-- the ClientManager and the ArbitratedClientManager updated to avoid performing client requests when the previous serialization phase fails
-- generate the shim code for destroy of statically allocated services
-- documentation update for v1.7.3
…n value.

Enriched test_callbacks demo with some new callbacks.
Remove whitespace from C common header template
…ther port layer files naming

Signed-off-by: Michal Princ (nxa17570) <michal.princ@nxp.com>
<body>:
Insert a judge of parameter.direction

Issue EmbeddedRPC#98
When generating the symbol names, don't use the '$' character in the
suffix string; this is not a valid Python identifier. The symbol name
is used when generating the Python class name; this name is not used
when generating the C code.
-- Unit test code updated to handle service add and remove operations
-- Several MISRA issues in rpmsg-based transports addressed
-- Support MU transport unit testing
-- Fixed Linux/TCP acceptance tests in release target
-- Minor documentation updates, code formatting
Remove '$' character from generated symbol name in '_$union' suffix
When multiple callbacks are defined, callbacks are stored in
an array on both the client and server. When a callback is
registered, only the index of the callback in this array is
sent over the transport. In C++, the array index is encoded as
a uint8, where as in Python it is encoded as a uint32. So, a
Python client will not be aligned with a C++ server, leading
to wrong information being decoded by the server. This fix
aligns both to be a uint8 type for the callback index.
Mismatch between C++ and Python for callback index type
<body>:
1. Move aliases into group. Incase of type struct/union when import other IDL file.
2. Delete spare Union definition.
3. Fix discriminator bug: when the discriminator is named by other parameter.
4. Value the union data in __init__, delete the data argument
5. Match test_length/name/union.yml
<body>:
- Because of path problem, py.test in `./erpcgen` folder cannot pass the `test/test_redundant_definitions.yml` case. And the case gets passed while in `./erpcgen/test`.
<body>:
- Because of path problem, py.test in `./erpcgen` folder cannot pass the `test/test_redundant_definitions.yml` case. And the case gets passed while in `./erpcgen/test`.
- My py.test is 6.0.0, and cannot work. Then I used 5.0.0, it works. I add this in readme.md.
…update

<feat>: Some error in erpcgen/test/readme.md
…free-support-for-mbed

Add mbed support for malloc() and free()
Fix Python codec template bugs related to unions. Both encoder
and decoder were emitting a literal 'discriminator' instead
of de-referencing this data structure member for the actual
discriminator symbol name. In class method template, use object
scope instead of global scope to invoke the write() method of
a non-encapsulated union member.
Fix Python template bugs on union discriminator and reference
MichalPrincNXP and others added 20 commits October 5, 2020 15:11
Paranoid compiler flags -Wall -Wextra -Wshadow -pedantic-errors
…ious local

erpc_simple_server.cpp: In member function ‘virtual erpc_status_t erpc::SimpleServer::run(erpc::RequestContext&)’:
erpc_simple_server.cpp:181:23: error: declaration of ‘err’ shadows a previous local [-Werror=shadow]
         erpc_status_t err = runInternalBegin(&codec, buff, msgType, serviceId, methodId, sequence);
                       ^~~
erpc_simple_server.cpp:169:19: note: shadowed declaration is here
     erpc_status_t err = kErpcStatus_Success;
                   ^~~
add ustring builtin type (unsigned char*)
paranoid-2: Allow to compile code with paranoid compiler flags -Wall -Wextra -Wshadow -Werror -pedantic-errors
-- Code style of document was confusing.
-- Added link to documentation for current version.
…length

This was spotted on a SAML21 controller:
#0  usart_sync_read (io_descr=0x200006dc <USART_0>, buf=0x20000378 <s_msgFactory+8> , length=0) at ../hal/src/hal_usart_sync.c:271
#1  0x000001e0 in io_read (io_descr=0x200006dc <USART_0>, buf=0x20000378 <s_msgFactory+8> , length=0) at ../hal/src/hal_io.c:62
#2  0x0000e3da in erpc::UsartSyncTransport::underlyingReceive (this=0x20000578 <s_transport>, data=0x20000378 <s_msgFactory+8> , size=0) at ../erpc_usart_sync_transport.cpp:29
#3  0x0000dd96 in erpc::FramedTransport::receive (this=0x20000578 <s_transport>, message=0x200026c4) at ../erpc_framed_transport.cpp:63
EmbeddedRPC#4  0x0000d7da in erpc::SimpleServer::runInternalBegin (this=0x20000340 <s_server>, codec=0x200026c0, buff=..., msgType=@0x200026bf: 32, serviceId=@0x200026b8: 536880832, methodId=@0x200026b4: 536871784, sequence=@0x200026b0: 536871784) at ../erpc_simple_server.cpp:64
EmbeddedRPC#5  0x0000d72a in erpc::SimpleServer::runInternal (this=0x20000340 <s_server>) at ../erpc_simple_server.cpp:42
EmbeddedRPC#6  0x0000d99e in erpc::SimpleServer::poll (this=0x20000340 <s_server>) at ../erpc_simple_server.cpp:223
EmbeddedRPC#7  0x0000d44e in erpc_server_poll () at ../erpc_server_setup.cpp:97
EmbeddedRPC#8  0x00006fa4 in main () at ../main.c:72

The UART need to be restarted to recover from a such error, for ex.:
    if (erpc_server_poll()) {
        usart_sync_disable(&USART_0);
        usart_sync_enable(&USART_0);
    }
AllowShortFunctionsOnASingleLine was twice.
erpc_framed_transport.cpp: return error if received message has zero length
-- Update makefile.
-- Update CMSIS UART transport layer to avoid busy loops in rtos environments, introduce semaphores.
-- Introduced new USB CDC transport.
-- Introduced new Linux spidev-based transport.
-- Native _WIN32 erpc serial transport and threading.
-- Enable deallocation in server shim code when callback/function pointer used as out parameter in IDL.
-- Core re-formatted using Clang version 10.
-- erpcgen testing update.
-- Minor documentation updates.
-- Version changed to 1.8.0.
-- Update/correct erpc README.md.
-- Several MISRA C-2012 violations addressed.
-- Add missing GPIO-less support into the erpc DSPI transport layer to be aligned with the SPI transport.
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi eRPC user. Thank you for your PR. We are appreciating that and we will try to review it as soon as possible. We hope you are enjoying this framework so far.

@trowbridgec
Copy link

@farrenv Does this PR basically just pull in the latest updates from the upstream repo?

@farrenv
Copy link
Author

farrenv commented Mar 12, 2021

as far as i know. I had to delete a few files that were preventing compilation, that were not present in the previous version. My project runs in this state.

@trowbridgec
Copy link

It looks like mbed support was merged into the upstream repo (EmbeddedRPC#92), so you might be able to just use that in your project instead of us maintaining our own copy?

@trowbridgec
Copy link

trowbridgec commented Mar 12, 2021

You can use the 1.8.0 tag in your project and should get the same functionality.

@farrenv
Copy link
Author

farrenv commented Mar 12, 2021

My project didn't compile without my deletions. How to manage that?

@trowbridgec
Copy link

Try adding entries to your project's .mbedignore file in lieu of deleting the files that are causing issues.

@farrenv
Copy link
Author

farrenv commented Mar 12, 2021

then the mbedignore becomes a dependency

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.