Guidance on adding / using custom events

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Guidance on adding / using custom events

    I've been experimenting with add my own event module with SystemView 2.42 and FreeRTOS

    I'm looking for some usage guidance

    * How can I filter to only show my new events (so I can see general high level code flow without getting bogged down in OS level events)? I had tried filtering by User events, but nothing shows up, so events added by RegisterModule() aren't considered User Events. I've not seen any reference to User events in the documentation at all, so I'm not sure how/if they can be used. Is there a way to filter to specific modules after a log has been collected?

    * I have added M=MyModule description to the module registration, but it never obviously shows up in the GUI

    C Source Code

    1. SEGGER_SYSVIEW_MODULE_STRUCT systemViewModule =
    2. {
    3. "M=MyModule, " \
    4. "0 WP_EVENT_Post Event=%u arg0=%u arg1=%u, " \
    5. "1 WP_EVENT_Receive Event=%u arg0=%u arg1=%u res=%u", // sModule
    6. SV_MAX_EVENTS,
    7. 0, // Offset - set by SEGGER_SYSVIEW_Register_Module()
    8. systemViewModuleDesc,
    9. NULL // pNext - set by SEGGER_SYSVIEW_Register_Module()
    10. };


    * If I add additional registration info, such as T= or S=, then the additional text is treated as the first event's format string. That makes some sense as its a comma separated string, although the documentation suggests I can add multiple module description info. However, it doesn't (obviously) show up in the the GUI

    e.g. "M=MyModule,T=MM, " \

    Is the answer that I need to add a ...ModuleName.txt file? I'm seeing a log report about that.

    Cheers!

    Jason
  • Hi,

    Sorry for the delay in response.

    Filter on specific API events from the OS or other modules can now be set with SystemView PRO.
    Otherwise it is only possible to show all or no API functions at all.

    The module description looks correct so far. In addition to M=<ModuleName> you can optionally add V=<VersionNumber>, other parameters are not supported.

    With module name and version number it is possible to load a description file to not need to describe all functions in the module description (and save some memory).
    To do this, place a file SYSVIEW_<ModuleName>_<VersionNumber>.txt or SYSVIEW_<ModuleName>.txt in /description/ of the SystemView installation directory.

    With the current version of SystemView, the registered modules also show up in the System Information, so there you can check that registration worked.

    Best regards
    Johannes