Discussion Forums

READ Characteristic supported on nRF8001?

#1

Can a read characteristic be implemented using the nRF8001 library?

Looking at the RBL_nRF8001.xml file, these are what we have to define a Characteristic:

<Characteristic>
            <Name>UART TX</Name>
            <Uuid BaseUUID="713D0000503E4C75BA943148F18D941E" BaseUUIDName="Custom UART">0002</Uuid>
            <DefaultValue></DefaultValue>
            <UsePresentationFormat>0</UsePresentationFormat>
            <MaxDataLength>20</MaxDataLength>
            <AttributeLenType>2</AttributeLenType>
            <ForceOpen>false</ForceOpen>
            <ForceEncryption>false</ForceEncryption>
            <Properties>
                <WriteWithoutResponse>false</WriteWithoutResponse>
                <Write>false</Write>
                <Notify>true</Notify>
                <Indicate>false</Indicate>
                <Broadcast>false</Broadcast>
            </Properties>
            <SetPipe>false</SetPipe>
            <AckIsAuto>false</AckIsAuto>
            <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/>
            <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic>
            <PeriodForProperties/>
        </Characteristic>

NOTIFY is there, but READ is not. Can we only use notify (which means the central that is connecting to the nRF8001 must subscribe to the peripheral for updates)?

#2

Hi @lydecker, this XML file is generated by nRF goStudio provided by Nordic. Characteristics and services are pre-defined using this software. After you defining your own service and characteristic, it will generate a services.h, then rename it to RBL_services.h and replace the existing RBL_services.h in the nRF8001 library.

#3

@guohui

Thanks for the rapid reply, but it didn’t really answer my question.

I know that the XML file is used to create new service.h file using goStudio,

My question is really: Does the RedBear BLE v2.1 Shield / RedBear BLE Micro etc (any RedBear product with a nRF8001 chip) support the READ Characteristic (instead of the NOTIFY Characteristic)?

Thanks

#4

The property of new characteristic to be created using nRFgo Studio is not selectable. It has provided pre-defined characteristics with implicit required properties. Some of them may support READ property. You can add some of them or create new characteristic template and then generate the corresponding service header file. After programming the BLE Shield, just use the Light Blue App to discover whether these characteristics have then properties you want.

Regards.