WO2003101366A1 - Massage system with feedback - Google Patents

Massage system with feedback Download PDF

Info

Publication number
WO2003101366A1
WO2003101366A1 PCT/US2003/017542 US0317542W WO03101366A1 WO 2003101366 A1 WO2003101366 A1 WO 2003101366A1 US 0317542 W US0317542 W US 0317542W WO 03101366 A1 WO03101366 A1 WO 03101366A1
Authority
WO
WIPO (PCT)
Prior art keywords
retlw
psw
goto
movwf
movlw
Prior art date
Application number
PCT/US2003/017542
Other languages
French (fr)
Inventor
Alton B. Otis, Jr.
Stanley Cutler
Gayle B. Gerth
Sharyl Canahuati
Original Assignee
Inseat Solutions, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inseat Solutions, Llc filed Critical Inseat Solutions, Llc
Priority to AU2003273278A priority Critical patent/AU2003273278A1/en
Publication of WO2003101366A1 publication Critical patent/WO2003101366A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60NSEATS SPECIALLY ADAPTED FOR VEHICLES; VEHICLE PASSENGER ACCOMMODATION NOT OTHERWISE PROVIDED FOR
    • B60N2/00Seats specially adapted for vehicles; Arrangement or mounting of seats in vehicles
    • B60N2/24Seats specially adapted for vehicles; Arrangement or mounting of seats in vehicles for particular purposes or particular vehicles
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H23/00Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms
    • A61H23/02Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms with electric or magnetic drive
    • A61H23/0254Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms with electric or magnetic drive with rotary motor
    • A61H23/0263Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms with electric or magnetic drive with rotary motor using rotating unbalanced masses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60NSEATS SPECIALLY ADAPTED FOR VEHICLES; VEHICLE PASSENGER ACCOMMODATION NOT OTHERWISE PROVIDED FOR
    • B60N2/00Seats specially adapted for vehicles; Arrangement or mounting of seats in vehicles
    • B60N2/90Details or parts not otherwise provided for
    • B60N2/976Details or parts not otherwise provided for massaging systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/01Constructive details
    • A61H2201/0119Support for the device
    • A61H2201/0138Support for the device incorporated in furniture
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/01Constructive details
    • A61H2201/0119Support for the device
    • A61H2201/0138Support for the device incorporated in furniture
    • A61H2201/0149Seat or chair
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5007Control means thereof computer controlled
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5007Control means thereof computer controlled
    • A61H2201/501Control means thereof computer controlled connected to external computer devices or networks
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5007Control means thereof computer controlled
    • A61H2201/501Control means thereof computer controlled connected to external computer devices or networks
    • A61H2201/5015Control means thereof computer controlled connected to external computer devices or networks using specific interfaces or standards, e.g. USB, serial, parallel
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2205/00Devices for specific parts of the body
    • A61H2205/08Trunk
    • A61H2205/081Back
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2205/00Devices for specific parts of the body
    • A61H2205/10Leg
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60NSEATS SPECIALLY ADAPTED FOR VEHICLES; VEHICLE PASSENGER ACCOMMODATION NOT OTHERWISE PROVIDED FOR
    • B60N2/00Seats specially adapted for vehicles; Arrangement or mounting of seats in vehicles
    • B60N2/90Details or parts not otherwise provided for
    • B60N2002/981Warning systems, e.g. the seat or seat parts vibrates to warn the passenger when facing a danger

Definitions

  • Appendix A (“EMCPCP.asm” - 53 pages) and Appendix B (“EMCPCP.hex” - 18 pages) which are hard copy printout of the assembly listing and hex listing of the source code for the computer programs that configure the processors in accordance with the present invention.
  • the computer program files contained in Appendix A & B are subject to copyright protection. The copyright owner has no objection to the reproduction of the files or the patent disclosure as filed, but otherwise reserves all copyright rights whatsoever.
  • the present invention relates to a massaging apparatus, and more particularly to an improved massage system with operational feedback and a corresponding protocol for such apparatus.
  • massaging apparatus has produced a variety of products incorporating plural vibration transducers that operate in multiple modes.
  • more sophistication in the massaging and heating of the body is desired, not only as a sales tactic, but also and, perhaps more importantly, as an adjunct to safety systems and medical treatment.
  • the increased sophistication tends to drive up costs, particularly when product variations must be supported by diverse inventories, and new developments make existing products obsolete.
  • a massage system having further improved operating modes with increased utilization of existing inventories and shorter lead times in commercial production of products having greater sophistication.
  • the system be reliable, easy to operate and inexpensive to produce, diagnose problems with and repair.
  • the system may be configured to communicate through a variety of protocols, including a RS-232 serial interface, hardwired serial or parallel ports or wireless protocols.
  • RS-232 serial interface RS-232 serial interface
  • hardwired serial or parallel ports or wireless protocols RS-232 serial interface
  • the present invention provides a computer based massage system utilizing hardwired serial or parallel ports or wireless protocols with operational feedback.
  • the massage units may incorporate small DC motors with eccentric mass elements as the vibratory massaging source. These vibrators may be embedded in a pad upon which the user lies or reclines.
  • the pad may be in the form of a seating surface in an airline seat and may also contain embedded heaters to enhance the massage.
  • the system may be activated via a remote control device containing key switches or push buttons and visual status indicators incorporating an LCD screen.
  • an airline seat may incorporate a plurality of vibrators and heaters.
  • the heaters are located in the center of the shoulder and lower back areas and the vibrators are located in four zones distributed over the body length.
  • Real-time feedback of the vibrating unit's actual operational status to the user and the airline crew through viewable displays is incorporated into the present invention to provide better control and accuracy of the massage system and to alert the user and crew to any malfunctions within the seat.
  • the massaging system includes a plurality of vibrators for deflecting respective regions of a seat where each vibrator is operated with a power signal.
  • a massage module is incorporated into the system and configured with input and output interfaces for communication with the vibrators and external components.
  • External components can include devices such as a user- controlled wand, a data routing unit and an electronic control unit.
  • the module can also monitor the operational status of the vibrators and accordingly report the status as necessary.
  • a series of communication buses may function to link the massage module to the vibrators and to the wand through the data routing unit.
  • the vibrators can be in an array of transducers with a corresponding series of motor drivers incorporated into the massage module.
  • the massaging system includes a plurality of vibrators for vibrating respective regions of a seat. Each region may be configured with a left and right vibrator, each being responsive to a power signal.
  • a massage module may incorporate vibrator-monitoring capabilities along with input and output interfaces for communication with the vibrators and a data routing unit. Massage signals are generated in the wand or other user interface and are sent through a communication bus to a data routing unit. The data routing unit sends the massage signals to the input interface of the massage module to control the module in response to user commands.
  • the massage signals include a plurality of region signals relating to vibrators to be activated and a plurality of mode signals. Vibrator drivers, which are incorporated into the massage module, produce a power signal separately for each of the vibrators.
  • the massage module operates in response to the input elements by powering the vibrators for operation in a plurality of modes.
  • each of a plurality of modes may be activated sequentially and may be automatically terminated upon completion thereof.
  • a second composite mode may then continuously repeat the first composite mode.
  • the signaling can include signals for setting an intensity control value, with the vibrators preferably activated at power levels responsive to the intensity control value in at least some of the modes.
  • the signaling can further include signals for setting a speed control value for determining a rate of sequencing where, during at least one of the composite modes, the duration of operation in sequential activation of modes may be responsive to the speed control value.
  • At least one composite mode for facilitating testing and/or demonstration of the system at variable power levels may also be configured into the system.
  • the mode signals can include a zig-zag signal where the massage module is operative in response to the zig-zag signal for activating alternating left and right vibrators in a sequential manner.
  • the massage module can also be operative in response to repeated occurrences of the zig-zag signal for selectively activating the vibrators in various modes, for example: (1) shoe lace pattern wherein diagonal pairs of the transducers are activated in a repeating pattern; (2) a first alternating zig-zag pattern of left and right transducers in adjacent regions, followed by a second alternating pattern being a mirror image of the first; and (3) an alternating repetitive pattern in one region, the pattern sequentially advancing among the regions.
  • the mode signals can include a circle signal where the massage unit is operative in response to the circle signal for activating an alternating pattern of the vibrators with the pattern periodically advancing in a closed path among the vibrators.
  • the module can also be operative in response to repeated occurrences of the circle signal for selectively activating the vibrators in various modes, for example: (1) a circle pattern wherein the pattern is circular, advancing between the left vibrators in one direction and the right vibrators in the opposite direction; (2) a circle pattern advancing oppositely of the previous pattern; and (3) a figure-eight pattern.
  • the mode signals can include a program signal where the massage module is operative in response to the program signal for setting a relative power level for the vibrators separately for each of the regions in response to the intensity control value and respective of the region signals.
  • the massage module can also be operative in response to repeated occurrences of the program signal in various modes, for example: (1) for changing custom settings of individual regions; (2) for permitting operation in other modes while maintaining relative power levels of the regions corresponding to the custom settings; and (3) for permitting operation in other modes without the custom settings, the custom settings being preserved until being changed following a subsequent occurrence of the program signal.
  • FIGURE 1 is a perspective view of a massaging system of the present invention incorporated into airline seats.
  • FIG. 2 is a schematic of one embodiment of the massage system of the present invention.
  • FIG. 3 is a plan view of a massage module and vibrating units of one embodiment of the massage system of the present invention.
  • FIG. 4 is a circuit diagram detailing the controller portion of a five-zone vibrating unit massage system of the present invention.
  • FIG. 5 is a circuit diagram detailing an electronics module portion of the massage system of FIG. 4.
  • FIG. 6 is a circuit diagram detailing the controller portion of a five-zone vibrating unit massage system further including two heating units in accordance with the present invention.
  • FIG. 7 is a circuit diagram detailing an electronics module portion of the massage system of FIG. 6. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • the present invention is directed to a computerized massaging system that provides multiple modes, incorporates feedback capabilities, and that is inexpensive to provide in a number of variants with minimal inventory complexity, with non- enabled features being transparent to users of the system.
  • Communication amongst the various pieces of hardware may be accomplished using a variety of protocols, including hardwired (e.g., RS-232) or wireless systems.
  • RS-232 hardwired
  • wireless systems e.g., RS-232
  • airline-type seats are contemplated to be used in connection with the massage system.
  • a massaging system 10 of the present invention may be incorporated into two side-by-side business class type seats 14a, 14b.
  • the system includes two massage modules 37a, 37b located beneath the bottom cushion of each seat and a series of vibrators 12 incorporated into the bottom cushions 62a, 62b and backrests 64a, 64b.
  • the vibrators are connected to the massage modules through a series of hard- wire connections 48a, 48b, 50a, 50b shown in FIG. 2.
  • Passengers may operate the massage system through a "wand" 36a, 36b.
  • the left wand 36a operates the massage system in the left seat 14a while the right wand 36b operates the massage system in the right seat 14b.
  • the wands incorporate user-friendly features and options such as liquid crystal display (LCD), push buttons, and keys.
  • LCD liquid crystal display
  • Passengers enable massaging by selecting an area of the seat and type of massaging through controls on the wands 36a or 36b.
  • a massage signal corresponding to the passenger's selections is then generated in the wand.
  • This massage signal may be sent from the wand to a data routing unit (DRU) 42a, 42b, which may be located within the passenger's seat.
  • the DRU then routes the massage signal to the massage module 37a, 37b, which may also be located in the lower portion of the passenger seat.
  • the massage module processes the massage signal from the DRU, and activates the vibrators 12 in the seat to massage the passenger according to his selections.
  • An electronic control unit (ECU) 38 may be connected to each of the massage modules 33a, 37b and DRUs 42a, 42b.
  • each seat 14a, 14b has eight vibrators 12 arranged in groups of two for a total of four zones.
  • the zones are divided as follows: a first zone 26a, 26b for the left side and right side of the shoulder area; a second zone 28a, 28b for the left side and right side of the lower back; a third zone 30a, 30b for the left and right hips; and a fourth zone 32a, 32b for the left and right thighs.
  • the heaters can be centrally located in the shoulder and lower back areas 26a, 26b and 28a, 28b.
  • footrests with vibrators may be included. The incorporation of the footrest portion of the seat can add another set of vibrators and therefore another massaging zone to the system.
  • the massage module 37a, 37b operates the series of vibrators 12 in a wide variety of patterns and motions according to user commands and massage system settings.
  • the massage module concurrently monitors the status of each vibrator to determine whether each unit is operating correctly.
  • Electronic monitoring of the vibrators provides valuable diagnostic capabilities and indirectly increases safety by limiting distractions to the crew and passenger during flight.
  • the massage module 37a, 37b of the present invention monitors the current flowing through the massage motors of the vibrators 12 to determine short circuit, stall (over normal current) and open circuit conditions.
  • the massage module also monitors the motor drivers to detect shorts and high leakage conditions.
  • the monitoring algorithm takes into account the pulse width modulation (PWM) drive process and sharing of the current sensing circuits where the left vibrators in each zone share one circuit and the right vibrators share the other circuit.
  • PWM pulse width modulation
  • a separate current sensing circuit is provided for each heater (up to two per system).
  • the massage module monitors the heaters to detect short and open circuit conditions, and monitors the heater drivers to detect short and high leakage conditions.
  • the massage module 37a, 37b also monitors the voltage of the power supplied to the main control board. This is either 12 NDC from an external power source or 12 NDC from an internal power supply that is powered from a 120 VAC external power source.
  • the voltage level is checked for both over and under voltage conditions. Whenever a current or voltage fault is detected, the nature and time of the fault is logged into a non-volatile memory (EEPROM) inside the massage module. If a motor or heater fault occurs, then the associated motor/heater is disabled. If a motor or heater driver fault occurs, then all motors and heaters are disabled. If a sustained over or under voltage fault occurs, then all motors and heaters are disabled. Transient under voltage faults associated with power shutdown are not logged.
  • EEPROM non-volatile memory
  • the massage module further provides commands to read and clear the log contents as part of normal maintenance procedures. Proper use of these commands allows maintenance personnel to rapidly find and replace defective components to minimize system down time.
  • the massage module 37a, 37b of the present invention may also be configured to provide a calibration function.
  • ADC analog-to-digital conversion
  • the massage system 10 of the present invention has all of these capabilities.
  • the ADC inside the massage module uses a precision voltage reference, and the control firmware provides commands to derive and save calibration values under the direction of an external host computer. All calibration values are stored in non-volatile memory inside the massage module.
  • the massage system of the present invention may be provided with a calibration box (not shown) containing precision resistors that replace the motors and heaters, thereby enabling the firmware to accurately calibrate the current sensors.
  • the massage module 37a, 37b can activate the vibrators 12 in a predetermined manner to provide passengers with alertive massaging indicating a situation requiring passengers to fasten seat belts such as during landing and take-offs.
  • the massage system of the present invention is not limited to use and integration with airline systems, but may also be integrated with and interface to other computer controlled systems such as automobiles, trucks, home entertainment, and personal computing workstations.
  • FIG. 2 there is shown a block diagram of the components incorporated into the two airline seats 14a, 14b shown in FIG. 1.
  • the massage modules 37a, 37b may be located beneath the seat bottom cushion and the vibrators 12 may be incorporated in the seat bottom cushion and in the backrest.
  • the ECU 38 in this embodiment is mounted external to the seats.
  • the audio components 44a, 44b and video components 46a, 46b may be mounted in the seats, adjacent or external thereto.
  • the wands 36a, 36b which preferably include user-friendly LCD displays may be attached to the outer surface of the seats removably, providing the passengers with easy control over the massage system and other related features in connection with the seat.
  • the massage modules 37a, 37b are electronically connected to the vibrating units 12 through a first set of links in the form of hardwire connections 48a, 48b, 50a and 50b.
  • the second set of links are in the form of communication interfaces 56a and 56b between the DRUs 42a, 42b and the massage modules and configured as standard RS-232 serial communication ports with cabling suitably compatible to such ports.
  • Connections 48a, 48b link each massage module to zones 1 and 2 (26a, 26b, 28a and 28b) while connections 50a, 50b link the massage modules to zones 3 and 4 (30a, 30b, 32a and 32b).
  • Power to the massage modules is supplied by the ECU 38 through a first power cable 52.
  • a second power cable 54 may be used to provide power one from one massage module to the other.
  • the ECU, audio and video components and the wands may be linked to the DRUs through RS-232 port communication ports, or similar means such as wired or wireless communications.
  • a first (left) massage module 37a is located in the left seat 14a, receives a power input from the ECU 38, and may be configured to distribute power to a second (right) massage unit 37b via a power connector 54.
  • the left massage module 37a is configured to receive a massage signal from a first (left) wand 36a via a first (left) data router 42a.
  • the left massage module 37a is connected through hardwires to the vibrators 70a, 72a, 74a, 76a, 78a, 80a, 82a, 89a located in four massaging zones if the first (left) seat: upper back 26a, lower back 28a, rear seat (near buttocks) 30a, and forward seat (near thighs) 32a.
  • the massage module sends a pulse width modulated signal necessary for vibrator operation. This signal generally varies between the eight vibrators according to the passenger's massage selection.
  • the right massage module 37b is similarly configured so as to receive a massage signal from the second data router 42b, to receive a power signal from the first massage unit 37a and to distribute pulse width modulated signals to the second set of vibrators 70b, 72b, 74b, 76b, 78b, 80b, 82b, 84b located in four massaging zones of the second (right) seat: upper back 26b, lower back 28b, rear seat (near buttocks) 30b, and forward seat (near thighs) 32b.
  • the massage system 10 of the present invention may be configured with ten vibrating units (MEZ1L - MEZ5R) for a single seat 14a or 14b (FIG. 1).
  • a fifth zone is provided for inserting a pair of vibrators 12 into a footrest (not shown) attached to the seat.
  • the massage module 37c includes motor drivers 118 for activating each corresponding vibrator.
  • an alternative embodiment of the present invention includes ten vibrating units (MEZ1L - MEZ5R) and two heater units (HTRE1, HTRE2) for a single seat.
  • the massage module 37d includes motor drivers 120 for activating the vibrators and heater controllers 122 for activating the heaters.
  • the massaging modules preferably incorporate RS-232 serial interface ports for inputs from the data routers and corresponding outputs to the data routers. A protocol for the system is discussed further below.
  • the motor drivers 118, 120 and heater controllers 122 of the massage modules 37c, 37d are directly driven from respective outputs from microprocessors 130, 132 configured within the massage modules.
  • Massage intensity (motor speed) is controlled by pulse width modulation (PWM) of the signals applied to the drivers 118, 120. This, in turn, controls the average power applied to the motor. While a duty cycle range of zero to one hundred percent is possible, other factors limit the range to about sixteen to ninety-eight percent. These factors include motor stalling at low speeds, and subjective evaluation of minimum and maximum intensity levels.
  • the pulse rate modulation frequency is set to between approximately fifty Hz and approximately sixty Hz. In the exemplary implementation of the PWM process as described further below, the frequency preferably is set to 55.56 Hz.
  • Each vibrator 12 is of conventional construction, and may comprise a small DC motor that rotates an eccentric weight, or if desired, a pair of eccentrics at opposite ends of the motor, the vibrators being sometimes referred to herein as motors.
  • the vibrator is caused to vibrate as the eccentric weight rotates. This vibration when felt through the seating surface essentially creates the massaging which the system provides to the passenger. It will also be understood that other forms of vibrators may be used.
  • the hardwire connections 48a, 48b, 50a, 50b provide a power and control link between the massage modules 37a, 37b and the vibrators 70a, 72a, 74a, 76a, 78a, 80a, 82a, 84a, 70b, 72b, 74b, 76b, 78b, 80b, 82b, 84b.
  • the DRUs 42a, 42b may be linked to the massage modules through RS-232 serial communication buses 56a, 56b which permits two-way communication.
  • the wands 36a, 36b also may be linked to the massage modules through RS-232 serial communication buses 66a, 66b.
  • the communication buses between the DRUs, wands and the massage modules may be constructed with standard RS-232 serial port interface cable.
  • a variety of different communication systems can be used, including, but not limited to, hardwired (e.g., parallel port, USB, FIREWIRE - IEEE 1394) and wireless systems (e.g., infrared, microwave, radiofrequency, BLUETOOTH).
  • hardwired e.g., parallel port, USB, FIREWIRE - IEEE 1394
  • wireless systems e.g., infrared, microwave, radiofrequency, BLUETOOTH.
  • the massage system of the present invention may be controlled by an external controller or remote control device (RCD) (e.g., the wands 36a, 36b in FIGS. 1 & 2) via an RS-232 serial port interface connecting the RCD to the DRU 42a, 42b and the DRU to the massage module 37a, 37b.
  • RCD remote control device
  • the protocol assumes a master/slave relationship between the RCD and the massage system with the RCD being the master. Further details are as follows:
  • the protocol uses bidirectional serial communication with RS-232 voltage levels. Data is transmitted as asynchronous bytes with one start bit, eight data bits and one stop bit at a rate of 38.4 Kbps. For multi-byte transmissions, the maximum permitted delay between consecutive bytes is five milliseconds. The receiving party will use this limit to detect incomplete transmissions.
  • the communication cable has the following signals:
  • TXD Transmit data from the RCD
  • RXD Receive data to the RCD
  • the RCD is able to control the massage system and determine its current state to provide flexibility in the design of the RCD user interface. Specific items are as follows: a) Massage Power Control. Commands are provided to turn the massage off, turn it on with a fifteen-minute timeout and turn it on with a thirty- minute timeout. The RCD may use these to implement various styles of power control. Some examples are as follows: i) One key that toggles the system between off and on for fifteen minutes. If the key is held for more than two seconds, then the timeout changes to thirty minutes;
  • Zone Selection Commands are provided to select and deselect each zone.
  • the RCD may use these to implement various styles of zone control. Some examples are as follows: i) One key per zone;
  • iii One key that sequentially and continuously moves through the available zones.
  • d) Massage Intensity Control Commands are provided to incrementally increase and decrease the massage intensity.
  • the RCD may use these to implement various styles of intensity control. Some examples are as follows: i) One key for each of 'N' levels. The RCD executes repeated intensity control commands to adjust the intensity to the selected level; and
  • Heater Control Commands are provided to turn each heater off, on low and on high.
  • the RCD may use these to implement various styles of heater control in systems that include one or more heaters. Some examples are as follows: i) One key per heater that toggles between off, low and high;
  • the system contains a demonstration mode that sequentially presents all of the operating features of the massage unit.
  • the RCD may enable this with a special key or by a hidden key sequence.
  • the RCD may send ASCII or otherwise appropriately coded command packets to the massage system.
  • the maximum inter-byte delay within a packet is preferably less than five milliseconds.
  • the massage system may respond to each command with a status reply.
  • BTFSC STCB 2 BTFSC STCB.l GOTO T2ISG BCF PSW.BSl GOTO T2IE
  • GTCCO RETLW 0 NUL RETLW 0 SOH RETLW 0 STX RETLW 0 ETX RETLW 0 EOT RETLW 0 ENQ RETLW 0 ACK RETLW 0 BEL RETLW 0 BS RETLW 0 HT RETLW 0 LF
  • MOVLW (65536-(PGMSL-2))%256
  • MOVLW (65536-(PGMSL-2))/256
  • ZR GOTO STEH MOVF IOD W ANDLW 07CH XORLW 040H BTFSS PSW .
  • ZR GOTO STEH MOVF IOE W XORLW 000H BTFSC PSW.
  • MSSLA CALL TFAC BTFSS OPCF 7 GOTO MSID BTFSC OPCF, 4 GOTO MSSD BTFSC OPCF, 3 GOTO MSIN BTFSC OPCF, 2 GOTO MSMS BTFSC OPCF.l GOTO MSSL GOTO MSSLA
  • BTFSS OPCF 7 GOTO MSID BTFSC OPCF, 4 GOTO MSSD BTFSC OPCF, 3 GOTO MSIN BTFSC OPCF, 2 GOTO MSMS BTFSC OPCF.l GOTO MSPL BTFSS OPCF.O GOTO MSPLB MOVF R8,W ADDLW -(PLMSL-1) BTFSC PSW,CY MOVLW -PLMSL ADDLW PLMSL GOTO MSPLA PAGE

