_äìéi~ä» Implementing Streams in BlueLab. User Guide. November CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom

Size: px
Start display at page:

Download "_äìéi~ä» Implementing Streams in BlueLab. User Guide. November CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom"

Transcription

1 _äìéi~ä» Implementing Streams in BlueLab User Guide November 2006 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England Tel: +44 (0) Fax: +44 (0)

2 Contents Contents 1 Introduction General Sinks and Sources Connecting Sinks and Sources Obtaining Sources and Sinks Introduction General RFCOMM L2CAP PCM SCO Host UART Kalimba USB HID Audio Region File Bluetooth address Source Sink Direct Connections General Use of StreamConnect StreamConnect StreamConnectDispose StreamConnectAndDispose StreamDisconnect Managed Connections Functions Sinks Sources Example Code StreamMove Configuring Sources, Sinks and Streams General SinkConfigure SourceConfigure StreamConfigure HID Configuration Technical Support Document References Appendix A Stream Sink/Source Compatibility Terms and Definitions Document History Page 2 of 31

3 Introduction 1 Introduction This document describes the use of streams in BlueLab applications. Note: Read this document in conjunction with the Reference documentation in the xide on-line help, which documents the full range of BlueLab library functions. Streams provide an efficient method of transferring data in BlueLab applications. They can be used to transfer data across the air between connected Bluetooth devices, along a wire between processors in the device or internally on the chip. The BlueLab libraries provide functions for efficiently handling 8-bit data streams. 1.1 General BlueLab distinguishes the following stream types: RFCOMM - Serial Cable Emulation Protocol L2CAP - Logical Link Control and Adaptation Protocol SCO - Synchronous Connection Oriented link Host (BCSP - BlueCore Serial Protocol) PCM - Pulse Code Modulation hardware port Serial port (raw UART) Kalimba port - Digital Signal Processor (DSP) USB - Universal Serial Bus HID - Human Interface Device Audio (source only) Region (source only) Files (source only) Sinks and Sources Each stream is normally associated with both a sink and a source. Data can be written to a sink and read from a source. When a sink and source are connected, data streams form the source to the sink. With some exceptions (see Appendix A Table A.1), the sink associated with one stream can be connected to the source associated with another and data can be streamed between them, i.e. data will stream from a source to the connected sink. BlueLab provides developers with functions to obtain, configure and connect sinks and sources. Page 3 of 31

4 Introduction Connecting Sinks and Sources For data to flow between a sink and a source the two must be connected. BlueLab allows for two basic methods of connecting sinks and sources: 1. A direct connection: no data control is provided. i.e. data flows consistently and is not visible to the application. See chapter A managed connection: the application calls a sequence of functions to handle the streaming of data. See chapter 4. This method gives the application visibility of the data held in sinks and sources, allowing the stream to be controlled by the application. For example if the data arriving at the source is not being flushed, the sink is eventually unable to stream more data as the sink s buffer becomes full. In managed connections the application is aware of this and can stop writing to the sink until more space is available. Page 4 of 31

5 Obtaining Sources and Sinks 2 Obtaining Sources and Sinks 2.1 Introduction This section describes the functions declared in the sink.h and source.h header files that are used to obtain sinks and sources that can then be connected to stream data General Functions that return sources and sinks such as StreamUartSource()and StreamRfcommSink() use the special return value of zero to indicate failure. This is possible because both the source and sink types are actually opaque pointers, i.e. the pointer can be used to manipulate the source or sink without needing to know its structure. The importance of returning zero on failure is that it allows the code to check for failure using the PanicFalse function. This technique can also be used for function calls that return a Boolean flag such as StreamConnect(). This allows engineers to check for success using PanicFalse, in the application code, for example: (void) PanicFalse(StreamConnect(StreamUartSource(),StreamRfcommSink())); In this example if the sink and source are valid and connected successfully the application continues to run. If the connection is unsuccessful the application panics. The functions to obtain sinks and sources can be considered in pairs, one of which obtains the sink and one the source. In most cases, streams are implemented as bi-directional and so the StreamConnect function is called twice when setting up a stream: For example: /* Make sure we have a valid source/ sink */ if (!SinkIsValid(sco_sink)!SourceIsValid(StreamSourceFromSink(sco_sink))) return FALSE; /* Set up the PCM rate and routing*/ (void) PanicFalse(PcmRateAndRoute(0, PCM_NO_SYNC, (uint32) 8000, (uint32) 8000, VM_PCM_INTERNAL_A_AND_B)); /* Connect the SCO to the PCM */ (void) PanicFalse(StreamConnect(StreamSourceFromSink(sco_sink), StreamPcmSink(0))); (void) PanicFalse(StreamConnect(StreamPcmSource(0), sco_sink)); Sections to describe the functions available in BlueLab to obtain sinks and sources: Page 5 of 31

