mirror of
https://github.com/google/bumble.git
synced 2026-05-09 04:08:02 +00:00
Merge pull request #157 from yuyangh/main
Add connection into event emit
This commit is contained in:
@@ -20,7 +20,7 @@ import struct
|
|||||||
import logging
|
import logging
|
||||||
from typing import List
|
from typing import List
|
||||||
from ..core import AdvertisingData
|
from ..core import AdvertisingData
|
||||||
from ..device import Device
|
from ..device import Device, Connection
|
||||||
from ..gatt import (
|
from ..gatt import (
|
||||||
GATT_ASHA_SERVICE,
|
GATT_ASHA_SERVICE,
|
||||||
GATT_ASHA_READ_ONLY_PROPERTIES_CHARACTERISTIC,
|
GATT_ASHA_READ_ONLY_PROPERTIES_CHARACTERISTIC,
|
||||||
@@ -60,12 +60,12 @@ class AshaService(TemplateService):
|
|||||||
self.psm = psm # a non-zero psm is mainly for testing purpose
|
self.psm = psm # a non-zero psm is mainly for testing purpose
|
||||||
|
|
||||||
# Handler for volume control
|
# Handler for volume control
|
||||||
def on_volume_write(_connection, value):
|
def on_volume_write(connection, value):
|
||||||
logger.info(f'--- VOLUME Write:{value[0]}')
|
logger.info(f'--- VOLUME Write:{value[0]}')
|
||||||
self.emit('volume', value[0])
|
self.emit('volume', connection, value[0])
|
||||||
|
|
||||||
# Handler for audio control commands
|
# Handler for audio control commands
|
||||||
def on_audio_control_point_write(_connection, value):
|
def on_audio_control_point_write(connection: Connection, value):
|
||||||
logger.info(f'--- AUDIO CONTROL POINT Write:{value.hex()}')
|
logger.info(f'--- AUDIO CONTROL POINT Write:{value.hex()}')
|
||||||
opcode = value[0]
|
opcode = value[0]
|
||||||
if opcode == AshaService.OPCODE_START:
|
if opcode == AshaService.OPCODE_START:
|
||||||
@@ -79,6 +79,7 @@ class AshaService(TemplateService):
|
|||||||
)
|
)
|
||||||
self.emit(
|
self.emit(
|
||||||
'start',
|
'start',
|
||||||
|
connection,
|
||||||
{
|
{
|
||||||
'codec': value[1],
|
'codec': value[1],
|
||||||
'audiotype': value[2],
|
'audiotype': value[2],
|
||||||
@@ -88,7 +89,7 @@ class AshaService(TemplateService):
|
|||||||
)
|
)
|
||||||
elif opcode == AshaService.OPCODE_STOP:
|
elif opcode == AshaService.OPCODE_STOP:
|
||||||
logger.info('### STOP')
|
logger.info('### STOP')
|
||||||
self.emit('stop')
|
self.emit('stop', connection)
|
||||||
elif opcode == AshaService.OPCODE_STATUS:
|
elif opcode == AshaService.OPCODE_STATUS:
|
||||||
logger.info(f'### STATUS: connected={value[1]}')
|
logger.info(f'### STATUS: connected={value[1]}')
|
||||||
|
|
||||||
@@ -141,7 +142,7 @@ class AshaService(TemplateService):
|
|||||||
def on_data(data):
|
def on_data(data):
|
||||||
logging.debug(f'<<< data received:{data}')
|
logging.debug(f'<<< data received:{data}')
|
||||||
|
|
||||||
self.emit('data', data)
|
self.emit('data', channel.connection, data)
|
||||||
self.audio_out_data += data
|
self.audio_out_data += data
|
||||||
|
|
||||||
channel.sink = on_data
|
channel.sink = on_data
|
||||||
|
|||||||
Reference in New Issue
Block a user