バッテリー駆動のワイヤレスデバイスのOTA2信頼性 - KBA231150 - Community Translated (JA)

Version 1

    Community Translated by NoTa_4591161 Expert          Version: **

     

    Translation - English: OTA2 Reliability for Battery-operated Wireless Devices - KBA231150

     

    CYW43907CYW54907などの電池式ワイヤレスデバイスの信頼性の高いOTA2動作を保証するには、OTA2の抽出操作を実行する前に電池レベルを確認することをお勧めします。

     

    /43xxx_Wi-Fi/apps/snip/ota2_extract/ota2_extract.cにありますCHECK_BATTERY_LEVEL_BEFORE_OTA2_UPGRADEのマクロは、OTA2抽出関数を呼び出す前にバッテリーレベルがチェックされていることを確認するように関数に指示します。バッテリーレベルは、platform_check_battery_levelCHECK_BATTERY_LEVEL_OTA2_UPGRADE_MINIMUM)関数を使用してチェックされます。この機能は、バッテリーの回路設計に応じてカスタマイズする必要があります。バッテリー残量を測定するための関数呼び出しが含まれています。

     

    CHECK_BATTERY_LEVEL_OTA2_UPGRADE_MINIMUMは、OTA2操作を実行するために必要な最小バッテリーレベルを示すユーザー定義の定数です。測定されたバッテリーレベルがこの値を下回ると、platform_check_battery_level()関数はエラーを返し、OTA2の抽出操作は続行されません。wiced_defaults.h CHECK_BATTERY_LEVEL_BEFORE_OTA2_UPGRADEのマクロを定義することでこの機能を有効にすることができます。

     

    ota2_extract.cのコードスニペットを以下に示します。バッテリーレベルのチェックに使用されるマクロと機能が強調表示されています。

     

    void application_start()

    {

        wiced_result_t result;

        extractor_extract_result_t extract_result;

        platform_dct_ota2_config_t dct_ota2_config;

     

        /*

    *最初は:

    * SoftAPを実行している場合を除き、wiced_wlan_connectivity_init()は必要ないため、通常のwiced_init()は使用しません。

    * wiced_core_init()は使用しません。これは、wiced_platform_init()を使用したくないためです。ファイルシステムが無効であり、アサートしたくないためです。

      */

     

    platform_init_external_devices();

     

        /* DCT ミューテックス初期化 */

    wiced_dct_init();

     

    OTA2_EXTRACT_PRINTF((" \r\nHi, I'm the OTA2 extraction app (ota2_extract).\r\n "));

     

    extract_result = EXTRACT_RESULT_OK ;

     

        if (ota2_extract_check_battery_level()!= WICED_SUCCESS)

        {

            extract_result = EXTRACT_RESULT_ERROR_BATTERY_LOW ;

        }

     

    ota2_extract_check_battery_level()の関数定義を 以下に示します(これもota2_extract.cにあります):

     

    /* バッテリーレベルが低すぎると考えられる場合はWICED_ERRORを返します */

    wiced_result_t ota2_extract_check_battery_level(void)

    {

    #ifdef CHECK_BATTERY_LEVEL_BEFORE_OTA2_UPGRADE

        /* 大量の書き込みを行う前にバッテリーレベルを確認します */

        if(platform_check_battery_level(CHECK_BATTERY_LEVEL_OTA2_UPGRADE_MINIMUM) != WICED_SUCCESS)

    {

            /* check_battery_level()が失敗しました*/

            return WICED_ERROR

        }

    #endif /* CHECK_BATTERY_LEVEL_BEFORE_OTA2_UPGRADE */

     

        return WICED_SUCCESS