Software driver code usage
A method of providing a device with software driver code for operating the device with an accessory when operably coupled thereto. The method includes storing said software driver code on said accessory ( 404 ). On operably coupling said accessory to said device ( 406 ), either: said software driver code is exchanged from the accessory via a communication means to the device ( 416 ) or said software drivercode stored in said accessory is operated in situ on said accessory ( 408 ). An accessory, a communication device and a communication system are also provided. In this manner, a device is no longer required to maintain enough available memory in which to store the software drivers for a number of potential accessories.
1 . A method of providing a device with software driver code for operating the device with an accessory when operably coupled thereto, the method comprising the steps of:
storing said software driver code on said accessory;
exchanging said software driver code from the accessory via a communication means to the device, on operably coupling said accessory to said device, for operating the accessory from the device; and
storing temporarily said software driver code on said device for a period of time.
2 . The method of providing a device with software driver code according to claim 1 , wherein the step of exchanging includes the step of:
downloading said software driver code from said accessory; or
uploading said software driver code to said device.
3 . The method of providing a device with software driver code according to claim 1 , wherein the step of exchanging includes the step of:
operably coupling said device to said accessory using a wired interface, for example a USB interface or an RS232 serial interface.
4 . The method of providing a device with software driver code according to claim 1 , wherein the step of exchanging includes the step of:
operably coupling said device to said accessory using a radio frequency interface or an infrared interface.
5 . The method of providing a device with software driver code according to claim 1 , when the software driver code is to be exchanged to a memory element of the device, the method further comprising the step of:
checking a status of said memory element on operably coupling said device to said accessory in order to determine whether a software driver code exchange is required.
6 . The method of providing a device with software driver code according to claim 5 , the method further comprising the step of:
exchanging software driver code to said device prior to operating said accessory.
7 . The method of providing a device with software driver code according to claim 1 , the method further comprising, in relation to the step of exchanging, the step of:
performing an error detection and/or error checking operation of the exchanged software driver code.
8 . The method of providing a device with software driver code according to claim 1 , the method further comprising the steps of:
identifying said accessory by an identification code; and
confirming that said software driver code needs to be exchanged in response to said identified identification code.
9 . The method of providing a device with software driver code according to claim 1 , the method further comprising the steps of:
retaining the latest exchanged software driver code in said device for a period of time after disconnection of said accessory; or
erasing said software driver code in said device after disconnection of said accessory.
10 . The method of providing a device with software driver code according to claim 9 , wherein the step of erasing includes the step of:
erasing said software driver code a period of time after disconnection of the accessory from the device.
11 . The method of providing a device with software driver code according to claim 10 , wherein the period of time is user definable or pre-determined and/or dependent upon at least one of the following:
type of device, type of accessory, or amount of software driver code to be exchanged.
12 . A communication device, adapted to operate the steps of method claim 1 .
13 . The communication device according to claim 12 , wherein the device is one of:
a cellular phone, a portable or mobile radio, a personal digital assistant, a laptop computer, a wirelessly networked PC.
14 . A storage medium storing processor-implementable instructions for controlling one or more processors to carry out the method of claim 1 .
15 . A communication device for operable coupling to an accessory by communication means wherein said accessory includes a memory element storing software driver code for operating said accessory when operably coupled to said communication device, the communication device characterised by a memory element storing software driver code for a temporary period of time following exchange of said software driver code from the accessory via said communication means to the communication device.
16 . The communication device according to claim 15 , wherein said communication means is a wired interface, for example a USB interface or an RS232 serial interface, adapted to exchange said software driver code between said accessory and said communication device.
17 . The communication device according to claim 15 , wherein said communication means is an infrared link or a radio frequency link for exchanging said software driver code from said memory element of said accessory to said communication device.
18 . The communication device according to claims 15 , the communication device further comprising:
software driver code error detection and/or error correction means for detecting and/or correcting any errors in the exchange of software driver code between said communication device and said accessory.
19 . The communication device according to claim 15 , the communication device further comprising:
self-checking means for confirming said software driver code of said accessory is required by said communication device to operate with said accessory, prior to exchanging said software driver code.