{"id":7227,"date":"2024-01-30T12:06:58","date_gmt":"2024-01-30T04:06:58","guid":{"rendered":"https:\/\/www.tosunai.com\/?p=7227"},"modified":"2024-04-23T15:30:25","modified_gmt":"2024-04-23T07:30:25","slug":"tsmaster-signal-mapping-configuration","status":"publish","type":"post","link":"https:\/\/www.tosunai.com\/en\/tsmaster-signal-mapping-configuration\/","title":{"rendered":"Sharing | TSMaster Signal Mapping Configuration Methods"},"content":{"rendered":"
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

The TSMaster Signal Mapping Module maps database variables to system variables. The mapped system variables are equivalent to variables in the database, and read and write operations on the system variables are equivalent to reading and writing database variables. Its location in the system software is shown in the following figure:<\/p><\/section><\/section>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Signal mapping module is designed to realize the decoupling of upper application layer logic and lower database variables. If the upper application layer directly operates the variables in the database, once the database changes, due to this strong coupling relationship, it will cause the upper development layer, such as panel, test scripts, etc. need to modify the corresponding database variables, which is unacceptable for large-scale projects. With the signal mapping module, the upper mapping layer does not need to directly manipulate the database variables, but directly uses the mapped system variables. When the lower database changes, you only need to re-map the database variables to the corresponding system variables, without modifying the upper application. This article will focus on how to add signal mapping in TSMaster.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\t

Keywords in this paper: signal mapping, system variables, expression mapping<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Table of Contents for this article<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t
\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t
\n\t\t\t
\n\t\t\t\t<\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

I. Methods of operation for direct mapping<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

1\uff5cSignal mapping module path:<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Simulation-Environment-Signal Mapping<\/strong><\/p>

After opening Signal Mapping, click the Activate button in the upper left corner of the module to enable the Signal Mapping module. As in Figure 1.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
Figure 1<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Select the signals in the database to be mapped, taking the CAN database as an example, as shown in Figure 2:<\/p>

\u25b2 Step1: Select the database message signal of [Channel 1];<\/p>

Step2: Select the signal to be mapped, such as \"EngSpeed\" signal;<\/p>

\u25b2 Step3: Right click on the mouse and select [Auto Create Mapping];<\/p>

\u25b2 Step4: Automatically generate target system variables in [Mapping Target System Variables List], the default is Direct Mapping Type.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
Figure 2<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

\u25b2 Step5: When the mapping is created automatically, system variables with the same name will be generated automatically in [Simulation - System Variables - User Variables List], as in Figure 3.<\/p><\/section>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
Figure 3<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

2\uff5cThree ways of mapping direction<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

The direct mapping approach can be understood as a one-to-one mapping approach, where the direction of signal mapping can be selected. TSMaster provides three approaches: bi-directional delivery, mapping from signals to system variables only, and mapping from system variables to signals only, in order to adapt to different mapping needs, as shown in Figure 4.<\/p>

\u00a0<\/p>

  1. Bidirectional passing: changes in the value of the system variable are synchronized to the signal, and changes in the value of the signal are synchronized to the system variable.<\/li>
  2. Mapping from signals to system variables only: changes in signal values are synchronized to system variables, changes in system variable values are not synchronized to signals.<\/li>
  3. Mapping from system variables to signals only: changes in system variable values are synchronized to signals, changes in signal values are not synchronized to system variables.<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
    Figure 4<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    The procedure is as follows:<\/strong><\/p>

    \u2460 Select the target system variable in the mapping list entry;<\/p>

    \u2461 Click [Mapping Direction] to bring up the popup menu;<\/p>

    \u2462 Select the mapping direction;<\/p>

    \u2463 Click [Settings] to complete the selection.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    II. Methods of operation for direct mapping<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    1\uff5cExplanation of expression mapping<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    You can edit the expression after setting the selected expression as expression mapping, and finally map the result calculated by the customized algorithm expression to the system variable, and the independent variable can be selected as constant, system variable, FlexRay signal, CAN signal, and LIN signal.<\/p>

    \u00a0<\/p>

    TSMaster provides a series of math function lists and expressions, where math function lists:<\/p>

    abs, acos, asin, atan, atan2, ceil, cos, cosh, e, exp, fac, floor, ln.<\/p>

    log, log10, max, min, ncr, npr, pi, pow, sign, sin, sinh, sqrt, tan, tanh<\/p>

    \u00a0<\/p>

    Example of an expression:<\/strong><\/p>

    [1] sqrt(x1n1.5 + x2n2.5)<\/p>

    [2] x1 * 3 + x2 \/ 1.2 - 11.9<\/p>

    [3] (1\/(x1+1)+2\/(x2+2)+3\/(x3+3))<\/p>

    [4] (x1 > 50) & ((x2 < 30) | (x3 = 1))<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t\t\t

    2\uff5cExpression Mapping Procedure<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    After selecting the mapping pair and clicking Set as Expression Mapping, edit the calculation method on the right side of the window, as in Figure 5.<\/p><\/section>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
    Figure 5<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \u2460 Selection of mapping target system variables
    \u2461 Set to expression mapping
    \u2462 Click on the plus sign to add an independent variable

    \"\": Add independent variables<\/p>

    \"\": Deletion of independent variables<\/p>

    \"\": See help for arbitrary expressions<\/p>

    \"\": C code that copies the current expression mapping<\/p>

    \u2463 Edit calculation method expression<\/p>

    \u2464 Assign values to the independent variables in the calculation expression. The independent variables can be selected from constants, system variables, FlexRay signals, CAN signals, and LIN signals.<\/p>

    \u00a0<\/p>

    [Check mapping]:<\/strong>After completing the addition and configuration of the signal mapping list, you can choose to check the current mapping, which can avoid the situation of invalid mapping.<\/p>

    [Configuration]:<\/strong>Automatically activate the corresponding RBS transmit signal. The signals involved in the mapping list will be sent as RBS emulation after checking the box, as in Figure 6.<\/p><\/section>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
    Figure 6<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    The configured list of mapped signals can be saved and imported in a configuration file, as in Figure 7.<\/p>

    \u00a0<\/p>

    [Configuration File Save]:<\/strong>You can export the current mapping pair configuration locally after the signal mapping pair configuration is complete.<\/p>

    [Configuration File Import]:<\/strong>You can export the current signal mapping list to an .ini file.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
    Figure 7<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    III. Example of signal mapping conversion<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    There is a common conversion relationship between car speed and engine speed calculation, car speed (km \/ h) = engine speed x 60 x 3.14 x tire diameter \/ (1000 X main gear ratio x corresponding gear ratio). Usually the tire diameter, the main gear ratio, the corresponding gear ratio can be found through the car manual, and then through the known engine speed, the use of signal mapping to calculate the car's speed, that is: car speed CarSpeed = engine speed * 60 * 3.14 * 0.724 \/ (1000 * 3.683 * 0.672).<\/p>

    \u00a0<\/p>

    Create the target system variable \"CarspeedMappingFromEngSpeed\" in TSMaster's signal mapping, set it as expression mapping, and bind it to the engine speed of the car, as shown in Figure 8.<\/p>

    \u00a0<\/p>

    CarspeedMappingFromEngSpeed = x1*60*3.14*0.724\/(1000*3.683*0.672)<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
    Figure 8<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    After configuring the signal mapping expression, you can modify the value of EngSpeed to 1000 rpm, and after signal mapping, you can automatically calculate the speed to 55.1 km\/h, as shown in Figure 9.<\/p><\/section><\/section>

    <\/section>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
    Figure 9<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    Similarly, continue to modify the value of EngSpeed to 2000 rpm, after signal mapping, the speed can be automatically calculated to be about 110.2 km\/h, as shown in Figure 10.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\"Configuration\t\t\t\t\t\t\t\t\t\t\t
    Figure 10<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    The above is the operation flow and example of signal mapping module. The system variables mapped by signal mapping can be directly accessed and used by our panel module, signal test module, signal comparison module, C applet, graphic module, etc. Signal mapping is a member of interoperability of modules in TSMaster, and the reasonable use of the signal mapping module can effectively improve the development efficiency of TSMaster-based projects. Signal Mapping is a member of our TSMaster to realize module interoperability.<\/p><\/section><\/section>

    <\/section><\/section>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"

    The TSMaster Signal Mapping Module maps database variables to system variables, and the mapped system variables are equivalent to the variables in the database, which [...]<\/p>","protected":false},"author":11,"featured_media":7231,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[],"footnotes":""},"categories":[90],"tags":[65,131,145,236],"class_list":{"0":"post-7227","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-software-tutorial","8":"tag-tsmaster","10":"tag-145","11":"tag-236","12":"entry","13":"has-media","14":"owp-thumbs-layout-horizontal","15":"owp-btn-normal","16":"owp-tabs-layout-horizontal","17":"has-no-thumbnails","18":"has-product-nav"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/posts\/7227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/comments?post=7227"}],"version-history":[{"count":0,"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/posts\/7227\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/media\/7231"}],"wp:attachment":[{"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/media?parent=7227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/categories?post=7227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tosunai.com\/en\/wp-json\/wp\/v2\/tags?post=7227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}