FeatStd V3.2.1
FeatStd CMake Switches
| V3.2.0 | V3.2.1 |
|---|---|
| FEATSTD_MONITOR_TYPE | MONITOR_COM_TYPE |
| FEATSTD_MONITOR_BLOCK_UNTIL_CONNECT | MONITOR_BLOCK_UNTIL_CONNECT |
| FEATSTD_MONITOR_TCPIP_PORT | MONITOR_TCPIP_PORT |
| FEATSTD_MONITOR_TCPIP_ADDRESS | MONITOR_TCPIP_ADDRESS |
| FEATSTD_MONITOR_TCPIP_STACK_ENABLED | MONITOR_TCPIP_STACK_ENABLED |
| FEATSTD_MONITOR_SERIALPORT_BAUDRATE | MONITOR_SERIALPORT_BAUDRATE |
| FEATSTD_MONITOR_SERIALPORT_ADDRESS | MONITOR_SERIALPORT_ADDRESS |
| PERFORMANCE_RECORDER_GENERATION_DIR | MONITOR_CANDERA_PERFORMANCE_RECORDER_GENERATION_DIR |
| PERFORMANCE_RECORDER_TEMPLATE_DIR | MONITOR_CANDERA_PERFORMANCE_RECORDER_TEMPLATE_DIR |
Existing monitor settings have been moved from code to CMake settings:
These flags are marked as advanced and should only be changed if the current settings have side effects.
| Name | Description | Possible values |
|---|---|---|
| MONITOR_CANDERA_PERF_RECORD_BUFFER_SIZE | Defines the buffer size on target which is used for performance log tracing. When only perf-log streaming is used, it can use a smaller buffer. 4000 as size can be enough then. The effective minimum requirement depends on the amount of recorders. |
positive integer |
| MONITOR_CANDERA_PERF_RECORD_STRID_BUFFER_SIZE | Defines the maximum of stored strings that can be sent (performance logs) with an id to reduce payload. |
positive integer |
| MONITOR_CANDERA_PERF_RECORD_STRING_SIZE | Defines the maximum length of a single string that can be sent (performance logs). | positive integer |
FeatStd Monitor
Non-blocking connection setup
The monitor supports non-blocking connection setup now. CGIAnalyzer and target can be connected any time now.
Performance logs: Payload reduction
The payload of performance logs are reduced to approx. 36 percentage of previous version. The buffer for streaming can be smaller now due to restructuring the sent data. Using the recording only functionality can store more recordings within the same buffer. The amount of recordings traced is defined by the size of buffer. Changes to the buffer size can be done by changing the CMake flag MONITOR_CANDERA_PERF_RECORD_BUFFER_SIZE.
- See also:
- FeatStd CMake Switches for the changed CMake feature flag related to Monitor functionality.
FeatStd Platform
64 Bit Support
Support for building with 64 bit has been added. In order to obtain a 64 bit build, one has to configure the build to use a 64 bit compiler. Doing this will automatically enable the CMake variable FEATSTD_64BIT_PLATFORM which is further used in FeatStd. If a 32 bit compiler is used, the CMake variable FEATSTD_32BIT_PLATFORM will be enabled automatically.
Two new types have been introduced for unsigned and signed integers which extend to the correct size when used in a 64 bit system or a 32 bit system. These are FeatStd::SizeType and FeatStd::OffsetType (equivalent to std::size_t type and std::ptrdiff_t types).
The API has been adapted at various locations to use FeatStd::SizeType and FeatStd::OffsetType instead of integer types. Application code using a previous version will be compatible due to implicit integer conversion. Please take care on compiler warnings related to type conversions, alignment casts and signed/unsigned comparisons.
FeatStd Util
Thread safe String
The FeatStd::String class has been enhanced by a method String::GetCriticalSection which can be used to protect the internal c-string from modification by other threads.
The feature is only available when CMake flag FEATSTD_THREADSAFETY_ENABLED is enabled.