Abstract

A massaging system (10) including a series of vibrators (12) and heaters located within seating surfaces, a massage module (37a, b) for operating and monitoring the status of vibrators (12), and a communication system connecting the massage unit to one or more external devices capable of sending massage signals and receiving diagnostic information. The communication system may include a variety of protocols, including hardwired (e.g., RS-232) or wireless devices. The massaging system (10) may include and or interface with a variety of external components, including a user­-controlled wand (36a, b), a data router (42a, b) and an electronic control unit (38). The massage module (37a, b) also functions to monitor the vibrators (12) and heaters and reports their operative status to the electronic control unit (38) and/or the user wand (36a, b). A calibration feature may also be programmed into the computer controlled massage system (10).

Description

MASSAGE SYSTEM WITH FEEDBACK
CROSS-REFERENCE TO RELATED APPLICATION
This application claims the benefit of U.S. Provisional Application Ser. No. 60/384,976, filed June 3, 2002, the content of which is hereby incorporated herein by reference.
REFERENCE TO COMPUTER PROGRAM LISTING APPENDIX
Attached hereto and incorporated herein are Appendix A ("EMCPCP.asm" - 53 pages) and Appendix B ("EMCPCP.hex" - 18 pages) which are hard copy printout of the assembly listing and hex listing of the source code for the computer programs that configure the processors in accordance with the present invention. The computer program files contained in Appendix A & B are subject to copyright protection. The copyright owner has no objection to the reproduction of the files or the patent disclosure as filed, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
The present invention relates to a massaging apparatus, and more particularly to an improved massage system with operational feedback and a corresponding protocol for such apparatus. Recent developments in massaging apparatus have produced a variety of products incorporating plural vibration transducers that operate in multiple modes. In general, more sophistication in the massaging and heating of the body is desired, not only as a sales tactic, but also and, perhaps more importantly, as an adjunct to safety systems and medical treatment. The increased sophistication tends to drive up costs, particularly when product variations must be supported by diverse inventories, and new developments make existing products obsolete. Thus there is a need for a massage system having further improved operating modes with increased utilization of existing inventories and shorter lead times in commercial production of products having greater sophistication. There is a further need that the system be reliable, easy to operate and inexpensive to produce, diagnose problems with and repair.
Accordingly, there has been a long-standing need to provide a novel massaging apparatus with advanced feedback and diagnostic capabilities that will impart a variety of massaging movements to the occupant of a chair or similar support device such as an airline seat at the neck, shoulders, feet and/or similar areas of the body. Preferably, the system may be configured to communicate through a variety of protocols, including a RS-232 serial interface, hardwired serial or parallel ports or wireless protocols. The present invention satisfies these and other needs.
SUMMARY OF THE INVENTION
The present invention provides a computer based massage system utilizing hardwired serial or parallel ports or wireless protocols with operational feedback. The massage units may incorporate small DC motors with eccentric mass elements as the vibratory massaging source. These vibrators may be embedded in a pad upon which the user lies or reclines. The pad may be in the form of a seating surface in an airline seat and may also contain embedded heaters to enhance the massage. The system may be activated via a remote control device containing key switches or push buttons and visual status indicators incorporating an LCD screen.
In one implementation, an airline seat may incorporate a plurality of vibrators and heaters. Typically, the heaters are located in the center of the shoulder and lower back areas and the vibrators are located in four zones distributed over the body length. Several advantages are derived from this arrangement. Computerizing the various modes and operations facilitates the use of the massaging and heating apparatus. The incorporation of a computerized system benefits the user with a wide variety of massage according to pre-programmed and user selected massaging options. A variety of options for vibrating sources and operating modes may be available with computerized massaging. Further, total operational variety is simpler to obtain through computer programming than manually.
Real-time feedback of the vibrating unit's actual operational status to the user and the airline crew through viewable displays is incorporated into the present invention to provide better control and accuracy of the massage system and to alert the user and crew to any malfunctions within the seat.
In one aspect of the invention, the massaging system includes a plurality of vibrators for deflecting respective regions of a seat where each vibrator is operated with a power signal. A massage module is incorporated into the system and configured with input and output interfaces for communication with the vibrators and external components. External components can include devices such as a user- controlled wand, a data routing unit and an electronic control unit. The module can also monitor the operational status of the vibrators and accordingly report the status as necessary. A series of communication buses may function to link the massage module to the vibrators and to the wand through the data routing unit. The vibrators can be in an array of transducers with a corresponding series of motor drivers incorporated into the massage module.
In a further aspect of the invention, the massaging system includes a plurality of vibrators for vibrating respective regions of a seat. Each region may be configured with a left and right vibrator, each being responsive to a power signal. A massage module may incorporate vibrator-monitoring capabilities along with input and output interfaces for communication with the vibrators and a data routing unit. Massage signals are generated in the wand or other user interface and are sent through a communication bus to a data routing unit. The data routing unit sends the massage signals to the input interface of the massage module to control the module in response to user commands. The massage signals include a plurality of region signals relating to vibrators to be activated and a plurality of mode signals. Vibrator drivers, which are incorporated into the massage module, produce a power signal separately for each of the vibrators. The massage module operates in response to the input elements by powering the vibrators for operation in a plurality of modes.
In a first composite mode, each of a plurality of modes may be activated sequentially and may be automatically terminated upon completion thereof. A second composite mode may then continuously repeat the first composite mode. The signaling can include signals for setting an intensity control value, with the vibrators preferably activated at power levels responsive to the intensity control value in at least some of the modes. The signaling can further include signals for setting a speed control value for determining a rate of sequencing where, during at least one of the composite modes, the duration of operation in sequential activation of modes may be responsive to the speed control value. At least one composite mode for facilitating testing and/or demonstration of the system at variable power levels may also be configured into the system.
Preferably, at least some of the operating modes are altered upon repeated occurrences of the same mode input signals for enhanced control versatility. The mode signals can include a zig-zag signal where the massage module is operative in response to the zig-zag signal for activating alternating left and right vibrators in a sequential manner. The massage module can also be operative in response to repeated occurrences of the zig-zag signal for selectively activating the vibrators in various modes, for example: (1) shoe lace pattern wherein diagonal pairs of the transducers are activated in a repeating pattern; (2) a first alternating zig-zag pattern of left and right transducers in adjacent regions, followed by a second alternating pattern being a mirror image of the first; and (3) an alternating repetitive pattern in one region, the pattern sequentially advancing among the regions.
The mode signals can include a circle signal where the massage unit is operative in response to the circle signal for activating an alternating pattern of the vibrators with the pattern periodically advancing in a closed path among the vibrators. The module can also be operative in response to repeated occurrences of the circle signal for selectively activating the vibrators in various modes, for example: (1) a circle pattern wherein the pattern is circular, advancing between the left vibrators in one direction and the right vibrators in the opposite direction; (2) a circle pattern advancing oppositely of the previous pattern; and (3) a figure-eight pattern.
The mode signals can include a program signal where the massage module is operative in response to the program signal for setting a relative power level for the vibrators separately for each of the regions in response to the intensity control value and respective of the region signals. The massage module can also be operative in response to repeated occurrences of the program signal in various modes, for example: (1) for changing custom settings of individual regions; (2) for permitting operation in other modes while maintaining relative power levels of the regions corresponding to the custom settings; and (3) for permitting operation in other modes without the custom settings, the custom settings being preserved until being changed following a subsequent occurrence of the program signal.
Other features and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the features of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
FIGURE 1 is a perspective view of a massaging system of the present invention incorporated into airline seats.
FIG. 2 is a schematic of one embodiment of the massage system of the present invention.
FIG. 3 is a plan view of a massage module and vibrating units of one embodiment of the massage system of the present invention.
FIG. 4 is a circuit diagram detailing the controller portion of a five-zone vibrating unit massage system of the present invention.
FIG. 5 is a circuit diagram detailing an electronics module portion of the massage system of FIG. 4.
FIG. 6 is a circuit diagram detailing the controller portion of a five-zone vibrating unit massage system further including two heating units in accordance with the present invention.
FIG. 7 is a circuit diagram detailing an electronics module portion of the massage system of FIG. 6. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention is directed to a computerized massaging system that provides multiple modes, incorporates feedback capabilities, and that is inexpensive to provide in a number of variants with minimal inventory complexity, with non- enabled features being transparent to users of the system. Communication amongst the various pieces of hardware may be accomplished using a variety of protocols, including hardwired (e.g., RS-232) or wireless systems. In one embodiment of the present invention, airline-type seats are contemplated to be used in connection with the massage system.
As shown in FIG. 1, a massaging system 10 of the present invention may be incorporated into two side-by-side business class type seats 14a, 14b. The system includes two massage modules 37a, 37b located beneath the bottom cushion of each seat and a series of vibrators 12 incorporated into the bottom cushions 62a, 62b and backrests 64a, 64b. The vibrators are connected to the massage modules through a series of hard- wire connections 48a, 48b, 50a, 50b shown in FIG. 2. Passengers may operate the massage system through a "wand" 36a, 36b. The left wand 36a operates the massage system in the left seat 14a while the right wand 36b operates the massage system in the right seat 14b. The wands incorporate user-friendly features and options such as liquid crystal display (LCD), push buttons, and keys.
Passengers enable massaging by selecting an area of the seat and type of massaging through controls on the wands 36a or 36b. A massage signal corresponding to the passenger's selections is then generated in the wand. This massage signal may be sent from the wand to a data routing unit (DRU) 42a, 42b, which may be located within the passenger's seat. The DRU then routes the massage signal to the massage module 37a, 37b, which may also be located in the lower portion of the passenger seat. The massage module processes the massage signal from the DRU, and activates the vibrators 12 in the seat to massage the passenger according to his selections. An electronic control unit (ECU) 38 may be connected to each of the massage modules 33a, 37b and DRUs 42a, 42b.
In the exemplary configuration shown in FIG. 1, each seat 14a, 14b has eight vibrators 12 arranged in groups of two for a total of four zones. The zones are divided as follows: a first zone 26a, 26b for the left side and right side of the shoulder area; a second zone 28a, 28b for the left side and right side of the lower back; a third zone 30a, 30b for the left and right hips; and a fourth zone 32a, 32b for the left and right thighs. If heating is included within the seat, the heaters can be centrally located in the shoulder and lower back areas 26a, 26b and 28a, 28b. It will be understood that other groupings and numbers of massage zones are contemplated. For example, in first class type airline seats footrests with vibrators may be included. The incorporation of the footrest portion of the seat can add another set of vibrators and therefore another massaging zone to the system.
The massage module 37a, 37b operates the series of vibrators 12 in a wide variety of patterns and motions according to user commands and massage system settings. The massage module concurrently monitors the status of each vibrator to determine whether each unit is operating correctly. Electronic monitoring of the vibrators provides valuable diagnostic capabilities and indirectly increases safety by limiting distractions to the crew and passenger during flight.
The massage module 37a, 37b of the present invention monitors the current flowing through the massage motors of the vibrators 12 to determine short circuit, stall (over normal current) and open circuit conditions. The massage module also monitors the motor drivers to detect shorts and high leakage conditions. The monitoring algorithm takes into account the pulse width modulation (PWM) drive process and sharing of the current sensing circuits where the left vibrators in each zone share one circuit and the right vibrators share the other circuit. In massage systems of the present invention having heaters, a separate current sensing circuit is provided for each heater (up to two per system). The massage module monitors the heaters to detect short and open circuit conditions, and monitors the heater drivers to detect short and high leakage conditions.
In addition to current monitoring, the massage module 37a, 37b also monitors the voltage of the power supplied to the main control board. This is either 12 NDC from an external power source or 12 NDC from an internal power supply that is powered from a 120 VAC external power source. The voltage level is checked for both over and under voltage conditions. Whenever a current or voltage fault is detected, the nature and time of the fault is logged into a non-volatile memory (EEPROM) inside the massage module. If a motor or heater fault occurs, then the associated motor/heater is disabled. If a motor or heater driver fault occurs, then all motors and heaters are disabled. If a sustained over or under voltage fault occurs, then all motors and heaters are disabled. Transient under voltage faults associated with power shutdown are not logged. Once a motor is disabled, it remains disabled until the unit receives a command to clear all motor faults. If the fault persists, the motor(s) is (are) again disabled until the next fault clear command. The massage module further provides commands to read and clear the log contents as part of normal maintenance procedures. Proper use of these commands allows maintenance personnel to rapidly find and replace defective components to minimize system down time.
The massage module 37a, 37b of the present invention may also be configured to provide a calibration function. To accurately determine current and voltage fault thresholds it is necessary to have a stable precision reference for the analog-to-digital conversion (ADC) process, and to have threshold values derived from a calibration procedure using known reference values. The massage system 10 of the present invention has all of these capabilities. The ADC inside the massage module uses a precision voltage reference, and the control firmware provides commands to derive and save calibration values under the direction of an external host computer. All calibration values are stored in non-volatile memory inside the massage module. To facilitate the calibration process, the massage system of the present invention may be provided with a calibration box (not shown) containing precision resistors that replace the motors and heaters, thereby enabling the firmware to accurately calibrate the current sensors.
Another feature of the current massage system is that a variety of peripheral devices including audio 44a, 44b, video phone 46a, 46b, and other passenger entertainment components are capable of being linked to the data router 42a, 42b and then incorporated into the control of the massage system 10. These options can enable the massage system to coordinate with audio and video performances as well as provide safety enhancements and additional comfort through temperature control. In terms of safety, the massage module 37a, 37b can activate the vibrators 12 in a predetermined manner to provide passengers with alertive massaging indicating a situation requiring passengers to fasten seat belts such as during landing and take-offs. A wide variety of other warning options intended to increase passenger safety can be incorporated into the system. Furthermore, the massage system of the present invention is not limited to use and integration with airline systems, but may also be integrated with and interface to other computer controlled systems such as automobiles, trucks, home entertainment, and personal computing workstations.
Turning to FIG. 2, there is shown a block diagram of the components incorporated into the two airline seats 14a, 14b shown in FIG. 1. As mentioned above, the massage modules 37a, 37b may be located beneath the seat bottom cushion and the vibrators 12 may be incorporated in the seat bottom cushion and in the backrest. The ECU 38 in this embodiment is mounted external to the seats. Similarly, the audio components 44a, 44b and video components 46a, 46b may be mounted in the seats, adjacent or external thereto. The wands 36a, 36b which preferably include user-friendly LCD displays may be attached to the outer surface of the seats removably, providing the passengers with easy control over the massage system and other related features in connection with the seat.
The massage modules 37a, 37b are electronically connected to the vibrating units 12 through a first set of links in the form of hardwire connections 48a, 48b, 50a and 50b. The second set of links are in the form of communication interfaces 56a and 56b between the DRUs 42a, 42b and the massage modules and configured as standard RS-232 serial communication ports with cabling suitably compatible to such ports. Connections 48a, 48b link each massage module to zones 1 and 2 (26a, 26b, 28a and 28b) while connections 50a, 50b link the massage modules to zones 3 and 4 (30a, 30b, 32a and 32b). Power to the massage modules is supplied by the ECU 38 through a first power cable 52. A second power cable 54 may be used to provide power one from one massage module to the other. The ECU, audio and video components and the wands may be linked to the DRUs through RS-232 port communication ports, or similar means such as wired or wireless communications.
A. MASSAGE MODULES
The various massage modules may be identically configured, and their inputs and outputs may be virtually identical. A first (left) massage module 37a is located in the left seat 14a, receives a power input from the ECU 38, and may be configured to distribute power to a second (right) massage unit 37b via a power connector 54. The left massage module 37a is configured to receive a massage signal from a first (left) wand 36a via a first (left) data router 42a. The left massage module 37a is connected through hardwires to the vibrators 70a, 72a, 74a, 76a, 78a, 80a, 82a, 89a located in four massaging zones if the first (left) seat: upper back 26a, lower back 28a, rear seat (near buttocks) 30a, and forward seat (near thighs) 32a. In use, the massage module sends a pulse width modulated signal necessary for vibrator operation. This signal generally varies between the eight vibrators according to the passenger's massage selection. The right massage module 37b is similarly configured so as to receive a massage signal from the second data router 42b, to receive a power signal from the first massage unit 37a and to distribute pulse width modulated signals to the second set of vibrators 70b, 72b, 74b, 76b, 78b, 80b, 82b, 84b located in four massaging zones of the second (right) seat: upper back 26b, lower back 28b, rear seat (near buttocks) 30b, and forward seat (near thighs) 32b.
Referring to FIGS. 3, 4 and 5, the massage system 10 of the present invention may be configured with ten vibrating units (MEZ1L - MEZ5R) for a single seat 14a or 14b (FIG. 1). A fifth zone is provided for inserting a pair of vibrators 12 into a footrest (not shown) attached to the seat. The massage module 37c includes motor drivers 118 for activating each corresponding vibrator. Referring to FIGS. 6 and 7, an alternative embodiment of the present invention includes ten vibrating units (MEZ1L - MEZ5R) and two heater units (HTRE1, HTRE2) for a single seat. The massage module 37d includes motor drivers 120 for activating the vibrators and heater controllers 122 for activating the heaters. The massaging modules preferably incorporate RS-232 serial interface ports for inputs from the data routers and corresponding outputs to the data routers. A protocol for the system is discussed further below.
The motor drivers 118, 120 and heater controllers 122 of the massage modules 37c, 37d are directly driven from respective outputs from microprocessors 130, 132 configured within the massage modules. Massage intensity (motor speed) is controlled by pulse width modulation (PWM) of the signals applied to the drivers 118, 120. This, in turn, controls the average power applied to the motor. While a duty cycle range of zero to one hundred percent is possible, other factors limit the range to about sixteen to ninety-eight percent. These factors include motor stalling at low speeds, and subjective evaluation of minimum and maximum intensity levels. To reduce the audible noise generated by the PWM process, the pulse rate modulation frequency is set to between approximately fifty Hz and approximately sixty Hz. In the exemplary implementation of the PWM process as described further below, the frequency preferably is set to 55.56 Hz.
B. VIBRATORS
Each vibrator 12 is of conventional construction, and may comprise a small DC motor that rotates an eccentric weight, or if desired, a pair of eccentrics at opposite ends of the motor, the vibrators being sometimes referred to herein as motors. Thus, the vibrator is caused to vibrate as the eccentric weight rotates. This vibration when felt through the seating surface essentially creates the massaging which the system provides to the passenger. It will also be understood that other forms of vibrators may be used.
C. POWER AND COMMUNICATION LINKS
As shown in FIG. 2, the hardwire connections 48a, 48b, 50a, 50b provide a power and control link between the massage modules 37a, 37b and the vibrators 70a, 72a, 74a, 76a, 78a, 80a, 82a, 84a, 70b, 72b, 74b, 76b, 78b, 80b, 82b, 84b. The DRUs 42a, 42b may be linked to the massage modules through RS-232 serial communication buses 56a, 56b which permits two-way communication. The wands 36a, 36b also may be linked to the massage modules through RS-232 serial communication buses 66a, 66b. The communication buses between the DRUs, wands and the massage modules may be constructed with standard RS-232 serial port interface cable. In other embodiments, a variety of different communication systems can be used, including, but not limited to, hardwired (e.g., parallel port, USB, FIREWIRE - IEEE 1394) and wireless systems (e.g., infrared, microwave, radiofrequency, BLUETOOTH). D. PROTOCOL
The massage system of the present invention may be controlled by an external controller or remote control device (RCD) (e.g., the wands 36a, 36b in FIGS. 1 & 2) via an RS-232 serial port interface connecting the RCD to the DRU 42a, 42b and the DRU to the massage module 37a, 37b. The protocol assumes a master/slave relationship between the RCD and the massage system with the RCD being the master. Further details are as follows:
1) Communication Link
The protocol uses bidirectional serial communication with RS-232 voltage levels. Data is transmitted as asynchronous bytes with one start bit, eight data bits and one stop bit at a rate of 38.4 Kbps. For multi-byte transmissions, the maximum permitted delay between consecutive bytes is five milliseconds. The receiving party will use this limit to detect incomplete transmissions. The communication cable has the following signals:
TXD Transmit data from the RCD;
RXD Receive data to the RCD;
SGD Signal GROUND (common); and
CGD Chassis GROUND (if different from SGD). 2) User Interface
The RCD is able to control the massage system and determine its current state to provide flexibility in the design of the RCD user interface. Specific items are as follows: a) Massage Power Control. Commands are provided to turn the massage off, turn it on with a fifteen-minute timeout and turn it on with a thirty- minute timeout. The RCD may use these to implement various styles of power control. Some examples are as follows: i) One key that toggles the system between off and on for fifteen minutes. If the key is held for more than two seconds, then the timeout changes to thirty minutes;
ii) One key that toggles the system between off and on for fifteen minutes, off and on for thirty minutes, or through a three step cycle of off, on for fifteen minutes and on for thirty minutes;
iii) Two keys, wherein one key turns the system off and the other key turns the system on for fifteen minutes. A second press of the on key turns the system on for thirty minutes; and
iv) Three keys that individually select off, fifteen •minutes on and thirty minutes on.
b) Zone Selection. Commands are provided to select and deselect each zone. The RCD may use these to implement various styles of zone control. Some examples are as follows: i) One key per zone;
ii) Two keys that move the active zone down or up through the available zones; and
iii) One key that sequentially and continuously moves through the available zones. c) Operating Mode Selection. Commands are provided to select each operating mode in a mutually exclusive manner. The RCD may use these to implement various styles of operating mode control. Some examples are as follows: i) One key per mode;
ii) Two keys which move the operating mode down or up through the available modes; and
iii) One key that sequentially and continuously moves through the available zones.
d) Massage Intensity Control. Commands are provided to incrementally increase and decrease the massage intensity. The RCD may use these to implement various styles of intensity control. Some examples are as follows: i) One key for each of 'N' levels. The RCD executes repeated intensity control commands to adjust the intensity to the selected level; and
ii) Two keys which incrementally increase or decrease the intensity. If either key is held down for more than five hundred ms, then a key- repeat feature automatically changes the intensity at a rate of ten increments per second.
e) Operating Mode Interval Control. Commands are provided to incrementally increase and decrease the interval or rate of cycling (speed) of operating modes with multiple steps. The RCD may use these to implement various styles of interval control. Some examples are as follows: i) One key for each of 'N' levels. The RCD executes repeated speed control commands to adjust the speed to the selected level; and
ii) Two keys which incrementally increase or decrease the speed. If either key is held down for more than five hundred milli-seconds (ms), a key-repeat feature automatically changes the speed at a rate of ten increments per second.
f) Heater Control. Commands are provided to turn each heater off, on low and on high. The RCD may use these to implement various styles of heater control in systems that include one or more heaters. Some examples are as follows: i) One key per heater that toggles between off, low and high;
ii) Three keys per heater that individually select off, low and high; and
iii) One key that sequentially and continuously moves through the available heaters modes.
g) Demonstration Mode Select. The system contains a demonstration mode that sequentially presents all of the operating features of the massage unit. The RCD may enable this with a special key or by a hidden key sequence.
3) Commands
The RCD may send ASCII or otherwise appropriately coded command packets to the massage system. The maximum inter-byte delay within a packet is preferably less than five milliseconds. The massage system may respond to each command with a status reply.
While several particular forms of the invention have been illustrated and described, it will be apparent that various modifications can be made without departing from the spirit and scope of the invention. APPENDIX A
EMCPCP.asm INSEA-64545
INSEAT SOLUTIONS LLC
CA65SI MASSAGE CONTROL PROGRAM
NOVEMBER 6 , 2002
SUBTITL "CA65SI MASSAGE CONTROL PROGRAM" LIST F=INHX8M , N=55 , C=80 LIST P=16F877 , R=DECIMAL
VERSION/REVISION LEVEL PARAMETERS
PDIDC EQU 0100
PDVRL EQU 0003
PAGE
B BAANNKK 00 RREGISTER ADDRESS PARAMETERS
TOV EQU 001H
IOA EQU 005H
IOB EQU 006H
IOC EQU 007H
IOD EQU 008H
IOE EQU 009H
IRl EQU OOCH
IR2 EQU OODH
TIL EQU OOEH
T1H EQU OOFH
TIC EQU 010H
T2V EQU 011H
T2C EQU 012H
SSD EQU 013H
SCl EQU 014H
C1L EQU 015H
ClH EQU 016H
ClC EQU 017H
RRS EQU 018H
RXD EQU 019H
RRD EQU 01AH
C2L EQU 01BH
C2H EQU 01CH
C2C EQU 01DH
ADH EQU 01EH
ADO EQU 01FH
PAGE
BANK 1 REGISTER ADDRESS PARAMETERS
OPT EQU 001H
TSA EQU 005H
TSB EQU 006H
TSC EQU 007H
TSD EQU 008H
TSE EQU 009H
IEl EQU OOCH
I E2 EQU OODH
POS EQU OOEH
SC2 EQU 011H
T2P EQU 012H
SAD EQU 013H
SST EQU 014H
RXS EQU 018H
RBR EQU 019H
ADL EQU 01EH
ADl EQU 01FH
BANK 2 REGISTER ADDRESS PARAMETERS
EDL EQU OOCH EAL EQU OODH
EDH EQU OOEH
EAH EQU OOFH
; BANK 3 REGISTER ADDRESS PARAMETERS
ECl EQU OOCH
EC2 EQU OODH
BANK 0-3 REGISTER ADDRESS PARAMETERS
IAR EQU OOOH
PAR EQU 002H
PSW EQU 003H
FSR EQU 004H
PAH EQU OOAH
ITC EQU OOBH
PAGE
INTERNAL MEMORY PARAMETERS
DBOSA EQU 020H
DB2SA EQU 010H
DBCSA EQU 070H
EEPSL EQU 2056
PGMSL EQU 8192
OPERAND PARAMETER PARAMETERS
W EQU 0
F EQU 1
; PSW REGISTER BIT PARAMETERS
CY EQU 0
ZR EQU 2
BSO EQU 5
BS1 EQU 6
ISl EQU 7
; PAH REGISTER BIT PARAMETERS
PSO EQU 3 PSl EQU 4
FSR REGISTER BIT PARAMETERS
ISO EQU 7 PAGE
; MCU TIMING PARAMETERS
MCICP EQU 500
ADACC EQU (40*1000) /MCICP
; INTERVAL TIMER PARAMETERS
MTDSC EQU 100
MTDOC EQU 1
MTDPT EQU 18
T2IPC EQU (((MTDPT*1000)/MTDSC) *1000)/(4*MCICP)
T2IPT EQU (T2lPC*4*MCICP)/1000
C1IPC EQU (20000*1000)/MCICP
C1IPT EQU (ClIPC*MCICP)/1000000
IT1PC EQU (100/ClIPT)
IT1PT EQU ITlPC*ClIPT
IT2PC EQU (1000/lTlPT)
IT2PT EQU IT2PC-IT1PT IT3PC EQU 60
OPERATING MODE PARAMETERS
OPMUL EQU 6
MASSAGE TIMING PARAMETERS
MPOT1 EQU 15
MPOT2 EQU 30
INTENSITY CONTROL PARAMETERS
Ϊ.NCUL EQU 50
INCLV EQU 24
INCUV EQU 60
DFINL EQU (INCUL*60)/100
SPEED CONTROL PARAMETERS
SPCUL EQU 50
SPCLV EQU 300/ClIPT
DFSPL EQU 25
PAGE
FAULT CONTROL PARAMETERS
PSVCF EQU (30000*1000)/1024
PSHFL EQU (16000*1000)/PSVCF
PSHVL EQU (14000*1000)/PSVCF
PSNVV EQU (12000*1000)/PSVCF
PSLVL EQU (10000*1000)/PSVCF
PSLFL EQU (8000*1000)/PSVCF
PSHLC EQU 4000/MTDPT
MTCSF EQU 65536/((12000*1000)/PSVCF)
MTCCF EQU (1243*1000)/1024
MTSCL EQU (900*1000)/MTCCF
MTSTL EQU (500*1000)/MTCCF
MTOCL EQU (50*1000)/MTCCF
MTDFL EQU (20*1000)/MTCCF
MTSTC EQU 6
MTDFC EQU 200/MTDPT
FLLEC EQU 15
HOST PACKET CONTROL PARAMETERS
(HCIBD EQU 10000/((256*1000)/(2*MCICP))
HBRTC EQU 13
HRDBL EQU 1+8
HXDBL EQU 1+30
PAGE
HOST COMMAND CODE PARAMETERS
CSYC EQU 0
CINQ EQU (CSYC*16)+1
CCFG EQU (CSYC*16)+2
CMRS EQU (CSYC*16)+3
CTMS EQU (CSYC*16)+4
CFLS EQU (CSYC*16)+5
CFLD EQU (CSYC*16)+6
CFLC EQU (CSYC*16)+7
C PW EQU 1
CMPO EQU (CMPW*16)+0
CMPl EQU (CMPW*16)+1
CMP2 EQU (CMPW*16)+2
CMTR EQU (CMPW*16)+3
CHPW EQU 2 CH10 EQU (CHPW*16)+0
CH11 EQU (CHPW*16)+1
CH12 EQU (CHPW*16)+2
CH20 EQU (CHPW*16)+4
CH21 EQU (CHPW*16)+5
CH22 EQU (CHPW*16)+6
CZNC EQU 3
CZ10 EQU (CZNC*16)+0
CZ11 EQU (CZNC*16)+1
CZ20 EQU (CZNC*16)+2
CZ21 EQU (CZNC* 16) +3
CZ30 EQU (CZNC*16)+4
CZ31 EQU (CZNC*16)+5
CZ40 EQU (CZNC*16)+6
CZ41 EQU (CZNC*16)+7
CZ50 EQU (CZNC*16)+8
CZ51 EQU (CZNC*16)+9
CMDC EQU 4
CM01 EQU (CMDC*16)+0
CM02 EQU (CMDC*16)+1
CM03 EQU (CMDC*16)+2
CM04 EQU (CMDC*16)+3
CM05 EQU (CMDC*16)+4
CM06 EQU (CMDC* 16) +5
CM07 EQU (CMDC*16)+6
CM08 EQU (CMDC*16)+7
CM09 EQU (CMDC*16)+8
CM10 EQU (CMDC*16)+9
CRTC EQU 5
CIND EQU (CRTC*16)+0
CINU EQU (CRTC*16)+1
CSPD EQU (CRTC* 16) +2
CSPU EQU (CRTC*16)+3 PAGE
HOST REPLY CODE PARAMETERS
RSST EQU
RSCF EQU '+'
RFLS EQU
RFLD EQU
ZONE : ENABLE PARAMETERS
Z1E EQU 010H
Z2E EQU 008H
Z3E EQU 004H
Z4E EQU 002H
Z5E EQU 001H
EDC COMPUTATION PARAMETERS
EDCPL EQU 084H
EDCPH EQU 008H PAGE
RAM BANK 0 ALLOCATIONS
ORG DBOSA
OPERATION CONTROL FLAGS
OPCF RES 1
COMMUNICATION CONTROL FLAG
CMCF RES 1 ; MOTOR CONTROL FLAGS
MTCF RES 1
; INTERVAL TIMER CONTROL FLAGS
ITCF RES 1
; TIMER 0 CONTROL BUFFER
Figure imgf000024_0001
; TIMER 2 CONTROL BUFFER
T2CB RES 1
; SERIAL INPUT CONTROL BUFFER
SICB RES 3
; SERIAL OUTPUT CONTROL BUFFER
SOCB RES 2
; INTERVAL TIMER CONTROL BUFFER
ITCB RES 3 PAGE
; MOTOR INTENSITY CONTROL BUFFER
MICB RES 1
; MOTOR OUTPUT CONTROL BUFFER
MOCB RES 6
; MASSAGE TIMER BUFFER
MSTB RES 3
; OPERATING MODE CONTROL BUFFER
OMCB RES 1
; MASSAGE ZONE CONTROL BUFFER
MZCB RES 1
; INTENSITY CONTROL BUFFER
INCB RES 1
; SPEED CONTROL BUFFER
SPCB RES 2
; HOST RECEIVE DATA BUFFER
HRDB RES HRDBL -
; END OF BANK 0 ALLOCATIONS
RES 0 PAGE
; RAM BANK 1 ALLOCATIONS ORG DBOSA
HOST TRANSMIT DATA BUFFER
HXDB RES HXDBL
END OF BANK 1 ALLOCATIONS
RES 0
RAM BANK 2 ALLOCATIONS
ORG DBOSA
SELF TEST CONTROL BUFFER
STCB RES 1+1
SELF TEST TIMER BUFFER
STTB RES 4
SELF TEST DELAY BUFFER
STDB RES 1+1+1+1
SELF TEST WORKING BUFFER
STWB RES 1+1+3+3+2
SELF TEST ACCUMULATION BUFFERS
STABO RES 2+((l+2)*4) STABl RES 2+((l+2)*4)
END OF BANK 2 ALLOCATIONS
RES 0
PAGE
RAM BANK 3 ALLOCATIONS
ORG DB2SA
FAULT UPDATE CONTROL BUFFER FUCB RES 1+3
FAULT UPDATE DATA START FUDS RES 0
MOTOR FAULT MASK BUFFER MFMB RES 2
FAULT LOG COUNT BUFFER FLCB RES 2
FAULT LOG ENTRY BUFFER FLEB RES 5*FLLEC
FAULT UPDATE DATA END FUDE RES 0
END OF BANK 3 ALLOCATIONS
RES 0
EEPROM BANK ALLOCATIONS
ORG 0
FAULT DATA BUFFER FLDB RES FUDE-FUDS
END OF EEPROM BANK
RES 0 PAGE
RAM BANK COMMON ALLOCATIONS
ORG DBCSA
WORKING REGISTERS
RO RES 1
Rl RES 1
R2 RES 1
R3 RES 1
R4 RES 1
R5 RES 1
R6 RES 1
R7 RES 1
R8 RES 1
R9 RES 1
RA RES 1
RB RES 1
INTERRUPT PROCESSOR SAVE BUFFER
IPSB RES 4
END OF RAM BANK ALLOCATIONS
RES 0 PAGE
PROGRAM MEMORY PAGE 0 START
ORG OO000H
RESET AND INTERRUPT VECTORS
CLRF ITC CLRF PSW CLRF PAH GOTO POST
TIMER 2 INTERRUPT PROCESSOR START
T2IS MOVWF IPSB SWAPF PSW,W CLRF PSW MOVWF IPSB+1 MOVF PAH,W CLRF PAH MOVWF IPSB+2 MOVF FSR,W MOVWF IPSB+3 BCF IR1,1 BTFSC ITCF,4 GOTO T2ISD BSF ITCF.4 DECFSZ T2CB.F GOTO T2ISB MOVLW 000H ANDWF IOB,F MOVLW OFOH ANDWF IOC.F MOVLW MTDSC MOVWF T2CB BTFSS MTCF.O GOTO T2ISA MOVF MOCB+2,W BSF PSW.BSO BSF PSW,BSl ANDWF MFMB.W BCF PSW.BSO BCF PSW.BSl MOVWF MOCB MOVF MOCB+3.W BSF PSW.BSO BSF PSW.BSl ANDWF MFMB+l.W BCF PSW.BSO BCF PSW.BSl ANDLW OOFH MOVWF MOCB+1 ANDLW 003H IORWF MOCB.W ANDLW 055H BTFSS PSW,ZR BSF MOCB+1, 4 MOVF MOCB+1, W ANDLW 003H IORWF MOCB.W ANDLW OAAH BTFSS PSW,ZR BSF MOCB+1, 5 BCF MTCF.O MOVF MOCB+1, W BSF PSW.BSl BSF STCB.5 BCF STCB,2 ANDLW 030H BTFSS PSW,ZR BSF STCB.2 T2ISA BSF PSW.BSl MOVLW OFCH ANDWF STCB , F MOVLW 010H XORWF STCB.F BTFSC STCB, 7 BSF STCB, 6 MOVLW STABO BTFSC STCB, 4 MOVLW STABl MOVWF FSR BCF FSR, ISO BSF PSW.ISl BCF PSW.BSl MOVF MOCB.W MOVWF IAR INCF FSR.F MOVF MOCB+1, W MOVWF IAR INCF FSR.F
MOVLW 1+2
CLRF IAR
ADDWF FSR.F
CLRF IAR
ADDWF FSR.F
CLRF IAR
ADDWF FSR.F
CLRF IAR
GOTO T2ISC T2ISB MOVF T2CB.W
XORWF MICB.W
BTFSS PSW.ZR
GOTO T2ISC
MOVF MOCB.W
IORWF IOB.F
MOVF MOCB+1, W
ANDLW OOFH
IORWF IOC.F
SWAPF MOCB+1, W
ANDLW 003H
BSF PSW.BSl
IORWF STCB.F
BCF PSW.BSl T2ISC BSF ADO, 2
GOTO SIFP T2ISD BCF ITCF.4
BTFSS ADO, 5
GOTO T2ISE
MOVLW 0C7H
ANDWF AD0,F
BSF PSW.BSl
MOVLW STAB0+2+((l+2)*0)
BTFSC STCB, 4
MOVLW STABl+2+((l+2)*0)
MOVWF FSR
BCF FSR, ISO
BSF PSW.ISl
MOVLW 1+2
BTFSS STCB.O
BTFSC STCB,1
ADDWF FSR.F
GOTO T2ISG T2ISE BTFSC ADO, 3
GOTO T2ISF
BSF ADO,
BSF PSW.BSl
MOVLW STAB0+2+((l+2)*2)
BTFSC STCB, 4
MOVLW STABl+2+((l+2)*2)
MOVWF FSR
BCF FSR, ISO
BSF PSW,ISl
BTFSC STCB, 2
BTFSC STCB,0
GOTO T2ISG
BCF PSW,BSl
GOTO T2IE T2ISF BCF ADO,
BSF ADO, 5 '
BSF PSW.BSl
MOVLW STAB0+2+((l+2)*3)
BTFSC STCB, 4
MOVLW STABl+2+((l+2)*3)
MOVWF FSR
BCF FSR, ISO
BSF PSW.ISl
BTFSC STCB, 2 BTFSC STCB.l GOTO T2ISG BCF PSW.BSl GOTO T2IE
T2ISG BCF PSW.BSl INCF IAR.F MOVF IAR.W INCF FSR.F BSF PSW.BSO XORLW 1 BTFSS PSW.ZR GOTO T2ISH MOVF ADL.W MOVWF IAR INCF FSR.F BCF PSW.BSO MOVF ADH.W MOVWF IAR GOTO T2IE
T2ISH MOVF ADL.W ADDWF IAR.F INCF FSR.F BTFSC PSW.CY INCF IAR.F BCF PSW.BSO MOVF ADH,W ADDWF IAR.F GOTO T2IE PAGE
SERIAL INPUT FLAG PROCESSOR
SIFP BTFSS IR1.5 GOTO SOFP MOVF RRD.W ANDLW 07FH BCF CMCF,0 BTFSC CMCF.4 GOTO SIFPC BTFSC CMCF,7 GOTO SOFP CALL GTCC XORLW 0 BTFSC PSW.ZR GOTO SIFPE MOVWF HRDB XORLW CFLDAO BTFSS PSW.ZR GOTO SIFPA MOVLW 2 GOTO SIFPB
SIFPA XORLW CTMSΛCFLD BTFSS PSW.ZR GOTO SIFPD MOVLW 8
SIFPB MOVWF SICB
MOVLW HRDB+1 MOVWF SICB+1 BSF CMCF.4 GOTO SIFPF '
SIFPC ADDLW -'0'
BTFSS PSW.CY GOTO SIFPE MOVWF SICB+2 ADDLW -10 BTFSC PSW,CY GOTO SIFPE MOVF SICB+1, W MOVWF FSR BSF FSR, ISO BCF PSW.ISl MOVF SICB+2.W MOVWF IAR INCF SICB+1, F DECFSZ SICB,F GOTO SIFPF BCF CMCF.4
SIFPD BSF CMCF.7 GOTO SOFP
SIFPE BCF CMCF,4 SIFPF CLRF TOV BCF ITC,2 MOVLW HCIBD MOVWF TOCB PAGE
SERIAL OUTPUT FLAG PROCESSOR
SOFP BTFSC CMCF.O BTFSS IRl,4 GOTO TOFP MOVF SOCB+l.W MOVWF FSR BSF FSR, ISO BCF PSW.ISl MOVF IAR.W MOVWF RXD INCF SOCB+l.F DECFSZ SOCB.F GOTO TOFP BCF CMCF.O
TIMER 0 FLAG PROCESSOR
TOFP BTFSC CMCF.4 BTFSS ITC.2 GOTO ClFP BCF ITC,2 DECFSZ TOCB GOTO ClFP BCF CMCF.4 PAGE
COMPARE 1 FLAG PROCESSOR
ClFP BTFSS IRl,2 GOTO T2IE BCF IR1.2 BSF ITCF.O DECFSZ ITCB.F GOTO T2IE MOVLW ITlPC MOVWF ITCB BSF ITCF.l DECFSZ ITCB+l.F GOTO T2IE MOVLW IT2PC MOVWF ITCB+1 BSF ITCF.2 BTFSC ITCF.5 DECFSZ ITCB+2.F GOTO T2IE MOVLW IT3PC MOVWF ITCB+2 BSF PSW.BSl INCF STTB,F MOVF STTB.W ADDLW -100 BTFSS PSW.CY GOTO ClFPA CLRF STTB INCF STTB+1,F MOVF STTB+1,W ADDLW -100 BTFSS PSW.CY GOTO ClFPA CLRF STTB+1 INCF STTB+2.F MOVF STTB+2.W ADDLW -100 BTFSS PSW.CY GOTO ClFPA CLRF STTB+2 INCF STTB+3,F MOVF STTB+3.W ADDLW -100 BTFSS PSW,CY GOTO ClFPA MOVLW 99 MOVWF STTB MOVWF STTB+1 MOVWF STTB+2 MOVWF STTB+3 BCF PSW.BSl BCF ITCF.5
ClFPA: BCF PSW.BSl PAGE
TIMER 2 INTERRUPT PROCESSOR END
T2IE MOVF IPSB+3.W MOVWF FSR MOVF IPSB+2.W MOVWF PAH SWAPF IPSB+l.W MOVWF PSW SWAPF IPSB.F SWAPF IPSB.W RETFIE PAGE
; GET COMMAND CODE SUBROUTINE
GTCC ADDLW GTCC0%256 MOVWF FSR MOVLW GTCCO/256 BTFSC PSW.CY ADDLW 1 MOVWF PAH MOVF FSR.W MOVWF PAR
; GET COMMAND CODE TABLES
GTCCO RETLW 0 NUL RETLW 0 SOH RETLW 0 STX RETLW 0 ETX RETLW 0 EOT RETLW 0 ENQ RETLW 0 ACK RETLW 0 BEL RETLW 0 BS RETLW 0 HT RETLW 0 LF
RETLW 0 VT
RETLW 0 FF
RETLW 0 CR
RETLW 0 SO
RETLW 0 SI
RETLW 0 DLE
RETLW 0 DCl
RETLW 0 DC2
RETLW 0 DC3
RETLW 0 DC4
RETLW 0 NAK
RETLW 0 SYN
RETLW 0 ETB
RETLW 0 CAN
RETLW 0 EM
RETLW 0 SUB
RETLW 0 ESC
RETLW. 0 FS
RETLW 0 GS
RETLW 0 RS
RETLW 0 US
RETLW 0 SP
RETLW CCFG 1
RETLW 0
RETLW CTMS #
RETLW CFLC $
RETLW CMRS %
RETLW 0 &
RETLW 0
RETLW 0 (
RETLW 0 )
RETLW CFLS
RETLW 0 +
RETLW 0
RETLW 0
RETLW 0
RETLW 0 /
RETLW CMPO 0
RETLW CMPl 1
RETLW CMP2 2
RETLW 0 3
RETLW CH10 4
RETLW CHll 5
RETLW CH12 6
RETLW CH20 7
RETLW CH21 8
RETLW CH22 9
RETLW CFLD
RETLW 0
RETLW 0 <
RETLW 0 -=
RETLW 0 >
RETLW CINQ ?
RETLW 0 &
RETLW CZ11 A
RETLW CZ21 B
RETLW CZ31 C
RETLW CZ41 D
RETLW CZ51 ' E
RETLW CM01 F
RETLW CM02 G
RETLW CM03 H
RETLW CM04 I
RETLW CM05 J
RETLW CM06 K
RETLW CM07 L
RETLW CM08 M RETLW CM09 N
RETLW CM10 0
RETLW 0 P
RETLW 0 Q
RETLW 0 R
RETLW 0 S
RETLW 0 T
RETLW 0 U
RETLW 0 V
RETLW CINU w
RETLW CSPU x
RETLW 0 Y
RETLW 0 z
RETLW 0 [
RETLW 0 \
RETLW 0 ]
RETLW 0 Λ
RETLW 0
RETLW 0
RETLW CZ10 a
RETLW CZ20 b
RETLW CZ30 c
RETLW CZ40 d
RETLW CZ50 e
RETLW 0 f
RETLW 0 g
RETLW 0 h
RETLW 0
RETLW 0
RETLW 0
RETLW 0 1
RETLW 0 m
RETLW 0 n
RETLW 0 o
RETLW CMTR P
RETLW 0 q
RETLW 0 r
RETLW 0 s
RETLW 0 t
RETLW 0 u
RETLW 0 V
RETLW CIND w
RETLW CSPD X
RETLW 0 y
RETLW 0 z
RETLW 0 {
RETLW 0
RETLW 0
RETLW 0
RETLW 0 DEL
PAGE
POWER -ON Si
POST CLRF : IOA
CLRF : IOB
MOVLW 040H
MOVWF IOC
MOVLW 040H
MOVWF IOD
CLRF : IOE
CLRF TIC
CLRF T2C
CLRF SCI
CLRF < C1C
CLRF RRS
CLRF C2C
MOVLW 081H MOVWF ADO
BSF PSW.BSO
MOVLW 080H
MOVWF OPT
CLRF IEl
CLRF IE2
CLRF SC2
CLRF SST
MOVLW 082H
MOVWF ADl
MOVLW 02FH
MOVWF TSA
MOVLW 000H
MOVWF TSB
MOVLW 080H
MOVWF TSC
MOVLW 083H
MOVWF TSD
MOVLW 000H
MOVWF TSE
BSF PSW.BSl
MOVLW 080H
MOVWF ECl
BCF PSW.BSO
CLRF EAL
CLRF EAH
BCF PSW.BSl
MOVLW 0F1H
MOVWF T2V
CLRF TIL
CLRF TlH
MOVLW (65536-(PGMSL-2))%256
MOVWF ClL
MOVLW (65536-(PGMSL-2))/256
MOVWF ClH
POSTA BSF PSW.BSO
BSF PSW.BSl
BSF EC.1,0
NOP
NOP
BCF PSW,BS0
BCF PSW.BSl
MOVLW 16
MOVWF C2H
POSTB MOVF TlH.W
BSF PSW.BSl
XORWF EDL.W
BCF PSW.BSl
MOVWF C2L
BCF PSW.CY
RRF TlL.F
RRF T1H.F
BTFSS C2L,0
GOTO POSTC
MOVLW EDCPL
XORWF T1L.F
MOVLW EDCPH
XORWF TlH.F
POSTC BSF PSW,BSl
RRF EDH.F .
RRF EDL,F
BCF PSW.BSl
DECFSZ C2H,F
GOTO POSTB
BSF PSW,BSl
INCFSZ EAL,F
GOTO POSTD
INCF EAH,F POSTD BCF PSW.BSl INCFSZ ClL,F GOTO POSTA INCFSZ ClH.F GOTO POSTA BSF PSW,BSl BSF PSW.BSO BSF ECl.O NOP NOP
BCF PSW.BSO MOVF EDL.W BCF PSW.BSl XORWF T1H.W BTFSS PSW.ZR GOTO STEH BSF PSW.BSl INCF EAL,F • BSF PSW.BSO BSF ECl.O NOP ' NOP
BCF PSW.BSO MOVF EDL,W BCF PSW,BSl XORWF TlL.W BTFSS PSW,ZR GOTO STEH MOVLW 0E3H MOVWF T2V MOVLW DB2SA MOVWF FSR BCF FSR, ISO BCF PSW.ISl
POSTE MOVF FSR.W ANDLW 07FH ADDLW -DBOSA BTFSS PSW.CY GOTO POSTF MOVLW 088H MOVWF IAR BSF FSR, ISO MOVLW 099H MOVWF IAR BCF FSR, ISO
POSTF BSF PSW.ISl MOVLW OAAH MOVWF IAR BSF FSR, ISO MOVLW OBBH MOVWF IAR BCF FSR, ISO BCF PSW.ISl INCF FSR.F MOVF FSR.W ANDLW 07FH ADDLW -DBCSA BTFSS PSW.CY GOTO POSTE
POSTG MOVLW 066H MOVWF IAR INCF FSR.F BSF FSR, ISO MOVWF IAR INCF FSR.F BCF FSR, ISO BSF PSW.ISl MOVWF IAR INCF FSR.F BSF FSR, ISO MOVWF IAR INCF FSR,F BCF FSR, ISO BCF PSW.ISl MOVF FSR.W ANDLW 07FH BTFSS PSW.ZR GOTO POSTG MOVF DBOSA,W XORLW 088H BTFSS PSW.ZR GOTO STEH MOVF DBCSA.W XORLW 066H BTFSS PSW.ZR GOTO STEH BSF. PSW.BSO MOVF DBOSA, XORLW 099H BTFSS PSW.ZR GOTO STEH MOVF DBCSA.W XORLW 066H BTFSS PSW.ZR GOTO STEH BCF PSW.BSO BSF PSW.BSl MOVF DB2SA.W XORLW OAAH BTFSS PSW,ZR GOTO STEH MOVF DBCSA.W XORLW 066H BTFSS PSW.ZR GOTO STEH BSF PSW.BSO MOVF DB2SA.W XORLW OBBH BTFSS PSW.ZR GOTO STEH MOVF DBCSA.W XORLW 066H BTFSS PSW.ZR GOTO STEH BCF PSW.BSO BCF PSW.BSl MOVLW DB2SA MOVWF FSR BCF FSR, ISO BCF PSW.ISl
POSTH MOVF FSR.W ANDLW 07FH ADDLW -DBOSA BTFSS PSW.CY GOTO POSTI MOVLW 088H XORWF IAR.F BTFSS PSW.ZR GOTO STEH BSF FSR, ISO MOVLW 099H XORWF IAR.F BTFSS PSW.ZR GOTO STEH BCF FSR, ISO
POSTI BSF PSW.ISl MOVLW 0AAH XORWF IAR.F BTFSS PSW.ZR GOTO STEH BSF FSR, ISO MOVLW OBBH XORWF IAR.F BTFSS PSW.ZR GOTO STEH BCF FSR, ISO BCF PSW.ISl INCF FSR.F MOVF FSR.W ANDLW 07FH ADDLW -DBCSA BTFSS PSW.CY GOTO POSTH
POSTJ MOVLW 066H XORWF IAR.W BTFSS PSW.ZR GOTO STEH BSF FSR, ISO MOVLW 066H XORWF IAR.W BTFSS PSW.ZR GOTO STEH BCF FSR, ISO BSF PSW,IS1 MOVLW 066H XORWF IAR.W BTFSS PSW.ZR GOTO STEH BSF FSR, ISO MOVLW 066H XORWF IAR.W BTFSS PSW.ZR GOTO STEH BCF FSR, ISO BCF PSW.ISl INCF FSR.F MOVF FSR.W ANDLW 07FH BTFSS PSW,ZR GOTO POSTJ MOVLW DB2SA MOVWF FSR BCF FSR, ISO BCF PSW.ISl CLRF C1L
POSTK MOVF FSR.W ANDLW 07FH ADDLW -DBOSA BTFSS PSW.CY GOTO POSTL MOVF ClL.W MOVWF IAR BSF FSR, ISO MOVWF IAR BCF FSR, ISO
POSTL BSF PSW,IS1' MOVF C1L,W MOVWF IAR BSF FSR, ISO MOVWF IAR BCF FSR, ISO BCF PSW.ISl INCF ClL.F INCF FSR.F MOVF FSR.W ANDLW 07FH BTFSS PSW.ZR GOTO POSTK MOVLW DB2SA MOVWF FSR BCF FSR, ISO BCF PSW.ISl CLRF ClL
POSTM MOVF FSR.W ANDLW 07FH ADDLW -DBOSA BTFSS PSW.CY GOTO POSTN MOVF ClL.W XORWF IAR.W BTFSS PSW.ZR GOTO STEH BSF FSR, ISO MOVF ClL.W XORWF IAR.W BTFSS PSW.ZR GOTO STEH BCF FSR, ISO
POSTN BSF PSW.ISl MOVF ClL.W XORWF IAR.W BTFSS PSW.ZR GOTO STEH BSF FSR, ISO MOVF C1L,W XORWF IAR.W BTFSS PSW.ZR GOTO STEH BCF FSR, ISO BCF PSW.ISl INCF ClL.F INCF FSR.F MOVF FSR.W ANDLW 07FH BTFSS PSW.ZR GOTO POSTM MOVLW 0C7H MOVWF T2V CLRF RO CALL POSTO MOVF PAH.W BCF PAH.PSO BCF PAH.PS1 XORLW 018H BTFSS PSW.ZR GOTO STEH MOVF RO.W XORLW 8 BTFSS PSW.ZR GOTO STEH MOVLW 08FH MOVWF T2V MOVF IOA.W XORLW 000H ' BTFSS PSW.ZR GOTO STEH MOVF IOB.W XORLW 000H BTFSS PSW.ZR GOTO STEH MOVF IOC.W ANDLW 07FH XORLW 040H BTFSS PSW . ZR GOTO STEH MOVF IOD . W ANDLW 07CH XORLW 040H BTFSS PSW . ZR GOTO STEH MOVF IOE . W XORLW 000H BTFSC PSW. ZR GOTO POIN
POWER-ON STACK TEST 0 SUBROUTINE
POSTO CALL POSTI INCF RO.F RETURN PAGE
SELF TEST ERROR HALT ROUTINE
STEH BCF PSW.BSO
BCF PSW.BSl
STEHA COMF T2V.W
MOVWF ClL
STEHB BTFSS C1L.0
BSF IOE.O
MOVLW 200000/1000
MOVWF TlH
STEHC MOVLW 1000/5
MOVWF TlL STEHD NOP
GOTO $+1
GOTO $+1
GOTO $+1
DECFSZ T1L.F
GOTO STEHD
DECFSZ TlH.F
GOTO STEHC
BCF IOE.O
MOVLW 200000/1000
MOVWF TlH
STEHE MOVLW 1000/5
MOVWF TlL STEHF NOP
GOTO $+1
GOTO $+1
GOTO $+1
DECFSZ TlL.F
GOTO STEHF
DECFSZ TlH.F
GOTO STEHE
BCF PSW.CY
RRF ClL.F
MOVF ClL.W
BTFSS PSW.ZR
GOTO STEHB
GOTO STEHA
PAGE
POWER-ON INITIALIZATION ROUTINE
POIN MOVLW 000H MOVWF TIC MOVLW 001H MOVWF T2C MOVLW 000H MOVWF SCI
MOVLW (C1IPC-1) 256
MOVWF ClL
MOVLW (ClIPC-l)/256
MOVWF ClH
MOVLW 00BH
MOVWF ClC
MOVLW 090H
MOVWF RRS
MOVLW 000H
MOVWF C2C
BSF PSW.BSO
MOVLW 002H
MOVWF IEl
MOVLW 000H
MOVWF IE2
MOVLW 000H
MOVWF SC2
MOVLW (T2lPC/2)-l •
MOVWF T2P
MOVLW 000H
MOVWF SST
MOVLW 024H
MOVWF RXS
MOVLW HBRTC-1
MOVWF RBR
BCF PSW.BSO
MOVLW DBOSA
MOVWF FSR
BCF FSR, ISO
BCF PSW.ISl POINA CLRF IAR
INCF FSR.F
BTFSS FSR, ISO
GOTO POINA
MOVLW DBOSA
MOVWF FSR
BSF FSR, ISO
BCF PSW.ISl POINB CLRF IAR
INCF FSR.F
BTFSC FSR, ISO
GOTO POINB
MOVLW DBOSA
MOVWF FSR
BCF FSR, ISO
BSF PSW.ISl POINC CLRF IAR
INCF FSR,F
BTFSS FSR, ISO
GOTO POINC
MOVLW DBOSA
MOVWF FSR
BSF FSR, ISO
BSF PSW.ISl POIND CLRF IAR
INCF FSR.F
BTFSC FSR, ISO
GOTO POIND
MOVLW FUDS'
MOVWF FSR
BSF FSR, ISO
BSF PSW.ISl
BSF PSW.BSO
BSF PSW.BSl
MOVWF FUCB
BCF PSW.BSO
BCF PSW.BSl MOVLW FUDE-FUDS MOVWF R4 BSF PAH.PS1 MOVLW FLDB CALL SEAD POINE BSF PAH.PSl CALL REDB BCF PAH.PSl MOVWF IAR INCF FSR.F DECFSZ R4.F GOTO POINE MOVLW IT1PC MOVWF ITCB MOVLW IT2PC MOVWF ITCB+1 MOVLW IT3PC MOVWF ITCB+2 CLRF ITC CLRF IRl CLRF IR2 BSF TlC.O BSF T2C.2 BSF ITC, 6 BSF ITC, 7 BSF IOE.O BSF IOE.l BSF PAH.PSO GOTO MSIN PAGE
; PROGRAM MEMORY PAGE 0 END
ORG 007FCH
; POWER-ON STACK TEST 1 SUBROUTINE
POSTI BSF PAH.PSO CALL POST2 INCF RO.F RETURN
; PROGRAM MEMORY PAGE 1 START
ORG 00800H
; POWER-ON STACK TEST 2 SUBROUTINE
POST2 CALL POST3 INCF RO.F RETURN PAGE
MASSAGE INITIALIZATION ROUTINE
MSIN BCF PAH.PSO BSF PAH.PSl CALL RSSD BSF PAH.PSO BCF PAH.PSl CALL RSMC BSF IOE.2 CLRF OMCB MOVLW ZlE MOVWF MZCB MOVLW DFINL MOVWF INCB MOVLW DFSPL MOVWF SPCB
MASSAGE IDLE ROUTINE
MSID CALL RSMC CLRF OPCF
MSIDA CALL TFAC
BTFSC OPCF, , 7
GOTO MSMS
BTFSC OPCF, 4
GOTO MSSD
BTFSC OPCF, ,3
GOTO MSIN
GOTO MSIDA
MASSAGE MODE SELECT ROUTINE
MSMS MOVF OMCB.W MOVWF RO BTFSC PSW,ZR GOTO MSSL DECF R0,F BTFSC PSW.ZR GOTO MSPL DECF Rθ,F BTFSC PSW,ZR GOTO MSWV DECF Rθ,F BTFSC PSW.ZR GOTO MSZZ DECF R0,F BTFSC PSW.ZR GOTO MSLS GOTO MSRS PAGE
MASSAGE SELECT MODE ROUTINE
MSSL MOVF MZCB.W MOVWF RO MOVWF Rl CALL STMC
MSSLA CALL TFAC BTFSS OPCF, 7 GOTO MSID BTFSC OPCF, 4 GOTO MSSD BTFSC OPCF, 3 GOTO MSIN BTFSC OPCF, 2 GOTO MSMS BTFSC OPCF.l GOTO MSSL GOTO MSSLA
MASSAGE PULSE MODE ROUTINE
MSPL CALL ISPC MOVLW 0
MSPLA MOVWF R8
ADDLW PLMSO CALL GDMS MOVF MZCB,W ANDWF RO , F ANDWF R1,F CALL STMC
MSPLB CALL TFAC
BTFSS OPCF, 7 GOTO MSID BTFSC OPCF, 4 GOTO MSSD BTFSC OPCF, 3 GOTO MSIN BTFSC OPCF, 2 GOTO MSMS BTFSC OPCF.l GOTO MSPL BTFSS OPCF.O GOTO MSPLB MOVF R8,W ADDLW -(PLMSL-1) BTFSC PSW,CY MOVLW -PLMSL ADDLW PLMSL GOTO MSPLA PAGE
; MASSAGE WAVE MODE ROUTINE
MSWV CALL ISPC
MOVLW 0 MSWVA MOVWF R8
ADDLW WVMSO
CALL GDMS
CALL STMC MSWVB CALL TFAC
BTFSS OPCF, 7
GOTO MSID
BTFSC OPCF, 4
GOTO MSSD
BTFSC OPCF, 3
GOTO MSIN
BTFSC OPCF, 2
GOTO MSMS
BTFSS OPCF.O
GOTO MSWVB
MOVF R8.W
ADDLW -(WVMSL-1)
BTFSC PSW.CY
MOVLW -WVMSL
ADDLW WVMSL
GOTO MSWVA
; MASSAGE ZIGZAG MODE ROUTINE
MSZZ CALL ISPC
MOVLW 0
MSZZA MOVWF R8
ADDLW ZZMSO
CALL GDMS
CALL STMC
MSZZB CALL TFAC
BTFSS OPCF, 7
GOTO MSID
BTFSC OPCF, 4
GOTO MSSD
BTFSC OPCF, 3
GOTO MSIN
BTFSC OPCF, 2
GOTO MSMS
BTFSS OPCF.O
GOTO MSZZB
MOVF R8,W
ADDLW -(ZZMSL-1)
BTFSC PSW,CY
MOVLW -ZZMSL ADDLW ZZMSL GOTO MSZZA PAGE
MASSAGE LEFT SELECT MODE ROUTINE
MSLS MOVF MZCB . W
CLRF RO MOVWF Rl GOTO MSRSA
; MASSAGE RIGHT SELECT MODE ROUTINE
MSRS MOVF MZCB . W
MOVWF RO
CLRF Rl MSRSA CALL STMC MSRSB CALL TFAC
BTFSS OPCF, 7
GOTO MSID
BTFSC OPCF, 4
GOTO MSSD
BTFSC OPCF, 3
GOTO MSIN
BTFSC OPCF, 2
GOTO MSMS
BTFSC OPCF.l
GOTO MSRS
GOTO MSRSB
; MASSAGE SHUTDOWN ROUTINE
MSSD BCF IOE.2
CALL RSMC
CLRF OPCF
MOVLW 10
MOVWF OMCB MSSDA CALL TFRS
BTFSC OPCF, 3
GOTO MSIN
GOTO MSSDA
PAGE
; TEST FOR ACTION SUBROUTINE
TFAC BCF OPCF, 2
BCF OPCF.l
BCF OPCF.O
BTFSS CMCF.7
GOTO TFACA
CALL PSCC
CALL PMCC
CALL PZCC
CALL PMPC
CALL PHPC
CALL PRCC
CALL PRNO TFACA CALL UDDV
BCF PAH.PSO
BSF PAH.PSl
CALL UDSD
CALL UDFD
BSF PAH.PSO
BCF PAH.PSl
RETURN
TEST FOR RESET SUBROUTINE TFRS BTFSS CMCF.7 GOTO TFRSA CALL PSCC CALL PRNO
TFRSA BCF PAH.PSO BSF PAH.PSl CALL UDFD BSF PAH.PSO BCF PAH.PSl RETURN
INITIALIZE SPEED CONTROL SUBROUTINE
ISPC CLRF SPCB+1 BCF OPCF.O RETURN PAGE
PROCESS SYSTEM CONTROL COMMAND SUBROUTINE
PSCC BTFSS CMCF.7 RETURN
SWAPF HRDB.W ANDLW OOFH XORLW CSYC BTFSS PSW.ZR RETURN MOVF HRDB.W XORLW CINQ BTFSS PSW.ZR GOTO PSCCA CALL OPSS RETURN
PSCCA XORLW CCFGΛCINQ BTFSS PSW.ZR GOTO PSCCB CALL OPSC RETURN
PSCCB XORLW CMRSΛCCFG BTFSS PSW.ZR GOTO PSCCC BSF OPCF, 3 CALL OPNS RETURN
PSCCC XORLW CTMSΛCMRS BTFSS PSW.ZR GOTO PSCCD MOVLW HRDB+1 CALL GCDV MOVWF R5 MOVLW HRDB+3 CALL GCDV MOVWF R4 MOVLW HRDB+5 CALL GCDV MOVWF R3 MOVLW HRDB+7 CALL GCDV MOVWF R2 BCF ITCF.5 - BSF PSW.BSl MOVWF STTB MOVF R3.W MOVWF STTB+1 MOVF R4.W MOVWF STTB+2 MOVF R5.W MOVWF STTB+3 BCF PSW.BSl MOVLW IT3PC MOVWF ITCB+2 IORWF R4.W IORWF R3.W IORWF R2.W BTFSS PSW.ZR BSF ITCF.5 CALL OPFS RETURN
PSCCD XORLW CFLSΛCTMS BTFSS PSW.ZR GOTO PSCCE CALL OPFS RETURN
PSCCE XORLW CFLDΛCFLS BTFSS PSW.ZR GOTO PSCCF MOVLW HRDB+1 CALL GCDV CALL OPFD RETURN
PSCCF BCF PAH.PSO BSF PAH.PSl CALL RSFD BSF PAH.PSO BCF PAH.PSl BSF MTCF.O CALL OPFS RETURN PAGE
PROCESS MASSAGE POWER COMMAND SUBROUTINE
PMPC BTFSS CMCF.7 RETURN
SWAPF HRDB.W ANDLW OOFH XORLW CMPW BTFSS PSW.ZR RETURN MOVF HRDB.W ANDLW OOFH MOVWF RO MOVLW 0 DECF RO.F BTFSC PSW.ZR MOVLW MPOTl DECF RO.F BTFSC PSW.ZR MOVLW MPOT2 DECF RO.F BTFSC PSW.ZR GOTO PMPCB MOVWF MSTB MOVF MSTB.F BTFSS PSW.ZR GOTO PMPCA CLRF MSTB . CLRF MSTB+1 BCF OPCF, 7 GOTO PMPCC
PMPCA BTFSC OPCF, 7 GOTO PMPCC BSF OPCF, 7
PMPCB CLRF MSTB+1 MOVLW 60 MOVWF MSTB+2 PMPCC CALL OPNS RETURN
; PROCESS HEATER POWER COMMAND SUBROUTINE
PHPC BTFSS CMCF.7 RETURN
SWAPF HRDB.W ANDLW OOFH XORLW CHPW BTFSS PSW.ZR RETURN CALL OPNS RETURN PAGE
; PROCESS MODE CONTROL COMMAND SUBROUTINE
PMCC BTFSS CMCF.7
RETURN
SWAPF HRDB.W
ANDLW OOFH
XORLW CMDC
BTFSS PSW.ZR
RETURN
MOVF HRDB.W
ANDLW OOFH
ADDLW -OPMUL
BTFSC PSW.CY
GOTO PMCCA
ADDLW OPMUL
XORWF OMCB.W
BTFSC PSW.ZR
GOTO PMCCA
XORWF OMCB.F
BSF OPCF, 2 PMCCA CALL OPNS
RETURN
; PROCESS ZONE CONTROL COMMAND SUBROUTINE
PZCC BTFSS CMCF,7
RETURN
SWAPF HRDB.W
ANDLW OOFH
XORLW CZNC
BTFSS PSW.ZR
RETURN
MOVF HRDB.W
ANDLW OOFH
MOVWF RO
BCF PSW.CY
RRF RO.W
BTFSC PSW.CY
GOTO PZCCA
CALL GZEF
ANDWF MZCB.W
BTFSC PSW.ZR
GOTO PZCCC
XORWF MZCB.F
GOTO PZCCB PZCCA CALL GZEF
MOVWF Rl
ANDWF MZCB.W
BTFSS PSW.ZR
GOTO PZCCC
MOVF Rl.W
MOVWF MZCB PZCCB BSF OPCF.l PZCCC CALL OPNS RETURN PAGE
; PROCESS RATE CONTROL COMMAND SUBROUTINE
PRCC BTFSS CMCF.7
RETURN
SWAPF HRDB.W
ANDLW OOFH
XORLW CRTC
BTFSS PSW.ZR
RETURN
MOVF HRDB.W
ANDLW OOFH
MOVWF RO
MOVF RO.F
BTFSS PSW.ZR
GOTO PRCCA
MOVF INCB.W
ADDLW -1
BTFSS PSW.CY
MOVLW 0
MOVWF INCB
GOTO PRCCD PRCCA DECF RO , F
BTFSS PSW.ZR
GOTO PRCCB
MOVF INCB.W
ADDLW -(INCUL-1)
BTFSC PSW.CY
MOVLW -1
ADDLW INCUL
MOVWF INCB
GOTO PRCCD PRCCB DECF RO , F
BTFSS PSW.ZR
GOTO PRCCC
MOVF SPCB.W
ADDLW -1
BTFSS PSW.CY
MOVLW 0
MOVWF SPCB
GOTO PRCCD PRCCC MOVF SPCB.W
ADDLW -(SPCUL-1)
BTFSC PSW.CY
MOVLW -1
ADDLW SPCUL
MOVWF SPCB PRCCD CALL OPNS
RETURN
PAGE
; PROCESS NON-OPERATIVE COMMAND SUBROUTINE
PRNO BTFSC CMCF.7 CALL OPNS RETURN
; UPDATE DYNAMIC VARIABLES SUBROUTINE
UDDV BTFSS ITCF.2 GOTO UDDVA BCF ITCF.2 BTFSC OPCF, 7 DECFSZ MSTB+2 GOTO UDDVA MOVLW 60 MOVWF MSTB+2 INCF MSTB+1, F MOVF MSTB.W SUBWF MSTB+1, W BTFSS PSW.CY GOTO UDDVA CLRF MSTB CLRF MSTB+1 BCF OPCF, 7
UDDVA BTFSS ITCF.O GOTO UDDVB BCF ITCF.O INCF SPCB+l.F MOVF SPCB.W CALL GFSV SUBWF SPCB+l.W BTFSS PSW,CY GOTO UDDVB BSF OPCF.O CLRF SPCB+1
UDDVB MOVF INCB.W CALL GMIV MOVWF MICB RETURN PAGE
GET DYNAMIC MOTOR STATES SUBROUTINE
GDMS MOVWF Rl CALL GRMS MOVWF RO MOVF Rl.W CALL GLMS MOVWF Rl RETURN
RESET/SET MOTOR CONTROL SUBROUTINES
RSMC CLRF RO CLRF Rl
STMC BCF MTCF.O CLRF MOCB+2 CLRF MOCB+3 BTFSC RO.O BSF MOCB+2, 0 BTFSC R1.0 BSF MOCB+2, 1 BTFSC R0.1 BSF MOCB+2, 2 BTFSC Rl,l BSF MOCB+2, 3 BTFSC R0.2 BSF MOCB+2, 4 BTFSC Rl.2 BSF MOCB+2, 5 BTFSC R0.3 BSF MOCB+2, 6 BTFSC Rl.3 BSF MOCB+2, 7 BTFSC R0,4 BSF MOCB+3, 0 BTFSC Rl,4 BSF MOCB+3, 1 BSF MTCF.O RETURN ; INITIAL SPEED TIMER SUBROUTINE
ISPT CLRF SPCB+1 BCF OPCF.O RETURN PAGE
; OUTPUT SYSTEM STATUS SUBROUTINE
OPSS CALL IRPS
MOVLW RSST
CALL SRCD
MOVLW '0'
MOVWF RO
BTFSS OPCF, 7
GOTO OPSSA
INCF R0,F
MOVF MSTB.W
XORLW MPOT1
BTFSS PSW.ZR
INCF RO.F OPSSA MOVF RO.W
CALL SRCD
MOVLW '0'
CALL SRCD
MOVLW '0'
CALL SRCD
MOVLW '0'
CALL SRCD
MOVF MOCB+3,W
CALL SRZD
SWAPF MOCB+2,W
MOVWF RO
RRF R0,F
RRF RO.W
CALL SRZD
SWAPF MOCB+2,W
CALL SRZD
MOVF MOCB+2,W
MOVWF RO
RRF R0,F
RRF RO.W
CALL SRZD
MOVF MOCB+2,W
CALL SRZD
MOVF OMCB.W
ADDLW '0'
ADDLW -('9'+l)
BTFSC PSW.CY
MOVLW 'X'-('9'+l)
ADDLW '9'+l
CALL SRCD
MOVF INCB.W
ADDWF INCB.W
CALL SRND
MOVF SPCB.W
ADDWF SPCB.W
CALL SRND
MOVF MSTB+1,.W
CALL SRND
MOVLW 0
CALL SRND
MOVLW 0
CALL SRND
CALL IRPO
RETURN
PAGE ; OUTPUT SYSTEM CONFIGURATION SUBROUTINE
OPSC CALL IRPS MOVLW RSCF CALL SRCD MOVLW PDIDC/100 CALL SRND MOVLW PDIDC%100 CALL SRND MOVLW PDVRL/100 CALL SRND MOVLW PDVRL%100 CALL SRND MOVLW '7' CALL SRCD MOVLW FLLEC CALL SRND MOVLW '0' CALL SRCD MOVLW '0' CALL SRCD MOVLW '0' CALL SRCD MOVLW '0' CALL SRCD MOVLW '1' CALL SRCD MOVLW '1' CALL SRCD MOVLW '1' CALL SRCD MOVLW '1' CALL SRCD MOVLW '1' CALL SRCD MOVLW '1' CALL SRCD MOVLW '2' CALL SRCD MOVLW '3' CALL SRCD MOVLW '4' CALL SRCD MOVLW '0' CALL SRCD MOVLW '0' CALL SRCD MOVLW '0' CALL SRCD MOVLW '0' CALL SRCD MOVLW '0' CALL SRCD MOVLW '0' CALL SRCD CALL IRPO RETURN PAGE
; OUTPUT FAULT STATUS SUBROUTINE
OPFS CALL IRPS MOVLW RFLS CALL SRCD BSF PSW.BSl BCF ITC, 7 MOVF STTB.W MOVWF R4 MOVF STTB+1, MOVWF R3 MOVF STTB+2, MOVWF R2 MOVF STTB+3.W BSF ITC, 7 BCF PSW.BSl CALL SRND MOVF R2.W CALL SRND MOVF R3.W CALL SRND MOVF R4,W CALL SRND BSF PSW.BSO BSF PSW.BSl MOVF FLCB+l.W MOVWF R2 MOVF FLCB.W BCF PSW.BSO BCF PSW.BSl CALL SRND MOVF R2.W CALL SRND CALL IRPO RETURN
OUTPUT FAULT DATA SUBROUTINE
OPFD MOVWF RO
MOVLW FLLEC MOVWF Rl CLRF R2 CLRF R3 CLRF R4 CLRF R5 CLRF R6 BSF PSW.BSO BSF PSW.BSl MOVF FLCB.W ADDWF FLCB+l.W BCF PSW.BSO BCF PSW.BSl BTFSC PSW.CY GOTO OPFDA ADDLW -FLLEC BTFSC PSW.CY GOTO OPFDA ADDLW FLLEC MOVWF Rl
OPFDA MOVF Rl.W SUBWF R0,W BTFSC PSW.CY GOTO OPFDB MOVF RO.W ADDWF R0,W MOVWF Rl ADDWF Rl,W ADDWF R0,W ADDLW FLEB MOVWF FSR BSF FSR, ISO BSF PSW.ISl MOVF IAR.W MOVWF R2 INCF FSR.F MOVF IAR.W MOVWF R3 INCF FSR.F MOVF IAR.W MOVWF R4 INCF FSR.F MOVF IAR.W MOVWF R5 INCF FSR.F MOVF IAR.W MOVWF R6
OPFDB CALL IRPS MOVLW RFLD CALL SRCD MOVF R2.W CALL SRND MOVF R3.W CALL SRND MOVF R4.W CALL SRND MOVF R5,W CALL SRND MOVF R6,W CALL SRND CALL IRPO RETURN PAGE
OUTPUT NULL STATUS SUBROUTINE
OPNS BCF CMCF.7 RETURN
GET COMMAND DECIMAL VALUE SUBROUTINE
GCDV MOVWF FSR
BSF FSR, ISO BCF PSW.ISl MOVF IAR.W ADDWF IAR.W MOVWF RO ADDWF RO.W ADDWF IAR.W MOVWF RO ADDWF RO.W INCF FSR.F ADDWF IAR.W RETURN
INITIALIZE REPLY STORE SUBROUTINE
IRPS MOVLW HXDB MOVWF FSR BSF FSR, ISO BCF PSW.ISl RETURN PAGE
STORE REPLY ZONE DATA SUBROUTINE
SRZD ANDLW 003H ADDLW '0' GOTO SRCD
STORE REPLY HEXADECIMAL DATA SUBROUTINE
SRHD MOVWF RO SWAPF R0,W ANDLW OOFH ADDLW -10 BTFSS PSW.CY ADDLW lO+'O'-'A' ADDLW 'A' MOVWF IAR INCF FSR.F MOVF RO.W ANDLW OOFH ADDLW -10 BTFSS PSW.CY ADDLW lO+'O'-'A' ADDLW 'A' GOTO SRCD PAGE
STORE REPLY NUMERIC DATA SUBROUTINE
SRND ADDLW -100
BTFSC PSW, CY
MOVLW -1
ADDLW 100
MOVWF RO
MOVLW 'O'-l
MOVWF Rl
MOVLW -10
SRNDA INCF Rl.F
ADDWF RO.F
BTFSC PSW, CY
GOTO SRNDA
MOVF Rl.W
MOVWF IAR
INCF FSR.F
MOVF RO.W
ADDLW "O'+IO
STORE REPLY CHARACTER DATA SUBROUTINE
SRCD MOVWF IAR INCF FSR.F RETURN
; INITIALIZE REPLY OUTPUT SUBROUTINE
IRPO MOVF FSR.W ANDLW 07FH ADDLW -HXDB MOVWF SOCB MOVLW HXDB MOVWF SOCB+1 BSF CMCF.O BCF CMCF,7 RETURN PAGE
; GET ZONE ENABLE FLAG SUBROUTINE
GZEF ADDLW GZEFO%256 MOVWF FSR MOVLW GZEFO/256 BTFSC PSW,CY ADDLW 1 MOVWF PAH MOVF FSR.W MOVWF PAR
GET ZONE ENABLE FLAG TABLES
GZEFO RETLW Z1E RETLW Z2E RETLW Z3E
RETLW Z4E
RETLW Z5E
PAGE
GET RIGHT MOTOR STATE SUB
GRMS ADDLW GRMS0%256
MOVWF FSR
MOVLW GRMSO/256
BTFSC PSW.CY
ADDLW 1
MOVWF PAH
MOVF FSR,W
MOVWF PAR
GET RIGHT MOTOR STATE TAB
GRMSO EQU $
PLMSO EQU $- -GRMSO
RETLW Z1E+Z2E+Z3E+Z4E+Z5E
RETLW 0
PLMSL EQU ($-GRMS0) -PLMSO
WVMSO EQU $- -GRMSO
RETLW Z1E
RETLW Z2E
RETLW Z3E
RETLW Z4E
RETLW Z5E
RETLW Z4E
RETLW Z3E
RETLW Z2E
WVMSL EQU ($-GRMS0) -WVMSO
ZZMSO EQU $- -GRMSO
RETLW 0
RETLW Z1E
RETLW 0
RETLW Z1E
RETLW 0
RETLW Z1E
RETLW 0
RETLW Z1E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z5E RETLW 0
RETLW Z5E
RETLW 0
RETLW Z5E
RETLW 0
RETLW Z5E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
ZZMSL EQU (S-GRMSO)-ZZMSO
GRMSE EQU $- -GRMSO
PAGE
; GET LEFT MOTOR STATE SUBR
GLMS ADDLW GLMS0%256
MOVWF FSR
MOVLW GLMS0/256
BTFSC PSW , CY
ADDLW 1
MOVWF PAH
MOVF FSR.W
MOVWF PAR
; GET LEFT MOTOR STATE TABL
GLMSO EQU $
IF ($-GLMS0)!=PLMSO
ERROR 'PLMSO PHASING'
ENDIF
RETLW Z1E+Z2E+Z3E+Z4E+Z5E
RETLW 0
IF ($-GLMS0) !=WVMSO
ERROR "WVMSO PHASING
ENDIF
RETLW ZlE
RETLW Z2E
RETLW Z3E
RETLW Z4E
RETLW Z5E
RETLW Z4E
RETLW Z3E
RETLW Z2E
IF ($-GLMS0)!=ZZMSO
ERROR "ZZMSO PHASING"
ENDIF
RETLW ZlE RETLW 0
RETLW ZlE
RETLW 0
RETLW ZlE
RETLW 0
RETLW ZlE
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z5E
RETLW 0
RETLW Z5E
RETLW 0
RETLW Z5E
RETLW 0
RETLW Z5E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z4E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z3E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
RETLW Z2E
RETLW 0
IF ($-GLMSO) !=GRMSE
ERROR "GLMSO LENGTH'
ENDIF
PAGE GET MOTOR INTENSITY VALUE SUBROUTINE
GMIV ADDLW GMIV0%256 MOVWF FSR MOVLW GMIV0/256 BTFSC PSW.CY ADDLW 1 MOVWF PAH MOVF FSR.W MOVWF PAR
GET MOTOR INTENSITY VALUE TABLES
GMIVO RETLW INCLV+(((MTDSC-INCLV)*1*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *3*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *5*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*7*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*9*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *11*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *13*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *15*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*17*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*19*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *21*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*23*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*25*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *27*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*29*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*31*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*33*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *35*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *37*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *39*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *41*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *43*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *45*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*47*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *49*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *51*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *53*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *55*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *57*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *59*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *61*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*63*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*65*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *67*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *69*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *71*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *73*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*75*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *77*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*79*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*81*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *83*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*85*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *87*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *89*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*91*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *93*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*95*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV) *97*INCUV)/10000) RETLW INCLV+(((MTDSC-INCLV)*99*INCUV)/10000) IF ($-GMIV0) !=INCUL ERROR "GMIVO LENGTH" ENDIF PAGE ; GET FUNCTION SPEED VALUE SUBROUTINE
GFSV ADDLW GFSV0%256
MOVWF FSR MOVLW GFSV0/256 BTFSC PSW . CY ADDLW 1 MOVWF PAH MOVF FSR . W MOVWF PAR
GET FUNCTION SPEED VALUE TABLES
GFSVO RETLW (SPCLV* 1250)/100 RETLW (SPCLV* 1187)/100 RETLW (SPCLV* 1128)/100 RETLW (SPCLV* 1071)/100 RETLW (SPCLV* 1017)/100 RETLW (SPCLV* 966)/100 RETLW (SPCLV* 917)/100 RETLW (SPCLV* 871)/100 RETLW (SPCLV* 828)/100 RETLW (SPCLV* 786)/100 RETLW (SPCLV* 747)/100 RETLW (SPCLV* 709)/100 RETLW (SPCLV* 673)/100 RETLW (SPCLV* 640)/100 RETLW (SPCLV* 607)/100 RETLW (SPCLV* 577)/100 RETLW (SPCLV* 548)/100 RETLW (SPCLV* 520)/100 RETLW (SPCLV* 494)/100 RETLW (SPCLV* 469)/100 RETLW (SPCLV* 446)/100 RETLW (SPCLV* 423)/100 RETLW (SPCLV* 402)/100 RETLW (SPCLV 382)/100 RETLW (SPCLV* 363)/100 RETLW (SPCLV* 345)/100 RETLW (SPCLV* 327)/100 RETLW (SPCLV* 311)/100 RETLW (SPCLV* 295)/100 RETLW (SPCLV* 280)/100 RETLW (SPCLV* 266)/100 RETLW (SPCLV* 253)/100 RETLW (SPCLV* 240)/100 RETLW (SPCLV* 228)/100 RETLW (SPCLV* 217)/100 RETLW (SPCLV* 206)/100 RETLW (SPCLV* 195)/100 RETLW (SPCLV* 186)/100 RETLW (SPCLV* 176)/100 RETLW (SPCLV* 167)/100 RETLW (SPCLV* 159)/100 RETLW (SPCLV* 15D/100 RETLW (SPCLV* 143)/100 RETLW (SPCLV* 136)/100 RETLW (SPCLV 129)/100 RETLW (SPCLV 123)/100 RETLW (SPCLV* 117)/100 RETLW (SPCLV*llD/100 RETLW (SPCLV* 105)/100 RETLW (SPCLV* 100)/100 IF ($-GFSVO) ! =SPCUL ERROR "GFSVO LENGTH" ENDIF PAGE ; PROGRAM MEMORY PAGE 1 END
ORG 00FFBH
; POWER-ON STACK TEST 3 SUBROUTINE
POST3 BCF PAH.PSO BSF PAH.PSl CALL POST4 INCF R0,F RETURN
; PROGRAM MEMORY PAGE 2 START
ORG 01000H
; POWER-ON STACK TEST 4 SUBROUTINE
POST4 CALL POST5 INCF R0,F RETURN PAGE
; UPDATE SELF TEST DATA SUBROUTINE
UDSD BSF PSW.BSl
BSF STCB, 7
BTFSS STCB, 6
GOTO UDSDL
BCF STCB, 6
CLRF STCB+1
BTFSS STCB, 5
GOTO UDSDA
BCF STCB, 5
CLRF STDB+2
CLRF STDB+3 UDSDA MOVLW STABO
BTFSS STCB, 4
MOVLW STABl
MOVWF FSR
BCF FSR, ISO
BSF PSW.ISl
BSF PSW.BSO
MOVF IAR.W
ANDWF MFMB.W
MOVWF RO
INCF FSR,F
MOVF IAR.W
ANDWF MFMB+l.W
MOVWF Rl
BCF PSW.BSO
MOVLW 5
MOVWF STWB UDSDB MOVF RO.W
ANDLW 003H
MOVWF STWB+1
BTFSS PSW.ZR
GOTO UDSDC
RRF Rl.F
RRF RO.F "
RRF Rl.F
RRF R0,F
DECFSZ STWB,F
GOTO UDSDB UDSDC MOVLW STABθ+2+((l+2) *0)
CALL CARV
BTFSC PSW.CY
GOTO UDSDG BSF STCB+1,0
CALL CPSF
BTFSC PSW.CY
GOTO UDSDL
MOVLW STWB+2
CALL CMCC
MOVLW (65536- (PSLVL+1))%256
ADDWF R0,W
MOVLW (65536-(PSLVL+l))/256
BTFSC PSW.CY
ADDLW 1
BTFSS PSW.CY
ADDWF Rl.W
BTFSC PSW.CY
GOTO UDSDD
INCF STDB.F
MOVF STDB.W
ADDLW -PSHLC
BTFSS PSW.CY
GOTO UDSDE
DECF STDB.F
MOVLW 1
CALL SPSF
GOTO UDSDL UDSDD MOVF STDB,W
BTFSS PSW,ZR
DECF STDB,F UDSDE MOVLW (65536-PSHVL)%256
ADDWF RO.W
MOVLW (65536-PSHVL)/256
BTFSC PSW.CY
ADDLW 1
BTFSS PSW.CY
ADDWF Rl.W
BTFSS PSW.CY
GOTO UDSDF
INCF STDB+l.F
MOVF STDB+l.W
ADDLW -PSHLC
BTFSS PSW.CY
GOTO UDSDG
DECF STDB+l.F
MOVLW 2
CALL SPSF
GOTO UDSDL UDSDF MOVF STDB+l.W
BTFSS PSW.ZR
DECF STDB+l.F UDSDG MOVLW STABθ+2+((l+2)*l)
CALL CARV
BTFSC PSW.CY
GOTO UDSDH
BSF STCB+1,1
CALL CPSF
BTFSC PSW.CY
GOTO UDSDL
MOVLW STWB+5
CALL CMCC UDSDH MOVLW STABO+2+((l+2)*2)
CALL CARV '
BTFSC PSW.CY
GOTO UDSD3
BTFSC STWB+1,0
GOTO UDSDI
BTFSS STCB+1,0
GOTO UDSDJ
MOVLW STWB+2
CALL CRMC MOVLW STDB+2
CALL CMDF
BTFSC PSW.CY
GOTO UDSDL
GOTO UDSDD UDSDI BTFSS STCB+1,1
GOTO UDSDJ
MOVLW STWB+5
CALL CRMC
MOVLW 0
CALL CMIF
BTFSC PSW.CY
GOTO UDSDD
MOVLW STDB+2
CALL CMSF UDSDD MOVLW STABθ+2+((l+2)*3)
CALL CARV
BTFSC PSW.CY
GOTO UDSDL
BTFSC STWB+1,1
GOTO UDSDK
BTFSS STCB+1,0
GOTO UDSDL
MOVLW STWB+2
CALL CRMC
MOVLW STDB+3
CALL CMDF
BTFSC PSW.CY
GOTO UDSDL
GOTO UDSDL UDSDK BTFSS STCB+1,1
GOTO UDSDL
MOVLW STWB+5
CALL CRMC
MOVLW 4
CALL CMIF
BTFSC PSW.CY
GOTO UDSDL
MOVLW STDB+3
CALL CMSF UDSDL BCF PSW.BSl
RETURN
PAGE
; UPDATE FAULT DATA SUBROUTINE
UDFD CALL WEDT
BTFSC PSW.CY RETURN BSF PSW.BSO BSF PSW.BSl MOVF FUCB.W MOVWF RO MOVWF FSR BSF FSR, ISO BSF PSW.ISl INCF FUCB.F MOVF FUCB.W ADDLW -FUDE BTFSS PSW.CΫ GOTO UDFDA MOVLW FUDS MOVWF FUCB
UDFDA BCF PSW.BSO BCF PSW.BSl MOVF RO.W ADDLW FLDB-FUDS CALL SEAD CALL REDB XORWF IAR.W BTFSC PSW.ZR RETURN MOVF R0,W ADDLW FLDB-FUDS CALL SEAD MOVF IAR.W GOTO WEDS PAGE
; RESET SELF TEST DATA SUBROUTINE
RSSD BSF PSW.BSl BCF STCB, 7 BCF STCB, 6 CLRF STDB CLRF STDB+1 CLRF STDB+2 CLRF STDB+3 BCF PSW.BSl RETURN
; RESET FAULT DATA SUBROUTINE
RSFD BSF PSW.BSO BSF PSW.BSl MOVLW FUDS MOVWF FUCB CLRF FUCB+1 CLRF FUCB+2 CLRF FUCB+3 BCF ITC, 7 MOVLW OFFH MOVWF MFMB MOVLW OOFH MOVWF MFMB+1 BSF ITC, 7 CLRF FLCB CLRF FLCB+1 BCF PSW.BSO BCF PSW.BSl RETURN PAGE
COMPUTE ADC READING VALUE SUBROUTINE
CARV BTFSS STCB, 4
ADDLW STABl-STABO
MOVWF FSR
BCF FSR, ISO
BSF PSW.ISl
MOVF IAR.W
MOVWF R3
BTFSC PSW.ZR
GOTO CARVC
INCF FSR.F
MOVF IAR.W
MOVWF RO
INCF FSR,F '
MOVF IAR.W
MOVWF Rl
CLRF R2
MOVLW 16
MOVWF R4 CARVA BCF PSW.CY
RLF RO.F
RLF Rl.F RLF R2.F MOVF R3.W SUBWF R2.W BTFSS PSW.CY GOTO CARVB MOVWF R2 BSF RO.O
CARVB DECFSZ R4,F GOTO CARVA BCF PSW.CY RETURN
CARVC BSF PSW.CY RETURN PAGE
; CHECK POWER SUPPLY FAULT SUBROUTINE
CPSF MOVLW (65536-(PSLFL+l))%256
ADDWF R0,W
MOVLW (65536-(PSLFL+l))/256
BTFSC PSW.CY
ADDLW 1
BTFSS PSW.CY
ADDWF Rl.W
BTFSS PSW.CY
GOTO CPSFA
MOVLW (65536~PSHFL)%256
ADDWF R0,W
MOVLW (65536-PSHFL)/256
BTFSC PSW.CY
ADDLW 1
BTFSS PSW.CY
ADDWF Rl.W
BTFSS PSW.CY
RETURN
MOVLW 2
CALL SPSF
GOTO CPSFB CPSFA BCF PSW.BSl
BSF OPCF, 4
BSF PSW . BSl CPSFB BSF PSW . CY
RETURN
PAGE
; COMPUTE MOTOR CURRENT CORRECTION SUBROUTINE
CMCC MOVWF FSR
BCF FSR, ISO BSF PSW.ISl MOVLW PSNVV%256 MOVWF R2 MOVLW PSNVV/256 MOVWF R3 MOVLW 17 MOVWF R4 CLRF IAR
CMCCA MOVF RO.W SUBWF R2,W MOVF Rl,W BTFSS PSW.CY ADDLW 1 SUBWF R3,W BTFSS PSW.CY GOTO CMCCB MOVWF R3 MOVF RO.W SUBWF R2.F BSF PSW.CY
CMCCB RLF IAR.F RLF R5.F RLF R6.F BCF PSW.CY RLF R2.F RLF R3.F DECFSZ R4,F GOTO CMCCA INCF FSR,F MOVF R5,W MOVWF IAR INCF FSR,F MOVF R6.W MOVWF IAR RETURN PAGE
CORRECT MOTOR CURRENT SUBROUTINE
CRMC MOVWF FSR
BCF FSR, ISO BSF PSW.ISl MOVF Rθ,W MOVWF R2 MOVWF STWB+8 MOVF Rl,W MOVWF R3 MOVWF STWB+9 MOVLW 16 MOVWF R4 CLRF RO CLRF Rl
CRMCA BCF PSW.CY BTFSS R2.0 GOTO CRMCC MOVF IAR.W ADDWF RO.F INCF FSR.F MOVF IAR.W DECF FSR.F BTFSC PSW.CY ADDLW 1 BTFSC PSW.CY GOTO CRMCB ADDWF Rl.F GOTO CRMCC
CRMCB ADDWF Rl.F BSF PSW.CY
CRMCC RRF Rl.F RRF RO.F RRF R3.F RRF R2.F DECFSZ R4.F GOTO CRMCA INCF FSR.F INCF FSR.F BTFSS IAR.O RETURN
MOVF STWB+8, W ADDWF RO.F MOVF STWB+9, W BTFSS PSW.CY GOTO CRMCD ADDLW 1 BTFSC PSW.ZR GOTO CRMCE
CRMCD ADDWF Rl.F BTFSS PSW . CY RETURN CRMCE MOVLW 255 MOVWF RO MOVWF Rl RETURN PAGE
'; CHECK MOTOR DRIVER FAULT SUBROUTINE
CMDF MOVWF FSR
BCF FSR , ISO
BSF PSW . ISl
MOVLW (65536-MTDFL)%256
ADDWF R0 , W
MOVLW (65536-MTDFL)/256
BTFSC PSW.CY
ADDLW 1
BTFSS PSW.CY
ADDWF Rl.W
BTFSS PSW.CY
GOTO CMDFA
INCF IAR.F
MOVF IAR.W
ADDLW -MTDFC
BTFSS PSW.CY
RETURN
DECF IAR.F
MOVF FSR.W
ANDLW 07FH
XORLW STDB+2
MOVLW 3
BTFSS PSW.ZR
MOVLW 4
CALL SPSF
BSF PSW.CY
RETURN CMDFA MOVF IAR,W
BTFSS PSW.ZR
DECF IAR.F
BCF PSW.CY
RETURN
PAGE
CHECK MOTOR CURRENT FAULT SUBROUTINE
CMIF MOVWF R2
MOVLW (65536-(MTOCL+l))%256
ADDWF R0,W
MOVLW (65536-(MTOCL+l))/256
BTFSC PSW , CY
ADDLW 1
BTFSS PSW , CY
ADDWF Rl.W
BTFSS PSW.CY
GOTO CMIFA
MOVLW (65536-MTSCL)%256
ADDWF RO.W
MOVLW (65536-MTSCL)/256
BTFSC PSW.CY
ADDLW 1
BTFSS PSW.CY
ADDWF Rl.W
BTFSS PSW , CY
RETURN
MOVLW 2
GOTO CMIFB
CMIFA MOVLW 0 CMIFB MOVWF RO
MOVF R2,W
BTFSS PSW.ZR
GOTO CMIFC
ADDWF R0,W
CALL SRMF
BSF PSW.CY
RETURN CMIFC ADDWF RO.W
CALL SLMF
BSF PSW.CY
RETURN
PAGE
CHECK MOTOR STALL FAULT SUBROUTINE
CMSF MOVWF FSR
BCF FSR, ISO
BSF PSW.ISl
MOVLW (65536-MTSTL)%256
ADDWF RO.W
MOVLW (65536-MTSTL)/256
BTFSC PSW.CY
ADDLW 1
BTFSS PSW.CY
ADDWF Rl.W
BTFSS PSW.CY
GOTO CMSFB
INCF IAR.F
MOVF IAR.W
ADDLW -MTSTC
BTFSS PSW.CY
RETURN
DECF IAR.F
MOVF FSR.W
ANDLW 07FH
XORLW STDB+2
BTFSS PSW.ZR
GOTO CMSFA
MOVLW 1
GOTO SRMF CMSFA MOVLW 5
GOTO SLMF CMSFB MOVF IAR.W
BTFSS PSW.ZR
DECF IAR.F
RETURN
; STORE POWER SUPPLY FAULT SUBROUTINE
SPSF MOVWF RO
BCF PSW.BSl BSF OPCF, 4 BSF PSW.BSl MOVLW FUCB+1 CALL CFLE BTFSC PSW.CY RETURN CALL AFLE MOVLW FLCB ' GOTO UFLC PAGE
STORE RIGHT MOTOR FAULT SUBROUTINE
SRMF CALL GMFE
MOVLW FUCB+2 CALL CFLE BTFSC PSW.CY GOTO SRMFA CALL AFLE MOVLW FLCB+1 CALL UFLC
SRMFA MOVLW 001H GOTO SLMFB
STORE LEFT MOTOR FAULT SUBROUTINE
SLMF CALL GMFE
MOVLW FUCB+3 CALL CFLE BTFSC PSW.CY GOTO SLMFA CALL AFLE MOVLW FLCB+1 CALL UFLC
SLMFA MOVLW 002H
SLMFB ANDWF STWB+l.W MOVWF Rl CLRF RO MOVF STWB.W BTFSC PSW.ZR RETURN MOVWF R2 GOTO SLMFD
SLMFC BCF PSW.CY RRF Rl.F RRF RO.F BCF PSW.CY RRF Rl.F RRF RO.F
SLMFD DECFSZ R2 , F GOTO SLMFC BSF PSW.BSO BCF ITC, 7 COMF R0,W ANDWF MFMB,F COMF Rl,W ANDWF MFMB+l.F BCF PSW.BSO BCF PSW.BSl BSF MTCF.O BSF ITC, BSF PSW.BSl RETURN PAGE
GENERATE MOTOR FAULT ENTRY SUBROUTINE
GMFE MOVWF Rθ
MOVF STWB.W ADDWF STWB.W MOVWF Rl ADDWF Rl,W ADDWF STWB,W MOVWF Rl ADDWF Rl,W ADDWF RO.F RETURN
CHECK FAULT LOG ENTRY SUBROUTINE
CFLE MOVWF FSR
BSF FSR, ISO BSF PSW.ISl MOVF IAR.W XORWF RO.W BSF PSW.CY BTFSC PSW.ZR RETURN XORWF IAR.F BCF PSW.CY RETURN PAGE
ADD FAULT LOG ENTRY SUBROUTINE
AFLE BSF PSW.BSO MOVF FLCB.W ADDWF FLCB+1,W BCF PSW.BSO BTFSC PSW.CY RETURN
ADDLW -FLLEC BTFSC PSW.CY RETURN ADDLW FLLEC MOVWF Rl ADDWF Rl.W MOVWF R ADDWF R2.W ADDWF Rl.W ADDLW FLEB MOVWF FSR BSF FSR, ISO BSF PSW.ISl MOVF RO.W MOVWF IAR INCF FSR.F BCF ITC, 7 MOVF STTB+3,W MOVWF IAR INCF FSR,F MOVF STTB+2,W MOVWF IAR INCF FSR.F MOVF STTB+1,W MOVWF IAR INCF FSR.F MOVF STTB.W MOVWF IAR BSF ITC, 7 RETURN
UPDATE FAULT LOG COUNT SUBROUTINE
UFLC MOVWF FSR
BSF FSR, ISO BSF PSW.ISl INCF IAR.F MOVF IAR,W ADDLW -100 BTFSC PSW.CY MOVLW -1 ADDLW 100 MOVWF IAR RETURN PAGE
SET EEPROM ADDRESS SUBROUTINE
SEAD BCF PSW.BSO BSF PSW.BSl MOVWF EAL CLRF EAH BCF PSW.BSl RETURN
; READ EEPROM DATA BYTE SUBROUTINE
REDB BSF PSW.BSO
BSF PSW.BSl BCF ECl,7 BSF ECl,0 BCF PSW.BSO MOVF EDL.W INCF EAL BCF PSW.BSl RETURN PAGE
; WRITE EEPROM DATA START SUBROUTINE
WEDS BCF PSW,BS0
BSF PSW.BSl MOVWF EDL BSF PSW.BSO BCF ECl,7 BCF ITC, 7 BSF ECl,2 MOVLW 055H MOVWF EC2 MOVLW OAAH MOVWF EC2 BSF ECl.l BCF ECl,2 BSF ITC, 7 BCF PSW.BSO BCF PSW.BSl RETURN
; WRITE EEPROM DATA TEST SUBROUTINE
WEDT BSF PSW.BSO
BSF PSW.BSl
BTFSS ECl.l
GOTO WEDTA
BCF PSW.BSO
BCF PSW.BSl
BSF PSW.CY
RETURN WEDTA BSF ECl.O
BCF PSW.BSO
MOVF EDL.W
INCF EAL
BCF PSW.BSl
BCF PSW.CY
RETURN
PAGE
; PROGRAM MEMORY PAGE 2 END
ORG 017 FCH
; POWER-ON STACK TEST 5 SUBROUTINE
POST5 BSF PAH.PSO CALL POST6 INCF RO.F RETURN
'; PROGRAM MEMORY PAGE 3 START ORG 01800H
POWER-ON STACK TEST 6 SUBROUTINE
POST6 CALL POST7 INCF RO.F RETURN PAGE
PROGRAM MEMORY PAGE 3 END
ORG 01FFCH
POWER-ON STACK TEST 7 SUBROUTINE
POST7 INCF RO.F RETURN
PROGRAM MEMORY EDC
RETLW 0 RETLW 0
PROGRAM ID WORDS IDLOCS OFFFFH
1
; CONFIGURATION WORD CONFIG 03D72H
PAGE
; EEPROM CONTENTS
ORG 02100H
DW O00H.O0OH.00OH 000H
DW 000H,000H,000H 000H
DW O00H,0OOH,O00H 000H
DW OO0H,OOOH,0O0H 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH 000H
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH OOOH
DW 000H,0OOH,000H OOOH
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH OOOH
DW OOOH.OOOH.OOOH OOOH DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
DW OOOH OOOH OOOH OOOH
END OF F 3ROGR \M
END
APPENDIX B
E CPOP.hsκ INSEA-64545
100000008B0183018A01BC29FC00030E83 U 1J. UU UH,-- 100010000A088A01FE000408FF008C10231A6A28CF 100020002316A50B5A2800308605F030870564306A 10003000A500221C3D2831088316031714058312DE 100040000313 AFO 032088316031715058312031339 100050000 F39B00003392 P045539031D301630080D 1000600003392F04AA39031DB016221030080317D4 10007000A01620113039031D20150317FC30A005F0 10008000103 OA006A01B20173430201A4230840004 100090008413831703 132F088000840A300880001C 1000A000840A03308001840780018407800184076B 1000B0008001682825082E06031D68282 F0886045D 1000C00030080F398704300E03390317A0040313D7 1000D0001F15B02823129F1E7B28C7309F050317CA 1000E0003630201A44308400841383170330201CD8 1000 F000A0188407 98289F198A289F1503173 C3059 10010000201A4A3084008413831720192018982855 .1001100003132B299F119F1603173 F30201A4D30D0 1001200084008413 83172019A018982803132B29FF 100130000313800A0008840A8316013A031DA728C6 100140001E088000840A83121E0880002B291E08C6 100150008007840A0318800A83121E0880072B294F 100160008C1EE4281A087F392110211ACC28A11BE3 10017000E4283421003A0319DF28BD00063A031DA4 10018000C3280230C728023A031DDD280830A60024 100190003 E30A7002116E028D03E031CDF28A8002 F 1001AO O O F63 E03 18DF2827088400841783132808E5 1001B0008000A70AA60BE0282112A117E42821122B 1001C00081010B112730A40021180C1EF1282A08Ξ8 1001D00084008417831300089900AA0AA90BF12848 1001E0002110211AOB1DF8280B11A40BF82821123D 1001F0000C1D2B290C112314AB0B2B290530AB0044
10020000A314AC0B2B290A30AC002315A31AAO0B99 100210002B293C30AD000317A20A22089C3E031C88 100220002A29A201A30A23089C3E031C2A29A30110 10023 O O OA40A24089C3E031C2A29A401A50A250817 100240009C3E031C2A296330A200A300A400A50041 100250000313A31203137F0884007E088A007DOE17 100260008300FC0E7C0E09003 C3E84000130031824 10027000013E8A0004088200003 00340034003457 1002800000340034003400340034003400340034CE 10029000003400340034003400340034003 0034BE 1O 02A0 O 000340034003400340034003400340034AE 1002B0000034003 00340034003402340034043498 1002 C000073403340034003400340034053400347F 1002D000003400340034003410341134123400344B 1002 E0002034213422342434253426340634003496 1002 F00000340034003401340034313433343534C4 10030000373439344034413442344334443445344E 10031000463447344834493400340034003400341F 100320000034003400345134533400340034003489
10033000003400340034003400343 0343234343487 1003400036343834-0034003400340034003400349F 1003500000340034003400341334003400340034EA 10036000003400340034503452340034003400344B 1003700000340034003 00348501860140308700A9 100380004030880089019001920194019701980101 100390009D0181309 F008316803081008C018D018A 1003 AO 009101940182309F002 F308500003086003B 1003B0008030870083308800003089000317803048 1003 C0008C0083128D018F010313 F13091008E0197 1003D0008F0102309500E0309600831603170C144D 1003E000000000008312031310309COOOF08031755 1003F0000C0603139B0003108E0C8F0C1B1C042A8D 1004000084308E0608308F0603178EOC8COC031375 100410009C0BF62903178D0F0E2A8F0A0313950FO5 10042000ED29960FED29031783160C140000000028 1004300083120C0803130F06031D2D2B03178D0ABF 1004400083160C140000000083120C0803130E0620 10045000031D2D2BE3309100103084008 1383138F 1004600004087F39E03E031C3B2A88308000841753 100470009930800084138317AA3080008417BB3022 10048000800084138313840A04087F39903E031C80 10049000302A66308000840A84178000840A84131E 1004A00083178000840A84178000840A84138313CE 1004B00004087F39031D492A2008883A031D2D2B83 1004C0007008663A031D2D2B83162008993A031DE8 1004D0002D2B7008663A031D2D2B8312031710086D 1004Ε000AA3A031D2D2B7008663A031D2D2B831687 1004F0001008BB3A031D2D2B7008663 031D2D2BE7 100500008312031310308 008413831304087F398B 10051000E03E031C952A88308006031D2D2B84178E 1005200099308006031D2D2B84138317AA30800673 10053000031D2D2B8417BB308006031D2D2B841328 100540008313840A04087F39903E031C862A663090 100550000006031D2D2B841766300006031D2D2B6E 100560008413831766300006031D2D2B8417663015 100570000006031D2D2B84138313840A04087F397E 10058000031DA72A103084008413831395010408E7 100590007F39E03E031CD12A1508800084178000B3 1005A0008413831715088000841780008413831335 1005B000950A840A04087F39031DC72A1030840075 1005C00084138313950104087F39E03E031CF22A4B 1005D00015080006031D2D2B841715080006031DA2 1005E0002D2B8413831715080006031D2D2B84174C 1005F00015080006031D2D2B84138313950A840A06 1006000004087F39031DE32AC7309100F0012A2333 100610000A088A110A12183A031D2D2B7008083A8D 10062000031D2D2B8F3091000508003A031D2D2B43 100630000608003A031D2D2B07087F39403A031D99 100640002D2B08087C39403A031D2D2B0908003A50 100650000319522BFC27F00A080083120313110917 100660009500151C0914C8308F00C8308E0000009A 10067000392B3A2B3B2B8ΞOB372B8POB352B09103D 10068000C8308FOOC8308E000000462B472B482B07
100690008EOB442B8FOB422B0310950C1508031D5A 1006A000312B2F2B0030900001309200003094004D 1006B0003F3095009C3096000B309700903098 OOAA 1006C00000309D00831602308C0000308D00003019 1006D00091002C30920000309400243098000C30AF 1006E000990083122030840084138313800184 OACC 1006F000841F762B20308400841783138001840AA2
10070000841B7E2B20308400841383178001840A8D 10071000841F862B.20308400841783178001840A6D
10072000841B8E2B143084008417831783160317C1
100730009000831203134F30F4000A1600304C224D 100740000A1652220A128000840AF40BA02B0530EC 10075000AB000A30AC003C30AD008B018C018D0148 10076000101412150B178B17091489148A150328F6 10077000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F89 10078000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F79 10079000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F69 1007A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3P59 1007BOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F49 1007C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F39 1007D000FF3FFF3 FFF3FFF3FFF3FFF3 FFF3 FFF3F29 1007E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F19 1007F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F09 10080000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF8 10081000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3PE8 10082000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD8 10083000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC8 10084000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB8 10085000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA8 10086000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F98 10087000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F88 10088000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F78 10089000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F68 1008A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F58 1008BOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F48 1008C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F38 1008D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F28 1008E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F18 1008F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F08 10090000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF7 10091000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE7 10092000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD7 10093000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC7 10094000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB7 10095000FF3FFF3 FFF3 FFF3FFF3 FFF3 FFF3FFF3FA7 10096000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F97 10097000FF3FFF3 FFF3FFF3FFF3FFF3FFF3FFF3 F87 10098000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F77 10099000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F67 1009AOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F57 1009B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F47 1009C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F37 1009D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F27 1009E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F17 1009F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F07 100A0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF6 100A1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE6 100 2000FF3FFF3FFF3 FFF3FFF3FFF3 FFF3 FFF3FD6 100A3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC6 100A4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB6 100A5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA6 100A6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F96 100A7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F86 100A8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F76 100A9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F66 100AA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F56 100AB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F46 100AC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F36 100AD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F26 100AE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F16 100AF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F06 100BOOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF5 100B1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE5 100B2000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD5 100B3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC5 100B4000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB5 100B5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA5 100B6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F95 100B7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F85 100B8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F75 100B9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F65 100BA000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F55 100BB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F45 100BC000PP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F35 100BD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F25 100BEOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F15 100BFOOOFP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F05 1OOC0000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FP4 100C1000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE4 100C2000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD4 100C3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC4 100C4000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB4 100C5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA4 100C6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F94 100C7000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F84 100C8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F74 100C9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F64 100CA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F54 100CB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F44 10OCCO00FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F34 100CD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F24 100CE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F14 100CFOOOFP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F04 100D0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF3 100D1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE3 100D2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD3 100D3000FF3FFF3FFF3 FFF3 FFF3FFF3FFF3FFF3FC3 100D4000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB3 100D5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA3 100D6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F93 100D7000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F83 100D8000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F73 100D9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F63 100DA000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F53 100DB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F43 100DC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F33 100DD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3F23 100DEOOOFP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F13 100DF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F03 100E0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF2 100E1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE2 100E2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD2 100E3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC2 100E4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB2 100E5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA2 100E6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F92 100E7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3F82 100E8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F72 100E9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F62 100EA000FF3FFF3FFF3FFF3FPF3FFF3FFF3FFF3F52 10OEBO0OFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F42 100ECOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F32 100EDOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F22 100EE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F12 100EF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F02 100 FO 000FF3 FFF3 FFF3 FFF3FFF3 FFF3 FFF3FFF3FFl 100F1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE1 100F2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD1 100F3000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC1 100F4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB1 100F5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA1 100F6000FF3FFF3FFP3FFF3FFF3FFF3FFF3FFF3F91 100F7000FF3FFF3FFF3FFF3FFP3FFF3FFF3FFF3F81 100F8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F71 100F9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F61 100FA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F51 100FB000FF3FFF3FFF3FFF3FFP3FFF3FFF3FFF3F41 1OOFC00OFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F31 1OOFDO00FF3FPF3FFF3FFF3FFF3FFF3FFF3FFF3F21 1O0FE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F11 100FF000FF3FFF3FFF3FFF3F8A150020F00A080038 10100000FB27F00A08008A110A16BB208A150A126B 10101000C8210915B8011030B9001E30BA001930C6
10102000BBOOC821A001A320A01B1B28201A9A28BE
10103000A019032813283808F00003192C28F003FE
1010400003193C28F00303195828F00303196F28EB
10105000F003031986288A283908FOOOF100CA2114 10106000A320A01F1128201A9A28A01903282019AC 101070001B28A0182C283028C1200030F800003E82 10108000C1213908F005F105CA21A320A01F1128AC 10109000201A9A28A019032820191B28A0183C28D8 1010A000201C45287808FF3E0318FE30023E3E28EB 1010BOOOC1200030F800023EC121CA21A320A01F98 1010C0001128201A9A28A019032820191B28201C4F 1010D0005E287808F93E0318F830083E5A28C120E7 1010E0000030F8000A3EC121CA21A320A01P112808 1010F000201A9A28A019032820191B28201C7528BB 101100007808C13E0318C030403E71283908F0010C 10111000F1008D283908FOOOF101CA21A320A01F99 101120001128201A9A28A019032820191B28A01872
101130008A288E280911C821A0010A30B800B720DA
10114000A01903289F282011A0102010A11FAF284C 10115000C4203F2153211221362171219F21A22138 101160008A110A1603209C208A150A120800A11F62 10117000BB28C4209F218A110A169C208A150A12B6 101180000800BC0120100800A11F08003D0E0F3907 10119000003A031D08003D08013A031DD128E6214D 1011A0000800033A031DD6281F220800013A031D38 1011B000DC28A015B6220800073A031DFE283E30A1 1011COOOB822F5004030B822F4004230B822F300D3 1011D0004430B822F200A3120317A2007308A30040 1011E0007408A4007508A50003133C30AD00740416 1011F00073047204031DA31656220800013A031D4E 10120000032956220800033A031D0A293E30B8225A 10121000772208008A110A16C4208A150A1222149D
1012200056220800A11F08003DOEOF39013A031D88
1012300008003D080F39F0000030F00303190F30AB 10124000F00303191E30F00303193129B500B50866 10125000031D2E29B501B601A0133429A01B342982 10126000A017B6013C30B700B6220800A11F080045 101270003DOEOF39023A031D0800B6220800A11FD7 1012800008003DOEOF39043A031D08003D080F39DO 10129000FA3E03185129063E380603195129B806AB 1012A0002015B6220800A11F08003DOEOF39033A91 1012B000031D08003D080F39F0000310700C0318DF 1012C0006729FA22390503196P29B9066E29FA220E 1012D000F1003905031D6F297108B900A014B62269 1012E0000800A11F08003D0E0F39053A031D080034 1012F0003D080F39FOOOF008031D84293A08FF3E2D 10130000031C0030BA009D29F003031D8E293A0802 10131000CF3 E0318 FF30323 EBA009D29F003031D73 1013200097293B08 FF3E031C0030BB009D293B086A 10133000CF3 E0318FF30323EBB00B6220800A11B8 F 10134000B6220800231DB2292311A01BB70BB2 916 101350003 C30B700B60A35083602031CB229B50185 10136000B601A013231CBD292310BC0A3B08E523AA 101370003 C02031CBD292014BC013A08AB23AE007B 101380000800F1000723 F00071085923 F10008005C
10139000 F001F1012210B101B2017018311471187D 1013A000B114F0183115F118B11570193116711901 1013B000B116F0193117F119B117701A3214711AE8 1013CO O OB21422140800BC0120100800C5222D30EO 1013DO O OEE223030FO O OA01FF229FO OA35080F3A53 1013E000031DFO OA7008EE223030EE223030EE227B 1013 F0003030EE223208CA22310EPO O O FO OC700CBO 10140000CA22310ECA223108FOO OFO OC700CCA2238 101410003 108CA223808303EC63 E03 181E303A3 E14
10142000EE223A083A07DD223B083B07DD22360868
10143000DD220030DD220030DD22 F1220800C5224D
101440002B30EE220130DD220030DD220030DD22A3 101450000330DD223730EE220F30DD223030EE2235
101460003030EE223030EE223030EE223130EE22BB 101470003130EE223130EE223130EE223130EE22A8
101480003130EE223230EE223330EE223430EE2292 101490003030EE223030EE223030EE223030EE228C 1014A0003030EE223030EE22 F1220800C5222Ξ30FC 1014B000EE2203178B132208F4002308 F3002408PC 1014C000 F20025088B170313DD227208DD22730852 1014D000DD2274 O 8DD22831603171708F20016 O 8B0 1014E00083120313DD227208DD22 F1220800FO O OCE 1014 FO O O O F30F100 F201F301F401F501F60183165A 101500000317160817078312031303188C2AF13EDA 1015100003188C2AOF3EF100710870020318A72AE5 1015200070087007F10071077007183E8400841777 1015300083170008F200840A0008 F300840A0008 F8 1015 000F400840A0008F500840A0008F600C522A9 101550002C30EE227208DD227308DD227408DD22B1 101560007508DD227608DD22F1220800A113080 OAB 1015700084008417831300080007F0007007000739 10158000 F0007007840A00070800203084008417E8
10159000831308000339303ΞEE2AF000700EOF3935 1015AO O OF63 E031CF93E413E8000840A70080F3964 1015BO O O F63E031CF93E413EEE2A9C3E0318FF30E6 1015C000643EF0002F30F100F630F10AF007031806 1015DO O OE52A71088000840A70083A3E8000840A77 1015E000080004087F39E03ΞA9002030AA00211439 1015FO O OA1130800023E84000B300318013E8A004C 1016000004088200103408340434023401340F3 EDC 1016100084000B300318013E8A00040882001F3446 1016200000341034083404340234013402340434 F5 10163000083400341034003 1034003410340034D2 1016400010340034083400340834003408340034D2 1016500008340034043400340434003404340034D6 1016600004340034023400340234003 02340034D0 1016700002340034013400340134003401340034C5 1016800001340034023400340234003402340034B3 10169000023400340434003404340034043400349C 1016A000043400340834003408340034083400347E 1016B0000834613 E84000B300318013E8A000408AO 1016C00082001F34003410340834043402340134EE 1016D000023404340834103400341034003410342 C 1016E0000034103400340834003408340034083432 1016F0000034083400340434003404340034043436 101700000034043 0034023400340234003402342F 101710000034023400340134003401340034013424 101720000034013400340234003402340034023412 1017300000340234003404340034043400340434FB 1017400000340434003408340034083400340834DD 10175000003408340034B33E84000B300318013EDB
101760008A0004088200183419341A341B341C34DB 101770001D341D341E341F342034213422342334CC 1017800024342534263427342734283429342A3 81 101790002B342C342D342E342F3430343134313436 1017A00032343334343435343634373438343934ED 1017B0003A343B343C343C343D343E343F344034A2 1017C00041344234433444344534ED3E84000B30DC 1017D0000318013E8A0004088200BB34B234A934E5 1017E000A03498349034893482347C347534703425 1017F0006A34643460345B34563452344E344A3480 10180000463442343 F343C34393436343334313462 101810002E342C342A3427342534243422342034F2
101820001E341D341B341A3419341734163415344D 10183000143413341234113410340F340F34FF3F86 10184000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA8 10185000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F98 10186000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F88 10187000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F78
10188000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F68 10189000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F58 1018A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F48 1018BOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F38 1018C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F28 1018D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F18 1O18E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F08 1018F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF8
10190000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE7 10191000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD7 10192000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC7 10193000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB7 10194000FF3 FFF3 FFF3FFF3FFF3FFF3 FFF3FFF3FA7 10195000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F97 10196000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F87 10197000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F77 10198000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F67 10199000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F57 1019A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F47 1019B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F37 1O19CO00FF3FFF3FFF3FFF3FFF3FFP3FFF3FFF3F27 1019D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F17 1019E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F07 1O19FOO0FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF7 101A0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE6 101A1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD6 101A2000FF3FFF3EFF3FFF3FFF3FFF3FFF3FFF3FC6 101A3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB6 101A4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3PA6 101A5000PF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F96 101A6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F86 101A7000PF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F76 101A8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F66 101A9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F56 101AA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3P46 101AB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F36 101AC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F26 101AD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F16 101AE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F06 101AF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF6 101B0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE5 101B1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD5 101B2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC5 101B3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB5 101B4000FF3 FFF3FFF3 FFF3 FFF3FFF3 FFF3 FFF3FA5 101B5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F95 101B6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F85 101B7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F75 101B8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F65 101B9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F55 101BA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F45 101BB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F35 101BC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F25 101BD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F15 101BEOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F05 101BF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF5 101C0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE4 101C1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD4 101C2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC4 101C3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB4 101C4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA4 101C5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F94 101C6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F84 101C7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F74 101C8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F64 101C9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F54 101CAOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F44 101CB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F34 101CC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F24 101CD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F14 101CE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F04 101CF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF4 101D0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE3 101D1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD3 101D2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC3 101D3000FF3FFF3FFF3FFF3FFP3FFF3FFF3FFF3FB3 101D4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA3 101D5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F93 101D6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F83 101D7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F73 101D8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F63 101D9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F53 101DA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F43 101DB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F33 101DC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F23 101DD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F13 101DE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F03 101DF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF3 101E0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE2 101E1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD2 101E2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC2 101E3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB2 101E4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA2 101E5000FF3PFF3FFF3FFF3FFF3FFF3FFF3FFF3F92 101E6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F82 101E7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F72 101E8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F62 101E9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F52 101EA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F42 101EB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F32 101EC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F22 101ED000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F12 101EE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F02 101EF000FF3FFF3FFF3FFP3FFF3FFF3FFF3FFF3FP2 101F0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE1 101F1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD1 101F2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC1 101F3000FF3FFF3FFF3FFP3FFF3FFF3FFF3FFF3FB1 101F4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA1 101F5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F91 101F6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F81 101F7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F71 101F8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F61 101F9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F51 101FA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F41 101FB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F31 101FC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F21 101FD000FF3FFF3FFF3FFF3FFF3FFF3FFF3PFF3F11 101FE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F01 101FF000FF3FFF3FFF3F8A110A160020F00A08004A 10200000FC27FOOA08000317A017201F9A282013A6 1020100 OA101A01EOE28A012A801A9013430201E83 102O20004230840O84138317831600081405F000DF 10203000840A00081505F10083120530AA00700813 102040000339AB00031D2A28F10CF00CF10CF00C45 10205000AA0B1F283630D62003185E282114F8203A 1020600003189A282C301221AA307007FE3003186A 10207000013E031C710703184628A60A2608223EC3 10208000031C4928A6030130CE219A282608031DE7 10209000A60323307007FE300318013E031C7107AΞ 1020A000031C5B28A70A2708223E031C5E28A703FF 1020B0000230CΞ219A282708031DA7033930D620E5 1020C00003186828A114F82003189A282F30122129 1020D0003C30D620031881282B187728211C812812 1020E0002C30372128306D2103189A288128A11C13 1020F00081282F30372 00308D2103188128283086 10210000AF213F30D62003189A28AB189028211C05 102110009A282C30372129306D2103189A289A28C3 10212000A11C9A282F30372104308D2103189A28BA 102130002930AF21031308006C220318080083160E
1021400003171008F000840084178317900A100802
102150009D3E031CAD2814309000831203137008B9 10216000EC3E4C2252220006031908007008EC3E97 102170004C2200085B2A0317A0132013A601A70115 10218000A801A90103130800831603171430900057 102190009101920193018B13FF3094000F30950051 1021A0008B1796019701831203130800201E0E3E21 1021B0008400841383170008F3000319F628840AA7 1021C0000008F000840A0008F100F2011030F40069 1021D0000310F00DF10DF20D73087202031CF228CA 1021E000F2007014F40BE828031008000314080030 1021F000EE307007FE300318013E031C7107031C0C 102200000D29DE307007FD300318013E031C7107F5 1022100003ICO8000230CE211029031320160317D7 10222000031408008400841383179930F2000130EE 10223000F300113 OF4008001700872027108031C71 10224000013E7302031C2829F3007008F2020314F4 10225000800DF50DF60D0310F20DF30DF40B1C2996 10226000840A75088000840A7608800008008400CB 10227000841383177008F200B2007108F300B300F2 10228000103 OF400F001F1010310721C54 9000811 10229000F007840A000884030318013E031852293A 1022AOOOF1075429F1070314F10CFOOCF30CF20CB4 1022BOOOF40B4429840A840A001C08003208F00741 1022C0003308031C6629013E03196929F107031C21 1022D0000800FF30FOOOF100080084008413831729 1022E000F0307007FF300318013E031C7107031C18 1022F0008829800A0008F53E031C080080030408B2
102300007F39283A0330031D0430CE21031408001E 102310000008031D800303100800F200D630700788 10232000FF300318013E031C7107031CA2291B3058 102330007007FD300318013E031C7107031C0800E1 102340000230A3290030F0007208031DAB2970078A 10235000D921031408007007E32103140800840046 102360008413831764307007FE300318013E031C8A 102370007107031CCA29800A0008FA3E031C0800Ξ2 10238000800304087F39283A031DC8290130D92960 102390000530Ξ3290008031D80030800F000031343 1023A000201603171130122 031808001D221630C0 1023B000412A0822123012220318E1291D22173067 1023C00041220130EC290822133012220318EB2994 1023D0001D221730412202302B05F100F0012A089E 1023E00003190800F200FA290310F10CF00C031095 1023 F000F10CF00CF20BF42983168B137009940581 10240000710995058312031322148B170317080013 10241000F0002A082A07F10071072A07F100710766 10242 OOOFO 0708008400841783170008700603145F 102430000319080080060310080083161608170702 10244000831203180800F13E031808000F3EF10044 102450007107F20072077107183E84008417831712 1024600070088000840A8B1325088000840A2408E1 102470008000840A23088000840A220880008B17C9 102480000800840084178317800A00089C3E031804 10249000FF30643E80000800831203178D008F0117 1024A00003130800831603178C130C1483120C08F3 1024B0008D0A03130800831203178C0083168C13F4 1024C0008B130C1555308D00AA308D008C140C1117 1024D0008B17831203130800831603178C1C742AAE 1024E00083120313031408000C1483120C088D0AC2 1024F000031303100800FF3FFF3FFF3FFF3FFF3P75 10250000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDB 10251000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCB 10252000FF3FFF3FFF3FFF3FFF3FFF3FPF3FFF3FBB 10253000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAB 10254000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9B 10255000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8B 10256000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7B 10257000FF3FFF3FFF3FFF3FFF3FFF3FPF3FFF3F6B 10258000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5B 10259000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4B 1025A000FF3 FFF3 FFF3 FFF3 FFF3 FFF3 FPF3FFF3F3B 1025B000FF3 FFF3 FFF3FFF3 FFF3 FFF3 FFF3 FFF3F2B 1025C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1B 1025D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0B 1025E000FF3PFF3FFF3FFF3FFF3FFF3FFF3FFF3FFB 1025FOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEB 10260000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDA 10261000FF3FFF3FFF3FFF3FFF3FFF3FPF3FFF3FCA 10262000FF3FFF3FFF3FFF3PFF3FFF3FFF3FFF3FBA 10263000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAA 10264000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9A 10265000FF3 FFF3 FFF3FFF3 FFF3FFF3FFF3FFF3F8A 10266000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7A 10267000FF3PFF3FFF3FFF3FFF3FFF3FFF3FFF3F6A 10268000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5A 10269000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4A 1026A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3A 1026B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2A 1026C000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1A 1026D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0A 1026E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3PFA 1026F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEA 10270000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD9 10271000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC9 10272000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB9 10273000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA9 10274000FF3FFF3FFF3FFF3PFP3FFF3FFF3FFF3F99 10275000FF3FFF3FFF3FFF3FFF3FFF3FPF3FFF3F89 10276000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F79 10277000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F69 10278000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F59 10279000FF3FFP3FFF3FFF3FFF3FFF3FFF3FFF3F49 1027A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F39 1027B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F29 1027C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F19 1027D000FF3 FFF3 FFF3 FFF3 FFF3 FFF3 FFF3FFF3 F09 1027E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF9 1027F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE9 10280000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD8 10281000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC8 10282000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB8 10283000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA8 10284000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F98 10285000FF3FFF3FFF3FFF3FFF3FFF3FPF3FFF3F88 10286000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F78 10287000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F68 10288000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F58 10289000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F48 1028A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F38 1028B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F28 1028C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F18 1028D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F08 1028E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF8 1028F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE8 10290000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD7 10291000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC7 10292000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB7 10293000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA7 10294000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F97 10295000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F87 10296000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F77 10297000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F67 10298000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F57 10299000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F47 1029A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F37 1029B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F27 1029C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F17 1029D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F07 1029E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF7 1029F000PF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE7 102A0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD6 102A1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC6 102A2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB6 102A3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA6 102A4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F96 102A5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F86 102A6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F76 102A7000PF3FFF3FFF3FFF3FFF3FFF3FFF3PFF3F66 102A8000PF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F56 102A9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F46 102AA000FF3FFF3FFP3FFF3FFF3FFF3FFF3FFF3F36 102AB000FF3FFF3FFP3FFF3FFF3FFF3FFF3FFF3F26 102AC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F16 102AD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F06 102AE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF6 102AF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE6 102B0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD5 102B1000PF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC5 102B2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB5 102B3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA5 102B4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F95 102B5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F85 102B6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F75 102B7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F65 102B8000FF3FFF3FFP3FFF3FFF3FFF3FFF3FFF3F55 102B9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F45 102BA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F35 102BB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F25 102BC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F15 102BD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F05 102BE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF5 1O2BF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE5 102C0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD4 102C1000FF3PFF3FFF3FFF3FFF3FFF3FFF3FFF3FC4 102C2000FF3FFF3FFF3FFF.3FFF3FFF3FFF3FFF3FB4 102C3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA4 102C4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F94 102C5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F84 102C6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F74 102C7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F64 102C8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F54 102C9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F44 102CA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F34 102CB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F24 102CC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F14 102CD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F04 102CE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF4 102CF000PF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE4 102D0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD3 102D1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC3 102D2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB3 102D3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA3 102D4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F93 102D5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F83 102D6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F73 102D7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F63 102D8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F53 102D9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F43 102DA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F33 102DB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F23 102DC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F13 102DD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3F03 102DE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF3 102DP000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE3 102E0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD2 102E1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC2 102E2000FF3FFF3FFF3FFF3FFF3FFF3FFF3PFF3FB2 102E3000FF3PFF3FFF3FFF3FFF3FFF3FFF3FFF3FA2 102E4000FF3PFF3FPF3FFF3FFF3FFF3FFF3FFF3F92 102E5000FF3FFF3FPF3FFF3FFF3FFF3FFF3FFF3F82 102E6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F72 102E7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3F62 102E8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F52 102E9000FP3FFF3FPF3FFF3FFF3FFF3FFF3FFF3F42 102EA000FF3FFF3FPF3FFF3FFF3FFF3FFF3FFF3F32 102EB000FF3 FFF3 FFF3 FFF3 FFF3 FFF3 FFF3 FFF3 F22 102EC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F12 102EDOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F02 102EE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF2 102EF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3FE2 102FOOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3FD1 102F1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC1 102F2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB1 102F3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA1 102F4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3F91 102F5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F81 102F6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F71 102F7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F61 102F8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F51 102F9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F41 1O2FAOO0FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F31 102FB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F21 102FC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F11 102FD000FP3FFF3FFF3FFF3FFF3FFF3FFF3FFP3F01 1O2FEO0OFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF1 102FFOOOFF3PFF3FFF3FFF3F8A150020FOOA080018 10300000FC27F00A0800FF3FFF3FFF3FFF3FFF3F65 10301000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC0 10302000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBO 10303000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA0 10304000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F90 10305000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F80 10306000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F70 10307000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F60 10308000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F50 10309000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3F40 1030AOOOFP3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F30 1030B000FF3 FFF3FFF3 FFF3 FFF3 FFF3 FFF3 FFF3 F20 1030C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F10 1030D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F00 1030E000FF3FFF3FFF3FFF3PFF3FFF3FFF3FFF3FF0 1O3OF00OFF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3FEO 10310000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCF 10311000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBF
10312000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3FAF
10313000FF3FFF3FFF3FFF3PFF3FFF3FFF3FFF3F9F
10314000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFP3F8F 10315000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7F 10316000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6F 10317000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5F 10318000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4F 10319000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3F 1031A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2F 1031B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1F 1031C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0F 1031D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF 1031E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEF 1031F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDF 10320000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCE 10321000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBE 10322000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAE 10323000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9E 10324000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8E 10325000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7E 10326000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6E 10327000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5E
10328000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4E 10329000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3E 1032A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2E 1032B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1E 1032C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0E 1032D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFE 1032E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEE 1032F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDE 10330000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCD 10331000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBD 10332000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAD 10333000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9D 10334000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8D 10335000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7D
10336000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6D 10337000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5D
10338000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4D 10339000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3D 1033A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2D 1033B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1D 1033C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0D 1033D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFD 1033E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FED 1033F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDD
10340000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCC 10341000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBC 10342000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAC 10343000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9C 103440OOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8C 10345000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7C 10346000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6C 10347000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5C 10348000FF3FFP3FFF3FFF3FFF3FFF3FFF3FFF3F4C 10349000FF3FFF3FFF3FFF3FFF3FFF3FFP3FFF3F3C 1034 000FF3FFF3FFF3FFF3FFF3FPF3FFF3FFF3F2C 1034B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1C 1034C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0C 1034D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFC 1034E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FΞC 1034F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDC 10350000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCB 10351000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBB 10352000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAB 10353000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9B 10354000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8B 10355000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7B 10356000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6B 10357000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5B 10358000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4B 10359000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3B 1035A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2B 1035B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1B 1035COOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FOB 1035D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFB 1035E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEB 1035F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDB 10360000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCA 10361000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBA 10362000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAA 10363000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9A 10364000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8A 10365000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7A 10366000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6A 10367000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5A 10368000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4A 10369000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3A 1036A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2A 1036BOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1A 1036C00OFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FOA 1036D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFA 1036E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEA 1036F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDA 10370000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC9 10371000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB9 10372000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA9 10373000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F99 10374000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F89 10375000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F79 10376000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F69 10377000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F59 10378000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F49 10379000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F39 1037A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F29 1037B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F19 1037C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F09 1037D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF9 1037E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE9 1037F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD9 10380000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC8 10381000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB8 10382000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA8 10383000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F98 10384000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F88 10385000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F78 10386000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F68 10387000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F58 10388000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F48 10389000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F38 1038A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F28 1038B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F18 1038C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F08 1038D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF8 1038E000FF3 FFF3FFF3 FFF3 FFF3FFF3 FFF3 FFF3FE8 1038F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD8 10390000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC7 10391000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB7 10392000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA7 10393000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F97 10394000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F87 10395000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F77 10396000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F67 10397000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F57 10398000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F47 10399000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F37 1039A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F27 1039B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F17 1039C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F07 1039D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF7 1039E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE7 1039F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD7 103 0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC6 103A1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB6 103A2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA6 103A3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F96 103A4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F86 103A5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F76 103A6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F66 103A7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F56 103A8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F46 103A9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F36 103AA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F26 103AB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F16 103ACOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F06 103AD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF6 103AE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE6 103AF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FO6 103B0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC5 103B1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB5 103B2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA5 103B3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F95 103B4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F85 103B5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F75 103B6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F65 103B7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F55 103B8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F45 103B9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F35 103BA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F25 103BB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F15 103BC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F05 103BD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF5 103BE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE5 103BF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD5 103C0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC4 103C1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB4 103C2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA4 103C3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F94 103C4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F84 103C5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F74 103C6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F64 103C7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F54 103C8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F44 103C9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F34 1O3CAOO0FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F24 103CB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F14 103CCOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F04 103CD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF4 103CE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE4 103CF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD4 103D0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC3 103D1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB3 103D2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA3 103D3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F93 103D4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F83 103D5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F73 103D6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F63 103D7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F53 103D8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F43 103D9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F33 103DA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F23 103DB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F13 103DC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F03 103DD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF3 103DE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE3 103DF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD3 103E0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC2 103E1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB2 103E2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA2 103E3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F92 103E4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F82 103E5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F72 103E6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F62 103E7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F52 103E8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F42 103E9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F32 103EA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F22 103ΞB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F12 103EC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F02 103ED000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF2 103EE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE2 103EF000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD2 103F0000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC1 103F1000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB1 103F2000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA1 103F3000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F91 103F4000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F81 103F5000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F71 103F6000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F61 103F7000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F51 103F8000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F41 103F9000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F31 103FA000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F21 103FB000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F11 103FC000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F01 103FD000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF1 103FE000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FΞ1 103FF000FF3FFF3FFF3FFF3FF00A0800F3349434D8 1O4OO0OOOF00OF000F000FOOFF3FFF3FFF3F723DOB 10401000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB0 10402000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA0 10403000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F90 10404000FF3FFF3FEF3FFF3 FFF3 FFF3FFF3FFF3 F80 10405000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F70 10406000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F60 10407000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F50 10408000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F40 10409000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F30 1040A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F20 1040B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F10 1040C000FF3FPF3FFF3FFF3FFF3FFF3FFF3FFF3F00 1040DOOOFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFO 1040E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE0 1040F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD0 10410000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBF 10411000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAF
10412000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9F
10413000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8F 10414000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7F 10415000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6F 10416000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5F 10417000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4F 10418000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3F 10419000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2F 1041A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1F 1041B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0F 1041C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF 1041D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEF 1041E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDF 1041F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCF 1042000000000000000000000000000000000000AΞ 10421000000000000000000000000000000000009E 10422000000000000000000000000000000000008E 10423000000000000000000000000000000000007E 10424000000000000000000000000000000000006E 10425000000000000000000000000000000000005E 10426000000000000000000000000000000000004E 10427000000000000000000000000000000000003E
10428000000000000000000000000000000000002E 10429000000000000000000000000000000000001E 1042A000000000000000000000000000000000000E 1O42BOOOO0OO000OOOOOOOOO0O0O0OO000O0O0O0FE 1O42C00O000O000OOOO0OOOO0O000OOOOO000000EE 1O42DO00000000OO0O00OO0O0000OOOOOOO00000DE 1042E00000000000000000000000000000000000CE 1042F00000000000000000000000000000000000BE
1043000000000000000000000000000000000000AD 10431000000000000000000000000000000000009D 10432000000000000000000000000000000000008D 10433000000000000000000000000000000000007D 10434000000000000000000000000000000000006D 10435000000000000000000000000000000000005D 10436000000000000000000000000000000000004D 10437000000000000000000000000000000000003D 10438000000000000000000000000000000000002D 10439000000000000000000000000000000000001D 1O43A0OOO00OO0O00O0O0OOOOOOOOO0OO00000O0OD 1043B00000000000000000000000000000000000FD 1O43C0O0000000O0OOOOO0OOOOOOOOOO00O00OOOED 1O43ROOOO000O0O0OOOOOOO0OOOO00OOO0O00OO0DD 1O43EOOO0OOO00OOOO000OOOO0O0OO0O00O00OO0CD 1043F00000000000000000000000000000000000BD 00000001FF

Claims

WHAT IS CLAIMED IS:
1. A computer controlled massaging system, comprising: at least one vibrator; and at least one massage module in electronic communication with each vibrator, the massage module being configured to monitor a current flow to each vibrator.
2. The massaging system of claim 1, further including a communication link between the massage module and at least one external device.
3. The massaging system of claim 2, wherein the communication link between the massage module and at least one external device uses an RS-232 serial communication protocol.
4. The massaging system of claim 3, further including at least one heater.
5. The massaging system of claim 4, wherein each vibrator and each heater are incorporated into at least one user support device.
6. The massaging system of claim 5, wherein at least one vibrator includes four vibrators within a backrest, four vibrators within a seat bottom, and two vibrators within a leg rest.
7. The massaging system of claim 1, wherein each vibrator includes a motor having a mass element, the motor being responsive to a power signal from the massage module.
8. The massaging system of claim 1, wherein the massage module includes programmable and non-volatile memory.
9. The massaging system of claim 1, further including hardwire connections between an external power source and the massage module.
10. The massaging system of claim 2, furtlier including communication buses with serial port interfaces.
11. The massaging system of claim 2, further including communication buses with parallel port interfaces.
12. The massaging system of claim 2, further including means for wireless communication.
13. The massaging system of claim 2, wherein the communication link includes means for interfacing with a user.
14. The massaging system of claim 2, wherein the communication link includes means for interfacing with an external computer system.
15. The massaging system of claim 2, wherein the at least one external device includes a user control wand, a data router and an electronic control unit.
16. The massaging system of claim 1, further including current sensors and means for calibrating the current sensors.
17. A computer controlled massaging system, comprising: a plurality of vibrators; a user control wand; a data router; an external computer system; and a massage module having a microprocessor in electronic communication with each vibrator, the massage module being configured to monitor a current flow to each vibrator and further configured to communicate with the user control wand, the data router and the external computer system using at least one RS-232 serial bus.
18. The massaging system of claim 17, further including at least one heater in electronic communication with the microprocessor.
19. A method of massaging a user, comprising: providing a plurality of vibrators; providing a massage module having a microprocessor in electronic communication with each vibrator, the massage module being configured to provide electric current to each vibrator; providing power to at least one vibrator; monitoring the current flow to each vibrator; and terminating the power supplied to the vibrator when an adverse current condition is detected.
20. The method of claim 19, further comprising providing at least one serial bus configured to communicate with at least one external device.
21. The method of claim 19, further comprising providing at least one serial bus configured to communicate with a user control wand, a data router and an external computer system using an RS-232 protocol.
PCT/US2003/017542 2002-06-03 2003-06-03 Massage system with feedback WO2003101366A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003273278A AU2003273278A1 (en) 2002-06-03 2003-06-03 Massage system with feedback

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38497602P 2002-06-03 2002-06-03
US60/384,976 2002-06-03

Publications (1)

Publication Number Publication Date
WO2003101366A1 true WO2003101366A1 (en) 2003-12-11

Family

ID=29712116

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/017542 WO2003101366A1 (en) 2002-06-03 2003-06-03 Massage system with feedback

Country Status (2)

Country Link
AU (1) AU2003273278A1 (en)
WO (1) WO2003101366A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1568343A1 (en) * 2004-02-26 2005-08-31 Cliq Ltd Body massager
CN104287937A (en) * 2014-11-14 2015-01-21 张可池 Diagnosis system and control method thereof based on intelligent healthcare chair
CN105411251A (en) * 2015-12-22 2016-03-23 深圳爱易瑞科技有限公司 Novel intelligent housing sofa
WO2017162580A1 (en) * 2016-03-23 2017-09-28 Brose Fahrzeugteile Gmbh & Co. Kommanditgesellschaft, Coburg Method for controlling a motor of a massage unit provided in a seat, control device, and seat arrangement
CN107456369A (en) * 2016-06-03 2017-12-12 发美利稻田株式会社 The diagnostic system of massager and massager
WO2018002200A1 (en) * 2016-06-29 2018-01-04 Brose Fahrzeugteile Gmbh & Co. Kommanditgesellschaft, Coburg Method for activating motors of a massage device, which is provided in a seat, in particular in a vehicle seat, control device, and seat arrangement
CN111332172A (en) * 2018-12-18 2020-06-26 奥迪股份公司 Massage system for vehicle

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6039702A (en) * 1996-08-02 2000-03-21 Jb Research, Inc. Microcontroller based massage system
US6053880A (en) * 1998-09-08 2000-04-25 Jb Research, Inc. Massaging system having isolated vibrators
US6087942A (en) * 1998-05-18 2000-07-11 Jb Research, Inc. Tactile alert and massaging system
US6290661B1 (en) * 1996-09-24 2001-09-18 Inseat Solutions Llc Infrared control system for a massage chair
US6375630B1 (en) * 1998-04-28 2002-04-23 Inseat Solutions, Llc Microcontroller based massage system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6039702A (en) * 1996-08-02 2000-03-21 Jb Research, Inc. Microcontroller based massage system
US6290661B1 (en) * 1996-09-24 2001-09-18 Inseat Solutions Llc Infrared control system for a massage chair
US6375630B1 (en) * 1998-04-28 2002-04-23 Inseat Solutions, Llc Microcontroller based massage system
US6087942A (en) * 1998-05-18 2000-07-11 Jb Research, Inc. Tactile alert and massaging system
US6053880A (en) * 1998-09-08 2000-04-25 Jb Research, Inc. Massaging system having isolated vibrators

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1568343A1 (en) * 2004-02-26 2005-08-31 Cliq Ltd Body massager
CN104287937A (en) * 2014-11-14 2015-01-21 张可池 Diagnosis system and control method thereof based on intelligent healthcare chair
CN105411251A (en) * 2015-12-22 2016-03-23 深圳爱易瑞科技有限公司 Novel intelligent housing sofa
WO2017162580A1 (en) * 2016-03-23 2017-09-28 Brose Fahrzeugteile Gmbh & Co. Kommanditgesellschaft, Coburg Method for controlling a motor of a massage unit provided in a seat, control device, and seat arrangement
CN109070784A (en) * 2016-03-23 2018-12-21 博泽科堡汽车零件有限公司 For controlling method, control device and the seat arrangement structure of the motor for the massage unit being arranged in seat
CN109070784B (en) * 2016-03-23 2021-11-09 博泽科堡汽车零件有限公司 Method for controlling a motor of a massage unit provided in a seat, control device and seat arrangement
CN107456369A (en) * 2016-06-03 2017-12-12 发美利稻田株式会社 The diagnostic system of massager and massager
WO2018002200A1 (en) * 2016-06-29 2018-01-04 Brose Fahrzeugteile Gmbh & Co. Kommanditgesellschaft, Coburg Method for activating motors of a massage device, which is provided in a seat, in particular in a vehicle seat, control device, and seat arrangement
CN109562015A (en) * 2016-06-29 2019-04-02 博泽科堡汽车零件有限公司 For starting method, control device and the seat arrangement structure of the motor for the massage machine being arranged in seat, particularly vehicle seat
CN111332172A (en) * 2018-12-18 2020-06-26 奥迪股份公司 Massage system for vehicle

Also Published As

Publication number Publication date
AU2003273278A1 (en) 2003-12-19

Similar Documents

Publication Publication Date Title
US6087942A (en) Tactile alert and massaging system
US10632866B2 (en) Movement system for a vehicle seat
US6375630B1 (en) Microcontroller based massage system
US8457846B2 (en) Modular seat actuation control system and communication method
KR101319735B1 (en) System and method for maintaining air inflatable mattress configuration
US6648840B2 (en) Microcontroller based massage system
US20190038229A1 (en) Seat cover
WO2003101366A1 (en) Massage system with feedback
US20070273188A1 (en) Inflation and deflation of an encased bladder system
JP2009530186A (en) Seat control system
US20180118060A1 (en) Incrementally adjustable seat assembly
KR101583418B1 (en) Seat for managing sitting-pose and bedsore and method for controlling the seat
CN101299947B (en) System and method for maintaining air inflatable mattress configuration
EP3166561B1 (en) Massage control system for a vehicle
JPS59230833A (en) Driver&#39;s seat
US20060235587A1 (en) Electronic Control System
KR20190003196A (en) Reducing fatigue system for vehicle passenger
KR20220115720A (en) System for smart cushion
JPH08257088A (en) Massager
WO2023223003A1 (en) Chairs
JP2000181600A (en) Medical care and welfare device having automatic switching display function
WO2020044193A1 (en) System and method for operating powered furniture
JPH07298367A (en) Remote control unit
JP2009219553A (en) Massaging machine
UA50349A (en) Device for monitoring operation parameters of a grain combine

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP