Document that the platform configuration and callbacks can be discarded after initialization
`nmbs_client_create` accepts a `const nmbs_platform_conf* platform_conf` with configuration. Without reading the source code, it is not clear whether or not the object pointed to by `platform_conf` can be declared on the stack, or if it needs to be kept alive for the duration of the program (as would be the case if the implementation simply kept a pointer to the configuration instead of copying it by value). This PR adds an assurance that it is OK to discard the platform configuration after calling `nmbs_client_create`. Same idea for `nmbs_server_create`.
This commit is contained in:
parent
6a3086c0f5
commit
3a1170b925
@ -185,6 +185,7 @@ static const uint8_t NMBS_BROADCAST_ADDRESS = 0;
|
|||||||
|
|
||||||
#ifndef NMBS_CLIENT_DISABLED
|
#ifndef NMBS_CLIENT_DISABLED
|
||||||
/** Create a new Modbus client.
|
/** Create a new Modbus client.
|
||||||
|
* The platform configuration struct is copied by value and may be discarded afterwards.
|
||||||
* @param nmbs pointer to the nmbs_t instance where the client will be created.
|
* @param nmbs pointer to the nmbs_t instance where the client will be created.
|
||||||
* @param platform_conf nmbs_platform_conf struct with platform configuration.
|
* @param platform_conf nmbs_platform_conf struct with platform configuration.
|
||||||
*
|
*
|
||||||
@ -195,6 +196,7 @@ nmbs_error nmbs_client_create(nmbs_t* nmbs, const nmbs_platform_conf* platform_c
|
|||||||
|
|
||||||
#ifndef NMBS_SERVER_DISABLED
|
#ifndef NMBS_SERVER_DISABLED
|
||||||
/** Create a new Modbus server.
|
/** Create a new Modbus server.
|
||||||
|
* The platform configuration and callback structs are copied by value and may be discarded afterwards.
|
||||||
* @param nmbs pointer to the nmbs_t instance where the client will be created.
|
* @param nmbs pointer to the nmbs_t instance where the client will be created.
|
||||||
* @param address_rtu RTU address of this server. Can be 0 if transport is not RTU.
|
* @param address_rtu RTU address of this server. Can be 0 if transport is not RTU.
|
||||||
* @param platform_conf nmbs_platform_conf struct with platform configuration.
|
* @param platform_conf nmbs_platform_conf struct with platform configuration.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user