How to create a Custom Profile - Client

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to create a Custom Profile - Client

How to create a Custom Profile - Client

I was investigating about how to create a current profile and I found interesting information I would like to share with the community. So, I decided to create an example to accomplish this task using BLE stack included in the MKW40Z Connectivity Software package.

The demo to create is an Humidity Collector which make use of the Humidity custom profile and is based on the Temperature Collector demonstration application.

The first thing to know is that the Generic Attribute Profile (GATT) establishes in detail how to exchange all profile and user data over a BLE connection. GATT deals only with actual data transfer procedures and formats. All standard BLE profiles are based on GATT and must comply with it to operate correctly. This makes GATT a key section of the BLE specification, because every single item of data relevant to applications and users must be formatted, packed, and sent according to the rules.

                                    

GATT defines two roles: Server and Client.

  • The GATT server stores the data transported over the Attribute Protocol (ATT) and accepts Attribute Protocol requests, commands and confirmations from the GATT client.
  • The GATT client accesses data on the remote GATT server via read, write, notify, or indicate operations. Notify and indicate operations are enabled by the client but initiated by the server, providing a way to push data to the client. Notifications are unacknowledged, while indications are acknowledged. Notifications are therefore faster, but less reliable.


client-server.png

Figure 1. GATT Client-Server

     GATT Database establishes a hierarchy to organize attributes. These are the Profile, Service, Characteristic and Descriptor. Profiles are high level definitions that define how services can be used to enable an application and Services are collections of characteristics. Descriptors defined attributes that describe a characteristic value.

To define a GATT Database several macros are provided by the GATT_DB API in the Freescale BLE Stack, which is part KW40Z Connectivity Software package.

gatt_database.PNG

Figure 2. GATT database

     To know if the Profile or service is already defined in the specification, you have to look for in Bluetooth SIG profiles and check in the ble_sig_defines.h file if this is already declared in the code. In our case, the service is not declared, but the characteristic of the humidity is declared in the specification. Then, we need to check if the characteristic is already included in ble_sig_defines.h. Since, the characteristic is not included, we need to define it as shown next:


/*! Humidity Charactristic UUID */

#define gBleSig_Humidity_d                      0x2A6F

     The Humidity Collector is going to have the GATT client; this is the device that will receive all information from  the GATT server.

Demo provided in this post works like the Temperature Collector. When the Collector enables the notifications from the sensor, received notifications will be printed in the serial terminal.

In order to create the demo we need to define or develop a service that has to be the same as in the GATT Server, this is declared in the gatt_uuid128.h.If the new service is not the same, they will never be able to communicate each other. All macros function or structures in BLE stack of KW40Z Connectivity Software have a common template. Hence, we need to define this service in the gatt_uuid128.h as shown next:

/* Humidity */

UUID128(uuid_service_humidity, 0xfe ,0x34 ,0x9b ,0x5f ,0x80 ,0x00 ,0x00 ,0x80 ,0x00 ,0x10 ,0x00 ,0x02 ,0x00 ,0xfa ,0x10 ,0x10)

     During the scanning process is when the client is going to connect with the Server. Hence, function CheckScanEvent can help us to ensure that peer device or server device support the specified service, in this case, it will be the humidity service we just created in the previous step. Then, CheckScanEvent needs to check which device is on advertising mode and with MatchDataInAdvElementList to verify if it is the same uuid_service_humidity, if the service is not in the list, client is not going to connect.

CheckScanEvent function should look as shown next:

static bool_t CheckScanEvent(gapScannedDevice_t* pData)

{

uint8_t index = 0;

uint8_t name[10];

uint8_t nameLength;

bool_t foundMatch = FALSE;

while (index < pData->dataLength)

{

        gapAdStructure_t adElement;

       

        adElement.length = pData->data[index];

        adElement.adType = (gapAdType_t)pData->data[index + 1];

        adElement.aData = &pData->data[index + 2];

         /* Search for Humidity Custom Service */

        if ((adElement.adType == gAdIncomplete128bitServiceList_c) ||

          (adElement.adType == gAdComplete128bitServiceList_c))

        {

            foundMatch = MatchDataInAdvElementList(&adElement, &uuid_service_humidity, 16);

        }

       

        if ((adElement.adType == gAdShortenedLocalName_c) ||

          (adElement.adType == gAdCompleteLocalName_c))

        {

            nameLength = MIN(adElement.length, 10);

            FLib_MemCpy(name, adElement.aData, nameLength);

        }

       

        /* Move on to the next AD elemnt type */

        index += adElement.length + sizeof(uint8_t);

}

if (foundMatch)

{

        /* UI */

        shell_write("\r\nFound device: \r\n");

        shell_writeN((char*)name, nameLength-1);

        SHELL_NEWLINE();

        shell_writeHex(pData->aAddress, 6);

}

return foundMatch;

}

The humidity_interface.h file should define the client structure and the server structure. For this demo, we only need the client structure, however, both are defined for reference.

The Client Structure has all the data of the Humidity Service, in this case is a Service, characteristic, descriptor and CCCD handle and the format of the value.

/*! Humidity Client - Configuration */

typedef struct humcConfig_tag

{

uint16_t    hService;

uint16_t    hHumidity;

uint16_t    hHumCccd;

uint16_t    hHumDesc;

gattDbCharPresFormat_t  humFormat;

} humcConfig_t;

The next configuration structure is for the Server; in this case we don’t need it.

/*! Humidity Service - Configuration */

typedef struct humsConfig_tag

{

uint16_t    serviceHandle;

int16_t     initialHumidity;       

} humsConfig_t;

    Now that the Client Structure is declared, go to the app.c and modify some functions. There are functions that help to store all the data of the humidity service. In our case they are 3 functions for the service, characteristic and descriptor. You have to be sure that the service that you create and the characteristics of humidity are in the functions. The Handle of each data is stored in the structure of the client. The three functions that need to be modify are the next:

BleApp_StoreServiceHandles() stores handles for the specified service and characteristic.

static void BleApp_StoreServiceHandles

(

    gattService_t   *pService

)

{

    uint8_t i;

     

    if ((pService->uuidType == gBleUuidType128_c) &&

        FLib_MemCmp(pService->uuid.uuid128, uuid_service_humidity, 16))

    {

        /* Found Humidity Service */

        mPeerInformation.customInfo.humClientConfig.hService = pService->startHandle;

       

        for (i = 0; i < pService->cNumCharacteristics; i++)

        {

            if ((pService->aCharacteristics[i].value.uuidType == gBleUuidType16_c) &&

                (pService->aCharacteristics[i].value.uuid.uuid16 == gBleSig_Humidity_d))

            {

                /* Found Humidity Char */

                mPeerInformation.customInfo.humClientConfig.hHumidity = pService->aCharacteristics[i].value.handle;

            }

        }

    }

}

