[go: up one dir, main page]

CA1124880A - Programmable data terminal for mobile transducers - Google Patents

Programmable data terminal for mobile transducers

Info

Publication number
CA1124880A
CA1124880A CA309,532A CA309532A CA1124880A CA 1124880 A CA1124880 A CA 1124880A CA 309532 A CA309532 A CA 309532A CA 1124880 A CA1124880 A CA 1124880A
Authority
CA
Canada
Prior art keywords
block
message
program
path
display
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
CA309,532A
Other languages
French (fr)
Inventor
James A. Lamb
Johnny E. Blankenship
George E. Dykas
Kenneth W. Hamilton
William Milleker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of CA1124880A publication Critical patent/CA1124880A/en
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • H04B7/26Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Digital Computer Display Output (AREA)

Abstract

MOBILE DATA TERMINAL

ABSTRACT

A programmable mobile data terminal system sends and receives predeterminedly formatted digitally encoded mes-sages. A keyboard subsystem and a character display sub-system are controlled by a programmable microcomputer subsystem which also processes received and transmitted messages. A transmit and receive system clock interrupts the operation of the microcomputer to process messages. The messages include a cyclical redundant check byte as well as a control number byte. Characters which are not editable blink. A terminal status display line is provided and a message received character is also provided. The system sets the system clock period to be the same for all data rates. Automatic restart of the system is provided as well as a means for detecting and generating a pseudo-random message preamble. Cursor positioning, memory interchange, and display keys are provided. Receipt and acknowledgement of various types of messages are also provided.

Description

Background of the Invention .

1. Field of the Invention ;,.

This invention relates generally to mobile data terminals.
More particularly, this invention relates to programmable ~
O mobile data terminals for sending and receiving predeter- ~
minedly formatted digitally encoded messages.

Description_of the Prior Art -;

Mobile data terminals of the prior art, such as that described in U.S. Patent No. 3,889,772, have typically been of the type which have circuitry dedicated to performing ' '~ ~`.';
";

CM-778~ 80 ~ i:

a particular function. These circuits included circuits for ---servicing and scanning keyboards, circuits for storing and displaying characters, circuits for receiving messages, and circuits for transmitting messages. Each of these circuits is independent of the other circuits. Thls results in complicated, less reliable, expensive terminals, not opti-mally suited for use in the crowded environment of, for example, a law enforcement officer's vehicle. Since these systems use dedicated, discrete circuit components to perform the separate electronic functions when called upon, as described above, much of the dedicated circuitry lies idle and, being inflexible in application, is not suitable for use in performing other system functions.
With the growth of computerized law enforcement in-formation systems, data on, for example, stolen vehicles, wanted persons, license plates, and outstanding warrants is available at local law enforcement headquarters in computer- _m_-based systems, which are oftentimes linked to State and National data bases. Very often inquiries into these data bases by an officer in the field is by means of voice communication to his dispatcher. The need for an improved mobile electronic data terminal by which an officer can more effectively communicate directly with a data base through an ~`
electronic dispatching system has long existed.

Summary of the Invention It is, therefore, an object of this invention to provide an improved, programmable, data terminal system for sending and receiving predeterminedly formatted digitally encoded ~-messages.
It i5 another object of this invention to provide a D mobile data terminal having a keyboard subsystem and a ~v ,, ~,
- 2 -~ 112~880 ~, ;
C~-77891 character display system controlled by a programmable microcomputer subsystem.
It is another object of this invention to provide a mobile data terminal for processing received and transmitted messages under the control of a programmable microcomputer system.
It is another object of this invention to provide a mobile data terminal controlled by a programmable micro-computer subsystem, the system having a priority interrupt to process received and transmitted message data bits, the priority interrupt being generated by a system clock.
Accordingly, an improved, programmable mobile data terminal system for sending and receiving predeterminedly formatted and digitally encoded messages is provided having an interface subsystem for sending and receiving encoded messages, a keyboard subsystem, a character display sub~
system, and a programmable microcomputer subsystem for controlling keyboard and display subsystems and for pro-cessing received and transmitted message data bits. The ) programmable microcomputer system is sequentially controlled and is designed to be interrupted to process received and ' transmitted message data bits in response to a transmit and ~, receive system clock. A cyclical redundant check byte and a ,. -control number byte are provided as part of the formatted digitally encoded message. Certain characters may be protected from being edited and are designated according to one aspect of this invention. Accoxding to another aspect of the inventi~n, ~he terminal operational status is alternatively provided on a portion of the character display. Identification '~~;-O of displayed messages and the status of messages not displayed are provided by a character position dedicated thereto. The - CM-77891 ~ 112~880 perio~ of the transmit and receive system clock is fixed at the same value for all system-data rates. Means for de-tecting the presence of a pseudo-random preamble are provided as well as means for restarting the computer su~system in response to a system malfunction. Cursor positioninq means as well as means for controlling the alternative display of the contents of various system memories as well as messages rece;ved ~ut not displayed or waiting but not displayed are provided. Means foracknowledging the receipt of messages and for sending emergency messages are also provided. A
keyboard scan routine for identifying a key closure is also disclosed.
More particularly, there is provided:
A radio ~re~uency ~igital data tran~mis6$0n sy6tem for communicating ~igital mess~ges between a base station ~nd a plurality of mobile stations, where the bile ~tations each include a radio tr~nsceiver and a pxogr~mmable data ter-minal coupled thereto for receiving and transmitting digital messages, wherein the programmable data terminal of each mo-bile station compri~es:
means for generating a clock signal;
mean6 coupled to the radio tran~ceiver for rçceiving in re~ponse to the data clock signal, succe~6ive bits of digi-tal messages transmitte~ from the base station;
a keyb~rd including a tran~mit key and a plurality of alph~numeri~ keys;
a di~play in~luding a pluarlity of displ~y elements for ~isually displaying digital messages pplied thereto;
mean6 coupled to the radio tran~ceiver for transmitting in re~p~nse to the clock ~ignal, ~ucce~sive bits of digital me~sage~ applied thereto; and a microeomputer including a compose memory, a next me~ge memory, ~ read-only memory for ~toring a control program ~nd peripher~l-interface-adap er means for inter-facing the microcomputer to the receivingmeans, ~eyboard, display and transmitting means; the microcomputer receiving a aigital message entered from the keyboard, storing the entered digital message in the compose memory, and applying the entered digital message to the display; and the micro-computer further having an interrupt input coupled to the clock signal and being responsive to each predetermined logical ~tate chanqe of the clock signal for, under control of the control program, ~toring ~n the next memory succes6ive bits of a digital me~sage received by the receiving means, and, when the transmit key ~B activated, applying successive b~ts of a control number and ~n entered digital message atored in the compose memory to the tran~mitting means~
the ~icrocomputer appending ~ifferent control number6 to each entered ~igital me~sage that is transmitted Brief Description of the Drawings For a more complete understanding of the invention, reference is made to the drawings in which Figure 1 is a block diagram of the major elements of a microcomputer controlled mobile data terminal s~stem according -4a-~lZ~ 0 to the invention:

Figures 2A and 2B are flowcharts of a microcomDut~r ~ntrolled data terminal according to the invention;
Figure 3 is a representation of the format of a message used by a system according to the invention;
Figures 4A and 4B are flowcharts of a cyclic redundancy characte~
calculation routine according to the invention;
Figure Sa is a flowchart of a transmit message control number routine according to the invention;
Figure Sb is a flow diagram of a receive control message number routine according to the invention;
Figure 6 is a flowchart for the edit toggle and blink toggle processing and control routine and the cursor positioninc -4b--" ~

