btstack/TODO.txt

100 lines
4.4 KiB
Plaintext
Raw Normal View History

2009-06-06 17:43:50 +00:00
/* new todo file for BTstack */
2009-11-08: Release 0.1
2010-06-20: Release 0.2 - SDP + iOS 4 support
2010-11-22 20:27:10 +00:00
2010-11-2x: Release 0.2 - revsion 973 for WeBe++
- Fix for regression bug in 0.2-899 that prevented automatic disabling of Apple Bluetooth stack, less crashes
2010-11-22 20:27:10 +00:00
- Startup: send kill signal to BlueTool and BTServer, if necessary
- Connection setup: don't close baseband during authentication
2010-11-22 20:27:10 +00:00
- Remote Device DB: automatic link key handling in BTdaemon, provide cached remote names during inquiry
- SDP: use 1000 bytes MTU, fix partial responses, fix an incompatibility with Windows native statck
- Cocoa run_loop: added timeouts, include in libBTstack.dylib build
2010-xxxx: Release 0.2 - revions xxx
- limit size of /tmp/hci_dump.pklg to 1000 packets (max 1 MB)
2011-01-08 23:03:12 +00:00
- power handling: handle power changes in all states, receive and handle power notifications, keep track of individual clients
NEXT:
- DONE: provide per client information: connection, power mode
2011-01-09 22:22:48 +00:00
- DONE: fix bug with run_loop_cocoa, after client disconnects
- power handling
- DONE: add wake() to bt_control.h: OFF<->ON<->SLEEP (SLEEP -> OFF is possible)
2011-01-09 22:22:48 +00:00
- DONE: check if Bluetooth module can be woken up instantly with BlueTool on Broadcom chipsets -> yes
- check if Bluetooth module can be woken up instantly with BlueTool on CSR chipsets
- check apps for sleep mode compatibility - see what happens on ACTIVATED event
- Keyboard
- Mouse
- WeBe++
- WiiMote example
- BTstackManager
- automate scan enable management
- provide new "set discoverable (on/off)" command and store in per client information
- keep track of page scan enable -> active if l2cap services exist
2011-01-08 23:03:12 +00:00
- clean up components
- consolidate iOS code in port_ios.m (bt_control_iphone.m, platform_iphone.m)
- consolidate cocoa/corefoundation code in port_corefoundation.c (remote_device_db)
- rename bt_control.h -> power_management.h
- add control of status bar icon to bt_control.h, too.
- decide on configure flags
- dynamic link BTdaemon against libBTstack.dylist
- decide what to do with the CocoaTouch code. Options:
- do nothing (potential problem with multiple dylibs in same process)
- add it to libBTstack.dylib
- provide a libBTstackCocoaTouch.dylib (less memory usage)
2011-01-08 23:03:12 +00:00
2010-06-13 15:46:31 +00:00
- move RFCOMM code into BTdaemon
- have a look at External Accessory interface by Apple - it's quite similar in function to BTstack
2010-09-24 21:15:09 +00:00
- HCI CMD packet is limited to 1024 bytes payload. SDP records could be larger than that. Options:
- provide a way to transfer SDP records in segments
- ignore HCI command lenght on socket connection and directly stream data without buffer
2010-02-13 15:15:45 +00:00
- L2CAP
- segmentation
2010-11-22 20:27:10 +00:00
- Link Key storage in Bluetooth module
- store link keys in Bluetooth module. requires algorithm to evict old one but unclear how to implement that
2009-09-15 21:19:19 +00:00
- extend SpringBoard feedback
- show alerts/messages using SpringBoardAcccess, e.g. Bluetooth disconnected by remote device
- add code to notify about remote disconnets
2009-08-09 23:05:55 +00:00
- configuration: /etc/btstack
- single Bluetooth module supported
- transport type: H4, H5, USB
2009-08-30 20:15:17 +00:00
- h4/h5: UART path
2009-08-09 23:05:55 +00:00
- usb: product/vendor ID
- logging mode: text, bluez, packetlogger
- add configure option for uart flowcontrol
- create <btstack/errors.h>
2009-08-05 11:23:46 +00:00
2010-06-13 15:46:31 +00:00
== USB Support ==
- Store array of data sources to be able to remove them on usb_close
2010-11-22 20:27:10 +00:00
- create little "reserve Bluetooth module on Mac OS X" tool
2010-06-13 15:46:31 +00:00
== Objective-C Interface ==
2010-11-22 20:27:10 +00:00
- have a look at External Accessory interface by Apple - it's quite similar
2010-06-13 15:46:31 +00:00
- move connection methods to BTdevice (get more object oriented)
- initWithAddress:(bd_addr_t *)addr
- setters private
- implement l2cap code
- implement rfcomm code
- animate discovery dialog:
* use indexPathsForVisibleRows and cellForRowAtIndexPath: when you want to refresh just the cells that are on the screen
* use insertRowsAtIndexPaths:withRowAnimation: to add rows
* use deleteRowsAtIndexPaths:withRowAnimation: to remove them-
2009-08-05 11:23:46 +00:00
2010-06-13 15:46:31 +00:00
== Refactor/Improve Architecture ==
- add linked_list_iterator that can remove elements (used by l2cap_close_connection and sdp_unregister_services_for_connection
- clean up control flow
- l2cap directly sends data over socket: good/bad?
- split daemon into stack parts
- should there be STACK API/interface?
2009-09-29 19:49:34 +00:00
- unify packet generation
- btstack events
- cmd packets
- l2cap commands
- auto-generate code for sending commands from structured text input file
- devise concept for access to event data
- auto-generate event struct getter? STRUCTURE_get_FIELD