BleApp_StoreCharHandles() handles the descriptors.

static void BleApp_StoreCharHandles

(

    gattCharacteristic_t   *pChar

)

{

    uint8_t i;

   

    if ((pChar->value.uuidType == gBleUuidType16_c) &&

        (pChar->value.uuid.uuid16 == gBleSig_Humidity_d))

    {   

        for (i = 0; i < pChar->cNumDescriptors; i++)

        {

            if (pChar->aDescriptors[i].uuidType == gBleUuidType16_c)

            {

                switch (pChar->aDescriptors[i].uuid.uuid16)

                {

                    case gBleSig_CharPresFormatDescriptor_d:

                    {

                        mPeerInformation.customInfo.humClientConfig.hHumDesc = pChar->aDescriptors[i].handle;

                        break;

                    }

                    case gBleSig_CCCD_d:

                    {

                        mPeerInformation.customInfo.humClientConfig.hHumCccd = pChar->aDescriptors[i].handle;

                        break;

                    }

                    default:

                        break;

                }

            }

        }

    }

}

BleApp_StoreDescValues() stores the format of the value.

static void BleApp_StoreDescValues

(

    gattAttribute_t     *pDesc

)

{

    if (pDesc->handle == mPeerInformation.customInfo.humClientConfig.hHumDesc)

    {

        /* Store Humidity format*/

        FLib_MemCpy(&mPeerInformation.customInfo.humClientConfig.humFormat,

                    pDesc->paValue,

                    pDesc->valueLength);

    }

 

}

     After we store all the data of the Humidity Service, we need to check the notification callback. Every time the Client receives a notification with the BleApp_GattNotificationCallback(),  call the BleApp_PrintHumidity() function and check the Format Value; in this case is 0x27AD  that mean percentage and also have to be the same on the GATT server.

static void BleApp_GattNotificationCallback

(

    deviceId_t serverDeviceId,

    uint16_t characteristicValueHandle,

    uint8_t* aValue,

    uint16_t valueLength

)

{

/*Compare if the characteristics handle Server is the same of the GATT Server*/

    if (characteristicValueHandle == mPeerInformation.customInfo.humClientConfig.hHumidity)

    {

           BleApp_PrintTemperature(*(uint16_t*)aValue);

    } 

}


BleApp_PrintHumidity() print the value of the Humidity, but first check if the format value is the same.

static void BleApp_PrintHumidity

(

    uint16_t humidity

)

{

    shell_write("Humidity: ");

    shell_writeDec(humidity);

     /*If the format value is the same, print the value*/

    if (mPeerInformation.customInfo.humClientConfig.humFormat.unitUuid16 == 0x27AD)

    {

        shell_write(" %\r\n");

    }

    else

    {

        shell_write("\r\n");

    }

}

Step to include the file to the demo.

1. Create a clone of the Temperature_Collector with the name of Humidity_Collector

2. Unzip the Humidity_Collector.zip file attached to this post.

3. Save the humidity folder in the fallowing path: <kw40zConnSoft_install_dir>\ConnSw\bluetooth\profiles .

4. Replaces the common folder in the next path: <kw40zConnSoft_install_dir>\ConnSw\examples\bluetooth\humidity_sensor\common .

Once you already save the folders in the corresponding path you must to indicate in the demo where they are and drag the file in the humidity folder to the workspace.

For test the demo fallow the next steps:

  1. Compile the project and run.
  2. Press SW1 for the advertising/scanning mode, and
    wait to connect it.
  3. Once the connection finish, press the SW1 of the
    Humidity Sensor board to get and print the data.

Enjoy the demo!


NOTE:

This demo works with the Humidity Sensor demo. This means that you need one board programmed with the Humidity Sensor application and a second board with the Humidity Collector explained in this post.

pastedImage_60.png

Figure 3. Example of the Humidity Collector using the Humidity Sensor.

