2009-06-06 17:43:50 +00:00
|
|
|
/* new todo file for BTstack */
|
|
|
|
|
2009-11-12 21:30:18 +00:00
|
|
|
2009-11-08: Release 0.1
|
2010-06-29 20:58:45 +00:00
|
|
|
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++
|
2010-12-05 22:22:46 +00:00
|
|
|
- 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
|
2010-12-05 22:22:46 +00:00
|
|
|
- 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-12-05 22:22:46 +00:00
|
|
|
2010-xxxx: Release 0.2 - revions xxx
|
|
|
|
- limit size of /tmp/hci_dump.pklg to 1000 packets (max 1 MB)
|
2011-01-07 21:34:50 +00:00
|
|
|
- power handling: handle power changes in all states, receive and handle power notifications
|
|
|
|
|
2009-11-12 21:30:18 +00:00
|
|
|
NEXT:
|
2011-01-06 23:07:41 +00:00
|
|
|
- power handling
|
|
|
|
- DONE: figure out how to receive iPhone System Power IONotifications (in BTdaemon) to detect, when phone gets locked and wakes up
|
|
|
|
- DONE: introduce HCI states SLEEPING and FALLING_ASLEEP
|
2011-01-07 19:36:05 +00:00
|
|
|
- DONE: introduce HCI power mode command SLEEPING
|
|
|
|
- DONE: stop all baseband connections on HCI_POWER_OFF
|
|
|
|
- DONE: handle HCI_POWER_ON and HCI_POWER_OFF in existing 4 states
|
2011-01-07 20:33:13 +00:00
|
|
|
- DONE: store data of remote db on every change
|
2011-01-07 20:34:53 +00:00
|
|
|
- DONE: don't stop BTdaemon on power down/client disconnect
|
2011-01-07 21:03:58 +00:00
|
|
|
- DONE: handle transition for HCI_POWER_SLEEP and all HCI state transitions
|
|
|
|
- DONE: power down Bluetooth on sleep notifcation / turn on, if clients are connected
|
2011-01-06 23:07:41 +00:00
|
|
|
- decide on configure flags
|
|
|
|
- clean up components
|
|
|
|
|
2011-01-07 20:54:57 +00:00
|
|
|
- store HCI_POWER_ON/HCI_POWER_OFF per client, and only turn off when all are turned off
|
2011-01-06 23:07:41 +00:00
|
|
|
- decide what to do with the CocoaTouch code.
|
|
|
|
- do nothing
|
|
|
|
- add it to libBTstack.dylib
|
|
|
|
- provide a libBTstackCocoaTouch.dylib?
|
|
|
|
|
2010-06-13 15:46:31 +00:00
|
|
|
- move RFCOMM code into BTdaemon
|
2011-01-06 23:07:41 +00:00
|
|
|
- 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
|
2010-01-28 07:39:30 +00:00
|
|
|
- add configure option for uart flowcontrol
|
|
|
|
- create <btstack/errors.h>
|
2010-06-13 15:46:31 +00:00
|
|
|
- Bluetooth low-power modes useful
|
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
|
2009-07-31 21:41:15 +00:00
|
|
|
- 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
|