1460724493-dc1e6ec7-a8f7-4df2-bf81-e2e907700470

1. A flashlight comprising:
a body having a first end and a second end, the first end including an illumination source and the second end including an opening for accessing an interior of the body;
at least one battery disposed in the body via the opening in the second end, the at least one battery coupled to and configured for powering the illumination source;
a controller disposed in the body configured to determine if the body is in motion, wherein if the body is not in motion for a first predetermined period of time, the controller decouples the at least one battery from the illumination source to conserve energy in the at least one battery; and
a visual indictor disposed on an exterior surface of the body, wherein the controller activates the visual indicator after a second predetermined period of time of no motion, the second predetermined period of time being less than the first predetermined period of time.
2. The flashlight of claim 1, further comprising at least one first switch for coupling the at least one battery to the illumination source, the at least one first switch being controlled by the controller.
3. The flashlight of claim 1, further comprising a motion sensing device coupled to the controller, the motion sensing device configured to detect motion of the body.
4. The flashlight of claim 3, wherein the motion sensing device is an accelerometer.
5. The flashlight of claim 1, further comprising an audible indictor disposed on an exterior surface of the body, wherein the controller activates the audible indicator after the second predetermined period of time of no motion, the second predetermined period of time being less than the first predetermined period of time.
6. The flashlight of claim 2, wherein the controller is configured to intermittently activate the at least one first switch after the second predetermined period of time of no motion to flash the illumination source, the second predetermined period of time being less than the first predetermined period of time.
7. The flashlight of claim 3, further comprising a second switch for enabling or disabling the motion sensing device, the second switch being disposed on an exterior surface of the body for manual activation by a user.
8. A method for conserving battery life in a flashlight, the method comprising:
manually activating the flashlight by a user;
detecting if the flashlight is in motion;
upon detecting that the flashlight is not in motion, activating a visual indicator; and
upon detecting that the flashlight is not in motion for a predetermined period of time, deactivating the flashlight.
9. The method of claim 8, further comprising activating an audible indicator a second predetermined period of time after activating the visual indicator.
10. The method of claim 8, wherein the activating the visual indicator step includes intermittently activating an illumination source of the flashlight.
11. The method of claim 8, wherein the detecting if the flashlight is in motion step further comprises starting a timer to count to the predetermined period of time.
12. The method of claim 11, further comprising restarting the timer by shaking the flashlight.
13. The method of claim 12, wherein the predetermined period of time is adjustable.
14. A battery-conserving electronic device comprising:
a body including an opening for accessing an interior of the body;
at least one battery disposed in the body and configured for powering the device;
a controller disposed in the body configured to determine if the body is in motion, wherein if the body is not in motion for a first predetermined period of time, the controller decouples the at least one battery from the electronic device to conserve energy in the at least one battery; and
a visual indictor disposed on an exterior surface of the body, wherein the controller activates the visual indicator after a second predetermined period of time of no motion, the second predetermined period of time being less than the first predetermined period of time.
15. The electronic device of claim 14, further comprising at least one first switch for coupling the at least one battery to the electronic device, the at least one first switch being controlled by the controller.
16. The electronic device of claim 14, further comprising a motion sensing device coupled to the controller, the motion sensing device configured to detect motion of the body.
17. The electronic device of claim 16, further comprising a second switch for enabling or disabling the motion sensing device, the second switch being disposed on an exterior surface of the body for manual activation by a user.
18. The electronic device of claim 14, further comprising an audible indictor disposed on an exterior surface of the body, wherein the controller activates the audible indicator after the second predetermined period of time of no motion, the second predetermined period of time being less than the first predetermined period of time.
19. A flashlight comprising:
a body having a first end and a second end, the first end including an illumination source and the second end including an opening for accessing an interior of the body;
at least one battery disposed in the body via the opening in the second end, the at least one battery coupled to and configured for powering the illumination source;
a controller disposed in the body configured to determine if the body is in motion, wherein if the body is not in motion for a first predetermined period of time, the controller decouples the at least one battery from the illumination source to conserve energy in the at least one battery; and
an audible indictor disposed on an exterior surface of the body, wherein the controller activates the audible indicator after a second predetermined period of time of no motion, the second predetermined period of time being less than the first predetermined period of time.
20. A battery-conserving electronic device comprising:
a body including an opening for accessing an interior of the body;
at least one battery disposed in the body and configured for powering the device;
a controller disposed in the body configured to determine if the body is in motion, wherein if the body is not in motion for a first predetermined period of time, the controller decouples the at least one battery from the electronic device to conserve energy in the at least one battery; and
an audible indictor disposed on an exterior surface of the body, wherein the controller activates the audible indicator after a second predetermined period of time of no motion, the second predetermined period of time being less than the first predetermined period of time.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A computing device adapted for connecting to one or more external devices, comprising:
one or more external connectors each adapted for connecting to an external device and including at least a ground line, a power line and one or more data inputoutput (IO) lines;
one or more computing nodes connected to each other and to the external connectors, each computing node including a central processing unit, a memory, or an inputoutput interface, wherein at least one computing node has a computing state machine and programs that describes and controls the behavior of the computing nodes at least during a connection event when an external connector is being connected to an external device and during a disconnection event when an external connector is being disconnected from an external device;
a power unit connected to the external connectors and the computing nodes for supplying power to the computing nodes or for filtering signals on the power line; and
a flexible enclosure structure encasing the external connectors, computing nodes and power unit and adapted to permit the external connectors to be connected with external devices, the enclosure structure being made of flexible materials, wherein the computing device is free of any user data input devices exposed through the flexible enclosure, whereby the computing device forms a physically integrated unit by the enclosure structure free of a rigid frame.
2. The computing device of claim 1, wherein the computing device has a weight of less than about one pound and wherein the external connectors are capable of mechanically supporting the computing device.
3. The computing device of claim 1, wherein each computing node dissipates one watt or less of power during normal usage.
4. The computing device of claim 1, comprising at least two external connectors.
5. A method of using a plurality of the computing devices of claim 4, comprising:
connecting a first external connector of a first computing device to the host computer; and
connecting a first external connector of a second computing device to a second external connector of the first computing device.
6. The computing device of claim 1,
wherein the external connector includes a switch connected to the power line,
wherein the power unit comprises an inductor connected in series with the power line voltage; and
wherein the switch is coupled to disconnect the inductor from the power line upon detection of the beginning of a disconnection event.
7. The computing device of claim 6, wherein each external connector further comprises a detector for detecting a disconnection event, the external connector being adapted to be connected to an external device such that a connection for the detector is disconnected first, the power and data lines are disconnected second, and the ground line is disconnected last.
8. The computing device of claim 1, wherein at least one computing node is programmed to receive or transmit information on the IO lines from or to another computing node or an external device, to be in transmission readiness regardless of whether a corresponding program on the other computing node or the external device is ready, and to receive or transmit information when the corresponding program is ready, whereby the computing nodes of the computing device communicate with each other or with an external device across the IO lines of the external connector.
9. The computing device of claim 8, wherein the at least one computing node is programmed to reach conditional readiness for one or more predetermined conditions, and to proceed when one of the conditions becomes true, on a program branch based on which of the conditions is chosen.
10. The computing device of claim 9, wherein the conditions include timeouts.
11. The computing device of claim 9, wherein the conditions include transmission readiness on the IO lines, wherein the condition is evaluated regardless of whether the corresponding program on the other computing node or the external device is ready.
12. The computing device of claim 8, wherein the at least one computer node is programmed to trigger nested programs to receive or transmit information on the IO lines.
13. A reconfigurable computing system comprising one or more computing devices of claim 1 and one or more host computers,
wherein each host computer has an outlet adapted to be connected to an external connector of a computing device, the outlet including at least a ground line and one or more data inputoutput (IO) lines;
wherein the outlet of at least one host computer includes a power line;
wherein each computing device is connected via external connectors to a host computer or another computing device such that each computing device is connected to a host computer either directly or through other computing devices;
wherein each computing device has at least one computing node programmed to receive or transmit information on the IO lines from or to another computing device or host computer connected to the computing device, to be in transmission readiness regardless of whether a corresponding program on the connected computing device or host computer is ready, and to receive or transmit information when the corresponding program is ready;
wherein each host computer is programmed to receive or transmit information on the IO lines from or to a computing device connected to it, to be in transmission readiness regardless of whether a corresponding program on the connected computing device is ready, and to receive or transmit information when the corresponding program on the connected computing device is ready;
whereby the computing devices and the host computers form a connected set and communicate with each other through the IO lines.
14. The reconfigurable computing system of claim 13, wherein each computing device stably functions and communicates with other connected computing devices or host computer after any one of the external connectors of the computing device is connected to a host computer or another computing device that is powered.
15. The reconfigurable computing system of claim 13, wherein at least one computing device or host computer is programmed to detect another computing device, which is not previously connected to the at least one computing device or host computer, being connected to the computing device or host computer, and to communicate with the other computing device.
16. The reconfigurable computing system of claim 15, wherein the computing device or host computer loads programming to the other computing device after detecting the other computing device being connected.
17. The reconfigurable computing system of claim 13, wherein the host computer is programmed to place communications between a first computing device or the host computer and a second computing device in a paused state by normal program control, thereby allowing the second computing device to be disconnected from a host outlet or an external connection without pausing the programming on the first computing device or the host computer.
18. The reconfigurable computing system of claim 17, wherein the host computer is programmed to cause a communication previously placed in a paused state to leave the paused state and continue running after another computing device is connected to the host outlet or external connection from which the second computing device was disconnected, the other computing device being either the second computing device or a different computing device.
19. The reconfigurable computing system of claim 13, wherein each external connector of the computing devices includes a circuit for detecting a connection or disconnection event, wherein a transmitting computing device is programmed to transmit data in units of a data unit size, wherein a receiving computing device is programmed to transmit an acknowledgement after receiving each transmitted data of the data unit size, wherein the transmitting computing device is programmed such that if a data transmission of the data unit size is terminated by a disconnection event without the transmitting computing device receiving an acknowledgement, the transmitting computing device keeps a copy of the interrupted data transmission and retransmits the data if the disconnected receiving computing device is reconnected.
20. The reconfigurable computing system of claim 13, further comprising one or more peripheral devices each connected to a computing device.
21. A computing device adapted for connecting to one or more external devices, comprising:
one or more external connectors each adapted for connecting to the external device and including one or more data inputoutput (IO) lines, each external connector including circuitry for generating or detecting a disconnect signal prior to the disconnection of the external connector from an external device;
one or more computing nodes connected to each other and to the external connectors, each computing node including a central processing unit, a memory, or an inputoutput interface, wherein at least one computing node has a computing state machine and programs that describes and controls the behavior of the computing nodes at least during a connection event when an external connector is being connected to an external device and during a disconnection event when an external connector is being disconnected from an external device;
wherein at least one computing node is programmed to receive or transmit information on the IO lines from or to an external device, to be in transmission readiness regardless of whether a corresponding program on the external device is ready, to receive or transmit information when the corresponding program is ready, to reach conditional readiness for one or more predetermined conditions, and to proceed when one of the conditions becomes true on a program branch based on which of the conditions is chosen, the conditions including transmission readiness on the IO lines and the condition being evaluated regardless of whether the corresponding program on the external device is ready,
wherein the computing nodes of the computing device communicate with an external device across the IO lines of the external connector.