ラベル(1)
添付
%3CLINGO-SUB%20id%3D%22lingo-sub-1126134%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90%E6%96%B9%E6%B3%95%20-%20%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1126134%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%83%97%E3%83%AD%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%AA%BF%E6%9F%BB%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D%E3%80%81%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%81%A8%E5%85%B1%E6%9C%89%E3%81%97%E3%81%9F%E3%81%84%E8%88%88%E5%91%B3%E6%B7%B1%E3%81%84%E6%83%85%E5%A0%B1%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%9D%E3%81%93%E3%81%A7%E3%80%81MKW40Z%20Connectivity%20Software%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AB%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8BBLE%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E3%81%93%E3%81%AE%E3%82%BF%E3%82%B9%E3%82%AF%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E4%BE%8B%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AB%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%83%87%E3%83%A2%E3%81%AF%E3%80%81%E6%B9%BF%E5%BA%A6%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%80%81%E6%B8%A9%E5%BA%A6%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC%E3%83%87%E3%83%A2%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%8F%E6%B9%BF%E5%BA%A6%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E6%9C%80%E5%88%9D%E3%81%AB%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8F%E3%81%B9%E3%81%8D%E3%81%93%E3%81%A8%E3%81%AF%E3%80%81%E6%B1%8E%E7%94%A8%E5%B1%9E%E6%80%A7%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB(GATT)%E3%81%AF%E3%80%81BLE%E6%8E%A5%E7%B6%9A%E3%82%92%E4%BB%8B%E3%81%97%E3%81%A6%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BA%A4%E6%8F%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E8%A9%B3%E7%B4%B0%E3%81%AB%E7%A2%BA%E7%AB%8B%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82GATT%20%E3%81%AF%E3%80%81%E5%AE%9F%E9%9A%9B%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E8%BB%A2%E9%80%81%E6%89%8B%E9%A0%86%E3%81%A8%E5%BD%A2%E5%BC%8F%E3%81%AE%E3%81%BF%E3%82%92%E6%89%B1%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E6%A8%99%E6%BA%96BLE%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AFGATT%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%84%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E6%AD%A3%E3%81%97%E3%81%8F%E5%8B%95%E4%BD%9C%E3%81%95%E3%81%9B%E3%82%8B%E3%81%AB%E3%81%AFGATT%E3%81%AB%E6%BA%96%E6%8B%A0%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AB%E3%82%88%E3%82%8A%E3%80%81GATT%E3%81%AFBLE%E4%BB%95%E6%A7%98%E3%81%AE%E9%87%8D%E8%A6%81%E3%81%AA%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%84%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AB%E9%96%A2%E9%80%A3%E3%81%99%E3%82%8B%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E9%A0%85%E7%9B%AE%E3%82%92%E3%83%AB%E3%83%BC%E3%83%AB%E3%81%AB%E5%BE%93%E3%81%A3%E3%81%A6%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%80%81%E3%83%91%E3%83%83%E3%82%AF%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%81%9F%E3%82%81%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3EGATT%20%E3%81%A7%E3%81%AF%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20color%3A%20%23303030%3B%22%3E%E3%80%81%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%A8%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AE%202%20%E3%81%A4%E3%81%AE%E3%83%AD%E3%83%BC%E3%83%AB%3C%2FSPAN%3E%E3%81%8C%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CUL%20style%3D%22list-style-type%3A%20disc%3B%22%3E%3CLI%20style%3D%22text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%3CSTRONG%3EGATT%E3%82%B5%E3%83%BC%E3%83%90%3C%2FSTRONG%3E%E3%81%AF%E3%80%81%E5%B1%9E%E6%80%A7%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB%EF%BC%88ATT%EF%BC%89%E3%82%92%E9%80%9A%E3%81%98%E3%81%A6%E8%BB%A2%E9%80%81%E3%81%95%E3%82%8C%E3%81%9F%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%97%E3%80%81GATT%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%8B%E3%82%89%E3%81%AE%E5%B1%9E%E6%80%A7%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB%E3%81%AE%E8%A6%81%E6%B1%82%E3%80%81%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%E7%A2%BA%E8%AA%8D%E3%82%92%E5%8F%97%E3%81%91%E4%BB%98%E3%81%91%E3%81%BE%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%20style%3D%22text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%3CSTRONG%3EGATT%20%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AF%3C%2FSTRONG%3E%E3%80%81%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E3%80%81%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%80%81%E9%80%9A%E7%9F%A5%E3%80%81%E3%81%BE%E3%81%9F%E3%81%AF%E6%8C%87%E7%A4%BA%E6%93%8D%E4%BD%9C%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%80%81%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%20GATT%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E4%B8%8A%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E9%80%9A%E7%9F%A5%E6%93%8D%E4%BD%9C%E3%81%A8%E6%8C%87%E7%A4%BA%E6%93%8D%E4%BD%9C%E3%81%AF%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E9%96%8B%E5%A7%8B%E3%81%95%E3%82%8C%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AB%E3%83%97%E3%83%83%E3%82%B7%E3%83%A5%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E6%8F%90%E4%BE%9B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E9%80%9A%E7%9F%A5%E3%81%AF%E7%A2%BA%E8%AA%8D%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81%E8%A1%A8%E7%A4%BA%E3%81%AF%E7%A2%BA%E8%AA%8D%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E3%81%9D%E3%81%AE%E3%81%9F%E3%82%81%E3%80%81%E9%80%9A%E7%9F%A5%E3%81%AF%E9%AB%98%E9%80%9F%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81%E4%BF%A1%E9%A0%BC%E6%80%A7%E3%81%AF%E4%BD%8E%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%20style%3D%22margin-top%3A%202.4pt%3B%20margin-bottom%3A%202.4pt%3B%22%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22client-server.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22client-server.png%22%20style%3D%22width%3A%20651px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F18997i2792991CD30DDAD9%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22client-server.png%22%20alt%3D%22client-server.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-top%3A%202.4pt%3B%20margin-bottom%3A%202.4pt%3B%20text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%3CSTRONG%3E%E5%9B%B3%201.%3C%2FSTRONG%3EGATT%20%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%2F%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-top%3A%202.4pt%3B%20margin-bottom%3A%202.4pt%3B%20text-align%3A%20center%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3EGATT%20Database%E3%81%AF%E3%80%81%E5%B1%9E%E6%80%A7%E3%82%92%E6%95%B4%E7%90%86%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E9%9A%8E%E5%B1%A4%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%82%89%E3%81%AF%E3%80%81%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%81%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%80%81%E7%89%B9%E6%80%A7%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%E8%A8%98%E8%BF%B0%E5%AD%90%E3%81%A7%E3%81%99%E3%80%82%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AF%E3%80%81%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%E9%AB%98%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AE%E5%AE%9A%E7%BE%A9%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AF%E7%89%B9%E6%80%A7%E3%81%AE%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%99%E3%80%82%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%82%BF%E3%81%AF%E3%80%81%E7%89%B9%E6%80%A7%E5%80%A4%E3%82%92%E8%A8%98%E8%BF%B0%E3%81%99%E3%82%8B%E5%B1%9E%E6%80%A7%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3EGATT%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E3%80%81KW40Z%E3%82%B3%E3%83%8D%E3%82%AF%E3%83%86%E3%82%A3%E3%83%93%E3%83%86%E3%82%A3%E3%83%BB%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%BB%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E4%B8%80%E9%83%A8%E3%81%A7%E3%81%82%E3%82%8B%E3%83%95%E3%83%AA%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%ABBLE%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%AEGATT_DB%20API%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%8C%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22gatt_database.PNG%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22gatt_database.PNG%22%20style%3D%22width%3A%20551px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111550iD0BCA1F52AE9B619%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22gatt_database.PNG%22%20alt%3D%22gatt_database.PNG%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%20text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%3CSTRONG%3E%E5%9B%B32.%3C%2FSTRONG%3E%20GATT%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%20text-align%3A%20center%3B%22%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%8C%E4%BB%95%E6%A7%98%E3%81%A7%E6%97%A2%E3%81%AB%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81%20%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdeveloper.bluetooth.org%2Fgatt%2Fservices%2FPages%2FServicesHome.aspx%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3E%3CSPAN%20style%3D%22font-family%3A%20'Arial'%2C'sans-serif'%3B%20color%3A%20%23388ca4%3B%22%3EBluetooth%20SIG%20%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%3C%2FSPAN%3E%3C%2FA%3E%E3%82%92%E6%A4%9C%E7%B4%A2%E3%81%97%E3%80%81%20%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E6%97%A2%E3%81%AB%E5%AE%A3%E8%A8%80%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%20%3CSTRONG%3E%3CEM%3Eble_sig_defines.h%3C%2FEM%3E%3C%2FSTRONG%3E%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%82%A4%E3%83%B3%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AF%E5%AE%A3%E8%A8%80%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fdeveloper.bluetooth.org%2Fgatt%2Fcharacteristics%2FPages%2FCharacteristicViewer.aspx%3Fu%3Dorg.bluetooth.characteristic.humidity.xml%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20style%3D%22font-size%3A%2016px%3B%22%20target%3D%22_blank%22%3E%3CSPAN%20style%3D%22font-family%3A%20Helvetica%2C%20sans-serif%3B%22%3E%E6%B9%BF%E5%BA%A6%E3%81%AE%E7%89%B9%E6%80%A7%3C%2FSPAN%3E%3C%2FA%3E%20%E3%81%AF%E4%BB%95%E6%A7%98%E3%81%A7%E5%AE%A3%E8%A8%80%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E6%AC%A1%E3%81%AB%E3%80%81%E7%89%B9%E6%80%A7%E3%81%8C%E3%81%99%E3%81%A7%E3%81%AB%20%3CSTRONG%3E%3CEM%3Eble_sig_defines.h%3C%2FEM%3E%3C%2FSTRONG%3E%E3%81%AB%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E7%89%B9%E6%80%A7%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81%E6%AC%A1%E3%81%AB%E7%A4%BA%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%23388ca4%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22_jivemacro_uid_14436325727935317%20jive_macro_code%20jive_text_macro%22%20data-renderedposition%3D%221358.199951171875_8_988_32%22%20jivemacro_uid%3D%22_14436325727935317%22%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%2F*!%20%E6%B9%BF%E5%BA%A6%E7%89%B9%E6%80%A7UUID%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%23define%20gBleSig_Humidity_d%200x2A6F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FPRE%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%E6%B9%BF%E5%BA%A6%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC%E3%81%AB%E3%81%AFGATT%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81GATT%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%8B%E3%82%89%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E6%83%85%E5%A0%B1%E3%82%92%E5%8F%97%E4%BF%A1%E3%81%99%E3%82%8B%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%E3%81%93%E3%81%AE%E6%8A%95%E7%A8%BF%E3%81%A7%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%87%E3%83%A2%E3%81%AF%E3%80%81%E6%B8%A9%E5%BA%A6%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC%E3%81%8C%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%81%8B%E3%82%89%E3%81%AE%E9%80%9A%E7%9F%A5%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E5%8F%97%E4%BF%A1%E3%81%97%E3%81%9F%E9%80%9A%E7%9F%A5%E3%81%AF%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E7%AB%AF%E6%9C%AB%E3%81%AB%E5%8D%B0%E5%88%B7%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%E3%83%87%E3%83%A2%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81GATT%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%A8%E5%90%8C%E3%81%98%E3%81%A7%E3%81%82%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%BE%E3%81%9F%E3%81%AF%E9%96%8B%E7%99%BA%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%3CEM%3E%3CSTRONG%3Egatt_uuid128.h%3C%2FSTRONG%3E%3C%2FEM%3E%E3%81%A7%E5%AE%A3%E8%A8%80%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E6%96%B0%E3%81%97%E3%81%84%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%8C%E5%90%8C%E3%81%98%E3%81%A7%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%E3%80%81%E5%BD%BC%E3%82%89%E3%81%AF%E4%BA%92%E3%81%84%E3%81%AB%E9%80%9A%E4%BF%A1%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3CSTRONG%3E%3CEM%3EKW40Z%E3%82%B3%E3%83%8D%E3%82%AF%E3%83%86%E3%82%A3%E3%83%93%E3%83%86%E3%82%A3%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%3C%2FEM%3E%3C%2FSTRONG%3EBLE%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E5%86%85%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%9E%E3%82%AF%E3%83%AD%E6%A9%9F%E8%83%BD%E3%81%BE%E3%81%9F%E3%81%AF%E6%A7%8B%E9%80%A0%E3%81%AB%E3%81%AF%E3%80%81%E5%85%B1%E9%80%9A%E3%81%AE%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%97%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E3%80%81%E6%AC%A1%E3%81%AB%E7%A4%BA%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%E3%80%81%E3%81%93%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%20gatt_uuid128.h%20%E3%81%A7%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20_jivemacro_uid_14434689873179563%20jive_text_macro%22%20data-renderedposition%3D%221684.199951171875_8_988_32%22%20jivemacro_uid%3D%22_14434689873179563%22%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2011pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%2F*%20%E6%B9%BF%E5%BA%A6%20*%2F%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2011pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3EUUID128(uuid_service_humidity%2C%200xfe%20%2C0x34%20%2C0x9b%20%2C0x5f%20%2C0x80%20%2C0x00%20%2C0x00%20%2C0x80%20%2C0x00%20%2C0x10%20%2C0x00%20%2C0x02%20%2C0x00%20%2C0xfa%20%2C0x10%20%2C0x10)%3C%2FSPAN%3E%3C%2FP%3E%3C%2FPRE%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2011pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%B3%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%20%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E4%B8%AD%E3%81%AF%E3%80%81%20%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%8C%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%BE%E3%81%99%3CEM%3E%20%E3%80%82%3C%2FEM%3E%20%E3%81%97%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E3%80%81%3CSTRONG%3E%3CEM%3E%20%E9%96%A2%E6%95%B0CheckScanEvent%3C%2FEM%3E%3C%2FSTRONG%3E%20%E3%81%AF%E3%80%81%E3%83%94%E3%82%A2%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%8C%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB%E5%BD%B9%E7%AB%8B%E3%81%A1%E3%81%BE%E3%81%99(%E3%81%93%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E3%81%9D%E3%82%8C%E3%81%AF%E5%89%8D%E3%81%AE%E6%89%8B%E9%A0%86%E3%81%A7%E4%BD%9C%E6%88%90%E3%81%97%E3%81%9F%E3%81%B0%E3%81%8B%E3%82%8A%E3%81%AE%E6%B9%BF%E5%BA%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99)%E3%80%82%E6%AC%A1%E3%81%AB%E3%80%81%3CSTRONG%3E%20CheckScanEvent%3C%2FSTRONG%3E%20%E3%81%AF%E3%80%81%E3%82%A2%E3%83%89%E3%83%90%E3%82%BF%E3%82%A4%E3%82%BA%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%80%81%3CSTRONG%3E%3CEM%3E%20MatchDataInAdvElementList%3C%2FEM%3E%3C%2FSTRONG%3E%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%8C%20%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AB%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%80%81%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%8C%E6%8E%A5%E7%B6%9A%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E%3CSTRONG%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%20%E3%81%97%E3%81%AA%E3%81%84%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E%3CEM%3E%3CSTRONG%3Euuid_service_humidity%20%E5%90%8C%E3%81%98%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FSTRONG%3E%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3ECheckScanEvent%20%E9%96%A2%E6%95%B0%E3%81%AF%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22_jivemacro_uid_14435434189965481%20jive_macro_code%20jive_text_macro%22%20data-renderedposition%3D%221920.2000732421875_8_988_736%22%20jivemacro_uid%3D%22_14435434189965481%22%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%E9%9D%99%E7%9A%84%20bool_t%20CheckScanEvent(gapScannedDevice_t*%20pData)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20uint8_t%20index%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20uint8_t%E5%90%8D%5B10%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20uint8_t%20nameLength%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20bool_t%20foundMatch%20%3D%20FALSE%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20while%20(%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%20%26lt%3B%20pData-%26gt%3BdataLength)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20gapAdStructure_t%20adElement%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20adElement.length%20%3D%20pData-%26gt%3Bdata%5Bindex%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20adElement.adType%20%3D%20(gapAdType_t)pData-%26gt%3Bdata%5Bindex%20%2B%201%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20adElement.aData%20%3D%20%26amp%3BpData-%26gt%3Bdata%5Bindex%20%2B%202%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%2F*%20%E6%B9%BF%E5%BA%A6%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E6%A4%9C%E7%B4%A2%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3Eif%20((adElement.adType%20%3D%3D%20gAdIncomplete128bitServiceList_c)%20%7C%7C%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E(adElement.adType%20%3D%3D%20gAdComplete128bitServiceList_c))%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3EfoundMatch%20%3D%20MatchDataInAdvElementList(%26amp%3BadElement%2C%20%26amp%3Buuid_service_humidity%2C%2016)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3Eif%20((adElement.adType%20%3D%3D%20gAdShortenedLocalName_c)%20%7C%7C%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20(adElement.adType%20%3D%3D%20gAdCompleteLocalName_c))%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3EnameLength%20%3D%20MIN(adElement.length%2C10)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3EFLib_MemCpy(%E5%90%8D%E5%89%8D%2C%20adElement.aData%2CnameLength)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%2F*%20%E6%AC%A1%E3%81%AE%20AD%20elemnt%20%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AB%E9%80%B2%E3%82%80%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%20%2B%3D%20adElement.length%20%2B%20sizeof(uint8_t)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20if%20(foundMatch)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F*%20UI%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3Eshell_write(%22%5Cr%5Cn%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A3%E3%81%9F%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%3A%20%5Cr%5Cn%22)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3Eshell_writeN((char*)name%2C%20nameLength-1)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3ESHELL_NEWLINE()%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3Eshell_writeHex(pData-%26gt%3BaAddress%2C%206)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20foundMatch%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3C%2FPRE%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2016px%3B%22%3E%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2016px%3B%22%3E%3CEM%3E%3CSTRONG%3Ehumidity_interface.h%3C%2FSTRONG%3E%3C%2FEM%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2016px%3B%22%3E%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7%E3%81%AF%E3%80%81%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E6%A7%8B%E9%80%A0%E3%81%A8%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E9%80%A0%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E3%83%87%E3%83%A2%E3%81%A7%E3%81%AF%E3%80%81%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E6%A7%8B%E9%80%A0%E3%81%AE%E3%81%BF%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81%E3%81%A9%E3%81%A1%E3%82%89%E3%82%82%E5%8F%82%E7%85%A7%E7%94%A8%E3%81%AB%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%3CSTRONG%3E%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%82%B9%E3%83%88%E3%83%A9%E3%82%AF%E3%83%81%E3%83%A3%3C%2FSTRONG%3E%E3%81%AB%E3%81%AF%E3%80%81%E6%B9%BF%E5%BA%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E3%81%93%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%80%81%E7%89%B9%E6%80%A7%E3%80%81%E8%A8%98%E8%BF%B0%E5%AD%90%E3%80%81CCCD%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%E5%80%A4%E3%81%AE%E5%BD%A2%E5%BC%8F%E3%81%A7%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20jive_text_macro%20_jivemacro_uid_14434690177057312%22%20data-renderedposition%3D%222878.199951171875_8_988_144%22%20jivemacro_uid%3D%22_14434690177057312%22%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%2F*!%E6%B9%BF%E5%BA%A6%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%20-%20%E8%A8%AD%E5%AE%9A%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3Etypedef%20struct%20humcConfig_tag%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20uint16_t%20hService%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20uint16_t%E6%B9%BF%E5%BA%A6%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20uint16_t%26nbsp%3B%26nbsp%3B%26nbsp%3B%20hHumCccd%3B%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20uint16_t%26nbsp%3B%26nbsp%3B%26nbsp%3B%20hHumDesc%3B%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20gattDbCharPresFormat_t%26nbsp%3B%20humFormat%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%7D%20humcConfig_t%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FPRE%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%E6%AC%A1%E3%81%AE%E6%A7%8B%E6%88%90%E6%A7%8B%E9%80%A0%E3%81%AF%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%94%A8%E3%81%A7%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E3%81%9D%E3%82%8C%E3%81%AF%E5%BF%85%E8%A6%81%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20_jivemacro_uid_14434690394445222%20jive_text_macro%22%20data-renderedposition%3D%223088.199951171875_8_988_96%22%20jivemacro_uid%3D%22_14434690394445222%22%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%2F*!%E6%B9%BF%E5%BA%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%20-%20%E8%A8%AD%E5%AE%9A%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3Etypedef%20struct%20humsConfig_tag%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20uint16_t%20serviceHandle%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%20int16_t%20initialHumidity%3B%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20'High%20Tower%20Text'%2C%20serif%3B%22%3E%7D%20humsConfig_t%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FPRE%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%20Client%20Structure%20%E3%81%8C%E5%AE%A3%E8%A8%80%E3%81%95%E3%82%8C%E3%81%9F%E3%81%AE%E3%81%A7%E3%80%81%20%3CSTRONG%3E%3CEM%3Eapp.c%3C%2FEM%3E%3C%2FSTRONG%3E%20%E3%81%AB%E7%A7%BB%E5%8B%95%E3%81%97%E3%81%A6%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E9%96%A2%E6%95%B0%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E6%B9%BF%E5%BA%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB%E5%BD%B9%E7%AB%8B%E3%81%A4%E6%A9%9F%E8%83%BD%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E3%81%9D%E3%82%8C%E3%82%89%E3%81%AF%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE3%E3%81%A4%E3%81%AE%E6%A9%9F%E8%83%BD%E3%80%81%E7%89%B9%E6%80%A7%E3%81%A8%E8%A8%98%E8%BF%B0%E5%AD%90%E3%81%A7%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8%E6%B9%BF%E5%BA%A6%E3%81%AE%E7%89%B9%E6%80%A7%E3%81%8C%E6%A9%9F%E8%83%BD%E3%81%AB%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E5%90%84%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%81%AF%E3%80%81%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81%AB%E6%A0%BC%E7%B4%8D%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E5%A4%89%E6%9B%B4%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%203%20%E3%81%A4%E3%81%AE%E9%96%A2%E6%95%B0%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%3CSTRONG%3EBleApp_StoreServiceHandles()%3C%2FSTRONG%3E%20%E3%81%AF%E3%80%81%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8%E7%89%B9%E6%80%A7%E3%81%AE%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%82%92%E6%A0%BC%E7%B4%8D%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20_jivemacro_uid_14434690803676652%20jive_text_macro%22%20data-renderedposition%3D%223388.19970703125_8_988_416%22%20jivemacro_uid%3D%22_14434690803676652%22%3E%3CP%3E%E3%82%B9%E3%82%BF%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%83%9C%E3%82%A4%E3%83%89BleApp_StoreServiceHandles%3C%2FP%3E%3CP%3E(%3C%2FP%3E%3CP%3EgattService_t%20*pService%3C%2FP%3E%3CP%3E)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20uint8_t%20i%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20if%20((pService-%26gt%3BuuidType%20%3D%3D%20gBleUuidType128_c)%20%26amp%3B%26amp%3B%3C%2FP%3E%3CP%3EFLib_MemCmp(pService-%26gt%3Buuid.uuid128%2C%20uuid_service_humidity%2C%2016))%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%2F*%20%E6%B9%BF%E5%BA%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%20*%2F%3C%2FP%3E%3CP%3EmPeerInformation.customInfo.humClientConfig.hService%20%3D%20pService-%26gt%3BstartHandle%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3Efor%20(i%20%3D%200%3B%20i%20%26lt%3B%20pService-%26gt%3BcNumCharacteristics%3B%20i%2B%2B)%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3Eif%20((pService-%26gt%3BaCharacteristics%5Bi%5D.value.uuidType%20%3D%3D%20gBleUuidType16_c)%20%26amp%3B%26amp%3B%3C%2FP%3E%3CP%3E(pService-%26gt%3BaCharacteristics%5Bi%5D.value.uuid.uuid16%20%3D%3D%20gBleSig_Humidity_d))%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E%2F*%20%E6%A4%9C%E5%87%BA%E3%81%95%E3%82%8C%E3%81%9F%E6%B9%BF%E5%BA%A6%E3%83%81%E3%83%A3%E3%83%BC%20*%2F%3C%2FP%3E%3CP%3EmPeerInformation.customInfo.humClientConfig.hHumidity%20%3D%20pService-%26gt%3BaCharacteristics%5Bi%5D.value.handle%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%3C%2FP%3E%3C%2FPRE%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%3CSTRONG%3EBleApp_StoreCharHandles()%3C%2FSTRONG%3E%20%E3%81%AF%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%82%BF%E3%82%92%E5%87%A6%E7%90%86%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22_jivemacro_uid_14434693672823926%20jive_macro_code%20jive_text_macro%22%20data-renderedposition%3D%223870.199951171875_8_988_528%22%20jivemacro_uid%3D%22_14434693672823926%22%3E%3CP%3E%E3%82%B9%E3%82%BF%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%83%9C%E3%82%A4%E3%83%89BleApp_StoreCharHandles%3C%2FP%3E%3CP%3E(%3C%2FP%3E%3CP%3EgattCharacteristic_t%20*pChar%3C%2FP%3E%3CP%3E)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20uint8_t%20i%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20if%20((pChar-%26gt%3Bvalue.uuidType%20%3D%3D%20gBleUuidType16_c)%20%26amp%3B%26amp%3B%3C%2FP%3E%3CP%3E(pChar-%26gt%3Bvalue.uuid.uuid16%20%3D%3D%20gBleSig_Humidity_d))%3C%2FP%3E%3CP%3E%7B%20%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20for%20(i%20%3D%200%3B%20i%20%26lt%3B%20pChar-%26gt%3BcNumDescriptors%3B%20i%2B%2B)%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20if%20(pChar-%26gt%3BaDescriptors%5Bi%5D.uuidType%20%3D%3D%20gBleUuidType16_c)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%20(pChar-%26gt%3BaDescriptors%5Bi%5D.uuid.uuid16)%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20case%20gBleSig_CharPresFormatDescriptor_d%3A%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3EmPeerInformation.customInfo.humClientConfig.hHumDesc%20%3D%20pChar-%26gt%3BaDescriptors%5Bi%5D.handle%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20break%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%E3%82%B1%E3%83%BC%E3%82%B9gBleSig_CCCD_d%3A%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3EmPeerInformation.customInfo.humClientConfig.hHumCccd%20%3D%20pChar-%26gt%3BaDescriptors%5Bi%5D.handle%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20break%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%EF%BC%9A%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20break%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3C%2FPRE%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2012pt%3B%22%3E%3CSTRONG%3EBleApp_StoreDescValues()%3C%2FSTRONG%3E%20%E3%81%AF%E3%80%81%E5%80%A4%E3%81%AE%E5%BD%A2%E5%BC%8F%E3%82%92%E6%A0%BC%E7%B4%8D%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20jive_text_macro%20_jivemacro_uid_14434696631461550%22%20data-renderedposition%3D%224464.2001953125_8_988_224%22%20jivemacro_uid%3D%22_14434696631461550%22%3E%3CP%3Estatic%20void%20BleApp_StoreDescValues%3C%2FP%3E%3CP%3E(%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20gattAttribute_t%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*pDesc%3C%2FP%3E%3CP%3E)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3Eif%20(pDesc-%26gt%3Bhandle%20%3D%3D%20mPeerInformation.customInfo.humClientConfig.hHumDesc)%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%2F*%20%E4%BF%9D%E5%AD%98%E6%B9%BF%E5%BA%A6%E5%BD%A2%E5%BC%8F*%2F%3C%2FP%3E%3CP%3EFLib_MemCpy(%26amp%3BmPeerInformation.customInfo.humClientConfig.humFormat%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20pDesc-%26gt%3BpaValue%2C%3C%2FP%3E%3CP%3EpDesc-%26gt%3B%E5%80%A4%E3%81%AE%E9%95%B7%E3%81%95)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%7D%3C%2FP%3E%3C%2FPRE%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%20text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E6%B9%BF%E5%BA%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%BC%95%E3%81%8D%E8%A3%82%E3%81%84%E3%81%9F%E5%BE%8C%E3%80%81%E9%80%9A%E7%9F%A5%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%8C%20%3CEM%3E%3CSTRONG%3EBleApp_GattNotificationCallback()%3C%2FSTRONG%3E%3C%2FEM%3E%20%E3%81%A7%E9%80%9A%E7%9F%A5%E3%82%92%E5%8F%97%E3%81%91%E5%8F%96%E3%82%8B%E3%81%9F%E3%81%B3%E3%81%AB%E3%80%81%3CSTRONG%3E%3CEM%3EBleApp_PrintHumidity()%3C%2FEM%3E%20%3C%2FSTRONG%3E%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%80%81%3C%2FSPAN%3E%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Calibri%2C%20sans-serif%3B%20color%3A%20%23388ca4%3B%20text-decoration%3A%20underline%3B%22%3E%3CA%20href%3D%22https%3A%2F%2Fdeveloper.bluetooth.org%2Fgatt%2Fcharacteristics%2FPages%2FCharacteristicViewer.aspx%3Fu%3Dorg.bluetooth.characteristic.humidity.xml%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20color%3A%20%23388ca4%3B%20text-decoration%3A%20underline%3B%22%3EFormat%20Value%3C%2FSPAN%3E%3C%2FA%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%20%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%99%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%E3%80%82%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%20%E3%81%93%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E3%81%9D%E3%81%AE%E5%B9%B3%E5%9D%87%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B8%E3%81%AF%3CSTRONG%3E0x27AD%3C%2FSTRONG%3E%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81GATT%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%A7%E3%82%82%E5%90%8C%E3%81%98%E3%81%A7%E3%81%82%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20_jivemacro_uid_14436295198149942%20jive_text_macro%22%20data-renderedposition%3D%224802.2001953125_8_988_272%22%20jivemacro_uid%3D%22_14436295198149942%22%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3Estatic%20void%20BleApp_GattNotificationCallback%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E(%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3EdeviceId_t%20serverDeviceId%E3%80%81%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3Euint16_t%20characteristicValueHandle%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20uint8_t*%20aValue%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3Euint16_t%E5%80%A4%E3%81%AE%E9%95%B7%E3%81%95%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%2F*%E7%89%B9%E6%80%A7%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%8C%E5%90%8C%E3%81%98%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E6%AF%94%E8%BC%83%E3%81%97%E3%81%BE%E3%81%99%0AGATT%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE*%2F%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3Eif%20(characteristicValueHandle%20%3D%3D%20mPeerInformation.customInfo.humClientConfig.hHumidity)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20BleApp_PrintTemperature(*(uint16_t*)aValue)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%7D%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3C%2FPRE%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20jive_text_macro%20_jivemacro_uid_14434699365821469%22%20data-renderedposition%3D%225074.2001953125_8_988_32%22%20jivemacro_uid%3D%22_14434699365821469%22%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3C%2FPRE%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%3CEM%3E%3CSTRONG%3EBleApp_PrintHumidity()%3C%2FSTRONG%3E%20%3C%2FEM%3E%E3%81%AF%20Humidity%20%E3%81%AE%E5%80%A4%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%97%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%81%BE%E3%81%9A%20format%20%E3%81%AE%E5%80%A4%E3%81%8C%E5%90%8C%E3%81%98%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20jive_text_macro%20_jivemacro_uid_144362970910742%22%20data-renderedposition%3D%225151.2001953125_8_988_304%22%20jivemacro_uid%3D%22_144362970910742%22%3E%3CP%3E%E3%82%B9%E3%82%BF%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%83%9C%E3%82%A4%E3%83%89BleApp_PrintHumidity%3C%2FP%3E%3CP%3E(%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20uint16_t%20humidity%3C%2FP%3E%3CP%3E)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3Eshell_write%20(%22%E6%B9%BF%E5%BA%A6%3A%20%22)%3B%3C%2FP%3E%3CP%3Eshell_writeDec(%E6%B9%BF%E5%BA%A6)%3B%3C%2FP%3E%3CP%3E%2F*%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%AE%E5%80%A4%E3%81%8C%E5%90%8C%E3%81%98%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E5%80%A4%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%97%E3%81%BE%E3%81%99*%2F%3C%2FP%3E%3CP%3Eif%20(mPeerInformation.customInfo.humClientConfig.humFormat.unitUuid16%20%3D%3D%200x27AD)%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3Eshell_write(%22%20%25%5Cr%5Cn%22)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20else%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3Eshell_write(%22%5Cr%5Cn%22)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%3C%2FP%3E%3C%2FPRE%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E3%83%87%E3%83%A2%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%90%AB%E3%82%81%E3%82%8B%E6%89%8B%E9%A0%86%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E1.%20Humidity_Collector%20%E3%81%A8%E3%81%84%E3%81%86%E5%90%8D%E5%89%8D%E3%81%AETemperature_Collector%E3%81%AE%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E2.%E3%81%93%E3%81%AE%E6%8A%95%E7%A8%BF%E3%81%AB%E6%B7%BB%E4%BB%98%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%20%3CEM%3E%3CSTRONG%3EHumidity_Collector.zip%3C%2FSTRONG%3E%3C%2FEM%3E%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%A7%A3%E5%87%8D%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E3.%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%20%E4%BC%91%E9%96%91%E5%9C%B0%3CEM%3E%3C%2FEM%3E%20%3CSPAN%20style%3D%22font-size%3A%2016px%3B%22%3E%3CSTRONG%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2016px%3B%22%3E%3CSTRONG%3E%3CSPAN%20style%3D%22line-height%3A%2024px%3B%22%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22line-height%3A%2024px%3B%22%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22%3B%20font-size%3A%2016px%3B%20line-height%3A%2024px%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%3CSTRONG%3E%3CEM%3E%3C%2FEM%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CEM%3E%3C%2FEM%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E%E3%81%AE%E3%83%91%E3%82%B9%E3%81%AB%20%E6%B9%BF%E5%BA%A6%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%82%92%E9%85%8D%E7%BD%AE%E3%81%97%E3%81%BE%E3%81%99%3A%26lt%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E%3CEM%3E%3CSTRONG%3E%20kw40zConnSoft%3C%2FSTRONG%3E%3C%2FEM%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E%20_install_dir%26gt%3B%20%5CConnSw%5Cbluetooth%5Cprofiles%20%E3%80%82%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E4.%20R%3CSPAN%20style%3D%22color%3A%20%23212121%3B%20font-size%3A%2016px%3B%22%3E%E3%81%AF%E3%80%81%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%23212121%3B%20font-size%3A%2016px%3B%22%3E%3CSTRONG%3E%3CEM%3E%E5%85%B1%E9%80%9A%3C%2FEM%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%23212121%3B%20font-size%3A%2016px%3B%22%3E%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%3C%2FSPAN%3E%E3%82%92%3C%2FSPAN%3E%E6%AC%A1%E3%81%AE%E3%83%91%E3%82%B9%3CSTRONG%3E%26lt%3B%3C%2FSTRONG%3E%3CSTRONG%3E%3CSPAN%20style%3D%22line-height%3A%2024px%3B%22%3Ekw40zConnSoft%3C%2FSPAN%3E%3CSPAN%20style%3D%22line-height%3A%2024px%3B%22%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%3CEM%3E_install_dir%26gt%3B%5CConnSw%5Cexamples%5Cbluetooth%5Chumidity_sensor%5Ccommon%3C%2FEM%3E%3CSPAN%20style%3D%22line-height%3A%2026.6667px%3B%22%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20style%3D%22font-family%3A%20inherit%3B%20color%3A%20%23212121%3B%22%3E%E3%81%AB%E9%85%8D%E7%BD%AE%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E5%AF%BE%E5%BF%9C%E3%81%99%E3%82%8B%E3%83%91%E3%82%B9%E3%81%AB%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%82%92%E3%81%99%E3%81%A7%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%97%E3%81%9F%E3%82%89%20%3CSTRONG%3E%E3%80%81%E3%83%87%E3%83%A2%E3%81%A7%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%81%AE%E5%A0%B4%E6%89%80%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%80%81humidity%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%86%85%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%81%AB%E3%83%89%E3%83%A9%E3%83%83%E3%82%B0%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%20%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E3%83%87%E3%83%A2%E3%81%AE%E4%BC%91%E9%96%91%E5%9C%B0%E3%82%92%E3%83%86%E3%82%B9%E3%83%88%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81%E6%AC%A1%E3%81%AE%E6%89%8B%E9%A0%86%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3C%2FP%3E%3COL%20style%3D%22list-style-type%3A%20decimal%3B%22%3E%3CLI%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%97%E3%81%A6%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E5%BA%83%E5%91%8A%2F%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AFSW1%E3%82%92%E6%8A%BC%E3%81%97%E3%80%81%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E3%81%AE%E3%82%92%E5%BE%85%E3%81%A1%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E6%8E%A5%E7%B6%9A%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%9F%E3%82%89%E3%80%81%E3%81%AESW1%E3%82%92%E6%8A%BC%E3%81%97%E3%81%BE%E3%81%99%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E5%8D%B0%E5%88%B7%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%B9%BF%E5%BA%A6%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%80%82%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3C%2FP%3E%3CP%20class%3D%22MsoNormal%22%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22line-height%3A%20115%25%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%20font-size%3A%2014pt%3B%22%3E%E3%83%87%E3%83%A2%E3%82%92%E3%81%8A%E6%A5%BD%E3%81%97%E3%81%BF%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84!%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22MsoNormal%22%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3E%E3%83%A1%E3%83%A2%3CSPAN%20style%3D%22line-height%3A%20107%25%3B%20font-family%3A%20'Calibri'%2Csans-serif%3B%20mso-ascii-theme-font%3A%20minor-latin%3B%20mso-fareast-font-family%3A%20Calibri%3B%20mso-fareast-theme-font%3A%20minor-latin%3B%20mso-hansi-theme-font%3A%20minor-latin%3B%20mso-bidi-font-family%3A%20'Times%20New%20Roman'%3B%20mso-bidi-theme-font%3A%20minor-bidi%3B%20mso-ansi-language%3A%20EN-US%3B%20mso-fareast-language%3A%20EN-US%3B%20mso-bidi-language%3A%20AR-SA%3B%22%3E%3A%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22MsoNormal%22%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%22%3E%E3%81%93%E3%81%AE%E3%83%87%E3%83%A2%E3%81%AF%20%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-271178%22%20target%3D%22_blank%22%3E%E3%80%81%E6%B9%BF%E5%BA%A6%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%3C%2FA%3E%20%E3%81%AE%E3%83%87%E3%83%A2%E3%81%A8%E9%80%A3%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%A4%E3%81%BE%E3%82%8A%E3%80%81%E6%B9%BF%E5%BA%A6%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%95%E3%82%8C%E3%81%9F%E3%83%9C%E3%83%BC%E3%83%89%E3%81%A8%E3%80%81%E3%81%93%E3%81%AE%E6%8A%95%E7%A8%BF%E3%81%A7%E8%AA%AC%E6%98%8E%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%B9%BF%E5%BA%A6%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%95%E3%82%8C%E3%81%9F2%E7%95%AA%E7%9B%AE%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%89%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%80%82%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22MsoNormal%22%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2016px%3B%20line-height%3A%20115%25%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_60.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_60.png%22%20style%3D%22width%3A%20616px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F29290i43FEB2D09DBD6D3B%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_60.png%22%20alt%3D%22pastedImage_60.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22MsoNormal%22%20style%3D%22margin-bottom%3A%200.0001pt%3B%20text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012pt%3B%20line-height%3A%20115%25%3B%20font-family%3A%20Arial%2C%20sans-serif%3B%22%3E%3CSTRONG%3E%E5%9B%B3%203%3C%2FSTRONG%3E.%E6%B9%BF%E5%BA%A6%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E6%B9%BF%E5%BA%A6%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC%E3%81%AE%E4%BE%8B%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1126134%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EKW41Z31Z21Z%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
評価なし
バージョン履歴
最終更新日:
‎09-10-2020 03:08 AM
更新者: