Commit message (Collapse)AuthorAgeFilesLines
* HoG: Handle HID devices operating in Boot Protocol Modefor-upstreamPaulo Alcantara2012-06-211-1/+49
| | | | | | | | | | | | | | | HID devices like keyboards, as well as mices, support boot protocol. It was designed to be used by the PC BIOS during POST setup. Thus, BlueZ does not have to support HID devices operating in this mode, so we need to change from Boot Procotol Mode to Report Protocol Mode since we're running out of BIOSes. As the default Protocol Mode for all HID devices is the Report Protocol Mode, we set the Protocol Mode characteristic value to 1 (Report Protocol Mode) when necessary. This patches takes cares of changing from Boot Protocol Mode to Report Protocol Mode by writing the Protocol Mode characteristic value to 1, which is value for Report Protocol Mode, on HID devices operating in Boot Protocol Mode.
* battery: Add fast connection parameters settingsClaudio Takahasi2012-06-211-1/+1
* hog: Add fast connection parameters settingsClaudio Takahasi2012-06-211-1/+10
* scan: Add fast connection parameters settingsClaudio Takahasi2012-06-211-1/+1
* attio: Add fast connection parameters settingsClaudio Takahasi2012-06-218-8/+36
| | | | | | This patch extends the attio callback registration function allowing the plugins to inform the wanted connection parameters. For multi profile scenario, the core will use the most restrictive settings.
* attio: Rename att_cleanup to attio_cleanupClaudio Takahasi2012-06-211-7/+7
| | | | | | Cosmetic change renaming attio cleanup function. attio prefix is more suitable since attio implements GIOChannel abstraction in the top of the GAttrib.
* Battery: Fix missing GAttrib handler unregisterClaudio Takahasi2012-06-211-0/+3
* device: Disable unnecessary auto connectionsPaulo Alcantara2012-06-211-0/+3
| | | | | | | | | | | | | When a remote device is disconnected from some reason and BlueZ attempts to connect to the remote device again when auto connection is enabled, the kernel exposes an errorneous number, which is the ECONNABORTED, that means the remote device connection has been terminated by user and the host must *NOT* to connect to it again but BlueZ _always_ enable auto connection as it should not. This patches checks for the ECONNABORTED in order to avoid enabling auto connections where connection won't be possible from host to remote device anymore.
* btio: Rescue lost errorneous numbersPaulo Alcantara2012-06-212-37/+48
| | | | | | | | | | | | | | The BT_IO_ERROR_* flags are not used for anything else and we just loosing errorneous numbers set in the sockets that might be more useful for handling specific errors. A use case would be disconnect errors that should not allow BlueZ to enable auto connections since the connection would never be possible in some cases. This patch removes BT_IO_ERROR_* flags and use the errors set in the sockets instead. Now the errors passed in connect/disconnect callbacks should contain proper errorneous numbers passed to them.
* battery: Add support for notificationsChen Ganir2012-06-212-3/+112
| | | | | Add support for emitting PropertyChanged when a battery level characteristic notification is sent from the peer device.
* battery: Read Battery level characteristicChen Ganir2012-06-211-0/+35
| | | | | Add support for reading the battery level characteristic on connection establishment.
* battery: Add battery support to btd_deviceChen Ganir2012-06-218-12/+193
| | | | | Add the battery support to btd_device. When GetProperties D-BUS function is called, a list of battery object paths is provided.
* battery: Get Battery IDChen Ganir2012-06-211-28/+87
| | | | | Read the battery level format characteristic descriptor to get the unique namespace and description values.
* battery: Discover Characteristic DescriptorsChen Ganir2012-06-211-1/+71
| | | | | Discover all characteristic descriptors, and build a descriptor list
* battery: Add connection logicChen Ganir2012-06-213-4/+97
| | | | | | Add connection logic to the Battery Plugin. When the driver is loaded, it will request a connection to the remote device and release the connection request when destroyed.
* battery: Add Battery Service GATT ClientChen Ganir2012-06-216-2/+256
| | | | Add support for the Battery Service Gatt Client side.
* core: Control connections based on adapter stateClaudio Takahasi2012-06-211-9/+16
| | | | | | This patch disable automatic ATTIO connections when the adapter is powered down and enable automatic connection when the adapter is powered on.
* core: Re-connect if error number is ECONNRESETClaudio Takahasi2012-06-211-1/+4
| | | | | | | For remote initiated disconnection, the automatic connection mechanism should stay active. Use case: The HID over GATT Device may perform the GAP Terminate Connection procedure if the connection is idle for a time period, which is implementation specific.
* scan: Write parameters when requestedClaudio Takahasi2012-06-211-8/+17
| | | | | | | This patch implements the update procedure of the scan parameters when the Scan Server requests. The Scan Refresh characteristic is used to inform the Scan Client(BlueZ) that the Scan Server requires the most recent scan settings.
* scan: Register notification handlerClaudio Takahasi2012-06-211-1/+35
| | | | | This patch registers the GAttrib notification handler for Refresh Characteristic notification.
* scan: Enable Scan Refresh notificationClaudio Takahasi2012-06-211-1/+79
| | | | | This patch discovers the Scan Refresh Characteristic handle and sets it's Client Characteristic Configuration bit to enable notifications.
* scan: Add write scan interval windowClaudio Takahasi2012-06-211-0/+41
| | | | | | This patch adds the handle discovery of the Scan Interval Window Characteristic and write the default value (hard-coded in the kernel) of the scan interval, and scan window in the remote's characteristic.
* scan: Add ATTIO callbacks registrationClaudio Takahasi2012-06-214-2/+159
| | | | | | | | This patch add the functions to manage ATTIO callbacks. The current registration mechanism is not suitable for this service since it needs to be passive. Scan Parameters should not actively request connections, it needs to be notified if the connections has been established requested by other services.
* scan: Register device driverClaudio Takahasi2012-06-214-2/+95
| | | | | This patch add the probe and remove callbacks for the GATT Scan Parameters service.
* scan: Add plugin skeletonClaudio Takahasi2012-06-212-2/+56
| | | | | | This patch adds the Makefile changes and plugin declaration to support Scan Parameters service. BlueZ will act as Scan Client writting to a Scan Server the scanning parameters.
* hog: Use hardware country codeClaudio Takahasi2012-06-211-5/+12
| | | | | | | | bCountryCode is a 8-bits integer identifying hardware target country. The order of the characteristic declarations may be different on each implementation. Since GATT/ATT requests need to be serialized, HID information will be returned before report map characteristic value.
* hog: Add HID Information Characteristic readClaudio Takahasi2012-06-211-1/+37
| | | | | This patch adds the characteristic value read for HID Information Characteristic. It's information contains HID Device's HID Attributes.
* hog: Handle feature reportsJoão Paulo Rechi Vita2012-06-211-1/+13
| | | | | This patch writes the feature reports coming from the HID host on the device's Feature Report characteristic.
* hog: Handle output eventsJoão Paulo Rechi Vita2012-06-211-0/+5
| | | | | This patch prints the output events coming from the HID host for debug purposes.
* hog: Handle output reportsJoão Paulo Rechi Vita2012-06-211-0/+60
| | | | | This patch writes the output reports coming from the HID host on the device's Output Report characteristic.
* hog: Add support for uHID eventsJoão Paulo Rechi Vita2012-06-211-0/+44
| | | | This patch adds the GLib GIOChannel watcher to monitor uhid events.
* hog: Prepend Report ID to the HID reportJoão Paulo Rechi Vita2012-06-201-14/+64
| | | | | If the report descriptor has a Report ID tag it has to be prepended to the report data to construct the HID report itself.
* hog: Add read Report Reference descriptorClaudio Takahasi2012-06-202-4/+24
| | | | | This patch adds the GATT operation to read the value of the Report Reference descriptor of the Report characteristic.
* hog: Use real values for vendor and product IDsClaudio Takahasi2012-06-201-5/+12
| | | | | | This patch replaces the hard-code values for vendor and product IDs by the values obtained from the device core functions. Vendor and product IDs are read from the remote's Device Information Service.
* hog: HID I/O driverJoão Paulo Rechi Vita2012-06-205-20/+88
| | | | | | | | | uHID is HID I/O driver that makes possible to implement HID I/O drivers in user-space. It works similar to the uinput but it is initialized with a HID descriptor and deals with raw HID reports. This commit uses uHID to create a HID device for the remote HoG device and to tranfers HID reports to HID subsystem.
* hog: Add report notification handlerJoão Paulo Rechi Vita2012-06-201-0/+21
* hog: Enable "Report" characteristic notificationsJoão Paulo Rechi Vita2012-06-201-3/+27
* hog: Discover the "Report Map" characteristicJoão Paulo Rechi Vita2012-06-201-9/+41
| | | | This characteristic contains the HID descriptor.
* hog: Discover descriptors for all characteristicsClaudio Takahasi2012-06-201-1/+55
| | | | | "Report" characteristic has "Report Reference Characteristic" descriptor and "Client Characteristic Configuration" descriptor.
* hog: Discover all characteristics declarationJoão Paulo Rechi Vita2012-06-201-0/+52
| | | | | HID service supports multiple report characteristic. Each report characteristic has a reference descriptor containing ID and type.
* hog: Load primary service handleJoão Paulo Rechi Vita2012-06-201-0/+31
* hog: Register ATTIO callbacksJoão Paulo Rechi Vita2012-06-204-2/+148
| | | | This way the LE connection is kept up. Also set device to autoconnect.
* hog: Add checking for 'EnableGatt'Claudio Takahasi2012-06-191-0/+9
| | | | | This patch adds the verification for 'EnableGatt' config option on HoG plugin. HoG should not be enabled if EnableGatt is disabled.
* hog: Register HID over GATT device driverClaudio Takahasi2012-06-196-0/+81
* attrib-server: Fix MTU for GATTClaudio Takahasi2012-06-191-1/+1
| | | | | | | | This patch changes the size of the input and output buffers to the same size of the channel MTU. The channel MTU, in turn, is the L2CAP MTU for BR/EDR channels, and the ATT MTU for LE channels. This value can change between calls to channel_handler if a GATT MTU exchange procedure is performed, which is only supported by LE channels.
* generic attribute: Use GAttrib bufferClaudio Takahasi2012-06-191-2/+4
| | | | | This patch replaces the static local buffer by the GAttrib internal buffer to temporarily store the output ATT PDU.
* proximity: Reduce array size for Tx Power LevelClaudio Takahasi2012-06-191-1/+2
| | | | | Tx Power Level characteristic is a signed 8-bits integer which reports the current transmit power level.
* thermometer: Reduce array size for Measurement IntervalClaudio Takahasi2012-06-191-1/+2
| | | | | Measurement Interval is a 16-bits value characteristic used to enable and control the interval between consecutive temperature measurements.
* thermometer: Reduce the array for temperature typeClaudio Takahasi2012-06-191-1/+2
| | | | | | Temperature Type characteristic is a 8-bits value used to describe the type of temperature measurement in relation to the location on the human body.
* thermometer: Reduce the array for Valid RangeClaudio Takahasi2012-06-191-1/+3
| | | | | | Valid Range descriptor contains two unsigned 16-bits integers representing the valid range of values that the Measurement Interval characteristic can support.