RTI Connext Micro C API
Version 2.4.14.1
|
AutoSAR System properties. More...
Data Fields | |
uint32 | timer_resolution_ms |
Timer resolution in ms. Frequency at which the timer task is executed. | |
uint32 | number_of_heap_areas |
Heap used by RTI Connext Micro can span across a number of different areas. This field indicates the number of areas in the heap memory. Minimum valid value is 1. | |
uint32 const * | heap_area_size |
Pointer to size of each heap area. As many elements as indicated in field 'number_of_heap_areas'. | |
char *const * | heap_area |
Pointer to heap areas. As many elements as indicated in field 'number_of_heap_areas'. | |
OSAPI_Autosar_SyncKind_T | sync_type |
Kind of synchronization used. | |
ResourceType | first_resource_id |
First resource id that RTI Connext Micro uses to synchronize the concurrent access to shared resources. This is only used in case Resources are configured as synchronization method. | |
ResourceType | last_resource_id |
Last resource id that RTI Connext Micro uses to synchronize the concurrent access to shared resources. This is only used in case Resources are configured as synchronization method. | |
uint16 | spinlock_id |
Spinlock id used in case sync_type is OSAPI_AUTOSAR_SYNCKIND_SPINLOCK. Type SpinlockIdType could be used for this field but some AutoSAR implementations don't include this type in case spinlock module is not added. To avoid ifdef we use uint16. | |
uint32 | semaphore_max_count |
The maximum number of semaphores. | |
EventMaskType | first_give_event |
First give event id used for semaphore implementation. | |
EventMaskType | first_timeout_event |
First timeout event id used for semaphore implementation. | |
AlarmType | first_alarm |
First alarm id used for semaphore implementation. | |
boolean | use_socket_owner |
TRUE if SocketOwner is configured in AutoSAR TcpIp module configuration. In that case RTI Connext Micro will use sockets to send and receive UDP packets. Otherwise a function pointer will be used to send packets. | |
uint8 | max_receive_sockets |
Maximum number of sockets that RTI Connext Micro can use to receive UDP packets. | |
uint8 | number_of_rcv_buffers |
Number of receive buffers of size specified in field 'rcv_buffer_size'. | |
uint32 | rcv_buffer_size |
Size of each receive buffer. | |
NETIO_Autosar_TcpIp_get_socket | get_socket |
Pointer to the function that can create a socket. | |
NETIO_Autosar_TcpIp_send_dyn_data | send_data |
Pointer to the function that can send data. | |
TcpIp_LocalAddrIdType | local_addr_id |
Local IP address. | |
boolean | use_udp_thread |
Set to TRUE to use a thread to receive data. | |
TaskType | udp_receive_task_id |
The UDP receive task id. | |
EventMaskType | udp_packet_received_event |
Event used to notify the UDP task that an incoming packet has been received. | |
uint32 | log_dst_address |
uint16 | log_dst_port |
AutoSAR System properties.
uint32 OSAPI_PortProperty::timer_resolution_ms |
Timer resolution in ms. Frequency at which the timer task is executed.
uint32 OSAPI_PortProperty::number_of_heap_areas |
Heap used by RTI Connext Micro can span across a number of different areas. This field indicates the number of areas in the heap memory. Minimum valid value is 1.
uint32 const* OSAPI_PortProperty::heap_area_size |
Pointer to size of each heap area. As many elements as indicated in field 'number_of_heap_areas'.
char* const* OSAPI_PortProperty::heap_area |
Pointer to heap areas. As many elements as indicated in field 'number_of_heap_areas'.
OSAPI_Autosar_SyncKind_T OSAPI_PortProperty::sync_type |
Kind of synchronization used.
ResourceType OSAPI_PortProperty::first_resource_id |
First resource id that RTI Connext Micro uses to synchronize the concurrent access to shared resources. This is only used in case Resources are configured as synchronization method.
ResourceType OSAPI_PortProperty::last_resource_id |
Last resource id that RTI Connext Micro uses to synchronize the concurrent access to shared resources. This is only used in case Resources are configured as synchronization method.
uint16 OSAPI_PortProperty::spinlock_id |
Spinlock id used in case sync_type is OSAPI_AUTOSAR_SYNCKIND_SPINLOCK. Type SpinlockIdType could be used for this field but some AutoSAR implementations don't include this type in case spinlock module is not added. To avoid ifdef we use uint16.
uint32 OSAPI_PortProperty::semaphore_max_count |
The maximum number of semaphores.
Maximum number of semaphores that can be created. As many give and timeout events and alarms as indicated by this field must be configured in Autosar. Give events shall have 'consecutive' event IDs, starting at first_give_event (e.g. 1, 2, 4). Timeout events shall have 'consecutive' event IDs starting at first_timeout_event (e.g. 8, 16, 32). Alarms shall have 'consecutive' IDs starting at first_alarm (e.g. 1, 2, 3).
A Waitset object needs two semaphores. In case Waitsets are not used this field can be set to 0.
Semaphore implementation uses two events and one alarm for each semaphore that is created. One event, the give event, is set in the semaphore give() method. The other event, the timeout event, is used to signal a timeout in the semaphore. The alarm must be configured to set the timeout event. The semaphore take() operation starts the alarm and waits for any of the events.
The alarm must be configured as 'RELATIVE' and to set the timeout event when it expires. The counter used to trigger the alarm must be configured with one tick per millisecond and in case this is not done properly the semaphore timeout will occur sooner or later than expected.
The semaphore take() method in the semaphore can be used only from one task.
In case semaphores are not needed it is possible to just set fields first_give_event, first_timeout_event, first_alarm and semaphore_max_count to 0.
EventMaskType OSAPI_PortProperty::first_give_event |
First give event id used for semaphore implementation.
EventMaskType OSAPI_PortProperty::first_timeout_event |
First timeout event id used for semaphore implementation.
AlarmType OSAPI_PortProperty::first_alarm |
First alarm id used for semaphore implementation.
boolean OSAPI_PortProperty::use_socket_owner |
TRUE if SocketOwner is configured in AutoSAR TcpIp module configuration. In that case RTI Connext Micro will use sockets to send and receive UDP packets. Otherwise a function pointer will be used to send packets.
If set to 'TRUE' fields 'number_of_socket' and 'get_socket' must be configured properly (can't be NULL_PTR).
If set to 'FALSE' field 'send_data' needs to be configured properly (can't be NULL_PTR).
uint8 OSAPI_PortProperty::max_receive_sockets |
Maximum number of sockets that RTI Connext Micro can use to receive UDP packets.
Maximum number of sockets that RTI Connext Micro can use to receive UDP packets. This number depends on the number of participants created and the UDP transport configuration.
If SocketOwner is used for each participant 2 sockets are normally needed to receive UDP packets: - Socket to receive unicast discovery data. - Socket to receive unicast user data.
If SocketOwner is not used sockets are not used but this field must have at least a value of 1.
uint8 OSAPI_PortProperty::number_of_rcv_buffers |
Number of receive buffers of size specified in field 'rcv_buffer_size'.
RTI Connext Micro can use internal socket buffers. This is normally needed in case the received callback indication is called in the context of an ISR. Number of receive buffers of size specified in field 'rcv_buffer_size'. This is only used when field 'use_udp_thread' is TRUE.
uint32 OSAPI_PortProperty::rcv_buffer_size |
Size of each receive buffer.
NETIO_Autosar_TcpIp_get_socket OSAPI_PortProperty::get_socket |
Pointer to the function that can create a socket.
Pointer to the function that can create a socket. This function is used to create sockets to send and receive UDP packets. This field is used only in case a SocketOwner is configured, field 'use_socket_owner' is set to TRUE. Otherwise this field can be NULL_PTR.
NETIO_Autosar_TcpIp_send_dyn_data OSAPI_PortProperty::send_data |
Pointer to the function that can send data.
Pointer to the function that can send data. This field is used only in case a SocketOwner is not configured, when field 'use_socket_owner' is FALSE. Otherwise this field can be NULL_PTR.
TcpIp_LocalAddrIdType OSAPI_PortProperty::local_addr_id |
Local IP address.
IP address identifier representing the local IP address and EthIf controller to bind the socket to.
boolean OSAPI_PortProperty::use_udp_thread |
Set to TRUE to use a thread to receive data.
Set to TRUE to use a thread to receive data. If this field is set to FALSE, the incoming UDP packets will be processed in the callback notification function. If this field is set to TRUE, the callback notification function will copy the UDP packet in an internal buffer and set an event for the UDP thread to process the packet.
TaskType OSAPI_PortProperty::udp_receive_task_id |
The UDP receive task id.
UDP receive task id. This must be configured with the ID of the task NETIO_Autosar_udp_receive_task. This field must be configured only in case field 'use_udp_thread' is set to TRUE.
EventMaskType OSAPI_PortProperty::udp_packet_received_event |
Event used to notify the UDP task that an incoming packet has been received.
Event used to notify the UDP task that an incoming packet has been received. This event is used only in case UDP task is used, that is when field 'use_udp_thread' is set to TRUE.