6 Obtaining Sources and Sinks RFCOMM s Source StreamRfcommSource (uint8 mux_id, uint8 server_chan) Sink StreamRfcommSink (uint8 mux_id, uint8 server_chan) mux_id: multiplexer id server_chan: server channel (See the Bluetooth Specification Part F:1 RFCOMM with TS for further information. This can be downloaded from These functions return the source and sink associated with the RFCOMM channel specified, if available. They return zero if the channel is unknown or has not been established, or if stream-based RFCOMM is not enabled. Note: These functions are not frequently used in BlueLab applications because the Connection library, which handles creating connections between devices, generates CFM messages that return the sink associated with the connection L2CAP s Source StreamL2capSource (uint16 cid) Sink StreamL2capSink (uint16 cid) cid: the connection id for the L2CAP connection whose source or sink is returned. These functions return the source and sink associated with an L2CAP connection PCM s Note: These functions are not frequently used in BlueLab applications because the Connection library, which handles connections between devices, generates CFM messages that return the sink associated with the connection. Source StreamPcmSource (uint16 port) Sink StreamPcmSink (uint16 port) port: the PCM port number for the PCM stream whose source or sink is returned. This must be in the range 0 to 3. These functions return the source and sink associated with a PCM stream. Page 6 of 31

7 Obtaining Sources and Sinks SCO s Source StreamScoSource (uint16 handle) Sink StreamScoSink (uint16 handle) handle: the SCO handle (identifying the audio connection) whose source or sink is returned. These functions return the source and sink associated with a SCO stream. In practice these functions are rarely used in BlueLab applications because the sink is passed to the application task in _CFM messages and can be used directly and to find the source using StreamSourceFromSink() Host s Source StreamHostSource (uint16 channel) Sink StreamHostSink (uint16 channel) channel: the channel identifying the Host stream whose source or sink is returned. This must be in the range 0 to 256. These functions return the source and sink for the specified stream-based BCSP on channel UART s Source StreamUartSource (void) Sink StreamUartSink (void) These functions return the source and sink associated with the (raw) serial port, if available. For these calls to be successful Host transport must be selected as raw UART. If it is not these functions return zero. Note: The setting in the xide Project Properties Transport field configures the Host transport on boot up and must be set to raw to use these functions. Page 7 of 31

8 Obtaining Sources and Sinks Kalimba s Source StreamKalimbaSource (uint16 port) Sink StreamKalimbaSink (uint16 port) port: the port number for the Kalimba stream whose source or sink is returned. This must be in the range 0 to 3. These functions return the source and sink for a Kalimba stream on the specified port. Page 8 of 31

9 Obtaining Sources and Sinks USB Access to the on-chip USB interface occurs through channels known as endpoints and must comply with the device enumeration procedures detailed in the USB specification. It is therefore, not as simple to implement USB streams and a reasonable understanding of the enumeration process is required. Note: Functions connected with the enumeration of USB endpoints are described in the usb.h documentation in the xide on-line Reference documentation. As a result of the nature of USB communication and control there are three types of source and sink associated with USB streams: UsbClass s Source StreamUsbClassSource (UsbInterface interface) Sink StreamUsbClassSink (UsbInterface interface) interface: the USB interface whose source or sink is returned. These functions return the USB Class Request source and sink associated with corresponding USB interface. This communication channel passes commands defined in the USB class specification. Generally, these are involved in configuration procedures. UsbEndPoint s Source StreamUsbEndPointSource (EndPoint end_point) Sink StreamUsbEndPointSink(EndPoint end_point) end_point: the USB endpoint of the source or sink to be returned. These functions return the source and sink for the USB endpoint. These are used for the general flow of data across the USB connection. UsbVendor s Source StreamUsbVendorSource (void) Sink StreamUsbVendorSink (void) These functions return the USB Vendor source and sink. These pass vendor-specific commands not defined in the USB class specification. Page 9 of 31

10 Obtaining Sources and Sinks HID HID s Source StreamHidSource (void) Sink StreamHidSink (void) These functions obtain the primary source and sink for HID. These are generally used to handle sensor data that is specified in the Bluetooth HID specifications. Before the source or sink can be used, the source has to be configured for the correct sensor type. See section for the prototypes available to do this. HidAux s Source StreamHidAuxSource (void) Sink StreamHidAuxSink (void) These functions obtain the source and sink to handle auxiliary sensor data. In general, this data is connected via the VM rather than the firmware. One example of usage is to handle media keys on a keyboard matrix Audio Source StreamAudioSource (const audio_note *audio) audio: pointer to an array of audio notes whose source will be returned. This function returns the source with the contents of the memory pointed to by audio_note. Code Example The following code snippet describes a typical usage of this function: /* Set up the PCM routing */ (void) PanicFalse(PcmRateAndRoute(0, PCM_NO_SYNC, (uint32) 8000, (uint32) 8000, VM_PCM_INTERNAL_A_AND_B)); /* Create an audio source */ Source stream_source = StreamAudioSource(tone); /* Connect the source to the PCM */ StreamConnectAndDispose(stream_source, StreamPcmSink(0)); /* When the PCM finishes playing the tone send a message to the task below */ MessageSinkTask ( StreamPcmSink(0), &app->thesoundtask ); Page 10 of 31

11 Obtaining Sources and Sinks Region Source StreamRegionSource (const uint8 *data uint16 length) data: the memory location that the source is created from. length: the size of the memory region. This function allows a region of memory to be treated as a source. This is useful when there is a requirement to handle data (held in a known region of memory) using functions that expect a source e.g StreamConnect in order to efficiently transfer the data without having to copy it. Note: It is important that the memory being treated as a source persists long enough for the stream to complete, i.e. long enough for the source to be read. The source created using this function only exists while the data is being read. However, the memory block being treated as a source is not freed by the stream sub system once the data has been read. It is therefore the engineer s responsibility to manage the memory and free it when it is appropriate to do so. If the length parameter is passed as zero then the return value will be zero File Source StreamFileSource (FILE_INDEX index) Parameter index: the file index identifier for the file whose contents are required. This function returns a source with the contents of a specified file stored in the read-only file system of BlueCore s VM (Virtual Machine). It returns zero if the index is FILE_NONE or does not correspond to a narrow file i.e. a file with 8-bit data. Further information on access to the read-only file system is found in the file.h documentation in the xide online Reference documentation. Page 11 of 31

12 Obtaining Sources and Sinks Bluetooth address bool StreamSinksFromBdAddr (uint16 *max, Sink *sinks Const bdaddr *bt_address) max: stores up to max sinks in the array specified and updates the pointer. sinks: pointer to the array that stores the sinks returned. bt_address: pointer to the Bluetooth address of the remote device. This function returns all the sinks associated with an ACL connection to a remote device, identified by a specified Bluetooth address. Code Example The following code snippet describes a typical usage of this function: uint16 max_sinks = 6; /* Allocate a block to hold a list of sinks */ Sink* sink_list = (Sink*)PanicNull(calloc(max_sinks, sizeof(sink))); /* Get a list of all the Sinks active on this ACL */ if(streamsinksfrombdaddr(&max_sinks, sink_list, bd_addr)) { /*Do something with sinks in the list, e.g. send message to each one*/ } /* Free the allocated array of sinks. */ free(sink_list); Source Sink StreamSinkFromSource (Source source) source: the source whose sink is to be returned. This function returns the sink associated with a known source. Page 12 of 31

13 Obtaining Sources and Sinks Sink Source StreamSourceFromSink (Sink sink) sink: the sink whose source is to be returned. This function returns the source associated with a known sink. By convention BlueLab connections are identified by the sink. This function enables the associated source to be identified. Page 13 of 31

14 Direct Connections 3 Direct Connections The StreamConnect functions implement direct connections between sinks and sources. 3.1 General StreamConnect provides a simple way of connecting streams between various types of sources and sinks in order to transfer data. Streams connected using StreamConnect have the advantage that the firmware handles much of the data transfer making the process more efficient and data transfer faster. However, the data being streamed is not visible to the application (unless the stream is first disconnected) and cannot be readily monitored by the application. It is therefore not suitable if the application needs to be able to carry out additional processing on the data being streamed. 3.2 Use of StreamConnect This section describes StreamConnect and related functions declared in the header file to the stream library. Note: Sources and sinks can be obtained using the functions described in chapter StreamConnect uint16 StreamConnect (Source source, Sink sink) source: the source to be connected. sink: the sink to be connected. StreamConnect establishes an automatic connection between the specified source and sink. Data arriving at the source is automatically copied to the sink when space permits. This is the most efficient but least flexible option available for connecting streams. Unlike managed implementations, sources and sinks connected using StreamConnect do not generate MORE_SPACE or MORE_DATA messages so the application does not have visibility of the sink/source buffers or the data flowing between them. The function returns a non-zero value if the connection was successfully established, zero if the operation failed. To use this function the source and sink must be valid and cannot be involved in an existing connection. The connection is broken if either source or sink become invalid. When a source and sink are connected using StreamConnect operations such as SinkClaim, SourceClaim, SinkMap etc. are refused unless the stream has been disconnected first. Therefore, to insert data into a connected sink it is necessary to disconnect the stream, claim the sink, write and flush the data being inserted and then reconnect the stream using StreamConnect. Page 14 of 31

15 Direct Connections Connection Example The following call illustrates how a Stream can be connected using the PanicFalse function to check that the source and sink being connected are valid and successfully connected: (void) PanicFalse(StreamConnect(StreamKalimbaSource(0),StreamPcmSink(0))); This function call attempts to connect the specified PCM sink to the DSP kalimba port. If either the source or the sink is not valid, or if the connection fails, the application panics StreamConnectDispose uint16 StreamConnectDispose (Source source) source: the source the function is to act on. This function disposes of all the data arriving on the specified source by throwing it away. It returns zero if the operation fails and non-zero if the operation succeeds. On success the source is effectively connected using StreamConnect. Therefore, you can stop discarding data arriving on the source by calling StreamDisconnect (source, 0) StreamConnectAndDispose bool StreamConnectAndDispose (Source source, Sink sink) source: the source data is read from. sink: the sink data is written to. This function is similar to StreamConnect, but if the connection fails then the source is passed to StreamConnectDispose. Similarly, if the connection is subsequently broken (either from a call to StreamDisconnect or by the sink being closed) the source is passed to StreamConnectDispose. The result of this is that, if the connection fails or is subsequently broken, the source is tidied up correctly. Page 15 of 31

16 Direct Connections StreamDisconnect uint16 StreamDisconnect (Source source, Sink sink) source: the source to be disconnected. sink: the sink to be disconnected. The StreamDisconnect function breaks any existing connection between the specified source and/or sink. Either parameter argument may be zero, e.g: StreamDisconnect (0, StreamUartSink ()) breaks any existing connection to the UART sink specified. Page 16 of 31

17 Managed Connections 4 Managed Connections In simplistic terms the sequence of events involved in transferring data (using functions provided in BlueLab) between sources and sinks is: 1. The application handling the sink, i.e. transferring data: Obtains the amount of space available in a sink Claims the sink Maps the sink Copies data in Flushes the sink (data streams to specified source) The application receives a MORE_SPACE message, and if there is still data to be streamed, the process is repeated to write more data to the sink. 2. The application handling the source: receives a MORE_DATA message Gets the size of the data in the source Maps the source Processes the data received Drops processed data If more data arrives at the source the process is repeated. The process continues until all the data has been transferred. Note: Section 4.1 describes the functions provided to facilitate the above. 4.1 Functions This section describes the functions provided in BlueLab that can transfer data between streams, when implementing a managed connection Sinks The following functions are declared in the sink.h header file. 1. SinkSlack uint16 SinkSlack (Sink sink) sink: the sink being checked. This function returns the number of bytes that can be successfully claimed in the specified sink. It returns zero if the sink is not valid. Page 17 of 31

18 Managed Connections 2. SinkClaim uint16 SinkClaim (Sink sink, uint16 extra) sink: the sink to claim. extra: the number of bytes the function will attempt to claim. 3. SinkMap If the claim is successful, this function returns the offset of the claimed region. A return value of 0xFFFF indicates the claim was unsuccessful. This is generally because the sink was invalid or the number of bytes the function is attempting to claim is more than the number of bytes available (as returned by SinkSlack) in the sink. uint8 *SinkMap (Sink sink) sink: the sink to map into the address map. This function maps the specified sink into the address map and returns a pointer to the first byte of the sink. Only the total number of bytes claimed (by SinkClaim) are accessible. Only one sink can be mapped into the address map at any time. Pointers obtained by previous calls to SinkMap become invalid when another call to SinkMap is made. 4. SinkFlush If the sink passed as a parameter is not valid the function returns NULL. bool SinkFlush (Sink sink, uint16 amount) sink: the sink to be flushed. amount: the number of bytes to be flushed when the function is called. This function flushes the number of bytes specified by the amount parameter passed to the function, i.e. the specified number of bytes of data are passed to the corresponding byte stream. The function returns zero if the operation failed either because the sink was invalid or if the amount parameter exceeded the size of the sink returned by SinkClaim. It returns a non-zero value if the operation is successful. Page 18 of 31

19 Managed Connections 5. SinkFlushHeader This function is similar to SinkFlush but adds a header to the number of bytes being flushed. bool SinkFlushHeader (Sink sink, uint16 amount, const uint16 *header, uint16 length) sink: the sink to flush data from. amount: the number of bytes to flush. header: a pointer to the header to be added to the message. length: the size of the header. This function flushes the number of bytes specified by the amount parameter passed to the function, i.e. it passes the specified number of bytes to the corresponding byte stream. The function returns zero if the operation failed either because the sink was invalid or if the amount parameter exceeded the size of the sink returned by SinkClaim. It returns a non-zero value if the operation is successful. The header pointed to by the header parameter is added to the message. This is generally used when additional information is required to correctly process the data, e.g. when streaming to a USB source (end point). 6. SinkGetBdAddr bool SinkGetBdAddr (Sink sink, bdaddr *bt_address) sink: the sink to fetch the Bluetooth address from. bt_address: the location to return the Bluetooth address if the operation is successful. This function returns TRUE if the address is found, FALSE if the operation is unsuccessful. If successful the Bluetooth address associated with a particular sink is copied to the location specified by the bt_address parameter. 7. SinkIsValid bool SinkIsValid (Sink sink) Parameter sink: the sink whose validity is to be checked. This function is used to verify the validity of the specified sink. It returns non-zero if the sink is valid and zero if the sink is not valid. Page 19 of 31

20 Managed Connections Sources The following functions are declared in the source.h header file. 1. SourceSize uint16 SourceSize (Source source) source: the source being checked. This function returns the number of bytes available in the specified source or zero if the source is invalid. 2. SourceBoundary uint16 SourceBoundary (Source source) source: the source being checked. This function returns the number of bytes in the specified source before the next packet boundary, in packet-based streams e.g. L2CAP streams. For non packet-based sources this returns the same result as SourceSize. 3. SourceMap const uint8 *SourceMap (Source source) source: the source to map into the address map. This function maps the specified source into the address map and returns a pointer to the first byte of the source. Only the number of bytes given by SourceSize are accessible. Only one source can be mapped into the address map at any time. Pointers obtained by previous calls to SourceMap become invalid when another call to SourceMap is made. Note: A sink and source can be mapped into the address map at the same time to facilitate efficient implementation of the streaming process. If the source passed as a parameter is not valid the function returns NULL. Page 20 of 31

21 Managed Connections 4. SourceMapHeader Const uint16* SourceMapHeader (Source source) source: the source the operation is performed on. This function maps the first header associated with the specified source into the address map and returns a pointer to the first word in the header. Note: This function is most commonly used to facilitate responses to USB Class Requests. The number of accessible words is that given by SourceSizeHeader. Only one header source can be mapped into the address map at any one time. Pointers obtained by previous calls to SourceMapHeader become invalid when another call to SourceMapHeader is made. This function returns NULL if the source is not valid or has no headers. 5. SourceSizeHeader uint SourceSizeHeader (Source source) source: the source whose header size is being found. This function returns the number of words available in the first header associated with the specified source. The function returns zero if the source is not valid. 6. SourceDrop void SourceDrop (Source source, uint16 amount) source: the source from which the data is to be dropped. amount: the number of bytes to drop. This function discards the specified amount of bytes from the front of the specified source. Page 21 of 31

22 Managed Connections 7. SourceIsValid bool SourceIsValid (Source source) Parameter source: the source whose validity is to be checked. This function is used to verify the validity of the specified source. It returns non-zero if the source is valid and zero if the source is not valid Example Code This section includes some example code to illustrate the use of the functions described in this chapter. The example shows how a simple string can be streamed to the UART. const char *string = "Hello world"; uint16 length = strlen(string); /* Get the sink for the uart, panic if not available */ SourceSink sink = StreamUartSink(); PanicNull(sink); /* Claim space in the sink, getting the offset to it */ uint16 offset = SinkClaim(sink, length); if(offset == 0xFFFF) Panic(); /* Space not available */ /* Map the sink into memory space */ uint8 *dest = SinkMap(sink); (void) PanicNull(dest); /* Copy the string into the claimed space */ memcpy(dest+offset, string, length); /* Flush the data out to the uart */ PanicZero(SinkFlush(sink, length)); Page 22 of 31

23 Managed Connections 4.2 StreamMove uint16 StreamMove (Sink sink, Source source, uint16 count) sink: the sink to stream data to. source: the source to stream data from. count: the number of bytes to be moved. This function moves the specified number of bytes from the start of the specified source to the end of the specified sink. The value passed as the count parameter must be no more than the size of the data in the source and the available space in the sink, which are reported by SourceBoundary and SinkSlack. This call wraps the functionality of SinkClaim(), memcpy() and sourcedrop() into a single function. A call to sinkflush() must still be made to actually transmit the data written to the sink. StreamMove returns zero if the operation fails and the count if the operation succeeds. Code Example Note: A call to StreamMove does not invalidate any active SinkMap or SourceMap. /* Claim space in the sink */ uint16 claim_result = SinkClaim(sink, number_bytes); /* If claim failed return error */ if (claim_result == 0xffff) return 0; /* Move data from source to sink */ StreamMove(sink, source, number_bytes); /* Flush the data */ (void)sinkflush(sink, number_bytes); Page 23 of 31

24 Configuring Sources, Sinks and Streams 5 Configuring Sources, Sinks and Streams This chapter describes the functions available for configuring sources, sinks and streams. 5.1 General Three functions are available: SinkConfigure declared in the sink.h header file. SourceConfigure declared in the source.h header file. StreamConfigure declared in the stream.h header file SinkConfigure void SinkConfigure (Sink sink, vm_sink_config_key key, uint16 value) sink: the sink to configure. key: the key to configure. value: the value to write to the key. Purpose This function sets configuration values for the sink. See the on-line Reference documentation for the vm_if.h header file in xide for further details about the configurable parameters enumerated as vm_sink_config_key. Note: Some key configurations only apply to specific types of sink SourceConfigure void SourceConfigure (Sink sink, vm_source_config_key key, uint16 value) source: the source to configure. key: the key to configure. value: the value to write to the key. This function sets configuration values for the source. It is particularly applicable to HID streams. See the on-line Reference documentation for the vm_if.h header file in xide for further details about the configurable parameters enumerated as vm_source_config_key. Note: Some key configurations only apply to specific types of source. Page 24 of 31

25 Configuring Sources, Sinks and Streams StreamConfigure void StreamConfigure (vm_stream_config_key key, uint16 value) key: the key to configure. value: the value to write to the key. This function is used to set configuration values for the stream subsystem. It is particularly applicable to HID streams. See the xide on-line Reference documentation on the vm_if.h header file, for further details about the configurable parameters enumerated as vm_stream_config_key HID Configuration The following prototypes configure HID sources for the correct type of sensor: bool SourceConfigureHidSensorAgilentADNS3030 (Source source, const HID_AGILENT_ADNS3030_CONFIG *config) source: the source to configure. config: a pointer to the configuration data. This function configures the source for an Agilent 3030/3040 optical sensor. The configuration parameters are specified in the HID_AGILENT_ADNS3030_CONFIG structure. See the xide on-line Reference documentation on the hid.h library, for further details about the configurable parameters enumerated as HID_AGILENT_ADNS3030_CONFIG. The function returns TRUE if the configuration was valid and successful or FALSE if the configuration failed. bool SourceConfigureHidSensorUart (Source source) source: the source to configure. This function configures the source for a external sensor connected to the Bluecore UART. The function returns TRUE if the configuration was valid and successful or FALSE if the configuration failed. Page 25 of 31

26 Configuring Sources, Sinks and Streams bool SourceConfigureHidSensorMatrix (Source source, const HID_MATRIX_CONFIG *config) source: the source to configure. config: a pointer to the configuration data. This function configures the source for a keyboard matrix. The configuration parameters are specified in the HID_MATRIX_CONFIG structure. See the xide on-line Reference documentation on the hid.h header file, for further details about the configurable parameters enumerated as HID_MATRIX_CONFIG. The function returns TRUE if the configuration was valid and successful or FALSE if the configuration failed. Page 26 of 31

27 Technical Support 6 Technical Support Further information on all CSR products can be found on the technical support website ( Developers are also recommended to view the public newsgroups hosted by CSR on the Internet news (NTTP) server news.csr.com. The newsgroups are a convenient forum for the Bluetooth community to exchange knowledge and are a valuable source of information. Set up instructions and guidelines for the use of newsgroups can be found by following the Technical newsgroups links on the CSR support website. Page 27 of 31

28 Document References 7 Document References Document On-line xide Reference Documentation Reference n/a Page 28 of 31

29 Stream Sink/Source Compatibility Appendix A Stream Sink/Source Compatibility Table A.1 shows the types of source and sink that can be successfully connected together to stream data between them. Sinks Sources Kalimba PCM SCO RFCOMM Kalimba PCM SCO RFCOMM L2CAP UART Host USB (1) HID (2) Region File Audio Notes L2CAP Table A.1: Compatible Sinks and Sources Notes: (1) There are three Usb sink/source types; UsbClass, UsbEndPoint and UsbVendor, the entries apply to all three types. (2) There are two Hid sink/source types; Hid and HidAuxillary, the entries apply to both types. Where an application requires a connection between a sink and source that cannot be connected directly, Kalimba can be used to facilitate the connection e.g. SCO source -> Kalimba sink, Kalimba source -> SCO sink. UART Host USB (1) HID (2) Page 29 of 31

30 Terms and Definitions Terms and Definitions BCSP BlueCore Bluetooth SIG Bluetooth CSR HID L2CAP PCM RFCOMM SCO UART USB xide BlueCore Serial Protocol Group term for CSR s range of Bluetooth wireless technology chips Bluetooth Special Interest Group Set of technologies providing audio and data transfer over short-range radio connections Cambridge Silicon Radio Human Interface Device Logical Link Control and Adaptation Protocol Post Code Modulation Serial cable emulation protocol Synchronous Connection-Oriented link Universal Asynchronous Receiver Transmitter Universal Serial Bus CSR s Integrated Development Environment Page 30 of 31

31 Document History Document History Revision Date History ISSUE 1 01 NOV 06 Original publication of this document. (CSR reference: ) _äìéi~ä»= Implementing Streams in BlueLab User Guide November 2006 Unless otherwise stated, words and logos marked with or are trademarks registered or owned by CSR plc or its affiliates. Bluetooth and the Bluetooth logos are trademarks owned by Bluetooth SIG, Inc. and licensed to CSR. Other products, services and names used in this document may have been trademarked by their respective owners. The publication of this information does not imply that any licence is granted under any patent or other rights owned by CSR plc. CSR reserves the right to make technical changes to its products as part of its development programme. While every care has been taken to ensure the accuracy of the contents of this document, CSR cannot accept responsibility for any errors. CSR s products are not authorised for use in life-support or safety-critical applications. Page 31 of 31

_äìé`çêé» VM Memory Mapping and Memory Usage. Application Note. November CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom

_äìé`çêé» VM Memory Mapping and Memory Usage. Application Note. November CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom _äìé`çêé» VM Memory Mapping and Memory Usage Application Note November 2006 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England 4187346 Tel: +44 (0)1223 692000

More information

user guide January 2006 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England

user guide January 2006 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England user guide January 2006 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England 4187346 Tel: +44 (0)1223 692000 Fax: +44 (0)1223 692001 www.csr.com Contents Contents

More information

_äìé`çêé» UART Host Transport Summary. February 2004

_äìé`çêé» UART Host Transport Summary. February 2004 _äìé`çêé» UART Host Transport Summary February 2004 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England 3665875 Tel: +44 (0)1223 692000 Fax: +44 (0)1223 692001

More information

BlueCore. Operation of Bluetooth v2.1 Devices. Application Note. Issue 7

BlueCore. Operation of Bluetooth v2.1 Devices. Application Note. Issue 7 BlueCore Operation of Bluetooth v2.1 Devices Application Note Issue 7 Page 1 of 26 Document History Revision Date History 1 06 DEC 07 Original publication of this document. 2 27 MAR 08 Bonding description

More information

_äìé`çêé. Audio Compression Codec Specifications and Requirements. Application Note. Issue 2

_äìé`çêé. Audio Compression Codec Specifications and Requirements. Application Note. Issue 2 _äìé`çêé Audio Compression Codec Specifications and Requirements Application Note Issue 2 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England 3665875 Tel: +44

More information

_äìéi~ä»=îpks=iáäê~êáéë

_äìéi~ä»=îpks=iáäê~êáéë a guide to _äìéi~ä»=îpks=iáäê~êáéë November 2006 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England 4187346 Tel: +44 (0)1223 692000 Fax: +44 (0)1223 692001 www.csr.com

More information

_äìéi~ä» stereo_headset application. Readme. November CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom

_äìéi~ä» stereo_headset application. Readme. November CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom _äìéi~ä» stereo_headset application Readme November 2006 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England 4187346 Tel: +44 (0)1223 692000 Fax: +44 (0)1223 692001

More information

_äìé`çêé _äìépìáíé» User Guide

_äìé`çêé _äìépìáíé» User Guide _äìé`çêé _äìépìáíé» User Guide Issue 3 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England 3665875 Tel.: +44 (0)1223 692000 Fax.: +44 (0)1223 692001 www.csr.com

More information

Dotstack Porting Guide.

Dotstack Porting Guide. dotstack TM Dotstack Porting Guide. dotstack Bluetooth stack is a C library and several external interfaces that needs to be implemented in the integration layer to run the stack on a concrete platform.

More information

BLUETOOTH HID PROFILE

BLUETOOTH HID PROFILE BLUETOOTH HID PROFILE iwrap APPLICATION NOTE Wednesday, 14 July 2010 Version 1.4 Copyright 2000-2010 Bluegiga Technologies All rights reserved. Bluegiga Technologies assumes no responsibility for any errors

More information

BlueStack User Manual

BlueStack User Manual BlueStack User Manual General Information General Information Ownership of Information Mezoe 2001 (Mezoe is a division of Cambridge Consultants Ltd) All information contained in this document is owned

More information

ComAPI+ API Documentation

ComAPI+ API Documentation [01.2017] ComAPI+ API Documentation 30515ST10841A Rev. 4 2017-07-20 Mod. 0806 SPECIFICATIONS ARE SUBJECT TO CHANGE WITHOUT NOTICE NOTICES LIST While reasonable efforts have been made to assure the accuracy

More information

Implementing A Bluetooth Stack on UEFI

Implementing A Bluetooth Stack on UEFI Implementing A Bluetooth Stack on UEFI Tony C.S. Lo Senior Manager American Megatrends Inc. presented by UEFI Plugfest October 2014 Agenda Introduction Bluetooth Architecture UEFI Bluetooth Stack Summary

More information

HumidiProbe User Guide

HumidiProbe User Guide HumidiProbe User Guide 2005 Pico Technology Limited. All rights reserved. HumidiProbe044-1.3 I HumidiProbe User Manual Contents 1 Introduction...2...2 1 About HumidiProbe...2 2 Intended use...2 3 This

More information

DIAL-UP NETWORKING PROFILE

DIAL-UP NETWORKING PROFILE Part K:7 DIAL-UP NETWORKING PROFILE This profile defines the requirements for Bluetooth devices necessary for the support of the Dial-up Networking use case. The requirements are expressed in terms of

More information

USB BF70x Audio 1.0 Library v.1.2 Users Guide Users Guide Revision 1.3. For Use With Analog Devices ADSP-BF70x Series Processors

USB BF70x Audio 1.0 Library v.1.2 Users Guide Users Guide Revision 1.3. For Use With Analog Devices ADSP-BF70x Series Processors USB BF70x Audio 1.0 Library v.1.2 Users Guide Users Guide Revision 1.3 For Use With Analog Devices ADSP-BF70x Series Processors Closed Loop Design, LLC 748 S MEADOWS PKWY STE A-9-202 Reno, NV 89521 support@cld-llc.com

More information

dotstack integration with STM32F4 & FreeRTOS.

dotstack integration with STM32F4 & FreeRTOS. dotstack TM dotstack integration with STM32F4 & FreeRTOS. Contents 1. Bluetooth Task... 3 2. Bluetooth controller UART driver... 4 3. Audio playback and recording... 6 3.1. Audio playback... 7 3.2. Audio

More information

Future Technology Devices International Ltd. Application Note AN_172. Vinculum-II. Using the USB Slave Driver

Future Technology Devices International Ltd. Application Note AN_172. Vinculum-II. Using the USB Slave Driver Future Technology Devices International Ltd. Application Note AN_172 Vinculum-II Using the USB Slave Driver Document Reference No.: FT_000424 Version 1.0 Issue Date: 2011-03-15 This application note provides

More information

The XIM Transport Specification

The XIM Transport Specification The XIM Transport Specification Revision 0.1 Takashi Fujiwara, FUJITSU LIMITED The XIM Transport Specification: Revision 0.1 by Takashi Fujiwara X Version 11, Release 7 Copyright 1994 FUJITSU LIMITED Copyright

More information

CLD SC58x CDC Library v.1.00 Users Guide Users Guide Revision For Use With Analog Devices ADSP-SC58x Series Processors. Closed Loop Design, LLC

CLD SC58x CDC Library v.1.00 Users Guide Users Guide Revision For Use With Analog Devices ADSP-SC58x Series Processors. Closed Loop Design, LLC CLD SC58x CDC Library v.1.00 Users Guide Users Guide Revision 1.00 For Use With Analog Devices ADSP-SC58x Series Processors Closed Loop Design, LLC 748 S MEADOWS PKWY STE A-9-202 Reno, NV 89521 support@cld-llc.com

More information

Using XAP Processors in Space Applications

Using XAP Processors in Space Applications Using XAP Processors in Space Applications MESA Roundtable: ESTEC, 4 November 21 Chris Roberts and Alistair Morfey 8 November 21 ASICs-P-78 v1.2 1 2 3 4 Introduction to Cambridge Consultants Challenges

More information

Bluetooth. Bluetooth Radio

Bluetooth. Bluetooth Radio Bluetooth Bluetooth is an open wireless protocol stack for low-power, short-range wireless data communications between fixed and mobile devices, and can be used to create Personal Area Networks (PANs).

More information

Bluetooth PC Card Transport Layer

Bluetooth PC Card Transport Layer Bluetooth WHITE PAPER DATE 25 August 99 N.B. DOCUMENT NO. 1.C.123/1.0 RESPONSIBLE Riku Mettala E-MAIL ADDRESS Riku.Mettala@nmp.nokia.com STATUS Bluetooth PC Card Transport Layer Version 1.0 The Bluetooth

More information

Bluetooth: Short-range Wireless Communication

Bluetooth: Short-range Wireless Communication Bluetooth: Short-range Wireless Communication Wide variety of handheld devices Smartphone, palmtop, laptop Need compatible data communication interface Complicated cable/config. problem Short range wireless

More information

LMX9838 Cable Replacement

LMX9838 Cable Replacement LMX9838 Cable Replacement 1.0 Introduction Bluetooth technology offers a wide range of features and profiles in order to support many different applications. Even though Bluetooth is very flexible, it

More information

Embedded Simply Blue Application Note

Embedded Simply Blue Application Note Embedded Simply Blue Application Note 1.0 Introduction SB_Custom has been created to give an embedded example of a Simply Blue device (LMX9820A, LMX9830 or LMX9838 based) communicating with a 16 bits microprocessor

More information

USB Feature Specification: Shared Endpoints

USB Feature Specification: Shared Endpoints USB Feature Specification: Shared Endpoints SYSTEMSOFT CORPORATION INTEL CORPORATION Revision 1.0 October 27, 1999 USB Feature Specification: Shared Endpoints Revision 1.0 Revision History Revision Issue

More information

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

More information

RapidIO TM Interconnect Specification Part 7: System and Device Inter-operability Specification

RapidIO TM Interconnect Specification Part 7: System and Device Inter-operability Specification RapidIO TM Interconnect Specification Part 7: System and Device Inter-operability Specification Rev. 1.3, 06/2005 Copyright RapidIO Trade Association RapidIO Trade Association Revision History Revision

More information

WRAP THOR ASCII INTERFACE USER S MANUAL

WRAP THOR ASCII INTERFACE USER S MANUAL WRAP THOR ASCII INTERFACE USER S MANUAL BlueGiga Technologies 2002-2003 BlueGiga Technologies assumes no responsibility for any errors which may appear in this manual, reserves the right to alter the devices,

More information

S1R72U01 Technical Manual

S1R72U01 Technical Manual S1R72U01 Technical Manual Rev. 1.00 NOTICE No part of this material may be reproduced or duplicated in any form or by any means without the written permission of Seiko Epson. Seiko Epson reserves the right

More information

ENVIRONMENTAL SENSING PROFILE

ENVIRONMENTAL SENSING PROFILE ENVIRONMENTAL SENSING PROFILE Bluetooth Profile Specification Date 2014-Nov-18 Revision Group Prepared By SFWG Feedback Email sf-main@bluetooth.org Abstract: This profile enables a Collector device to

More information

Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification. Version 0.9 April 1, 2004

Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification. Version 0.9 April 1, 2004 Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification Version 0.9 April 1, 2004 SMBus Host Controller Protocol Specification THIS SPECIFICATION IS PROVIDED "AS IS" WITH

More information

Product Specification

Product Specification Product Specification Description The BT233/224 Bluetooth USB Adapter is an evaluation platform for the BT33 and BT24 module series. This adaptor allows a developer to quickly utilize the embedded AT command

More information

Manual. TC3 Power Monitoring. TwinCAT 3. Version: Date: Order No.: TF3650

Manual. TC3 Power Monitoring. TwinCAT 3. Version: Date: Order No.: TF3650 Manual TC3 Power Monitoring TwinCAT 3 Version: Date: Order No.: 1.1 2019-01-03 TF3650 Table of contents Table of contents 1 Foreword... 5 1.1 Notes on the documentation... 5 1.2 Safety instructions...

More information

Short Notes of CS201

Short Notes of CS201 #includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system

More information

CLD BF70x CDC Library v.1.3 Users Guide Users Guide Revision 1.3. For Use With Analog Devices ADSP-BF70x Series Processors. Closed Loop Design, LLC

CLD BF70x CDC Library v.1.3 Users Guide Users Guide Revision 1.3. For Use With Analog Devices ADSP-BF70x Series Processors. Closed Loop Design, LLC CLD BF70x CDC Library v.1.3 Users Guide Users Guide Revision 1.3 For Use With Analog Devices ADSP-BF70x Series Processors Closed Loop Design, LLC 748 S MEADOWS PKWY STE A-9-202 Reno, NV 89521 support@cld-llc.com

More information

Data sheet Wireless UART firmware version 4

Data sheet Wireless UART firmware version 4 Data sheet Wireless UART firmware version 4 BLUETOOTH is a trademark owned by Bluetooth SIG, Inc., U.S.A. and licensed to Free2move Rev: 05 December 2006 Table of contents 1 GENERAL INFORMATION...4 1.1

More information

[MC-SMP]: Session Multiplex Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MC-SMP]: Session Multiplex Protocol. Intellectual Property Rights Notice for Open Specifications Documentation [MC-SMP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,

More information

BlueCore. Casira User Guide AN100. January 2002

BlueCore. Casira User Guide AN100. January 2002 BlueCore Casira User Guide AN100 January 2002 CSR Unit 400 Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England 3665875 Tel: +44 (0)1223 692000 Fax: +44 (0)1223 692001

More information

The task of writing device drivers to facilitate booting of the DSP via these interfaces is with the user.

The task of writing device drivers to facilitate booting of the DSP via these interfaces is with the user. a Engineer To Engineer Note EE-124 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, WEB: www.analog.com/dsp Booting on the ADSP-2192 The ADSP-2192 currently

More information

AN433: CP2110/4 HID-to-UART API Specification

AN433: CP2110/4 HID-to-UART API Specification The Silicon Labs HID-to-UART interface library provides a simple API to configure and operate CP2110 and CP2114 devices. The library provides interface abstraction so that users can develop their application

More information

Product Specification

Product Specification Product Specification 15mm x 27mm Description One of the most capable Bluetooth modules available, the BT-21 Bluetooth OEM Module is designed for maximum flexibility. The BT-21 module includes 14 general

More information

DM3 Standard Component Interface Messages

DM3 Standard Component Interface Messages DM3 Standard Component Interface Messages Copyright 1998 Dialogic Corporation PRINTED ON RECYCLED PAPER 05-1040-001 COPYRIGHT NOTICE Copyright 1998 Dialogic Corporation. All Rights Reserved. All contents

More information

The XIM Transport Specification

The XIM Transport Specification The XIM Transport Specification Revision 0.1 XVersion 11, Release 6.7 Takashi Fujiwara FUJITSU LIMITED ABSTRACT This specification describes the transport layer interfaces between Xlib and IM Server, which

More information

IrDA INTEROPERABILITY

IrDA INTEROPERABILITY Part F:2 IrDA INTEROPERABILITY The IrOBEX protocol is utilized by the Bluetooth technology. In Bluetooth, OBEX offers same features for applications as within the IrDA protocol hierarchy and enabling the

More information

Architecture Specification

Architecture Specification PCI-to-PCI Bridge Architecture Specification, Revision 1.2 June 9, 2003 PCI-to-PCI Bridge Architecture Specification Revision 1.1 December 18, 1998 Revision History REVISION ISSUE DATE COMMENTS 1.0 04/05/94

More information

Management Component Transport Protocol (MCTP) IDs and Codes

Management Component Transport Protocol (MCTP) IDs and Codes 1 2 3 4 Document Number: DSP0239 Date: 2009-11-03 Version: 1.1.0 5 6 Management Component Transport Protocol (MCTP) IDs and Codes 7 8 9 Document Type: Specification Document Status: DMTF Standard Document

More information

PSK Propagation Reporter DLL Documentation 2013-Mar-10 Philip Gladstone

PSK Propagation Reporter DLL Documentation 2013-Mar-10 Philip Gladstone PSK Propagation Reporter DLL Documentation 2013-Mar-10 Philip Gladstone This describes the PSK Propagation Reporter API that is available on Windows and which is provided by

More information

ESP8266 Application Note Firmware Download Protocol

ESP8266 Application Note Firmware Download Protocol ESP8266 Application Note Firmware Download Protocol Version 1.0 Copyright 2016 About This Guide This document introduces ESP8266 firmware download protocol with a structure as follows. Chapter Title Subject

More information

Amarjeet Singh. February 7, 2012

Amarjeet Singh. February 7, 2012 Amarjeet Singh February 7, 2012 References Bluetooth Protocol Architecture v.1 www.bluetooth.org http://www.tutorial-reports.com/wireless/bluetooth/ Slides from last class uploaded on the course website

More information

USB BF70x Bulk Library v.1.1 Users Guide Users Guide Revision 1.1. For Use With Analog Devices ADSP-BF70x Series Processors. Closed Loop Design, LLC

USB BF70x Bulk Library v.1.1 Users Guide Users Guide Revision 1.1. For Use With Analog Devices ADSP-BF70x Series Processors. Closed Loop Design, LLC USB BF70x Bulk Library v.1.1 Users Guide Users Guide Revision 1.1 For Use With Analog Devices ADSP-BF70x Series Processors Closed Loop Design, LLC 748 S MEADOWS PKWY STE A-9-202 Reno, NV 89521 support@cld-llc.com

More information

10.1 SERIAL PORTS AND UARTS

10.1 SERIAL PORTS AND UARTS RS- serial ports have nine circuits, which can be used for transferring data and signalling. can emulate the serial cable line settings and status of an RS- serial port. provides multiple concurrent connections

More information

Application Note AN_164. Vinculum-II USB Slave. Writing a Function Driver

Application Note AN_164. Vinculum-II USB Slave. Writing a Function Driver Future Technology Devices International Ltd. Application Note AN_164 Vinculum-II USB Slave Writing a Function Driver Document Reference No.: FT_000373 Version 1.0 Issue Date: 2011-03-15 This application

More information

HOST CONTROLLER INTERFACE FUNCTIONAL SPECIFICATION

HOST CONTROLLER INTERFACE FUNCTIONAL SPECIFICATION Part H:1 HOST CONTROLLER INTERFACE FUNCTIONAL SPECIFICATION This document describes the functional specification for the Host Controller Interface (HCI). The HCI provides a command interface to the baseband

More information

C++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay

C++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay C++ Basics Data Processing Course, I. Hrivnacova, IPN Orsay The First Program Comments Function main() Input and Output Namespaces Variables Fundamental Types Operators Control constructs 1 C++ Programming

More information

CS4/MSc Computer Networking. Lecture 13: Personal Area Networks Bluetooth

CS4/MSc Computer Networking. Lecture 13: Personal Area Networks Bluetooth CS4/MSc Computer Networking Lecture 13: Personal Area Networks Bluetooth Computer Networking, Copyright University of Edinburgh 2005 BlueTooth Low cost wireless connectivity for Personal Area Networks

More information

By FaaDoOEngineers.com

By FaaDoOEngineers.com ABSTRACT The seemingly endless entanglement of data wires connecting today s electronic devices has become slightly less jumbled with the introduction of Bluetooth technology and the creation of a wireless

More information

#include <tobii/tobii.h> char const* tobii_error_message( tobii_error_t error );

#include <tobii/tobii.h> char const* tobii_error_message( tobii_error_t error ); tobii.h Thread safety The tobii.h header file collects the core API functions of stream engine. It contains functions to initialize the API and establish a connection to a tracker, as well as enumerating

More information

QS Series Master Development System User's Guide

QS Series Master Development System User's Guide QS Series Master Development System User's Guide ! Table of Contents Warning: Some customers may want Linx radio frequency ( RF ) products to control machinery or devices remotely, including machinery

More information

Customer Order toll- free in the U.S.: Call BBOX (outside U.S. call )

Customer Order toll- free in the U.S.: Call BBOX (outside U.S. call ) Customer Order toll- free in the U.S.: Call 877-877-BBOX (outside U.S. call 724-746-5500) Support FREE technical support 24 hours a day, 7 days a week: Call 724-746-5500 or fax 724-746-0746 Informationwww.blackbox.com

More information

bioplux C++ API v. 2

bioplux C++ API v. 2 bioplux C++ API v. 2 Programming Interface Reference Document Version 1d 1/12 Change Log Version Date Changes 1d 17 Mar 2015 Include VS2013 in Introduction. 1c 23 Nov 2012 Removed the GetFrames (no arguments)

More information

RFCOMM with TS 07.10

RFCOMM with TS 07.10 Part F:1 Serial Port Emulation This document specifies the RFCOMM protocol by specifying a subset of the ETSI TS 07.10 standard, along with some Bluetooth-specific adaptations BLUETOOTH SPECIFICATION Version

More information

Embedded Systems. 8. Communication

Embedded Systems. 8. Communication Embedded Systems 8. Communication Lothar Thiele 8-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

SpiNNaker Application Programming Interface (API)

SpiNNaker Application Programming Interface (API) SpiNNaker Application Programming Interface (API) Version 2.0.0 10 March 2016 Application programming interface (API) Event-driven programming model The SpiNNaker API programming model is a simple, event-driven

More information

Introduction to Bluetooth Wireless Technology

Introduction to Bluetooth Wireless Technology Introduction to Bluetooth Wireless Technology Jon Inouye Staff Software Engineer Mobile Platforms Group Intel Corporation Bluetooth Bluetooth is is a a trademark trademark owned owned by by Bluetooth Bluetooth

More information

Product Specification

Product Specification Product Specification Features Amp ed RF, Inc. Description 15mm x 27mm The added class 1 power, +18dBm, of the BT-11, gives this module one of the best ranges in the industry. It s completely pin compatible

More information

Nabto Serial Link Protocol

Nabto Serial Link Protocol Nabto Serial Link Protocol Nabto TM Nabto Serial Link Protocol Page 1 of 22 Contents Vocabulary... 4 Introduction... 5 Access Control... 5 Connection type... 5 Access Control List... 5 Protocol details...

More information

Transporting audio-video data

Transporting audio-video data Transporting audio-video data A particular use case in embedded system networks is the delivery of audiovideo data Specific requirements: Higher datarates dictated by the volume of information that has

More information

National Aeronautics and Space and Administration Space Administration. cfe Release 6.6

National Aeronautics and Space and Administration Space Administration. cfe Release 6.6 National Aeronautics and Space and Administration Space Administration cfe Release 6.6 1 1 A Summary of cfe 6.6 All qualification testing and documentation is now complete and the release has been tagged

More information

Input Components C H A P T E R 1 4. See also: System FAQs for WHQL Testing on

Input Components C H A P T E R 1 4. See also: System FAQs for WHQL Testing on Part 4 Device Design Guidelines C H A P T E R 1 4 Input Components This chapter presents the requirements and recommendations for standard input devices and connections under the Microsoft Windows family

More information

Ausgewählte Betriebssysteme - Mark Russinovich & David Solomon (used with permission of authors)

Ausgewählte Betriebssysteme - Mark Russinovich & David Solomon (used with permission of authors) Outline Windows 2000 - The I/O Structure Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik Components of I/O System Plug n Play Management Power Management I/O Data Structures File

More information

WRAP THOR WT11 Bluetooth Module. Description. Key Features. Bluetooth Class 1. Two antenna options: integrated chip antenna or U.

WRAP THOR WT11 Bluetooth Module. Description. Key Features. Bluetooth Class 1. Two antenna options: integrated chip antenna or U. WRAP THOR WT11 Bluetooth Module Description WT11 is a next-generation, class 1, Bluetooth 2.0+EDR (Enhanced Data Rates) module. It introduces three times faster data rates compared to existing Bluetooth

More information

QNX Software Development Platform 6.6. Input Events Library Reference

QNX Software Development Platform 6.6. Input Events Library Reference QNX Software Development Platform 6.6 QNX Software Development Platform 6.6 Input Events Library Reference 2011 2014, QNX Software Systems Limited, a subsidiary of BlackBerry Limited. All rights reserved.

More information

ANSI E Architecture for Control Networks Device Management Protocol Entertainment Services and Technology Association Abstract

ANSI E Architecture for Control Networks Device Management Protocol  Entertainment Services and Technology Association Abstract ANSI E1.17-2006 Architecture for Control Networks Device Management Protocol This document forms part of ANSI E1.17-2006, Entertainment Technology - Architecture for Control Networks, which was approved

More information

CS263: Wireless Communications and Sensor Networks

CS263: Wireless Communications and Sensor Networks CS263: Wireless Communications and Sensor Networks Matt Welsh Lecture 6: Bluetooth and 802.15.4 October 12, 2004 2004 Matt Welsh Harvard University 1 Today's Lecture Bluetooth Standard for Personal Area

More information

Version 1.0.1

Version 1.0.1 1 of 19 Pages SyncML OBEX Binding Abstract This document describes how to use SyncML over OBEX. The document uses the primitives and methods defined in the OBEX specification V1.2 as defined in [1]. The

More information

As of October 1, 1998, our address is:

As of October 1, 1998, our address is: 3 Hi/fn TM supplies two of the Internet s most important raw materials: compression and encryption. Hi/fn is also the world s first company to put both on a single chip, creating a processor that performs

More information

SDD Advanced-User Manual Version 1.1

SDD Advanced-User Manual Version 1.1 SDD Advanced-User Manual Version 1.1 Arthur Choi and Adnan Darwiche Automated Reasoning Group Computer Science Department University of California, Los Angeles Email: sdd@cs.ucla.edu Download: http://reasoning.cs.ucla.edu/sdd

More information

Cisco Instant Connect MIDlet Reference Guide

Cisco Instant Connect MIDlet Reference Guide Cisco Instant Connect MIDlet Reference Guide Cisco IPICS 4.7 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800 553-NETS

More information

Inside Bluetooth. Host. Bluetooth. Module. Application RFCOMM SDP. Transport Interface. Transport Bus. Host Controller Interface

Inside Bluetooth. Host. Bluetooth. Module. Application RFCOMM SDP. Transport Interface. Transport Bus. Host Controller Interface Inside Bluetooth Application Host Application Host Audio (SCO) RFCOMM SDP Data (ACL) Control API and Legacy Support Modules Bluetooth HCI Driver Transport Interface Physical I/F Transport Bus Bluetooth

More information

[MS-ABTP]: Automatic Bluetooth Pairing Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-ABTP]: Automatic Bluetooth Pairing Protocol. Intellectual Property Rights Notice for Open Specifications Documentation [MS-ABTP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,

More information

Laboratory 5 Communication Interfaces

Laboratory 5 Communication Interfaces Laboratory 5 Communication Interfaces Embedded electronics refers to the interconnection of circuits (micro-processors or other integrated circuits) with the goal of creating a unified system. In order

More information

Developer s Guide. BlackBerry. Address Book API. Version 2.0

Developer s Guide. BlackBerry. Address Book API. Version 2.0 Developer s Guide BlackBerry Address Book API Version 2.0 BlackBerry Address Book API, Version 2.0 Last revised 10/04/2000 Part Number: PDF-02738-001 (This document is part of the Extended API manual.)

More information

NVJPEG. DA _v0.2.0 October nvjpeg Libary Guide

NVJPEG. DA _v0.2.0 October nvjpeg Libary Guide NVJPEG DA-06762-001_v0.2.0 October 2018 Libary Guide TABLE OF CONTENTS Chapter 1. Introduction...1 Chapter 2. Using the Library... 3 2.1. Single Image Decoding... 3 2.3. Batched Image Decoding... 6 2.4.

More information

[MS-SSP]: Intellectual Property Rights Notice for Open Specifications Documentation

[MS-SSP]: Intellectual Property Rights Notice for Open Specifications Documentation [MS-SSP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

ICC. EtherNet/IP Client Driver Manual INDUSTRIAL CONTROL COMMUNICATIONS, INC Industrial Control Communications, Inc.

ICC. EtherNet/IP Client Driver Manual INDUSTRIAL CONTROL COMMUNICATIONS, INC Industrial Control Communications, Inc. INDUSTRIAL CONTROL COMMUNICATIONS, INC. EtherNet/IP Client Driver Manual October 30, 2014 2014 Industrial Control Communications, Inc. TABLE OF CONTENTS 1 EtherNet/IP Client... 2 1.1 Overview... 2 1.2

More information

Generalised User Interface for Embedded Applications using an LCD screen and keypad.

Generalised User Interface for Embedded Applications using an LCD screen and keypad. Generalised User Interface for Embedded Applications using an LCD screen and keypad. This article is concerned with firmware design and implementation for microcontroller-based devices incorporating a

More information

BlueCore TM 01. Summary. Returns information on bit errors to the host as those given for BIT ERR1.

BlueCore TM 01. Summary. Returns information on bit errors to the host as those given for BIT ERR1. Spec Name BIT ERR2 Enables the receiver with simplified hopping defined by Country Code with a choice of low or high side modulation (hi-side), and with a designated attenuation setting (RX Attenuation)

More information

Dialogic Multimedia API

Dialogic Multimedia API Dialogic Multimedia API Library Reference August 2007 05-2454-002 Copyright 2005-2007, Dialogic Corporation. All rights reserved. You may not reproduce this document in whole or in part without permission

More information

USER MANUAL. Universal Dual Headphone Bluetooth Wireless Audio Transmitter Model: AF-T1

USER MANUAL. Universal Dual Headphone Bluetooth Wireless Audio Transmitter Model: AF-T1 USER MANUAL Universal Dual Headphone Bluetooth Wireless Audio Transmitter Model: AF-T1 B PACKAGE CONTENTS EN Universal Dual Headphone Bluetooth Wireless Audio Transmitter Bluetooth Transmitter Micro-USB

More information

Manual. TC3 Virtual Serial COM. TwinCAT 3. Version: Date: Order No.: TF 6360

Manual. TC3 Virtual Serial COM. TwinCAT 3. Version: Date: Order No.: TF 6360 Manual TC3 Virtual Serial COM TwinCAT 3 Version: Date: Order No.: 1.1 2018-05-02 TF 6360 Table of Contents Table of Contents 1 Foreword... 5 1.1 Notes on the documentation... 5 1.2 Safety instructions...

More information

ECE251: Thursday November 8

ECE251: Thursday November 8 ECE251: Thursday November 8 Universal Asynchronous Receiver & Transmitter Text Chapter 22, Sections 22.1.1-22.1.4-read carefully TM4C Data Sheet Section 14-no need to read this A key topic but not a lab

More information

Bluetooth Demystified

Bluetooth Demystified Bluetooth Demystified S-72.4210 Postgraduate Course in Radio Communications Er Liu liuer@cc.hut.fi -10 Content Outline Bluetooth History Bluetooth Market and Applications Bluetooth Protocol Stacks Radio

More information

BlackBerry Software Development Kit Version 2.5. System Utilities API Reference Guide

BlackBerry Software Development Kit Version 2.5. System Utilities API Reference Guide BlackBerry Software Development Kit Version 2.5 System Utilities API Reference Guide BlackBerry Software Development Kit 2.5 System Utilities API Reference Guide Last revised: 18 July 2002 Part number:

More information

Playing & Recording Audio Audio Queue Services Playback

Playing & Recording Audio Audio Queue Services Playback Playing & Recording Audio Audio Queue Services Playback The most common scenario : basic playing back an on-disk file 11 2010-2 iphone Application 1. 2. Playback Audio Queue Callback 1. Playback Audio

More information

[MS-IISS]: Internet Information Services (IIS) ServiceControl Protocol

[MS-IISS]: Internet Information Services (IIS) ServiceControl Protocol [MS-IISS]: Internet Information Services (IIS) ServiceControl Protocol Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications

More information

Asynchronous Serial Communication Protocol (without Flow Control) using TLM 2.0 (Example of Non memory based protocol )

Asynchronous Serial Communication Protocol (without Flow Control) using TLM 2.0 (Example of Non memory based protocol ) Asynchronous Serial Communication Protocol (without Flow Control) using TLM 2.0 (Example of Non memory based protocol ) Copyright GreenSocs Ltd 2008 Developed by: Manish Aggarwal, Ruchir Bharti Circuitsutra

More information

Manual. PLC Lib: Tc2_SMI. TwinCAT 3. Version: Date:

Manual. PLC Lib: Tc2_SMI. TwinCAT 3. Version: Date: Manual PLC Lib: Tc2_SMI TwinCAT 3 Version: Date: 1.4 2017-05-31 Table of contents Table of contents 1 Foreword... 5 1.1 Notes on the documentation... 5 1.2 Safety instructions... 6 2 Introduction... 7

More information

UNIT 5 P.M.Arun Kumar, Assistant Professor, Department of IT, Sri Krishna College of Engineering and Technology, Coimbatore.

UNIT 5 P.M.Arun Kumar, Assistant Professor, Department of IT, Sri Krishna College of Engineering and Technology, Coimbatore. Communication Switching Techniques UNIT 5 P.M.Arun Kumar, Assistant Professor, Department of IT, Sri Krishna College of Engineering and Technology, Coimbatore. Bluetooth Techniques References 1. Wireless

More information