diff options
author | shi ce <shic.fnst@fujitsu.com> | 2021-06-11 13:07:28 +0800 |
---|---|---|
committer | Edi Feschiyan <edi.feschiyan@konsulko.com> | 2021-06-11 09:10:42 +0000 |
commit | 91f2422ce05f281907ea5a4f95834211f50e0593 (patch) | |
tree | c5c6873381821564541acada9e647ccd4d8d53c1 | |
parent | f1d82ed105eeb4a49961827bb8c8aa7e44ef5957 (diff) |
Adding CLI functionality for bluetoothmarlin_12.90.0marlin/12.90.0lamprey_11.92.0lamprey/11.92.012.90.011.92.0
Bug-AGL: SPEC-3946
Signed-off-by: shi ce <shic.fnst@fujitsu.com>
Change-Id: I5d8fac98bd2b1024da774e7108586083b207864e
-rw-r--r-- | pyagl/services/bluetooth.py | 73 |
1 files changed, 67 insertions, 6 deletions
diff --git a/pyagl/services/bluetooth.py b/pyagl/services/bluetooth.py index a5785df..1755cba 100644 --- a/pyagl/services/bluetooth.py +++ b/pyagl/services/bluetooth.py @@ -16,6 +16,8 @@ from pyagl.services.base import AGLBaseService, AFBResponse import asyncio import os +import json + Verbs = ['subscribe', 'unsubscribe', 'managed_objects', 'adapter_state', 'default_adapter', 'avrcp_controls', 'connect', 'disconnect', 'pair', 'cancel_pairing', 'confirm_pairing', 'remove_device'] @@ -27,16 +29,18 @@ BTEventType = ['adapter_changes', 'device_changes', 'media', 'agent'] class BluetoothService(AGLBaseService): service = 'agl-service-bluetooth' parser = AGLBaseService.getparser() - parser.add_argument('--default_adapter', help='Get default bluetooth adapter', action='store_true') + parser.add_argument('--get_default_adapter', help='Get default bluetooth adapter', action='store_true') + parser.add_argument('--set_default_adapter', help='Set default bluetooth adapter') parser.add_argument('--managed_objects', help='Get managed objects', action='store_true') parser.add_argument('--adapter', help='Select remote adapter', required=False, default='hci0') - parser.add_argument('--adapter_state') + parser.add_argument('--adapter_state',) parser.add_argument('--connect', help='Connect to device', metavar='dev_88_0F_10_96_D3_20') parser.add_argument('--disconnect', help='Disconnect from device', metavar='dev_88_0F_10_96_D3_20') parser.add_argument('--pair', help='Pair with a device', metavar='dev_88_0F_10_96_D3_20') parser.add_argument('--cancel_pairing', help='Cancel ongoing pairing') - parser.add_argument('--confirm_pairing', metavar='pincode') + parser.add_argument('--confirm_pairing',metavar='pincode') parser.add_argument('--remove_device', metavar='dev_88_0F_10_96_D3_20', help='Remove paired device') + parser.add_argument('--avrcp_controls') def __init__(self, ip, port=None, service='agl-service-bluetooth'): super().__init__(api='Bluetooth-Manager', ip=ip, port=port, service=service) @@ -90,14 +94,71 @@ async def main(loop): args = BluetoothService.parser.parse_args() bts = await BluetoothService(ip=args.ipaddr, port=args.port) - if args.default_adapter: + if args.get_default_adapter: msgid = await bts.default_adapter() - print(f'Requesting default adapter with id {msgid}') + print(f'Requesting get default adapter with id {msgid}') + r = await bts.afbresponse() + print(r) + + if args.set_default_adapter: + msgid = await bts.default_adapter(args.set_default_adapter) + print(f'Requesting set default adapter with id {msgid}') + r = await bts.afbresponse() + print(r) + + if args.managed_objects: + msgid = await bts.managed_objects() + print(f'Requesting managed objects with id {msgid}') r = await bts.afbresponse() print(r) if args.adapter_state: - pass + msgid = await bts.adapter_state(args.adapter_state) + print(f'Requesting adapter state with id {msgid}') + r = await bts.afbresponse() + print(r) + + if args.connect: + msgid = await bts.connect(args.connect) + print(f'Requesting connect with id {msgid}') + r = await bts.afbresponse() + print(r) + + if args.disconnect: + msgid = await bts.disconnect(args.disconnect) + print(f'Requesting disconnect with id {msgid}') + r = await bts.afbresponse() + print(r) + + if args.pair: + msgid = await bts.pair(args.pair) + print(f'Requesting pair with id {msgid}') + r = await bts.afbresponse() + print(r) + + if args.cancel_pairing: + msgid = await bts.cancel_pairing() + print(f'Requesting cancel pairing with id {msgid}') + r = await bts.afbresponse() + + if args.confirm_pairing: + msgid = await bts.confirm_pairing(args.confirm_pairing) + print(f'Requesting confirm pairing with id {msgid}') + r = await bts.afbresponse() + print(r) + + if args.remove_device: + msgid = await bts.remove_device(args.remove_device) + print(f'Requesting remove device with id {msgid}') + r = await bts.afbresponse() + print(r) + + if args.avrcp_controls: + msgid = await bts.avrcp_controls(args.avrcp_controls) + print(f'Requesting avrcp controls with id {msgid}') + r = await bts.afbresponse() + print(r) + if args.listener: for response in bts.listener(): |