CM-77891 ( ' - ~

and character field location routine;
~ igure 7 is a flowchart for displaying the data terminal status line according to the invention;
Figure 8 is a flowchart for the data terminal memory display indication routine;
~ igure 9 is a flowchart for the data terminal time base determination according to the invention;
~ igure 10 is a flowchart for the pseudo-random detection routine according to the invention;
Figure 11 is a flowchart of the data terminal micro-computer restart routine according to the invention;
Figure 12 is a flowchart for the data terminal keyboard scan routine according to the invention;
Figure 13 is a flowchart of the combined carriage return and tab function according to the invention;
Figures 14A and 14B is a flcwchart of the data t~n~l status control routine according to the invention;
Figure 15 is a flowchart of the data terminal next mes~age key routine;
Figure 16 is a flowchart of the data texminal status line clearing rou~ine; and ~escription of the Preferred Embodiment Referring to Fig. 1 of the drawing, a general system ~lock diagram of the system according to the invention is shown. The essential ingredients of a system i~ncluding mobile data terminals are described in U.S. patents 3,899,772, 3,906,445 and
3,980,824. Further prior art systems that may advantageously utilize the mobile data terminal of the present invention are described in U.S~ patents 3,644,883 and 3,718,899. The mobile data terminal of the present invention may be located in mobile 1124~380 u.~its such as police vehicles. Information, dispatched or requested from the base ctation~ is automatically displayed by the mobile data terminal in the mobile unit.
The embodiment of the mobtle data ter~inal described herein includes circuit o~onents which are m~nted on ~ous cin~t bu~s, and the circuit elements contained within the dashed lines of Fig. 1 are entitled correspondingly for oon~ence. An MPU board 10, or the microprocessor unit board, has thereupon -5a-~48~0 the conventional arrangement for a microcomputer, particularly those components associated with the Motorola MC68Q0 micropro-cessor family of components Csee description of components in manual, "MC6800 Microcomputer System Design Data,", published by Motorola, Inc., 1976 and see descript~on of M6800 system programming in manuals, ~M6800 Programming Reference Manual", published by Motorola, Inc., 1976, and "M6800 Microprocessor Programming Manual", published by Motorola, Inc., 1975).
Those components include an MPU MC ~00 microprocessor unit 11 (described in detail in U.S. patent 4,030,079) which is shown diagrammatically coupled by a multi-line connection 12 to a read only memory MC6830's (ROM) 13 which contains stored program steps for operation of the MPU unit 11. Also coupled to the Mæu unit 11 by a bi-directional multi-line connection 14 is a random access memory MC6810's (RAM) lS which is used for temporary storage of information by the MPU 11. Also contained on the MPU
board is circuitry relating to identification of a particular terminal, designated ID 16, which is connected to the MPU by a connection line 17. Also connected to the MPU by a bi-directional multi-line connection 18 are two programmable inter-face adaptors MC6820's (described in detail in U.S. patent 3,979,730), PIA, 20, 21, also part of the Motorola MC6800 micro-processor family. These circuits are coupled to other circuits by signal lines 20a through 20g, and 21a, respectively. The PIA's couple signals either to or from the MPU 11. A keyboard interface circuit 23 is coupled to the PIA 20 by means of bi-directional signal lines 20f. A power supply circuit 30, as shown in the art, is provided for obtaining properly regulated voltage supplies for the system circuitry as symbolically shown by an output line 31.
The radio interface electronic subsystem circuit board designated as the X/R board (such as that described in U.S.

112~880 patent 3,906,445), or the transmit~receive board, 40 has a clock source circuit 41 thereupon which provides appropriate outputs on a signal line 42 to the MPU 11 and other appropriate clock outputs on the signal lines 41a through 41d. A transmit circuit 43, as is shown in the art (e.q. see transmit board circuitry in manual 68P81023E6Q, "MODAT Mobile Data Terminal", published by Motorola Service Publications Dept., Motorola, Inc., 1975, is coupled to the MPU 11 through the PIA 20 by means of signal line 20a and to the radio system through which the mobile data terminal communicates by means of a signal line 44. A push to talk and -6a-:

112~880 timeout timer circuit 45, as is known in the art (e.g. see transmit board circuitry of afore~entioned manual 68P81023E60), is coupled to the MPU directly by a signal line 46 and indirectly through PIA 20 by a signal line 20b, as well as being coupled to the radio system by a signal line 47. An inhibit detector 48, such as a squelch detector or private-line tone detector, as is known in the art, for preventing one or more mobile units from transmitting simultaneously, and a receive circuit 50, as is known in the art (e.g. see receive board circuitry of aforementioned manual 68P81023E60), are coupled to the radio receiving equipment by a signal line 51. Both circuits are coupled to the MPU 11 by means of signal lines 20c, 20d, and 20e.
The keyboard interface circuit 23, as is known in the art (e.g. see U.S. Patent 3,906,445 and keyboard interface board of aforementioned manual 68P81023E60~, is coupled to the keyboard 52 by a multi-line signal connection 53 which has inputs from the pushbuttons designated 54.
Characters on a visual display 60, such as a Burroughs Corp. self scan alphanumeric display panel, as is known in the art (e.~. see bulletin no. 3502A, published by Burroughs Corp., July 1976), are provided by multiline signal connection 61 from a display interface circuit 62, as is known in the art (e.g.
see display interface board in aforementioned manual 68P81023E60), which is fed by the bi-directional multi-line signal connections 20g and 21a, through PIAs from the MPU 11.
On the X/R 80ard 40 is a deadman timer circuit 65, as is known in the art and also generally referred to as a "watch-dog timer" (e.g. see the book, ~Design of Real-Time Computer Systems", by James Martin, published by Prenti~e Hall, Inc., 1967), which is periodically toggled by transitions on line 20a.
If toggles are absent for an appropriate time period, the circuit 65 causes a restart signal to appear on line 66 coupled to the MæU 11. This pre~ents the microprocessor from operating indefinitely in an abnormal mode. For example, the deadman timer ~12~880 circuit 65 may be a missing pulse detector of the type described at page 723 of the "Signetics Analog Data Manualn, published by Signetics, Corp., 1977. Such a ~issing pulse detector changes the state of its output signal if a pulse is missing from a pulse train or does not occur within a predetermined time from the previous pulse. The input to the missing pulse detector may be coupled to line 20a from ~IA 2a and the output of the missing pulse detector may be coupled to the restart input of MPU 11.
Thus, each of the blocks ln FIG. 1 reprcsents conven-tional circuitry, which when arranged and interconnected as hown in FIG. 1 can advantageously utilize the present inven-tion. For example, exemplary circuitry for the blocks on MPU
board 10 are: an MC6800 microprocessor for MPU 11, an MC6810 memory for RAM 15, MC6830 memories for ROM 13 and ID 16, MC6820 peripheral interface adapters for PIA's 20 ~nd 21, and an MC6870 clock generator for use in clock 41. The interconnection of the block~ on MPU board 10 shown generally in FIG. 1 is illustrated in detail in the aforementioned MC6800 Microcomputer System Design Data Manual. The deadman timer ~"watchdog timer~) cir-cuit 65 may be a conventional monostable multivibrator ~uch as the Signetics NE555, arranged ~s a missing pulse detector for EenSing the absence of transitions on line 20A and resetting MPU
11 by way of line 66. Exemplary circuitry for all of the remaining blocks of FIG. 1 are illustrated and described in the aforementioned Motorola Instruction Manual 68P81023E60. Since the circuitry of the MC6800 microprocessor family is electric-ally compatible with the circuitry in the 68~P81023E60 manual (both have l5~ power supply volta~e), interconnections from one to the other can be made directly without any additional in~er-face circuitry. The displ~y interf~ce 62 is exemplified by the -7a-1 1 24~

circuitry on DLN6282A interface board, where data latches U9 and U16 can be connected.by lines 20G and 21A to PIA'~ 20 and 21.
The keyboard interface 23 i5 exemplified by the circuitry on DLN1051A ~eyswitch board, where encoder Ul can be connected by lines 20F to PIA 20. Receive circuit ~0 is exemplified by the circuitry on DLN1052A receive board, where the demodulated data signal from flip-flop ~53B and the data clock signal from U15B
can be connected by lines 20D and 20E to PIA 20. Clock 41 is exemplified by the clock circuitry of DLN1052A receive board, 10 where divider U22A provides output signals for four different -data rates. Inhibit detector 48 is exemplified by the circuitry on DLN6286A transmit board, where a transmitter inhibit signal provided by gate U5D may be connected by line 20C to PIA 20.
The PTT and TOT circuit 45 is exemplified by the circuitry on DLN6286A transmit board, where a PTT signal provided by transis-tor Q12 can be connected by line 46 to MPU 11, and a signal on line 20B from PIA 20 can be connected to time-out timer (TOT) U46B for enabling the PTT siqnal on line 47 of the Radio Cable when a message i~ to be transmitted. Tr~nsmitter circuit 43 is 20 exemplified by the circuitry on DLN6286A transmit board, where line 20A carrying the message bits can be connected to gate ~3A
for differential encoding and transmission by the transmit board ~ircuitry. Thus, all blo~ks in ~IG. 1 can be exemplified by csnventional circuitry in the MC6800 microprocessor family and in the 68P81023E60 manual, where direct interconnections can be made therebetween b2cause both are electrically compatible.
Furthermore, the exemplary cir~uitry referred to hereinabove need not be modified in order to practice the present invention.
m e flowchart~ of FIG. 2~and FIG~. 4 to 16 illustrate the 3~ ~nventive al~orithms utilized in the oper~tional program for the programmable mobile data terminal embodying the present inven- --7b-112~8~

tion. The operational program depicted in these flowcharts is particularly well ~dapted for use with the MC6800 microprocessor family of components described hereinabove, although any suit-able conventional microcomputer may be utilized in practicing the present invention. These flowcharts constitute a complete and work~ble design of the operational pro~ram necessary to practice the inventive algorithms. These flowcharts have been reduced to practice on the MC6800 system. The operational prosram may be readily coded from these detailed flowcharts with 10 the instr~ctions of the MC6800, described in detail in the aforementioned ~M6800 Programming ~eference Manual" and ~M6B00 Microprocessor Programming r~anu~l", or coded with the instruc-tions of any other suitable conventional microcomputer. Once the flowcharts have been reduced to practice (i.e. deb~gged or checked oùt), the coding of the flowcharts becomes a mere mechanical step for one skilled in the art (see the book, ~Computer Programming Fundamentals", by ~erbert D. Leeds and Gerald W. Weinberg, published by McGraw-Hill, New York, 1961, for a detailed description of the programming process).
The operational program of the programmable mobile data terminal embodying the present invention includes a main routine illustrated by the flowchart of FIG. 2A and a clock interrupt routine illustrated by the flowchart of FIG. 2~. The flowcharts of FIGS. 4 to 16 illustrate subroutines whic~ may be appropri-ately called from the main routine of FIG. 2A or clock interrupt ro~ine of FIG. 2B. Thus, the ~ain routine and clock interrupt routine generally illustrate the timing and execution of the operational program, and the detailed execution of the opera-tional program is illustra~ed by the subroutines of FIGS. 4 to 30 16.
R~ferring to ~IG. 2A, the main routine includes a key scan and service pQrtion 72, 74, 75 and 78 and an executive pGrtion ~12~8~30 entered at block 72. The operational program is normally scan-ning and servicing the keyboard and only enters the executive portion if EXCFLG is set. While in the main routine of FIG. 2A, a clock transition of the transmit and receive data clock produces an interrupt which results in a transfer of program control to the clock interrupt routine of FIG. 2B. Upon comple-tion of the clock interrupt routine of FIG. 2B, program control returns again to the main routine of ~IG. 2A. The subroutines of ~IGS. 4 to 16 are called from the main routine or clock o interrupt routine. Vpon completion of the respective subrou-tine, program control returns to the main routine or clock interrupt routine.

-~?~
,~. ~ .

program in Fig. 2A starts at block 70 and pnx~ds to the initialize block 71 for system initialization. The program then continues to a decision block 72 where it is determined whether EXCFLG (executive flag)is set. As descri~i herei~x~w, EXC~ is set after a predetermined number of clock interrupts are received. If EXCFLG is not set, the program continues on the no decision path 73 to a key scan routine 74, the program then continuing to the decision block 75 where it is ~ '`~
determined whether a valid key depr~ssion has been made. If no, the program continues on path 7~ looping back to repeat.
If the decision is yes, the program continues on the path 77 to the block 78 where the key is serviced. Depending on what sort of key is serviced, the program continues either on pa~h 80 if, for example, an alphanumeric key has been depressed, or on path 81 if an operator depresses a memory display control key leading to the memory swap routine 82 in ~';~
which character bytes in various memories are interchanged. ~_ The program may also continue from the service key routine 78 ~
through the path 83 to the read/write to display routine 84 ~s which routine is also coupled by the path 85 to the memory swap routine 82, as required. Returning to the EXCFLG decision block 72, if EXCFLG is set, the program continues on the yes decision path 86 through the cl~ar ` ~!
program then continues to the voice identification transmit decision block 88 where if a voice signal is to be tr~nsmitted the ye~ path 90 continues the program. If a voice message is not to be transmitted, the program continues on the no path 91 to the emergency message transmission block 92 from which a yes decision puts the program onto the path 90. A - ~
o no decision causes the program to proceed on path 93 to the message receipt decision block 94 with a yes decision being process~d through path 95 to the program block for pr~cessing ~12~880 ~

received messages 96, which is further coupled by a path 97 to the read/write to display block 84 and by path 98 to the memory æ~
swap block 82, as required. If a message has not been received, the program continues on the no decision path 100.
After the received message has been processed in block 96 the program continues on path 101. Both paths 100 and 101 feed path 102 which proceeds to the decision block 103 which determines ~
whether the re-transmit time out timer is timed out. The -purpose of the re-transmit time out timer is to provide a period of time during which a base station acknowledgment is waited for, after which period the message may be again transmitted if no acknowledgment was received and if the message has not been transmitted, for example, five times.
If the re-transmit time out timer has not reached zero, the program continues on path 104 to the decrement time out timer block 105, and thereafter the program continues~on path 107 to the executive exit block 108. If the decision in the re-transmit ~-time out timer 103 is that the timer has timed out, the program continues on the yes decision path 112 to the decision ) block 113 where it is determined whether the mobile data terminal is to transmit a message or not. If no, the program continues on the path 11~ to the executive exit block 108. ~ -If the mobile is to transmit, the program continues on the line 116 to the block 117 in which the transmit flag is set ~ ~-and in which the transmit message is processed. This same block 117 is also fed by the yes path 90 from ~ e~ergency and the voice ID transmission decision blocks 88 and 92. ~ ision block 117 also is coupled to the read/write display and memory swap routines 119 which are similar to blocks 82 and 84. ~~~~
0 The program proceeds from block 117 to wait for the interrupt ~`~
clock block 118. After an interrupt clock is received, a 9 ~

CM-77891 ~ ~12~880 ) i bit to be transmitted is provided to the transmit circuitry and the program proceeds to the decision block 120 where the message complete decision is made. If the decision is yes, the program proceeds on the path 121 to the block 122 where timer flags are set, if appropriate, and the transmit flag is, since the transmit flag has previously been set in block 117.

.
If the decision is no, the program proceeds on the path 123 and loops back to the block 118 to await another interrupt clock.
Referring now to Fig. 2B, the clock interrupt block 13Q is activated when a clock pulse transition corresponding bo the tr~it and receive data clock (on ~_, s~nal line 42 from ciock souroe ciurcuit 41 in Fig. 1~ is nK~ived. This signal will intenn~ the pn~am as descr~x~ here~xve, and the mi~u~xæssor will s proceed to process the clock interrupt routine of Fig. 2B. The program prcceeds to the EDGCNT decision block 131 where it is determined whether a predetermined count N has been reached. ~
If the count has not been reached, the program continues on ~____ path 132 to the increment EDGCNT block 133. If the deeision is yes, the program proceeds on the path 134 to the set EXCFLG .block 135, and then to the clear EDGCNT block 136. t ~ , Note that the EXCFLG is set after a predetermined period of time (determined by N clock interrupts). Setting of the ,-~ -EXCFLG provides for execution of the message processing routines which are en~d at decision block 72 by m~s of path 86 in Fig. 2A, as descri~~
herein~o~e. During the tiTre ff~at EXOEIG is not æt, the key scan routine 74 are ~,, r~petitively serviced. Return~ng ~o Fig. 2E3, the program then proceeds to the transmit flag decision block 137 which queries the decision previously made in block 117 of Fig. 2A. If the answer is no, the program proceeds on the path 13B to the block 140 in which a single received bit is processed. If the answer is y~s, the progran prooeeds on yes path 141 to t~e block 142 in -- 1 0 -- , , ~,, CM-77891 112 ~S80 3 which a single transmit bit is processed. The program then , returns to the main program of Fig. 2A thr3~gh the return block 143.
Since the clock interrupt routine blocks 130 thr~ugh 143 130 through block 143 has priority in the microprocessor logic scheme, whenever a clock interrupt signal occurs, the microprocessor will stop execution of the key scan or transmit and receive executive programs of Fig. 2A to pnx~ss one .
received or one transmitted bit as appropriate. Note that if the transmit flag is not set, the system will process one received bit f or every clock interrupt pulse. The received bit oftentimes may not be a message information bit but the system makes that decision after processing the bit along with other received bits.
Referring to Fig. 3 of the drawing, a representation of a formatted terminal receive or transmit message is shown This signal format is very similar to that disclosed in the afore.-mentioned manual 68P81023E60 and the United States Patent 3,906,445, Beckmann, et al, assigned to the same assignee as the present inven-tion, which patent is ~rporated b~ re~e~ ~nto this application. The data message as shown in Fig. 3 of the drawing is arranged for transmission and reception through the radio links (e.~. see -U.S. pabent no. 3,~80,824) coup~ing data ter~ls to base stations Ln such a m~ that the data bits are tr~tted twice, ~Ach message transmission being interleaved with the other with one -transmission being delayed from the other by 64 bitsr in a manner ~imilar to the system disclosed in thea~x~k~e~ ~En~, et ~Q~
al. patent.
The 16 I~ bit~ are twice contained within a message.
~ach of these 1~ bit ID data fields identifies a particular '; ~
mobile unit and are set by mechanical swi~ches within a mobile data terminal unit.

5~' ,,. -C~-778 91 ( ` 112~ 30 The four bit status data field of a mobile unit message represents sixteen possible operational statuses of a mobile unit, for example, that the unit is available, en route, at the scene, out of service, or that the officer is out of the vehicle. When transmitted from a base station to a mobile unit, the status data field is used, for example, to request that a message be printed on the mobile unit printer in the officerls vehicle, that a message is waiting at the base station for a mobile unit, or that the base clear the mobile terminal display.
The four bit request data field is transmitted from a mobile data terminal to a base station for informing the ~;
base station, for example, that a text message, an acknow-ledgment message, or a predetermined message such as a vehicle license check, driver's license check, wanted person check, parking violation, or traffic offense is being sent.
The mobile data terminal also uses this data field to inform ~_~
the base station that another message is available for the base station, that a voice signal is to follow, that an i emeryency situation exists, and that a new terminal status !;"' t has been accomplished. The base station when transmitting to a mobile data terminal uses the four bit request data field to inform the mobile unit that the message i5 a high priority message, that manual acknowledgment is required, and that a status chang~ is required of the mobile data terminal. ~4 The text/ACK two bit data field identifies the signal as a non-text message, a text message, or a normal acknow-ledgment. T~is data field may also he used to indicate that ~he message has been received without error but the text was O not able to be stored in the receive memory because it was ~ `
occupied.

1124880 ```
CM-77891 ~ 1 `

The text data field consists of N six bit bytes, where N ranges from O to 239. When displayed on an alphanumeric display, a text messaqe may be displayed as six lines of forty characters each, except for the last line which contains 39 characters. Interpretation of four of the characters has been changed from the ordinary ASCII inter-pretation to provide four new control characters. These control characters are Protect Toggle PT, Blink Toggle BT, Carriage Return CR and Cursor Positioning CP. The Protect Toggle PT character informs a mobile data terminal that a message received from the base station is either protected or unprotected, that is, that the mobile data terminal operator can edit or change certain character fields within a received message. Messages received without a PT character contained therein are defined as protected, or non-editable.
The first PT character in a message field determines that all following characters may be editable. The next occurring r~-PT character redesignates the character field following to be non-editable characters. The PT character when displayed on a terminal is displayed as a protected blank, or space ~ -character. The Blink Toggle BT control character provides a mobile data terminal with blinking characters, indicating that such characters are specially designated protected characters. When no BT character is provided, the message is considered to be a non-blinking message. BT characters in a message are displayed as space characters. The carriage return signal CR causes insertion of space characters to the end of the line in which it occurs.
The cursor position control character CP provide~ a o message received at a mobile data terminal with a cursor which may be placed anywhere within the editable portion of a message~ Without a CP control character, the cursor will ;~.
- 13 - ~
,- -- ",~, li2~880 ~ ' !

be positioned at the first editable position. When placed ~-within a protected field, the CP character will be replaced with a protected blank character and a cursor will appear at the beginning of the next unprotected data field on the display. The last cursor positioning character in a message received also provides definition of the minimum number of characters which might be edited and returned from the mobile to the base.
The six bit stop character occurs in both text and non-text messages, but not acknowledgments, and provides a message format compatible with prior art data terminals such as disclosed in ~.S. Patent No. 3,906,445.
The control number six bit character data field is a message identifier which is used to prevent a base or a - mobile receiver unit from accepting duplicate copies of the same message. Each message originating source independently assigns a control number to a message transmitted from that ~__ particular installation. Upon powering up of a terminal, the control number is set to zero. Each new message thereafter ';'~`' increments the control number by one. Retransmissions of a message do not increment the control number. ~ -The cyclical redundant check (CRC) byte data field includes two six bit data bytes which are calculated from the ID, -;
status, request, text/ACK, text, stop, and control number ~:~
data fields. If a message is an acknowledgment then no CRC ~
bytes are added to a message. A cyclical redundant check ~__ byte is calculated by first setting the CRC byte egual to 2ero and then for each byte of data calculating a new CRC
byte by exclusive ORing each data byte with the previously '~

0 calculated CRC byte. Appropriate shifting and exclusive OR ~i operations as required are performed. The CRC bytes are utilized to check for the possibility of error within a message. .-`

~-!`

~ 112~8~0 A formatted message as described above for Fig~ 3 is preceded by a system settling tone which consists of a series of alternating ones and zero bits and a pseudo-random data field. This settling tone provides for establishing transmitting equipment audio signal paths and for synchronizing data clocks. The pseudo-random data field consists of a prede-termined pattern and provides the remainder of the bit clock synchronization for a receiver as well as providing a message start indicator for a receiver ~e.g. see U.S. Patent 3,906,445).
Referring to Fig. 4A of the drawing, a subroutine stored, for example, in a ROM memory is shown for processing the CRC bytes. The addition of the CRC characters greatly reduces the number of undetected errors in messages which are processed to completion by the mobile data termina]~
This routinc may be called from block 96 or block 117 from the executive program of Fi~. 2A and is entered as indicated in block 700 and the program proceeds to the decision block 701 where it is determlned whether a received or transmitted ___ message has been ccmpleted. If not, the program pnx~ds by means of path 702 to return the program as indicated by block 703. If the decision is yes, the program pxoceeds on ~, the path 704 to the decision block 705 which determines ;
whethex the message is a text message or merely a message -acknowledgment~ If the message is an acknowledgmen~ of a ~;
message, the program proceeds by the path 706 to the block 707 where the acknowledged message is appropriately processed and the program eventually returns as indicated by block t 703. If the message is not an acknowledgment, that is a ~ :
text message, the program continues on the path 708 to the block 710 where a bits manipulation routine is performed. L_ 0 The program then proceeds to the decision block 711 where it is determined whether the message is a received message. If ~ 15 - ~"

11~4~80 not the program proceeds on the path 712 to the block 713 where two CRC bytes are appended to the end of the transmit message contents and that message is further processed. The ~' program then continues as indicated by block 714. If the message is a received message the program proceeds by means of path 715 to the block 716 where a comparison of the two calculated CRC bits to the last two bits actually received in the message is made. The program proceeds to the decision ~ '$
comparison block 717. If the calculated and the received CRC bits are identical, the program proceeds by means of path 721 to the block 722 where the received message is then processed and the program then oontinues to the executive p~m of Fig. 2A ~q as indicated in block 714. If the calculated and the received CRC bits do not compare,by means of path 718 the program proceeds to the block 720 and the received messageis dumped from nemDry (i.e. stored message is obliterated) and the program oontinues at block 7l4 Fig. 4B is a detailed flowchart of blocks 137, 140 and 142 of the clock interrupt routine of Fig. 2B, where block 731 of Fig. 4B corresponds to block 137 of Fig. 2B.

Referring to Fig. 4B of the drawing, when a clock int~n~pt ox~s during the CRC calculation rout~ of Fig. 4A as indicated by clock 730 the program pno~#~ bD the decisio,n block 731 where it is det~n~Rd I whether the transmit fl~g h2s been set. If yes, the program proceeds by path 732 to the block 733 where a transmit bit is processed. The program then proceeds to the decision block 734 where it is determined whether a word is complete.
If not the program proceeds by path 735 to the return block 747. If the transmit word is complete, the program proceeds by path 736 to the block 737 where the parity bit contained therein i~ eliminated for purposes of this calculation. ~he progr~m then pxoceeds to the block 73~ where the transmit word is exclusive ORed with the lower eight bits of the 3 previous result for the first CRC byte. The program then proceeds ~o block 740 where a one-bit ~hift and fie~ting of CM-77891 112~380 ' ! !

the lowest order bit to zero are performed. The program then proceeds to decision block 741 where it is determined whether the new 13th bit equals one. If yes, program proceeds by yes path 742 to the block 743 where an exclusive ~R oq?eratio~ is perforned to update the higher order four bits. The program proceeds to ~lock 744 where another exclusive OR is performed on the lower eight bits of the CRC byte. If the decision in block 741 was no, the program also proceeds by path 745 to the block 746 where the two CRC bytes are updated. The program then returns by means of block 747.
Again refe~ring to Fig. 4b of the drawing, if the tran~mit flag is not set the program proceeds by path 750 to the block 751 where the received bit is processed. The program then proceeds to the decision block 752 where it is determined whether a received word is complete. If not, the program proceeds by path 753 to the return block 747. If yes, the program proceeds by path 754 to the decision block 755 where it is determined whether the word is correct. If not, the program j~
prooeeds by no path 739 to the block 756 where the recei~7ed message ~.

is no longer processed and the program returr~s by block 747. ;-If lt is determined that the received word is correct, the program proceeds by means of yes path 787 to ~3e blo~k 737 and -the program proceeds as described hereinabove.
Figure Sa in flowchart of a subroutine that depicts an al~gorit~n for generating the control number of a transmit message.
This routine may be called from block 117 of the executive in Fig. 2A. This routine is initiated by the transmit button being depressed as depicted in block 180. The message ~is transmitted as indicated in block 181 with the program proceeding to the decision block 182 where the system is queried whether or not an acknowledgment has been received from the base station. If the answer is yes, the prograIr ( 112~80 proceeds on line 183 to the block 184 wherein the message .
control number is incremented by one. The program then proceeds to the decision block 185 where it is determined whether the message number is greater than hexidecimal 40. _ If the answer is no, the program proceeds by means of path 186 to a stop as indicated by block 187. Otherwise, yes path 197 is taken to block 198 where the message number is set to zero. If an ackn~wledgment is not reoeived, the program proceeds from block 182 by path 188 to another decision block 190 where it is determhne~
whether the required number of further re-transmissions of a message have been made. If the message has not been re-transmitted the required number of times, the program proceeds on the path 191 to dec~sion block 192 where it is determined whether the message has been changed and if not, then on path 193 to the block 181 where the message is again transmitted. If the message has been changed, or the required number of re-. .~7 transmissions has~n attempted, the program proceeds from decision block 190 and 192 by yes path 194 to a decision block 195 where it is determined whether the message number is zero. If so, the program I proceeds by yes path 199 to the s*op block 187. The message number being zero indicates that the terminal has not sent a message since the time that power has been applied to the terminal. If the message number is not zero, the message number proceeds by path 196 to block 184 where the '-~
message number is incremented by one. ~
Referring to Fig. 5b of the drawing, a flowchart for ~, providing a message control number for received message~ may be called from block 96 of the executive in Fig. 2A and begins with a block 200 and then pn~ to a decision block 201 at which it is dete~ned whether the control number is zero. If the answer is no, the program proceeds on a path 202 to the block 203 in which the control number ~`
is compared with the last received control number and the .

CM-77891 ~ ~12~3t30 program proceeds to a block 204 in which it is determined whether the control numbers match. If the numbers match, the program proceeds on path 205 to the block 206 where the received message is cleared and the program proceeds to block 2Q7 where an acknGwledgment is sent. If the numbers do not match, the prog-ram proceeds by no path 211 to decision block 209. Also, if the control number eq~s zero, the program proceeds on path 208 to the d~i6io~ block2Q~-~here it is determined whether a message has been loaded into the o~uter storage nEm~ry, if said memory is available. If the message has not been loaded, the ) program proceeds on path 210 to the block 212 which requires a busy acknowledgment signal to be sent to the message source indicating that the data terminal cannot accept that 5-`~
message at that time. If a message has been loaded into the terminal memory, the program proceeds on path 213 to the block 214 where the message is processed. After processing the program proceeds to block 207 where an acknowledgment message is received.
Referring to Fig. 6 of the drawing, a routine for implementing the Protect Toggle PT, and the Blink Toggle BT
features is shown. The routine may be called from blocks 78 and 82 of the main routine in Fig. 2A and begins with block 220 in which the blink bit is cleared, the protect bit is set, the cursor address is~red the cl~racter counter is cleared, and the transmit counter is cleared. The program proceeds to block 221 where a received character is fetched,said character being pointed at by the character counter. The program then proceeds to a decision block 222 where it is determined whether the character fetched is a control character or not. If the answer is no, the program proceeds on path 223 to the block 224 where the present blink status --O i5 added to the instant character. The ~ink and protect r~
status of the character are added to the six information - 19 ~
. . .

- ~ 1124880 bits of a character and form the seventh and eight bits thereof. The program then proceeds to write the character into display memory as such in block 225 of the program.
The program then proceeds to block 226 where the character counter is incremented and to a decision block 227, where it is determined whether the character counter is at maximum, indicating the end of the message to be displayed. If the character counter is not at maximum, the program proceeds by path 228 to loop back to block 221 to fetch a new character.
If the character counter is at maximum, the program proceeds by path 229 to a stop block 230. If a control character has been fetched, the program proceeds on path 231 to the decision ~;~
block 232 whether it is determined where the character fetched ~~~
is a PT character. If the decision is yes, the program proceeds on line 233 to the decision block 234 where it is determined whether the blink bit has been set. If the blink bit has been set, the program proceeds on path 235 to the block 236 which replaces the character with a space , and thereafter returns to block 224. If a PT character is present, and the blink bit is not, then the program proceeds on line 237 to the block 238 where the toggle protect bit is set.
The program returns on path 240 to the block 236. If a PT
character has not ~een received, the program proceeds on -path 241 to the decision block 242 where it is determined whether a blink toggle character has been received. If yes, the program proceeds on path 243 to the decision block 244 where it is determined that the protect bit is set. If it is not, the program proceeds on line 245 to the block 236.
If the protect bit has been set, the program proceeds on path 246 to the block 247 where the toggle blink bit is set and the program continues on path 248 to block 236. If a .' ,`.. ,~

CM-77891 ( 11248~0 blink togqle PT character is not received, the program proceeds on path 250 to decision block 251 where it is determined whether the first cursor positioning control character has been received. If the answer is no, the program proceeds on line 252 to the block 253 where the contents of the character counter are placed into the transmit counter and the program proceeds on line 254 to block 236. The transmit counter defi~es the number of characters which are transmitted from a mo~`ile data terminal. If the character fetched is a cursor positioning character, CP, the program proceeds on line 255 to block 256 which places the character counter contents into the cursor address and the program continues on path 257 to block 236.
Referring to Fig. 7 of the drawing, the routine for calling u~ the status condition of the data terminal to be presented on one line of the display terminal is called from the block 78 of the main routine in Fig. 2A and is sho~n. This routine is entered from the key scan routine block 260 proceeding to the decision block 261, it is determined whether a v~lia key has been depressed. Blocks 260 and 261 in Fig. 7 correspond to blocks 74 and 75, respectively, in Fig. 2A. If not, ~he program returns to the key scan routine by no path 262. If ye~, the program proceeds by yes path 294 to the decision block 263 where it is determined whether a transmit key has been depressed. If a transmit key has not been depressed, the program proceeds on path 264 to the decision block 26~ which determines whether a ~tatus line key for displaying the status line on the display terminal has ~een depressed. If not, the program proceeds on path 266 to the decision block 267 where it is determined whether or not the clear key has been depressed.
If not, the program proceeds on path 268 to the block 270 o ~or servicing tl~ ~icular ~ey ~n~t ~T, statu~ line, or clear key) key depres-sion. Afber ~N~cing the key, the p~am pnx~s bo the çlear display block 271 and the (- 112~88~ ` !;

! program then returns through block 295. If a transmit ~ey has been depressed, the program then continues on path 272 to the block 273 wherein the message "TRANS" is loaded into the status display for viewing. The program then proceeds to determine whether the status key has been depressed in the decision block 274. If yes, the program proceeds on path 275 to the block 276 where a new status is entered into ~-~
the status line and the program proceeds to the decision block 277 where it is determined whether the status line is I beinq displayed or not. If not the program proceeds on line 278 to the block 280 to set the STAFLG flag and interchange, or swap, the bottom line of the display with a non-display buffer and further to blank the top five lines of the display. This sixth line of the display, therefore, is used to display the status of the terminal. If the status line is being displayed, the program proceeds by means of path 281 to the return block 282 and returns to the program. If ___ the transmit key has been depressed but the status key has not been depressed, the program proceeds by path 283 to the ) decision block 277 and the program operates as previously 'r-described. If the clear key has been depressed,the program continues on path 284 to the decision block 285 where it is determined whether the next message buffer contents are -~
being displayed on the screen. If yes, the program proceeds by means of path 2~6 to the block 287 and clears the next message ~u~fer. The program then proceeds to the decision block 277 where it is determined whether the status line is being displayed and the program continues as previously described. If the clear key has been depressed but the next ~--0 message buffer is not being displayed,the program proceeds on path 288 to the decision block 290 where it is determined CM-7~8~1 ( 112~880 r whether the status line is being displayed. If it is being displayed,the program proceeds by path 291 to return as indicated by block 292. If the status line is not being displayed,the program proceeds by path 293 to the block 271 and the display is cleared.
The above discussion has described how the status display line on the message display screen is controlled by key depressions. The executive routine (see Fig. 2A), that is, the ~'~
program events which are not part of the key scan routines nor the interrupt routines, also may control the status line display. Block 300 of Fig. 7 indicates that this routine is entered fron block _ 96 of the executive program in Fig. 2A and pro~s to a decision block 301 where it is determined whether a priority or manual acknowledgment required message has been received. If not, the program proceeds by path 302 to the decision block 303 where it is determined whether a base acknowledgment message ~,~
has been received. If not, the program proceeds by path 304 ~_ to the decision block 305 where it is determined whether the fifth transmission has been timed out, that is, whether the I message has been retransmitted five times to the base and "7 ' not be~en acknowledged. If the fifth transmission has not been sent, the program proceeds on path 306 to the decision bloc~ 307 where it is determined whether a text transmit key has been depressed and whether the display is editable. If not, the program proceeds on path 308 to continue by block 310. If the text transmit key has been depressed and if the display is now editable the program proceeds on path 311 to the block 312 where an "ERROR" message is displayed on the status line. The program then proceeds to ---the decision block 277 wherein it is determined whether the status line is being displayed. The error display indication - 23 ~

CM-778~1 11248~0 ~ `

indicates an operator error in attempting to perform a nonallowable routine. If a priority or manual acknowledgment message has been received the program proceeds by means of path 313 to the block 314 where a manual acknowledgment required or priority message is loaded into the status register. The program then proceeds to the status display condition decision block 277. If a base acknowledgment has ~;.
been received the program proceeds on the path 315 to the ,';o block 316 where a "ACK OK" message is located is loaded into the status line. The program then proceeds to the decision block 277. If the fifth transmission has occurred the program proceeds on the path 317 to the block 31B where a ~;~
"NO ACK" message is loaded into the status line and the program proceeds to the status line display condition decision block 277.
Referring to Fig. 8 of the drawing, a routine for finding the character to be displayed in the last character position on the screen, or the memory status character is shown. This character is not a message character and is ~j~
) used to display the status of received messages within the ..

terminal and whether or not the terminal has a received but not yet displayed a message cont~d ~ein. This program is entered from the key service r~utine (block 78 of the main routine in Fig. 2A) as shGwn in block ' 320. The program proceeds to the decision block 321 where ~' it is determined whether the status line is being displayed; ~?
if not, the program proceeds on path 322 to the decision ~_ block 323 where it is determined whether the compose memory is being displayed. The compose memory is an off line memory which may be used by an operator to formulate, or -;
0 compose, a message. If the compose memory is not being ~;~

displayed the program proceeds on a path 324 to the decision CM-~7891 llZ4880 block 325 where it is determined whether an auxiliary memory is being displayed. If not, the program proceeds on path 326 to the block 327 which causes the character ~N" to be located in the last character position and the program then procçeds to the decision block 328 where it is determined whether the mobile knows that a message is waiting at the base station for said mobile.~
If a message is waiting, the program proceeds by yes path 343 to block 342. If no message is waiting, the program proceeds on path 330 to the block 331 where a cursor is inserted if appropriate. The program proceeds then to return as shown by block 332. If the status line is being displayed on the viewing screen, the program proceeds on path 333 to the block 334 and an "S" character is loaded into ~-the last character position. If the compose memory is being displayed the program proceeds by means of path 335 to the decision bloc~ 336 and a "C" character is loaded in the last character position on the display. If the auxiliary memory is being displayed, the program proceeds by means of path 337 to the block 338 and annR" character is loaded into ~, the last character display position. After one of the above ~
~.~t three characters has been loaded into the last character ~;
position the program proeeeds to the decision block 340 where it is determined whether the next message memory, that ~~
is, the memory which receives messages from an external source, is full. If yes, the program proceeds on the path 341 to the block 343 and the last character is caused to blink, or flash, on and off. If no, the progr~m proceeds to the decision ~lock 328 by means of path 342 where it is determined whether or not the mobile knows that a message is waiting at the base.
I Fig. 9 describes a routine for determining that~particular baud rate which has been preselected by system maintenance ..
- 25 - ~ ~

li2~38~

penæ~el by nE~ns of suit~ble jumper o~u~tions in the ~R board 4Q of the mabile data term~l. This is part of the tenm~l power up rDutine (initialize block 71 of the $ain r~utine in Fig. ~ and ~egins at the start block 350 and proceeds to a block 351 which performs a check sum test on certain of the program steps to determine whether the program is intact. ~he program then proceeds to the decision block 352 where it is determined whether the test has been successful. If not, the program proceeds by means of path 353 to the wait condition block 354. If the test is successful, the program proceeds by means of path 355 to the block 356 and the RAM and PIA's are initialized. The program then proceeds to block 357 and the interrupt masking for the microprocessor is disabled, the initializing routine test having been completed. The program then proceeds to block 358 and waits for the first clock interrupt signal. When the first clock int,errupt signal is received, EDGCNT is incremented in the clock interrupt routine of Fig. ZB as ~xn by blocks 370 through 373.
T~e program oontinues thx~h the blnck 360 ~hich incre~ents a oounter by one. The program then continues to a decision blcck 361 where EDGCNT is tested. If the count is not equal to t~o, the program proceeds by path 362 to the block 360 where the counter is again incremented. If the EDGCNT equals two the program proceeds by means of the path 363 to the decision bloc~ 364 where it is determined whether the counter 360 has exceeded some number X. ~f the counter has exceeded that number, the progr~m proceeds by means of path 365 to the block 366 which sets a variable called BAUD which identifies the system bit clock rate which has been established in the X/R board 40. If the counter number is not greater than the number K, the pro-gram proceeds by path 367 to the main program which continues as shown by block 368 thereby leaving the variable BAUD at its initialized ~alue.

CM-77891 112~880 Note that when the variable BAVD is established, the variable N of block 131 of Fig. 2 is also established because N is determined as a function of BAUD to be such that the time period at which EXCFLG is set is approximately the same fixed value for all values of BAUD. Fig. 9 also shows a block 370 to indicate that when the interrupt routine of Fig. 2B is entered the EDG CNT is incremented as shown by block 371.
The block then continues interrupt processing as shown in block 372 and at the appropriate step will return to the main program as indicated by block 373.

-- 26a !' ~, '~''`~

Referring to Fig. 10 of the drawinq, a routine for detecting the pseudorandom message preamble is shown (e.g. see U.S.
Patent No. 3,586,776 for pseudorand~ detector circuitry). The routine is called from block 140 of the clock interrupt routine in Fig. 2B and begins with block 380 ~hich describes a cc~ arisc~
between a received pseudorandom bit and a calculated pseudo-random bit. The calculated pseudorandom bit is derived from a routine which simulates a pseudorandom generator. The program proceeds to a decision block 381 where it is deter-mined whether or not the bits match. An up/down counter is provided for counting the differences between matching and D nonmatching bits, this counter being called the INT CNT
counter. If the bits match, the program proceeds down signal path 382 to the decision block 383 where it is deter-mined whether the count is greater than or equal to fifty.
If yes, the program proceeds on signal path 384 to the decision block 385. If the count is less than fifty, the program proceeds by signal path 386 to the block 387 where the counter is incremented by one. The program then pro-ceeds to the next decision block 388 where it is determined whether or not the eount is greater than or equal to thirty.
o If the count is greater than or equal to thirty, the program prooeeds by signal path 389 to the decision block 385. If the count is less than zero, the proqram proceeds by signal path 399 to the block 390 and the counter is incremented.
The program then proceeds to the decision ~lock 391 where it îs determined whether the counter is greater than or eq~al to zero. If so, the program proceeds by means of pa~h 392 to the decision block 385. If not, the program proceeds by means of signal path 393 to the block 394 where the counter is incre~ented. It can ~e seen that if the bits match, the amount by which the counter i5 incremented is a non-linear function of the present value of the count. Similarly, if the bits do not match the program proceeds by means of ~ 27 -~124880 signal path 395 and through various blocks 910-915, if applicable to decrement the counter depending upon whether the respective counters have counts therein less than or equal to -50, -30 or 0.
The decision block 385 determines whether the absolute value of the counter is less than or equal to 25. If so, the program pro-ceeds on signal path 396 to block 406 to calculate the next ex-pected bit using the last received bit and the program proceeds to the end block 397. If the absolute value is not less than or equal to 25, the program proceeds by means of signal path 398 to the block 400 where the next expected bit is calculated using the last calculated bit and the program proceeds to the block 401 where the last seven calculated bits are compared with seven previously received bits. The decision block 402 tests the comparison. If the bits do not compare, the program proceeds by means of signal line 403 to the end block 397. If the bits do compare, the program proceeds by means of signal path 404 to block 405 which is the start to receive routine. If the receiver routine is started, the program has determined that sufficient portions of the correct pseudorandom sequence have been received.
Referring to Fig. 11 of the drawing, a routine for determining whether the microcomputer is improperly functioning is shown. On the X/R board 40 is a deadman timer circuit (65 in Fig. 1) which, if not periodically inputted with logic transi-tions, or toggle signals, will restart the microprocessor (11 in Fig. 1). The program routine described in Fig. 11 beginning at block 421 is a more detailed flowchart of the blocks 72, 74, 75 and 78 of the main routine in Fig. 2A and generates logic transi-tions at certain times in the program sequence which are provided to the deadman timer circuit. The transmitted data output (20A
in Fig. 1) is ~sed as a toggle signal. In a nonmaskable interrupt routine as indicated by clock 410 and block 411 a flag called XMTFLG is set and the program is then returned.

2 ~880 3 CM-7~891 by block 412. A maska~le interrupt routine block 413, which is a duplicate of Fig. 2B, deternines by means of the decision block 414 whether the _ XX~IG flag has been set. If not, this indicates that the pro-cessor is not processing transmitted bits but is processing received bits as shown by the path 415 to block 416. lf the flag is set, indicating transmission, the program proceeds by means of signal path 417 to the block 418 where the next bit to be transmitted is processed. In both cases the program returns from the interrupt routine as indicated by block 420. During the main program, the decision block 421, similar to the decision block 72 of Fig. 2A, tests whether the executiVe program flag has been set~ If not~ the pro~
~....
gram continues through the key scan routine by means of signal path 422 -and block 423 (similar to block 74 in Fig. 2A). me prDgram then oontinues to the block 424 which contains a toggle circuit for the deadman timer circuit. The program then continues to service keys as indicated by block 42~ (similar to block 78 in Fig. 2A). If the EXC FLG flag is set, the program proceeds by ~eans of path 426 to the decision block 427 where it is determined whether a message has been received, similar to block 94 of Fig.2A. If a message has ,:;
been received, the message is processed through block 428 by ~,;, !
means of a path 430. If the message has not been received, the signal is processed by means of path 431 to the decision ? ::
block 432, which is also entered after the received message is processed by ~lock 428. In block 432, it is determined whether a mobile is to transmit. If not, the program is returned to the key scan routine by means of path 433~ If the mo~ile is to transmitlthe program continues on path 434 to the block 435 where a transmit turn on delay is generated. _ _ The program then proceeds to wait for an interrupt signal as S~J''' shown by block 4360 Such an interrupt occurs either at the r--~

end of a timeout delay of block 410 (a na~ le inten~t caused by signal line 46 ~rom the push-to-taIk and t~æ~ut t~ circuit 45 in Fig. 1) or the sys~em clock in~nupt of block 413. When an interrupt occurs the . (, ~12'~3l30 CM-77B9l program continues to the decision block 437 where it is ~ _ determined whether or not a XMT FLG flag has been set. If r not, the program continues on path 438 to the block 440 and the transmit output is toggled. If the XMT FLG flag is set, the program continues on path 441 to the decision block 442 where it is determined whether the transmit message has been completed. If not, the program continues on path 443 to the ~
wait for interrupt condition as shown in block 436. If the ~ ?
message is complete, the program continues by yes path 444 to the block 445, where the XMT FLG flag iscleared and the program returns to the key scan routine in block 423.
Referring to ~ig. 12 of the drawing, a ~ey scan routine is shown which illustrates in detail blocks 72, 74, 75 and 78 of the main routine in Fig. 2A. Block 450 ~egins the program which proc~ to block 451 and the lock out and key ~can counters are cleared.
The program proceeds to the decision block 452 where, as described herein~x~e, the EXC FLG flag is tested (s ~ lar to block 72 in Fig. 2A).
If the flag i8 set, f~e program pnxx~s by means of signal path 453 to the block 454 and the executive program is executed and the flag is cleared. If the flag is not set, the program continues on the path 455 to the block 456. The next key switch is read in. The program then continue~ to the decision b~ock 457 where it is determined whether the key ;
switch has been closed. If yes, the program proceeds on ;; -the path 45B to the block 460 which increments an external counter indica~ive of key depressions. After this increment ~,.
or if the key switch is not closed, the program proceeds on path 461 to the block 462 where the counter is incremented.
The program then proceeds to the decision block 463 where it is determined whether the counter equals 80. If not, the __ o program proceeds on the path 464 back to the block 456. If yes; the program prsceeds on the path 465 to the block 466 and t~e deadman timer output is toggled. The progxam 3 () -- r CM-77891 li2 ~880 proceeds to the signal block 467 where it is determined whether the external counter of block 460 has a count equal to zero. If yes, the program proceeds back to the begin block 450 on path 468. If no, the program proceeds on path 470 to the decision block 471 where it is determined whether a lock out condition preventing further reservicing of the same key depression as a result of key switch bounce has ~ ;;
been set. If yes, the program proceeds on path 472 to the l^
block 473 and the counter of block 462 and the counter of 460 are cleared with the program proceeding back to the decision block 452. If the lock out is not set, the program proceeds on path 474 to the decision block 475 where it is determined whether the counter of block 460 equals one; if not, the program proceeds on path 476 to the block 450. If yes, the program proceeds on path 477 to the block 478 and the scan counter is incremented. The program then proceeds r to the block 480 where it is determined whether the scan count equals some predetermined numbe~ N. If not, the program proceeds on the path 481 to the decision block 452. If yes, the program proceeds on path 482 to the decision block 483 -~
where it is determined whether the same key has been depressed for all the scans. If not, the program proceeds by means of ' '~
path 484 back to the be~in block 450. If yes, the progra~ -proceeds by mears of path 485 to the block 486 and the lock out is set and the program proceeds to block 4B7 for ser-vicing a key.
Referring to Fig. 13 of the drawing, a routine for implementing the carriage return/tab function is described.
The program r~utine is called from block 78 of the nain routine in Fig. 2A and ;__ begLns in a decision block 490 where it is determlned whether the display contains protected fields of information. If yes, the prDgram proceed5 on path 491 to the decision block 4S2 where it is determined whether there "
- 31 - ~
,. ~

~i2~ 30 are any protected characters to the right of the cursor on the ; present line. If not, the program proceeds on path 493 to the block 494 and the cursor is moved to the first editable position on the next line, scrolling to the top of the display as necessary.
The program then proceeds to the stop block 495. If the display contains protected fields and if there are any protected charac-ters to the right of the cursor on the present line, the program proceeds on the path 496 to the block 497 and the cursor is moved to the next editable position, past the protected field if neces-sary and scrolling to the top of the display if necessary. If the display does not contain protected fields the program proceeds on the path 498 to the block 500 where it is determined whether the cursor is on the last line of the display. If not, the pro-gram proceeds on the path 501 to the block 502 where the cursor is moved to the beginning position on the next line. If the cur-sor is in a nonprotected field and is on the last line of the display, the program proceeds on path 503 ~o the block 504 and the cursor is moved to the beginning of the first display line.
Referring to Figs. 14A and 14B of the drawing, the rou-tine for operator computer memory control and memory swapping is shown. In Fig. 14A, the key service routine at block 510, cor-responding to block 74 of the main routine in Fig. 2A, leads to a decision block 511 where it is determined whether or not the status line key has been depressed. If not, the program proceeds on the path 512 to the decision block 513 and it is determined whether either a recall RCL i.e. (auxilliary AUX) or compose CMP
memory key has been depressed. If not, the program by means of path 514 continues as shown by block 515. If the status line key has been depressed, the program continues by means of path 516 to the decision block 517 where it is determined whether the status line is being ., , ~12'~8~30 displayed. If yes, the program returns by means of a path 518 to the return bloc~ 519. If no, the program proceeds by the path 521 to the block 522 and the STAFLG flag is set and the program continues to block 523 where a data swap routine is performed which swaps the last line of the display with a non-display RAM memory called STARAM containing the status line information. If a memory key is depressed, the program ~ .
proceeds on path 505 to the decision block 506 where it is ~ g determined whether the status line is being displayed on the terminal. If yes, the program proceeds by the path 507 to clear the STAFLG flag as indicated by block 508 and performs a swap with the last line of the display and a non-display -RAM memory STARAM as indicated by block 5~4. This returns the status line information to STARAM and restores the original contents of the display. The program then proceeds to the decision block 525 which ls also arrived at by no path 526 by means of the status line not beinq displayed. If the compose key is depressed, the progra~ proceeds by means of path 527 to the decision block 528. If it is determined that the compose memory is not '~.
being displayed, the program proceeds by means of path 530 :
to the decision block 531 where it is determined whether the --auxiliary memory is being displayed, If not, the program proceeds by means of path 532 to the block ~33 where a ~t*~
VEWFLG flag is cleared. This flag indicates whether the receiVe buffer has been displayed. The program then pro--ceeds to perform a swap, that is, interchange the 239 dis-play characters with the non-displaying R~M memory TXTRAM
for holding text as indicated by block 534. The program ~o then returns as indicated by block 535. If the compose ~4`
key is depressed and if the composed memory is being dis- - ;
played, the program by means of path 536 returns as indicated ~y ~lock 537. If the compose key i~ depressed and if the CM-77891 ( 112~880 auxiliary memory is being displayed, the program proceeds by path 538 to the block 540 where an AUX flag is cleared, the AUX flag indicating whether the auxiliary memory contents is being displayed. As indicated by block 541, an interchange between the 239 display characters with a non-displayed RU~I
AUXRAM is performed, and the program is returned via block 537. If the compose key is not depressed, and if the auxiliary memory as ~ .
indicated by decision block 529 is not being displayed, the ; program by means of no path 542 proceeds to the ;o decision block 543 where it is determined whether the com-pose memory is being displayed. If not the program proceeds on path 549 and the VEWFLG flag is cleared as indicated by ~
block 544. The 239 display characters are then interchanged ~~~~
with a non-display R~M memory TXTRAM as indicated by block 545. ~he program then proceeds to block 547. If the com-- posed memory is displayed, the program then proceeds by the path 546 to the block 547 and the AUX flag is set. The program then proceeds to perform an interchange with the 239 display characters with a non-displayable RAM memory AUXRAM
as indicated by block 541. The program proceeds to the return block 537. If the compose key is not depressed and '~
if the auxiliary memory is being displayed, i.e. up, the ~:, program by means of path SS9 proceeds to the return block ~-537.
~eferring to Fig. 14B of the drawing, a routine is initiated ~
when the next message key is depressed as inAicated by block 550. The r~utine is _ called from block 82 of the main route in Fig. 2A and proceeds to the decision block S51 where it is determined whether the received buffer memory is occupied. If no~, the program proceeds on path 552 to the block 553 ~nd the next message request is trans~
mitted and the program returns as indicated by block 554. F--If the receive buf~er memory is occupied, the program proceeds ~;.
- 34 - ~
' by path 555 to the decision block 556 where it is determined if the receive buffer is beinq displayed. If yes, the program proceeds on path 557 to the block 558 and the receive buffer memory is cleared. The program then proceeds to the block 559 where the VEWFLG flag is cleared and a 239 display character swap is made with a non-displayed RAM memory TXT~AM. The prosram proceeds to block 553 where a next message request is transmitted. If a receive buffer is not being displayed, the program continues on path 560 to the decision block 561 where it is determined whether the status line is being displayed. If yes, the program proceeds on path 562 to block 563 where the STAFLG flag is cleared and to block 564 where a swap with the last line of the display and a non-displayed RAM memory STARAM are made. If the status line is not being displayed, the program proceeds by path 565, or after the memory Lnterchange in block 564, to the decision ~.
block 566 where it is determined whether the composed memory is being displayed. If not, the program proceeds by path 567 to the block 568 where the AUX flag is cleared and to block 569 where a swap between the 239 displayed characters and a non-displayed RAM memory AUXRAM is performed. In this case, and also if the composed memory is being displayed, as indicated by the program path 571, the program proceeds to ; ,.;
the block 572 where the VEWFLG flag is set and to block 573 where the 239 displayed characters are interchanged with a non-display RU~ TXTRAM memory. The program then proceeds to return as indicated by a block 574.
~lso referring to ~ig. 1~ of the drawing, if the ~r~gram is in block 86 of the executive r~utine of Fig. 2~ as indicated by ~lock 575, ---the program proceeds to the decision block 576 where it is determined whether a text message has been received and stored. If yes, the program proceeds by means of path 577 to - 35 ~
*~s ~w~v - ~12~880 the decision block 578 where it is determined whether the status line is being displayed, or up. If not, the program proceeds by path 580 to a continue block 581. If a text message has not been received and stored the progra~ pro-ceeds by a path 582 to the continue block 581. If the status line is being displayed, the program proceeds by path 583 to block 584 and a next message key depression is simulated and the program continues at block 581.
Referring to ~ig. 15 of the drawing, a routine for servicing a next messag key is shown, which is called from block 78 of the main routine of Fig. 2A. 'me program begins with the next message key button being depressed as sh3wn by block 590. The program pnox~rs to a decision block 591 where it is determined whether a received message is being displayed. If yes, the program proceeds by means of path 592 to the block 593 and ~he received message is cleared __.
and, as indicated by block 594, a next message is requested from the base. If a received message is not being displayed the program proceeds b~- means of path 595 to the decision block 596 where it is det~rmined whether the received memory is occupied. If not, the program proceeds by means of path ;-.`
597 to the block 594 and a next message from the base is requested. If the receive memory is occupied the program proceeds by path 598 to the block 600 and the received message is displayed. Upon Completion of the tasks in blocks ~94 and 600, the program proceeds to stop block Ç01.
Re~erring to ~ig. 16 of the drawing, a routine for proces-sing an acknowledgment signal from an external source is described, which is called from bloc~ 96 of the executive in Fig. 2A. Block 610 indicates that an acknowledgment has been received and the program proceeds to the decision block 611 where it is determined whether a manual acknowledgment indicator is activated. If yes, the program proc~eds by means of path 612 to the deoision block 613 where it i~ determuned whether the previous messaye contained ~124880 ,' CM-77891 ,) a manual acknowledgment requirement. If yes, the program proceeds on path 614 to the block 615 where the manual acknowledment indicator is cleared and the program then proceeds to the block 616 where the microcomputer processes the acknowledgment condition. Similarly, if the last message was not a manual acknowledgment and if the manual indicator is on, by means of path 617, the program goes to block 616 for processing the acknowledgment condition. If the ~anual acknowledg~ent indicator is not activated, the program proceeds by path 618 to the decision block 620 where it is determined whether a priority waiting indicator is activated. If not, the program proceeds by path 621 to block 616. If a priority waiting indicator is activated the program proceeds by path 622 to the decision block 623 where it is determined whether the last message contained a next message request. If no, the program proceeds by path 624 to -the block 616. If yes~ the program proceeds by path 625 to the block 626 for clearing a message waiting in~icatormeans prior to processing the acknowledgment condition in block 616. ~ .

While a particular embodiment of the Eystem according to the invention has been shown and described, it should be , . . .
understood that the invention is not limited thereto since -, many modifications may bP made. It is therefore contemplated ~-.. . .
to cover ~y the present applica_ion ~ny and all such modifica-tisns that fall within the true spirit and scope of the basic underlying principle~ disclosed and claimed herein.

Claims (6)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE PROPERTY
OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A radio frequency digital data transmission system for communicating digital messages between a base station and a plurality of mobile stations, where the mobile stations each include 8 radio transceiver and a programmable data ter-minal coupled thereto for receiving and transmitting digital messages, wherein the programmable data terminal of each mo-bile station comprises:
means for generating a clock signal;
means coupled to the radio transceiver for receiving in response to the data clock signal,. successive bits of digi-tal messages transmitted from the base station;
a keyboard including a transmit key and a plurality of alphanumeric keys;
a display including a pluarlity of display elements for visually displaying digital messages applied thereto;
means coupled to the radio transceiver for transmitting in response to the clock signal, successive bits of digital messages applied thereto; and a microcomputer including a compose memory, a next message memory, a read-only memory for storing a control program and peripheral-interface-adapter means for inter-facing the microcomputer to the receiving means, keyboard, display and transmitting means; the microcomputer receiving a digital message entered from the keyboard, storing the entered digital message in the compose memory, and applying the entered digital message to the display; and the micro-computer further having an interrupt input coupled to the clock signal and being responsive to each predetermined logical state change of the clock signal for, under control of the control program, storing in the next memory successive bits of a digital message received by the receiving means, and, when the transmit key is activated, applying successive bits of a control number and an entered digital message stored in the compose memory to the transmitting means, the microcomputer appending different control numbers to each entered digital message that is transmitted.
2. The digital data transmission system according to claim 1, wherein said display includes a status element, said microcomputer storing received bits of a first message in the next message memory and enabling the status element to display a first status character when all the bits of the first message have been received.
3. The digital data transmission system according to claim 2, wherein said microcomputer in the programmable data terminal is responsive to a second received message for blinking the displayed first status character.
4. The digital data transmission system according to claim 3, wherein said keyboard of the programmable data terminal includes a next message key, said microcomputer responsive to a first activation of the next message key for enabling the stored first message to be applied to the display and thereafter transmitting an acknowledgment message to the base station.
5. The digital data transmission system according to claim 4, wherein said microcomputer is responsive to a second activation of the next message key for transmitting a polling message to enable the base station to retransmit the second message.
6. The digital data transmission system according to claim 1, wherein said programmable data terminal includes a status line memory, said keyboard includes a status line key, and said display elements are organized into a plurality of parallel lines each having the same number of display elements;
said microcomputer coupled to the status line memory for storing predetermined status of the programmable data terminal therein and enabling a predetermined line of display elements to display the stored status from the status line memory in response to a detected change in status and in response to an activation of the status line key.
CA309,532A 1977-09-27 1978-08-17 Programmable data terminal for mobile transducers Expired CA1124880A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US83725577A 1977-09-27 1977-09-27
US837,255 1977-09-27

Publications (1)

Publication Number Publication Date
CA1124880A true CA1124880A (en) 1982-06-01

Family

ID=25273963

Family Applications (1)

Application Number Title Priority Date Filing Date
CA309,532A Expired CA1124880A (en) 1977-09-27 1978-08-17 Programmable data terminal for mobile transducers

Country Status (12)

Country Link
JP (2) JPS5474304A (en)
BR (1) BR7806366A (en)
CA (1) CA1124880A (en)
DE (1) DE2842068A1 (en)
DK (1) DK425678A (en)
FR (1) FR2425108B1 (en)
GB (1) GB2005117B (en)
IL (1) IL55390A (en)
MX (1) MX148598A (en)
NL (1) NL7809722A (en)
SE (1) SE439867B (en)
ZA (1) ZA784674B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55174128U (en) * 1979-05-31 1980-12-13
AU558069B2 (en) * 1982-07-28 1987-01-15 Motorola, Inc. General purpose data control terminal
US4517561A (en) * 1982-07-28 1985-05-14 Motorola, Inc. Selective call, paging and priority signalling system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3686637A (en) * 1970-09-14 1972-08-22 Ncr Co Retail terminal
GB1446643A (en) * 1973-09-11 1976-08-18 Computek Inc Computer display terminals
DE2455174A1 (en) * 1973-11-21 1975-05-22 Termiflex Corp INPUT / OUTPUT DEVICE FOR DATA EXCHANGE WITH DATA PROCESSING DEVICES
US3906445A (en) * 1974-10-21 1975-09-16 Motorola Inc Alphanumeric terminal for a communications system
JPS5193111A (en) * 1975-02-13 1976-08-16
US3973244A (en) * 1975-02-27 1976-08-03 Zentec Corporation Microcomputer terminal system

Also Published As

Publication number Publication date
NL7809722A (en) 1979-03-29
IL55390A (en) 1981-10-30
MX148598A (en) 1983-05-16
GB2005117B (en) 1982-02-24
SE7810125L (en) 1979-03-28
DK425678A (en) 1979-03-28
BR7806366A (en) 1979-05-08
GB2005117A (en) 1979-04-11
SE439867B (en) 1985-07-01
FR2425108A1 (en) 1979-11-30
JPS6368236U (en) 1988-05-09
JPS5474304A (en) 1979-06-14
FR2425108B1 (en) 1986-04-11
ZA784674B (en) 1979-08-29
DE2842068A1 (en) 1979-04-05
IL55390A0 (en) 1978-10-31

Similar Documents

Publication Publication Date Title
US4354252A (en) Programmable digital data terminal for mobile radio transceivers
US4814972A (en) Method and videotex apparatus for fast access of remotely located information
US3899772A (en) Mobile computer terminal and system
US4935870A (en) Apparatus for downloading macro programs and executing a downloaded macro program responding to activation of a single key
US4686620A (en) Database backup method
US3876987A (en) Multiprocessor computer systems
US5926769A (en) Cellular telephone having simplified user interface for storing and retrieving telephone numbers
US4525779A (en) Conversational video system
EP0382670A2 (en) Voice applications generator
JPH0230057B2 (en)
EP0471023A4 (en) User activated memory programming authorization in a selective call receiver
CA2475181C (en) Auto-fill message fields in a communication terminal
EP0531062B1 (en) Facsimile apparatus
CA1124880A (en) Programmable data terminal for mobile transducers
EP0148948A1 (en) Method of setting date in numerical control apparatus
EP0335962B1 (en) Electronic display system
EP0248992A2 (en) Display terminal
JPS59501526A (en) General-purpose data control terminal device
US3781856A (en) Terminal communication control system and method
GB2043399A (en) Display apparatus for view data system
KR19980702769A (en) Subscriber unit for use in multiple access communication systems
EP0184587B1 (en) Robot operator for a computer terminal
JPH02257354A (en) Automatic screen releasing system
JPH0212433A (en) Task management method for control program
Fischer An Emergency Communication System for Los Angeles County Jail

Legal Events

Date Code Title Description
MKEX Expiry