A massaging apparatus utilizing a hand held controller includes a microcontroller to actuate a plurality of vibrators positioned within a cushion using pulse width modulated signals. The microcontroller is programmed such that each zone may be actuated independently and continuously, simultaneously and continuously, or sequenced at a selectable rate controlled by the user. The hand held control uses multiplexing of the switch inputs and LED outputs to control twelve LEDs and five vibrating motors via eight switch inputs using a microcontroller having only thirteen I/O lines. A warning timer is also provided to remind the user that the device is turned on at periodic intervals.
|
1. A massaging apparatus comprising:
a foam cushion defining a plurality of spatially separated regions each region having a foam core with a plurality of apertures; at least one electric DC motor disposed in each of the plurality of apertures for rotating in response to an electrical signal to provide localized vibration to an associated region of the cushion; a hand-held controller in electrical communication with the DC motors, the controller including: a microprocessor executing program instructions for receiving input from a user indicative of a desired vibration intensity, duration, and region for selectively energizing the DC motors based on the desired intensity, duration, and region by generating a pulse train including a plurality of groups of pulses separated by regular intervals of no pulses where each pulse has a variable duty cycle based on the desired intensity and each group of pulses has a number of pulses based on the desired duration, the microprocessor including a plurality of input/output ports; a plurality of indicator lights each corresponding to one of the plurality of regions, the indicator lights being in electrical communication with the microprocessor; and a plurality of input devices for selecting at least an operating mode and an intensity of vibration, the input devices being in electrical communication with the microprocessor, wherein the number of indicator lights added to the number of input devices exceeds the total number of input/output ports of the microprocessor.
6. A massaging apparatus comprising:
a foam cushion defining a plurality of spatially separated regions each region having a foam core with a plurality of apertures; at least one electric DC motor disposed in each of the plurality of apertures, the DC motor including an eccentrically mounted weight for rotating in response to an electrical signal to provide localized vibration to an associated region of the cushion; a hand-held controller in electrical communication with the DC motors, the controller including: a microprocessor executing program instructions for receiving input from a user indicative of a desired vibration intensity, duration, and region for selectively energizing the DC motors based on the desired intensity, duration, and region by generating a pulse train including a plurality of groups of pulses separated by regular intervals of no pulses where each pulse has a variable duty cycle based on the desired intensity and each group of pulses has a number of pulses based on the desired duration, the microprocessor including a plurality of input/output ports; a plurality of indicator lights each corresponding to one of the plurality of regions, at least two of the indicator lights being in electrical communication with a single one of the input/output ports of the microprocessor; and a plurality of input devices for selecting at least an operating mode and an intensity of vibration, at least two of the input devices being in electrical communication with a single one of the input/output ports of the microprocessor.
2. The apparatus of
3. The apparatus of
4. The apparatus of
5. The apparatus of
a timer for selectively generating a periodic reminder signal for at least one of the plurality of vibrators indicating that the apparatus is energized and none of the regions is selected.
|
This invention relates to a massage apparatus having a hand-held controller which incorporates an internal control and an intensity control unit for controlling the rate and duration of energization and the intensity of vibratory energy imparted, respectively, by each of a plurality of vibrators coupled to a cushion structure.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office, patent file or records, but otherwise reserves all copyright rights whatsoever.
Early massage devices were typically designed as therapeutic chairs, mattresses, and the like wherein one or more vibrating members were embedded therein for imparting vibratory energy to a user. Typically, the vibrating members were placed under a frame, box spring or the like, such that when oscillated, vibratory energy was transmitted through the mattress or cushion structure indirectly. Such movements were typically localized and unappealing. See, for example, U.S. Pat. Nos. 2,924,216, 3,885,554, 5,007,410, 5,050,587, 4,354,067, 4,256,116, 4,005,703, 4,157,088, 4,544,867, 3,678,923 and 4,779,615.
There have been attempts to overcome the aforementioned difficulties by providing vibrating units arranged in selective groups or arrays, the control of which provides the illusion of a rolling or travelling motion to the user. These designs, however, typically incorporate complex electromechanical structures and/or electronics. See, for example, U.S. Pat. Nos. 3,446,204, Re. 31,603, 5,192,304, 5,437,608 and U.K. Patent No. GB 2,256,147A.
One method for providing an illusion of a rolling or traveling motion to the user is disclosed in U.S. Pat. No. 5,437,608 which uses a counter to sequentially actuate each zone or group of vibrating units. This approach, however, is inflexible in that the sequence of operation is fixed. Furthermore, only one group or zone may be actuated at any one time.
Consequently, a need has developed for an improved massage apparatus having a plurality of vibrators coupled to a cushion structure which incorporates a simple hand-held controller for controlling both the rate and duration of energization of each of a plurality of vibrators as well as the intensity of vibratory energy imparted thereby.
It is a principal object of the present invention to provide a massage apparatus having an improved controller with simplified electronics for controlling the rate and duration of energization and the intensity of vibratory energy, respectively, imparted by each of a plurality of vibrators embedded in a cushion structure.
It is a further object of the present invention to provide massage apparatus of the type referenced above wherein the improved controller incorporates a power control unit operative to generate a plurality of power control signals at timed intervals variable by the user and a variable intensity control unit operative to generate pulse width modulated signals to produce the intensity selected by the user.
A still further object of the present invention is to provide massage apparatus utilizing a microcontroller which allows actuation of one or more vibratory zones based on selection by the user.
Yet another object of the present invention is to provide massage apparatus which utilizes a microcontroller to provide flexibility of design and improved authority of control over a plurality of vibratory zones including the ability to sequentially actuate two or more of the vibratory zones.
In carrying out the above stated objects, there is provided a massage apparatus of the type having a plurality of vibrators coupled to a cushion for imparting vibratory energy thereto and to a user. The invention includes a microcontroller having multiplexed inputs and outputs. The microcontroller generates pulse width modulated signals to generate an effective DC signal for controlling vibration intensity by controlling rotational speed of the vibrator motors. The massage apparatus generates a reminder signal which actuates at least one of the vibrators after a predetermined time interval when the apparatus is turned on but none of the vibratory zones are selected by the user.
In a preferred embodiment, the cushion structure is elongated, foldable and comprised of resilient material. The vibrators coupled thereto are DC motors with eccentric cams with housings carried in the cushion in a fixed, spaced-apart relationship constituting a multiplicity of massage zones across the length of the cushion. The controller is located external to the cushion structure and is adapted to be hand-held.
These and other objects, features and advantages of the present invention are more readily apparent when taken in conjunction with the accompanying drawings.
FIG. 1 is a pictorial representation of a massage apparatus according to the present invention;
FIG. 2 is a cross-sectional diagram of a massage apparatus according to the present invention shown in FIG. 1;
FIG. 3 is a block diagram of the controller of FIG. 1;
FIG. 4 is a circuit schematic of the control for the massage apparatus of FIG. 1;
FIGS. 5a-5c are a pictorial illustration of representative signals of the controller of FIG. 4; and
FIGS. 6-11 illustrate the operation of the controller of FIGS. 3 and 4.
With reference to FIG. 1 of the drawings, there is shown a schematic diagram of the massage apparatus of the present invention designated generally by reference numeral 10. Massage apparatus 10 is shown as an elongated and foldable pad comprised of a resilient material such as polyurethane, or the like. Apparatus 10 may, of course, be used in many forms such as an upholstered item of furniture, an automobile seat, a chair, or may be a separate cushion, mattress or a pad as shown.
In the schematic of FIG. 1, massage apparatus 10 includes an elongated cushion structure such as pad 12 which may be laid flat or folded as shown for placement on a chair, automobile seat, etc. Apparatus 10 includes a head portion 14, a mid or torso portion 16, and a bottom or seat portion 18 to correspond to head, torso and seat portion, respectively, of a user.
As shown, apparatus 10 includes massage motors or other vibrators in each of the portions. In a preferred embodiment, the torso portion 16 and the seat portion 18 each include two vibrators. Of course, a greater or lesser number of vibrators may be utilized according to the teachings of the present invention.
As also shown in FIG. 1, massage apparatus 10 includes retaining straps such as straps 20, and a positioning web 22 for securing the massage apparatus to a chair, automobile seat, or the like. The massage apparatus 10 also includes a hand held controller 24 which is preferably connected to the seat portion 18 and also adapted for connection to a power source via cord 26. As explained in greater detail herein, the power source is preferably a 12 volt DC source to facilitate operation in an automobile. However, an AC adaptor may also be provided to supply the appropriate power. Hand held control 24 includes a number of indicator lights, such as LED 28, and a number of switches or push buttons 30.
Referring now to FIG. 2, a partial cross-section of the massage apparatus 10 illustrated in FIG. 1 is shown. A durable, removable cover 20 surrounds a foam core 22 which is preferably accessible via a zipper. Foam core 22 includes an aperture for each vibrator 23 which is covered by a small piece of foam 24 secured to foam 22 via adhesive 36. Vibrator 23 is also secured to foam 22 via adhesive 36'.
With continuing reference to FIG. 2, in a preferred embodiment, vibrator 23 includes a housing having a base plate 32 and a shroud 34 which surround a DC motor 26 supported by tab 28. Preferably, tab 28 is integral to base plate 32 and is bent perpendicular thereto to support motor 26. DC motor 26 includes a cam 30 which is eccentrically mounted to produce vibration when the motor turns. The user will experience various vibrational intensities depending on the speed of rotation of DC motor 26 and cam 30. Such vibrators are well established in the art. Of course, various other vibrating arrangements could be utilized without departing from the spirit or scope of the present invention.
Referring now to FIG. 3, a block diagram illustrating control of a massage apparatus according to the present invention is shown. In a preferred embodiment, Control Process 300 is implemented within a microcontroller, such as the FLSS/1299 which is an 8 bit microcontroller implemented in a fully static CMOS design using low power, high speed CMOS technology. Control Process 300 communicates with LED decode block 302 to control 12 LEDs, represented by block 304. However, the control is multiplexed such that only seven data lines are needed as illustrated and described in greater detail with reference to FIG. 4. Control Process 300 also communicates with input key decode block 303 which multiplexes eight switches, represented by block 306. This allows eight inputs to be monitored using only six input lines.
With continuing reference to FIG. 3, control process communicates with a timer/counter 308, an auto sequencer 310, and a prescaler 312. Timer/counter 308 keeps track of a warning interval, preferably about 15 minutes, to remind the user that power is on when none of the motors has been selected by the user. Auto sequencer 310 controls sequencing through selected vibrator motors when the automatic sequencing mode is selected by the user. Prescaler 312 is used to control the speed of the auto sequence block 310 in addition to the intensity of the vibrator motors. The prescaler provides selectable divisors which are applied to the system clock signal to generate a lower frequency periodic signal.Intensity is controlled using pulse width modulated signals as illustrated and described in detail with reference to FIGS. 5a-5c. Timer/counter 308, auto sequencer 310 and prescaler 312 communicate with motor on/off control 314 to control motors M1-M5, represented by block 316. In a preferred embodiment, the user may select which of the five portions or zones of the massage apparatus to be actuated, whether to continuously actuate the selected zones or automatically sequence through them, the strength or intensity of vibration, and the speed of cycling.
Referring now to FIG. 4, a circuit schematic is shown illustrating the control of a massage apparatus according to the present invention. Preferably, all of the components illustrated in FIG. 4 reside on a printed circuit board disposed within hand controller 24. Control circuit 200 includes a DC motor driver circuit 202 which converts signals received from microcontroller 206 into acceptable signals to drive the DC motors 26 disposed within massage apparatus 10. An oscillator circuit 204 is connected to microcontroller 206 and includes components such as resistor R14 and capacitor C3 to produce an input oscillation frequency of about 2 MHz. An indicator output circuit 208 is used to provide an indication to the user of the current operating mode. Control circuit 200 also includes a power conditioning circuit 210 which filters and regulates the power input to microcontroller 206. Preferably, the input voltage, Vdd is regulated at about 5.1 volts by zener diode D21.
With continuing reference to FIG. 4, control circuit 200 includes a fuse and a power jack connector, indicated generally by reference numeral 212. A power switch 214 is provided, which is preferably a three position sliding switch having positions for off, on, and heat. In a preferred embodiment, heat is provided to all zones of massage apparatus 10 when sliding switch SW1 is positioned to select heat. LED 215 provides an indication to the user that the massage apparatus 10 is on and heat has been selected. Circuit 202 includes a connector terminal 220 so that hand held controller 24 may be disconnected from the cushion mat. Circuit 202 includes a number of diodes 222 connected to corresponding transistors 224. The transistors receive signals from the microcontroller 206 and provide a ground signal for their corresponding motors which are connected to pins 2-6 of terminal 220. Pin 1 of terminal 220 provides power to all five of the motor vibrators.
Circuit 208 includes twelve indicator lights or LEDs which are controlled by microcontroller 206. As illustrated, the indicators 248 are multiplexed using three common lines 240, 242, and 246 and four individual signal lines, ROW0-ROW3. These individual lines are also connected to switches S1-S8 which have corresponding common lines, such as common line 252. The descriptions for the microcontroller pins illustrated in FIG. 4 are set forth below in Table 1.
TABLE 1 |
______________________________________ |
MICROCONTROLLER PIN DESCRIPTIONS |
Pin Name I/O Description |
______________________________________ |
PA7-PA0 I/O Port A |
PA3-PA0: TTL input levels or |
comparator input PA7-PA4: TTL |
input levels |
PB5-PB0 I/O Port B, TTL input levels |
CNTI I Counter input, Schmitt trigger |
input levels |
VREF I Comparator VREF input |
/ERST I External reset input pin |
OSC1 I Oscillator input |
OSC2 O Oscillator output |
VDD Power |
GND Ground |
______________________________________ |
FIGS. 5a-5c illustrate representative signals produced to control the vibrating motors of massage apparatus 10. FIG. 5a represents a continuous actuation signal for three different levels of vibration. The high signal, indicated by H is a pulse train having a duty cycle of approximately 97%. The pulse train is a series of substantially rectangular pulses which are sent to one or more of the vibrator motors as selected by the user. As illustrated, regardless of whether the user selects high, medium, or low vibration intensity, the rectangular pulses go from about 0 volts to the supply voltage which is about 12 volts in a preferred embodiment. By varying the duty cycle of the pulse train, the effective DC voltage seen by the various vibrator motors changes as indicated by the broken lines which alters the average motor speed accordingly. The pulse width modulated signal is produced by two timers within the microcontroller which represent the time period that the pulse is high, and the time period that the pulse is low, respectively.
FIG. 5b illustrates representative signals during the automatic sequencing mode of the present invention. Although, only three motor signals are illustrated, the concept is easily extendable to five or more motors. As illustrated, the motors are sequentially energized in an alternating pattern such that only one motor is energized during a particular time interval. The time interval is controlled by the cycling speed selected by the user. In a preferred embodiment, three cycling speeds are available. The cycling speed is independent of the vibration intensity which is controlled by the duty cycle, or pulse width of the signals. Similarly, the present invention provides for alternating sequential operation among selected motors. For example, the first, fourth and fifth motors may be selected by the user. During auto sequencing, motor 1 is actuated for a first time period, followed by motor 4, motor 5, motor 4, motor 1, etc.
FIG. 5c illustrates representative signals for auto sequencing using a faster sequencing speed (shorter time interval). The auto sequencing pattern continues until deselected by the user via a cycle push button. As illustrated in FIGS. 5a-5c, the rectangular pulse trains always swing from about 0 volts to the level of the power supply regardless of the vibration intensity or the sequencing speed.
Referring now to FIGS. 6-11, flow charts illustrating operation of the control program within microcontroller 206 are shown. As indicated by block 50 of FIG. 6, when power is applied to the system, a reset program is executed. The reset program is illustrated in FIG. 7. Block 60 of FIG. 7 initializes the data ports of the microcontroller (Port A and Port B). These data ports are configurable as inputs or outputs depending on the content of the corresponding control registers. Preferably, pins PA0-PA3 and PB0-PB5 are configured as outputs while pins PA4-PA7 are configured as inputs. As such, the present invention uses multiplexing techniques to control seventeen outputs (twelve LEDs and five vibrator motors) via eight selector switches (momentary contact push buttons) using only ten outputs and four inputs of the microcontroller.
Block 62 of FIG. 7 sets the timer/counter register which is used to periodically generate an interrupt. Blocks 64, 66, and 68 represent initialization of the LEDs, vibrators, and pulse width memory locations, respectively. These blocks essentially clear the memory locations to eliminate the possibility of any spurious operation. Block 70 illuminates the default LEDs. For example, when power is applied to the system, the "low" cycle speed LED is illuminated in addition to the "low" vibration intensity LED.
Block 72 initializes the fifteen minute timer using a subroutine call. This timer is used to generate a user warning or reminder indicating that the system is on but that no vibrator motors have been selected. In a preferred embodiment, this reminder actuates the vibrator motor located at the lower torso for approximately ten seconds with a "medium" intensity level.
Blocks 74, 76, and 78 perform additional initialization functions. Block 80 calls the key scan subroutine which is responsible for decoding the push button inputs. Block 82 calls the LED processing subroutine which is responsible for decoding the LED outputs to illuminate the appropriate LEDs.
Block 84 determines whether any of the push buttons have been depressed while block 86 calls the key processing subroutine to take appropriate action based on the key or keys which have been depressed. Block 88 is an infinite loop which essentially ends execution of the reset routine until an interrupt is generated.
FIG. 8 illustrates a simple initialization routine which loads appropriate values into three different timers as indicated by blocks 100, 102, and 104. These timers control the interval between the warning or reminder actuation of the torso vibrator motor, as well as the duration and intensity of the reminder signal. For example, in a preferred embodiment, block 100 loads a first timer with a value corresponding to a timer of about fifteen minutes. Block 102 loads a second timer with a value corresponding to the duration of the reminder signal which is about ten seconds. Block 104 loads a third timer with a value representing the vibration intensity, i.e. the pulse width, which corresponds to a medium intensity or a duty cycle of about 78%.
Referring now to FIG. 9, a key scan routine is illustrated. Block 110 determines whether a push button has been depressed. Block 112 decodes the signal to determine which of the push buttons has been depressed based on the two signal lines corresponding to one of ROWS 0-3 and common lines COM0 and COM1. Block 114 determines whether the push button is being continuously held down in which case the routine is exited and control is returned to the calling routine. Block 116 determines whether there has been a repeat key press by maintaining a memory location which may be incremented to advance the system to the subsequent state. For example, when power is applied to the system, the vibration intensity defaults to "low". The first press of the intensity push button advances the intensity to the "medium" state. Subsequent depressions of the intensity push button will cycle through the available states from "low" to "medium" to "high" and then back to "low". Cycle speed selection for auto sequencing mode is performed in a similar fashion. The incrementing and resetting function to cycle through the appropriate states is represented by block 118 of FIG. 9.
Referring now to FIG. 10, the timer/counter interrupt subroutine is illustrated. This controls the functioning of the warning or reminder signal as described above. At block 130, the current timer is loaded. Block 132 determines when the timer interval has expired in which case block 136 calls another interrupt service routine. Otherwise, block 134 decrements the count and control is returned to the calling routine.
Referring now to FIG. 11, a pulse width modulation routine is illustrated. Block 140 represents various "housekeeping" tasks which may be required to save the contents of registers which are used to produce the PWM signal. Block 142 represents the dwell time for the low or off state of the vibrator motor. Block 144 represents the various register moves to accomplish the transition from the low to the high state. Similarly, block 146 represents the dwell time for the high or on state of the vibrator motor. This process is repeatedly executed to produce a train of rectangular pulses.
Table 2 provides a memory map for microcontroller 206. This map is particularly useful when interpreting the assembly language program reproduced in its entirety herein.
TABLE 2 |
______________________________________ |
MICROCONTROLLER MEMORY MAP |
______________________________________ |
00 Indirect addressing register |
01 Program counter, low byte (PCL) |
02 Program memory segment register |
03 Status register |
04 Memory index register (MIR) |
05 Timer/counter register |
06 Timer/counter control register |
07 Port A (PA) data register (Inputs/Outputs) |
08 Port B (PB) data register (Outputs) |
09 Non-implemented |
0A Port A control register (PAC) |
0B Port B control register (PBC) |
0C Non-implemented |
0D Port A interrupt control register |
0E Option control register |
0F Reserved |
10-2F Internal RAM |
000-3FF Program memory |
000 Power-on or external reset starting address |
004 Watchdog timer time-out interrupt starting address |
008 Timer/counter interrupt starting address |
Port A interrupt starting address |
______________________________________ |
As illustrated, the microcontroller includes 13 special purpose registers, 32 bytes of internal Random Access Memory (RAM), and three interrupt sources. In a preferred embodiment, only two of the three available interrupt sources are utilized. The instructions and data corresponding to the flow charts of FIGS. 6-11 and the assembly language program listing are stored within the microcontroller at locations indicated in the memory map.
The assembly language program listing for a preferred embodiment of the present invention is reproduced in its entirety on the following pages.
______________________________________ |
;RC OSC 2MHZ SYSTEM CLOCK=500K |
; RTCC INT=1K=1.024MS |
; 15 MIN=900 SEC. |
;TIM0=59 ;0.16384s |
;TIM1=106=47872 |
;47872 ;27.525120s |
;TIM2=13=851968 |
;48032 ;872.41523s |
; ************* |
; 10 SEC =10000 |
;TIM0=16 |
;TIM1=39=9984 |
;TIM2=0 |
tccr-- val |
EQU 11000000b |
;************************* |
key-- val |
EQU 20h |
vib-- 1-- def0 |
EQU 136 ;640=2.5 |
=1.5 |
vib-- 1-- def1 |
EQU 1 ;640=2.5 |
=1.5 |
;************************** |
vib-- m-- def0 |
EQU 35 ;800=3.125 |
vib-- in-- def1 |
EQU 0 ;800=3.125 |
;************************** |
vib-- h-- def0 |
EQU 210 ;980=3.82 |
vib-- h-- def1 |
EQU 0 ;980=3.82 |
;***************************** |
rnd-- h-- def |
EQU 050h |
;***************************** |
spd-- l-- def |
EQU 04h |
spd-- m-- def |
EQU 02h |
spd-- h-- def |
EQU 01h |
;***************************** |
IDR EQU 0 |
MP EQU 1 |
;************ |
flig EQU 0AH |
cf EQU 0 |
zf EQU 2 |
;********************* |
RTCC EQU 0DH ; |
TMRC EQU 0EH ; |
;******************** |
;PA equ 12h |
ky-- cm0 |
EQU 0 |
led-- cm0 |
EQU 1 |
led-- cm1 |
EQU 2 |
led-- cm2 |
EQU 3 |
row0 EQU 4 |
row1 EQU 5 |
row2 EQU 6 |
row3 EQU 7 |
;********************* |
;pb EQU 14h |
motr0 EQU 0 |
motr1 EQU 1 |
motr2 EQU 2 |
motr3 EQU 3 |
motr4 EQU 4 |
ky-- cm1 |
EQU 5 |
;********************* |
;PC EQU 16h |
;motr4 equ 0 |
KY-- 2XS |
EQU 1 |
;*********************** |
led-- ar0 |
EQU 40h |
led0 EQU 0 |
led1 EQU 1 |
led2 EQU 2 |
led3 EQU 3 |
led4 EQU 4 |
spd-- l0 |
EQU 5 |
spd-- m0 |
EQU 6 |
spd-- h0 |
EQU 7 |
;****************** |
led-- ar1 |
EQU 41h |
vib-- l0 |
EQU 0 |
vib-- m0 |
EQU 1 |
vib-- h0 |
EQU 2 |
pwr-- led |
EQU 3 |
com0 EQU 4 |
com1 EQU 5 |
com2 EQU 6 |
;****************** |
tim0 EQU 42h |
tim1 EQU 43h |
tim2 EQU 44h |
;****************** |
flag EQU 45h |
old-- key |
EQU 0 |
key-- ok |
EQU 1 |
cyc-- on |
EQU 2 |
out-- fg |
EQU 3 |
shf-- fg |
EQU 4 |
led-- off |
EQU 5 |
led-- one |
EQU 6 |
rand-- fg |
EQU 7 |
;****************** |
tmp0 EQU 46h |
tmp1 EQU 47h |
;****************** |
key-- buf |
EQU 49h |
key-- dat |
EQU 4Ah |
KEY-- CNT |
EQU 4Bh |
;****************** |
spd-- cnt |
EQU 4ch |
spd-- cst |
EQU 4dh |
cyc-- rol |
EQU 4eh |
cyc-- tab |
EQU 4fh |
max-- rol |
EQU 50h |
;****************** |
stp-- cnt |
EQU 51h |
;******************* |
VIB-- VOL |
EQU 52h |
vib-- voh |
EQU 53h |
rtc-- hi |
EQU 54h |
INTVR EQU 55H |
;******************* |
pw-- ram0 |
EQU 5bh |
PW-- RAM1 |
EQU 5ch |
;********************* |
acctmp EQU 5fh |
;********************* |
ORG 0h |
JMP RST |
ORC 4h |
MOV A,00000101B |
MOV INTC,A |
RETI |
ORG 8h |
rtc-- intr: |
CLR [TMRC] |
clr [rtcc] |
MOV ]ACCTMP],A |
MOV A,[RTC-- HI] |
OR A,0 |
SZ [FLIG].ZF |
JMP proc-- int |
dec [RTC-- HI] |
MOV A,10010000B |
MOV [TMRC],A |
MOV A,00000101B |
MOV INTC,A |
MOV A,[ACCTMP] |
reti |
;************************** |
proc-- int: |
MOV A,[STP-- CNT] |
OR A,0 |
SZ [FLIG].ZF ;TIME END ? |
JMP pwr-- prc |
;YES |
SDZ [TIM0] |
JMP pwr-- pr |
;********************** |
SNZ [FLAG].cyc-- on |
JMP CHK-- TIM |
SDZ [SPD-- CST] |
JMP chk-- tim |
MOV A,[SPD-- CNT] |
MOV [SPD-- CST],A |
;********************** |
SNZ [FLAG].led-- one |
JMP chkledo |
MOV A,00011111b |
AND A,[LED-- AR0] |
MOV [CYC-- TAB],A |
JMP chk-- tim |
chkledo: |
SNZ [FLAG].led-- off |
JMP chk-- upd |
CLR [CYC-- TAB] |
JMP pwr-- prc |
;************************** |
chk-- upd: |
SZ [FLAG].shf-- fg |
JMP dw-- lop |
JMP up-- lop |
chg-- up: |
CLR [FLAG].shf-- fg |
MOV A,1h |
MOV [CYC-- TAB],A |
up-- lop: |
INC [CYC-- ROL] |
MOV A,[CYC-- ROL] |
MOV A,5 |
SZ [FLIG].cf |
JMP chg-- down |
CLR [FLIG].CF |
RLC [CYC-- TAB] |
;********************* |
MOV A,[CYC-- ROL] |
SUB A,[MAX-- ROL] |
SNZ [FLIG].CF ;;;;;;;;;;;;;;;;;; |
JMP up-- lop |
;***************** |
MOV A,[led-- ar0] |
AND A,00011111b |
AND A,[CYC-- TAB] |
SZ [FLIG].ZF |
JMP up-- lop |
JMP save-- max |
;******************* |
chg-- down: |
SET [FLAG].shf-- fg |
MOV A,10h |
MOV [CYC-- TAB],A |
dw-- lop: |
SDZ [CYC ROL] |
JMP LOW-- CYC |
JMP chg-- up |
;******************** |
low-- cyc: |
CLR [FLIG].CF |
RRC [CYC TAB] |
;**************** |
DECA [CYC-- ROL] |
SUB A,[MAX-- ROL] |
SZ [FLIG].CF ;;;;;;;;;;;; |
JMP dw-- lop |
;************** |
MOV A,[led-- ar0] |
AND A,00011111b |
AND A,[CYC#TAB] |
SZ [FLIG].ZF |
JMP dw-- lop |
save-- max: |
MOV A,[CYC-- ROL] |
MOV [MAX-- ROL],A |
;******************** |
chk-- tim: |
SDZ [TIM1] |
JMP pwr-- prc |
SDZ [TIM2] |
JMP pwr-- prc |
SDZ [STP-- CNT] |
JMP waron |
;********* WARANG OFF |
SET [FLAG].led-- off |
CLR [FLAG].cyc-- on |
CLR [led-- ar0] |
ANDM A,PB |
JMP int-- rets |
;****************** |
waron: |
SNZ [STP-- CNT].0 |
JMP set15m |
;******** RUN 10S |
SET [LED ARO].motr2 |
CLR [FLAG].led-- off |
SET [TIM2].0 |
MOV A,60 |
MOV [TIM1],A |
MOV A,16 |
MOV [TIM0 ,A |
JMP int-- rets |
set15m: |
CALL init15m |
CLR [led-- ar0] |
CLR [FLAG].cyc-- on |
SET [FLAG].led-- off |
JMP int-- rets |
;****************** |
pwr-- prc: |
MOV A,led-- ar0 |
SZ [FLAG].cyc-- on |
MOV A,CYC-- TAB |
MOV [MP],X |
MOV A,100000b |
SNZ [FLAG].out-- fg |
out-- 1: |
JMP out-- h |
CLR [FLAG].out-- fg |
ANDM A,PB |
MOV A,[VIB-- VOH] |
MOV [RTC-- HI],A |
MOV A,[VIB-- VOL] |
JMP int-- ret |
out-- h: |
SET [FLAG].out-- fg |
SNZ [FLAG].led-- off |
JMP out-- lev |
ANDM A,PB |
JMP int-- rtc |
out-- lev: |
MOV A,011111b |
AND A1[IDR] |
ORM A,PB |
int-- rtc: |
CPLA [VIB-- VOH] |
and A,00000011b |
MOV [RTC-- HI],A |
CPLA [VIB-- VOL] |
int-- ret: |
SNZ PB.4 |
CLR PC.0 |
SZ PB.4 |
SET PC.0 |
MOV [rtcc],A |
int-- rets: |
MOV A,10010000B |
MOV [TMRC],A |
MOV A,00000101B |
MOV INTC,A |
MOV A,[ACCTMP] |
SNZ [FLAG].out-- fg |
RETI |
JMP loop ;3/30 |
;****************** |
scan-- ky: |
MOV A,11110000b |
MOV pac,A |
CLR pa |
CLR PCC.KY-- CMS |
CLR PC.ky-- cmS |
NOP |
NOP |
CPLA PA |
AND A,0f0h |
SZ [FLIG].ZF |
JMP no-key |
; ************************* |
SZ [FLAG].old-- key |
JMP out-- key |
SZ [FLAG].key-- ok |
JMP out-- key |
CLR [KEY-- BUF] |
INC [KEY-- BUF] |
SNZ PA.row0 |
JMP chk-- com |
INC [KEY-- BUF] |
SNZ PA.row1 |
JMP chk-- com |
INC [KEY-- BUF] |
SNZ PA.row2 |
JMP chk-- com |
INC [KEY-- BUF] |
SNZ PA.row3 |
JMP chk-- com |
;************************ |
no-- key: |
SNZ [FLAG].old-- key |
JMP re-- load |
;**************************** |
clr-- key: |
SDZ [KEY-- CNT] |
JMP out-- key |
CLR [FLAG].old-- key |
CLR [KEY-- DAT] |
;************************************ |
re-- load: |
MOV A,key-- val |
MOV [KEY-- CNT],A |
out-- key: |
SET pac.ky-- cm0 |
SET pcc.ky-- cmS |
RET A,00h |
;****************** |
chk-- com: |
SET PC.ky-- cmS |
NOP |
CPLA PA |
AND A,0f0h |
SNZ [FLIG].ZF |
JMP rep-- ky |
SET PA.ky-- cm0 |
CLR PC.ky-- cmS |
MOV A,04h |
ADDM A,[KEY-- BUF] |
CPLA PA |
AND A,0f0h |
SZ ]FLIG].ZF |
JMP scan-- ky |
;********************* |
rep-- ky: |
MOV A,[KEY-- BUF] |
SUB A,[KEY-- DAT] |
SNZ [FLIG].ZF |
JMP ner-- ky |
SDZ [KEY CNT] |
JMP out-- key |
;****KEY READ OK |
SET [FLAG].old-- key |
SET [FLAG].key-- ok |
MOV A,0bh |
XOR A,[KEY-- DAT] |
SZ [FLIG].ZF |
MOV [KEY-- DAT],A |
JMP re-- load |
ner-- ky: |
MOV A,[KEY-- BUF] |
MOV [KEY-- DAT],A |
JMP re-- load |
;****************** |
key-- prc: |
CLR [FLAG].key-- ok |
SNZ [LED-- AR1].pwr-- led |
RET A,0 |
DEC [KEY-- DAT] |
CLR [FLIG].CF |
RLCA [KEY-- DAT] |
;************************ |
ADDM A,PCL |
MOV A,00000001b |
JMP tog-- motr |
MOV A,00000010b |
JMP tog-- motr |
MOV A,00000100b |
JMP tog-- motr |
MOV A,00001000b |
JMP tog-- motr |
MOV A,00010000b |
JMP tog-- motr |
NOP |
JMP cyc-- prc |
NOP |
JMP cyc-- tog |
NOP |
JMP vib-- prc |
;************************ |
cyc-- tog: |
MOV A,00000100b |
XORM A,[FLAG] |
SZ [FLAG].cyc-- on |
JMP initspd |
CALL init15m |
CLR [led-- ar0] |
MOV A,4 |
MOV [STP-- CNT],A |
RET A,0 |
initspd: |
MOV A,01111111b |
ORM A,[led-- ar0] |
MOV A,spd-- l-- def |
MOV [SPD-- CNT],A |
MOV [SPD-- CST],A |
MOV A,1 |
MOV [CYC-- TAB],A |
CLR [CYC-- ROL] |
CLR [MAX-- ROL] |
SZ [FLAG].led-- off |
CALL initl5m |
CLR [FLAG].led-- off |
CLR [FLAG].led-- one |
MOV A,5 |
MOV [STP-- CNT],A |
SZ [LED-- AR1].vib-- l0 |
MOV A,vib-- l-- defo |
SZ [LED-- AR1].vib-- m0 |
MOV A,vib-- m-- def0 |
SZ [LED-- AR1].vib-- h0 |
MOV A,vib-- h-- def0 |
MOV [VIB-- VOL],A |
SZ [LED-- AR1].vib-- l0 |
MOV A,vib-- l-- def1 |
SZ [LED-- AR1].vib-- m0 |
MOV A,vib-- in-- def1 |
sz [LED-- AR1].vib h0 |
MOV A,vib-- h-- def1 |
MOV [VIB-- VOH],A |
JMP chk-- spdh |
;************************ |
vib-- prc: |
SNZ [LED-- AR1].vib-- l0 |
JMP chk-- vibm |
CLR [LED-- AR1].vib-- l0 |
SET [LED-- AR1].vib-- m0 |
CLR [LED-- AR1].vib-- h0 |
MOV A,vib-- m-- def0 |
MOV [VIB-- VOL],A |
MOV A,vib-- m-- def1 |
MOV [VIB-- VOH],A |
RET A,0 |
chk-- vibm: |
SNZ [LED-- AR1].vib-- m0 |
JMP chk-- vibh |
CLR [LED-- AR1].vib-- l0 |
CLR [LED-- AR1].vib-- m0 |
SET [LED-- AR1].vib-- h0 |
MOV A,vib-- h-- def0 |
MOV [VIB-- VOL],A |
MOV A,vib-- h-- def1 |
MOV [VIB-- VOH],A |
RET A,0 |
chk vibh: |
SET [LED-- AR1].vib-- l0 |
CLR [LED-- AR1].vib-- m0 |
CLR [LED AR1].vib-- h0 |
MOV A,vib-- l-- def0 |
MOV [VIB-- VOL],A |
MOV A.vib-- l-- def1 |
MOV [VIB-- VOH],A |
RET A,0 |
;************************ |
cyc-- prc: |
SNZ ]FLAG].cyc-- on |
RET A,0 |
cycle-- on: |
SNZ [LED-- AR0].spd-- l0 |
chk-- spdm |
CLR [LED-- AR0].spd-- l0 |
SET [LED-- AR0].spd-- m0 |
CLR [LED AR0].spd-- h0 |
MOV A,spa-- m-- def |
MOV [SPD-- CNT],A |
RET A,0 |
chk-- spdm: |
SNZ [LED-- AR0].spd-- m0 |
JMP chk-- spdh |
CLR [LED-- AR0].spd-- l0 |
CLR [LED-- AR0].spd-- m0 |
SET [LED-- AR0].spd-- h0 |
MOV A,spd-- h-- def |
MOV [SPD-- CNT],A |
RET A,0 |
chk-- spdh: |
SET [LED-- AR0].spd-- l0 |
CLR [LED-- AR0].spd-- m0 |
CLR [LED-- AR0].spd-- h0 |
MOV A,spd-- l-- def |
MOV [SPD-- CNT],A |
RET A,0 |
;**************** |
tog-- motr: |
XORM A,[led-- ar0] |
MOV A,00011111b |
AND A,[LED-- AR0] |
MOV [TMP0],A |
MOV A,5 |
MOV [TMP1],A |
MOV A,0 |
par-- lop: |
RRC [TMPO] |
;****************** |
SZ [FLIG].cf |
ADD A,1 |
SDZ [TMP1] |
JMP par-- lop |
MOV [TMP0],A |
OR A,0 |
SNZ [FLIG].ZF |
JMP no-- zear |
;****************** |
; LED OFF |
SZ [FLAG].led-- off |
JMP nex-- prc |
SET [FLAG].led-- off |
MOV A,4 |
JMP NEX-- PRC4 |
;******************* |
no-- zear: |
SNZ [FLAG].led-- off |
JMP nex-- prc |
CLR [FLAG].led-- off |
MOV A,5 |
NEX-- PRC4: |
MOV [STP-- CNT],A |
CALL init15m |
;******************* |
nex-- prc: |
CLR [FLAG].led-- one |
DEC [TMP0] |
SZ [FLIG].ZF |
SET [FLAG].led-- one |
RET A,0 |
;******************* |
led-- prc: |
MOV A,11110001b |
MOV PA,A |
CLR |
SZ [LED-- AR1].com0 |
JMP chk-- com2 |
SET [LED-- AR1].com0 |
CLR [LED-- AR1].com1 |
SET PA.led-- cm0 |
SWAPA [LED-- AR0] |
JMP out-- led |
chk-- com2: |
SZ [LED-- AR1].com1 |
JMP chk-- com3 |
SET [LED-- AR1].com1 |
CLR [LED-- AR1].com2 |
SET PA.led-- cm1 |
MOV A,[led-- ar0] |
JMP out-- led |
chk-- com3: |
SET [LED-- AR1].com2 |
CLR [LED-- AR1].com0 |
SET PA.led-- cm2 |
SWAPA [LED-- AR1] |
;***************** |
out-- led: |
XOR A,0f0h |
OR A,0fh |
ANDM A,PA |
RET A,0 |
;************* |
init15m: |
MOV A,60 |
MOV [TIM0],A |
MOV A,106 |
MOV [TIM1],A |
MOV A,14 |
MOV [TIM2],A |
RET A,0 |
;***************** |
RST: |
MOV A,11110000b |
CLR PA |
MOV PAC,A |
;************************ |
CLR PB |
CLR PBC |
;************************ |
MOV A,11111110B |
MCV PCC,A |
CLR PC |
;************************ |
CLR [FLAG] |
SET [FLAG].led-- off |
CLR [led-- ar0] |
CLR [led-- ar1] |
MOV A,vib-- l-- def0 |
MOV [VIB-- VOL],A |
MOV [rtcc],A |
MOV A,vib-- l-- def1 |
MOV [RTC-- HI],A |
MOV [VIB-- VOH],A |
CLR [PW-- RAM1] |
SET [LED-- AR1].pwr-- led |
SET [LED-- AR1].vib-- 10 |
CALL init15m ;NN |
MOV A,4 |
MOV [STP-- CNT],A |
CLR [RTCC] |
MOV A,10010000B |
MOV [TMRC],A |
MOV A,00000101B |
MOV INTC,A |
;***************** |
loop: |
CALL scan-- ky |
CALL led-- prc |
SZ [FLAG].key-- ok |
CALL key-- prc |
waitloop: |
JMP waitloop |
;******************** |
END |
______________________________________ |
It is understood, of course, that while the forms of the invention herein shown and described include the best mode contemplated for carrying out the present invention, they are not intended to illustrate all possible forms thereof.
Patent | Priority | Assignee | Title |
10039387, | Jul 27 2012 | MPR ASSOCIATES, INC | Mattress foundation including vibration motors and mounting arrangements therefor |
10058188, | Jul 27 2012 | Rogers Foam Corporation | Mattress foundation including vibration motor assemblies |
10688016, | Apr 06 2007 | ASFORA IP, LLC | Analgesic implant device and system |
11594318, | Apr 18 2016 | VMAS SOLUTIONS, INC | Systems and methods for reducing stress |
11684539, | Mar 18 2005 | FKA Distributing Co., LLC | Portable body massager |
6502264, | Sep 07 2000 | L&P Property Management Company | Articulated bed with a vibration awakening system |
6599259, | Jun 04 2001 | Oracle America, Inc | Computer input device having massaging elements |
6676615, | Sep 19 2001 | OMEGA PATENTS, L L C | Wireless massage device for a vehicle and associated methods |
6814709, | Jun 16 2000 | Wells Fargo Bank, National Association | Massaging bed rest cushion with light |
6932779, | Jul 31 2001 | OMRON HEALTHCARE CO , LTD | Method of controlling massaging machine |
7128721, | Apr 30 2004 | FKA DISTRIBUTING CO D B A HOMEDICS, INC | Portable body massager |
7211057, | Mar 19 2004 | Brookstone Purchasing, Inc | Method and apparatus for providing hot and cold massage |
7314455, | Jan 27 2006 | Automobile car seat massage device | |
7328470, | Feb 20 2004 | Wells Fargo Bank, National Association | Foldable massaging bed rest |
7419475, | Sep 09 2005 | FKA DISTRIBUTING CO D B A HOMEDICS, INC | Body massager with illumination effects |
7427274, | May 13 2004 | Brookstone Purchasing, Inc | Method and apparatus for providing a modifiable massager |
7540847, | Jan 16 2004 | Apparatus and method for selectively transmitting vibrations to an individual situated on a support surface | |
7681949, | Apr 12 2006 | Lear Corporation | Haptic vehicle seat |
8041484, | Aug 22 2005 | CLARION CO , LTD ; TACHI-S CO , LTD | Abnormality reporting device for vehicle and control program |
8147435, | Sep 09 2005 | FKA Distributing Co. | Body massager with illumination effects |
8378612, | Jan 08 2008 | GUANGDONG PRESTIGE TECHNOLOGY CO , LTD | Control system and method of operating a massage device |
8394041, | Mar 09 2007 | FKA DISTRIBUTING CO D B A HOMEDICS, INC | Body massager |
9572746, | Apr 06 2007 | ASFORA IP, LLC | Analgesic implant device and system |
9687414, | Apr 06 2007 | ASFORA IP, LLC | Analgesic implant device and system |
9724265, | Apr 06 2007 | ASFORA IP, LLC | Analgesic implant device and system |
D531733, | Jun 03 2004 | Wells Fargo Bank, National Association | Massager |
D539067, | Jan 03 2006 | INTELLECTUAL SOLUTIONS, INC | Massaging seat topper |
D539068, | Jan 20 2006 | INTELLECTUAL SOLUTIONS, INC | Massaging seat cushion |
D568085, | Dec 01 2006 | Custom Accessories Inc | Vehicle seat cover |
D679932, | Jun 18 2012 | Illuminated circuit print seat cover | |
D826613, | Sep 29 2017 | Chair pad | |
D908390, | Oct 06 2017 | Casada Group GmbH | Massage appliances |
D970025, | Jan 11 2021 | SHENZHEN MONDIAL TECHNOLOGY CO , LTD | Massage cushion |
D970026, | Jan 11 2021 | SHENZHEN MONDIAL TECHNOLOGY CO , LTD | Massage cushion |
Patent | Priority | Assignee | Title |
3446204, | |||
3596154, | |||
3678923, | |||
4105024, | May 16 1977 | Massaging furniture | |
4110668, | Jan 24 1977 | TECH OPS SEVCON, INC , A DE CORP | Thyristor pulse controller for plural loads |
4232661, | Feb 08 1978 | ANDREW ELECTRONICS OF NORTHERN CALIFORNIA, INC ,A CORP OF CA | Body massage apparatus |
4289997, | Jun 22 1978 | Keiper Automobiltechnik GmbH & Co. KG | Drive apparatus having at least two electric motors |
4370602, | May 25 1977 | Waterbed vibrator | |
4447788, | Dec 30 1981 | Uranit Uran-Isotopentrennungs-Gesellschaft mbH | Method for optimizing the power input of a plurality of hysteresis motors connected in parallel |
4506201, | May 13 1982 | Tokyo Shibaura Denki Kabushiki Kaisha | Microprocessor controlled pulse motor |
4518900, | Jul 15 1982 | Tokyo Shibaura Denki Kabushiki Kaisha | Pulse motor driving apparatus |
4544867, | Apr 04 1983 | Vibrator for furniture | |
4644232, | Oct 19 1983 | Hitachi, Ltd. | Method of and an apparatus for controlling a plurality of DC motors |
4749927, | Apr 11 1986 | Ampex Corporation | Adaptive digitally controlled motor drive system and method |
4757245, | Jan 08 1987 | MMP ACQUISITION CORP | Control system for a plurality of stepper motors |
4761591, | Mar 21 1986 | Pfaff Haushaltmaschinen GmbH | RPM regulation of an electromotor |
4779615, | May 13 1987 | Tactile stimulator | |
4825133, | Aug 05 1986 | Oki Electric Industry Co., Ltd. | Electromechanical actuator control system |
4833375, | Mar 25 1988 | NCR Corporation | Digital motor control system |
4845608, | Dec 21 1987 | General Electric Company | Digital speed controller using a single-chip microcontroller |
5007410, | Nov 20 1989 | Vibrating mattress | |
5188096, | Mar 15 1990 | PARANDL ELECTRONICS CO , LTD | Massage apparatus |
5437607, | Jun 02 1992 | Interactive Health LLC | Vibrating massage apparatus |
5437608, | Oct 19 1992 | INSEAT SOULTIONS, LLC; Inseat Solutions, LLC | Massaging apparatus with sequential vibration |
5575761, | Jul 27 1994 | Massage device applying variable-frequency vibration in a variable pulse sequence | |
GB2167961, | |||
GB2241894, | |||
KR19912972, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 29 1996 | HoMedics, Inc. | (assignment on the face of the patent) | / | |||
May 25 1996 | CHUNG, STEPHEN | HOMEDICS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 008061 | /0510 | |
Dec 26 2008 | FKA DISTRIBUTING CO | BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENT | NOTICE OF GRANT OF SECURITY INTEREST | 022034 | /0754 | |
Jan 03 2011 | FKA DISTRIBUTING CO | BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENT | NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS | 025622 | /0519 | |
May 02 2011 | LEV, MORDECHAI | FKA DISTRIBUTING CO D B A HOMEDICS, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE THE NAME OF THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 008061 FRAME 0510 ASSIGNOR S HEREBY CONFIRMS THE CORRECTIVE ASSIGNMENT IS A TRUE COPY OF THE ORIGINAL DOCUMENT | 026341 | /0391 | |
Jun 12 2012 | BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENT | FKA DISTRIBUTING CO | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 028371 | /0256 | |
Jun 30 2012 | FKA DISTRIBUTING CO | FKA DISTRIBUTING CO , LLC | CERTIFICATE OF CONVERSION & ARTICLES OF ORGANIZATION | 028519 | /0600 | |
Aug 22 2012 | HOMEDICS DEUTSCHLAND GMBH | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | GEORGE SALTER & CO LIMITED | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | Salter Housewares Limited | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | SALTER GROUP LIMITED | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | LUDGATE 329 LIMITED | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | FKA DISTRIBUTING CO , LLC | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | HoMedics USA, LLC | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | THE HOUSE OF MARLEY, LLC | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | SI PRODUCTS, LLC | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | HOMEDICS GROUP CANADA CO , LLC | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Aug 22 2012 | HOMEDICS GROUP LIMITED | BANK OF AMERICA, N A , AS AGENT | SECURITY AGREEMENT | 028840 | /0660 | |
Jan 08 2025 | BANK OF AMERICA, N A , AS ADMIN AGENT | FKA HOUSEWARES LIMITED | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 069936 | /0397 | |
Jan 08 2025 | BANK OF AMERICA, N A , AS ADMIN AGENT | LUDGATE 329 LIMITED | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 069936 | /0397 | |
Jan 08 2025 | BANK OF AMERICA, N A , AS ADMIN AGENT | FKA BRANDS LIMITED | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 069936 | /0397 | |
Jan 08 2025 | BANK OF AMERICA, N A , AS ADMIN AGENT | HOUSE OF MARLEY, LLC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 069936 | /0397 | |
Jan 08 2025 | BANK OF AMERICA, N A , AS ADMIN AGENT | HoMedics USA, LLC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 069936 | /0397 | |
Jan 08 2025 | BANK OF AMERICA, N A , AS ADMIN AGENT | FKA DISTRIBUTING CO , LLC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 069936 | /0397 | |
Jan 08 2025 | BANK OF AMERICA, N A , AS ADMIN AGENT | FKA HOMEDICS LIMITED | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 069936 | /0397 |
Date | Maintenance Fee Events |
Dec 09 2003 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 22 2003 | R2551: Refund - Payment of Maintenance Fee, 4th Yr, Small Entity. |
Sep 19 2007 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 20 2011 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 20 2003 | 4 years fee payment window open |
Dec 20 2003 | 6 months grace period start (w surcharge) |
Jun 20 2004 | patent expiry (for year 4) |
Jun 20 2006 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 20 2007 | 8 years fee payment window open |
Dec 20 2007 | 6 months grace period start (w surcharge) |
Jun 20 2008 | patent expiry (for year 8) |
Jun 20 2010 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 20 2011 | 12 years fee payment window open |
Dec 20 2011 | 6 months grace period start (w surcharge) |
Jun 20 2012 | patent expiry (for year 12) |
Jun 20 2014 | 2 years to revive unintentionally abandoned end. (for year 12) |