RPC-DEV designers development kit

RPC-DEV is a designers development kit for the RPC transceiver. It contains 2 complete sets
of hardware for a point to point link, each end may be operated in one of 3 operating modes.



RPC-DEV designers development kit
1. Stand alone

Selects the RPC's internal diagnostic modes 0 to 8 Enables self-test, range testing and software debugging. 2.

PC driven link

RPC is controlled directly by a Standard Printer Port (SPP with Open Collector / Pull-up control lines) or Extended Capabilities Port (ECP) set to Byte Mode or PS/2 Mode. PC software supplied with the kit enables display and editing all RPC internal registers. Data packets may be sent to
and received from other RPCs. Software is supplied on 3.5" disk and runs under MS-DOS
3. PIC development

The RPC-DEV PCB will accept a wide range of 18 & 28 pin Microchip PIC micro controllers for product development. RPC driver subroutine source code is included.

Kit contents
Qty Item Description
2 RPC (418 or 433.92MHz) Packet transceivers + Antennas.
2 Development PCB's Fully populated.
2 PC cables Standard 18/25 way 'D' printer cables (M>F)
2 RPCPS2CAB cables SPP to PS2 Interface Cables
1 3.5" Floppy Disk MS-DOS PC Driver software for the RPC. RPC utility software including sample drivers.
1 set of data sheets BiM & RPC data sheets Circuit / layout diagrams and documentation for the Development PCB's.
Required but not supplied:

1. A power supply of 7V to 12V DC @ <60mA (typ 20 to 40mA). (PSU or PP3)

2. MS-DOS PC or laptop with LPT1 set to Standard Printer Port (SPP with Open collector / pull-up) or Extended Capabilities Port (ECP) set to Byte
Mode or PS/2 Mode.

3. PIC microcontrollers / PIC development tools.(Only required for mode 3)
  • Connect the antenna into the Antenna (R.H.) terminal on the RPC and plug the RPC into the development PCB.

  • Connect a DC supply/9V battery to the supply input terminals and switch on.

  • Select 'Debug' on the debug/normal switch and press 'RPC Reset'

  • The Hex switch selects the required debug mode 0 to 8. An RPC reset is not required after a mode change. Debug must not be used when a PIC is inserted or a PC is connected to the Development PCB.
Test modes:

SELF TEST (debug mode 8)

8 on the hex switch selects the RPC's internal self test. The RPC puts the BIM transceiver into local loop back (both TX & RX on), a test code is continuously sent and recovered. The RXR LED on the development PCB will light to indicate a pass.

RADAR (debug mode 7)

7 on the hex switch will cause the RPC to repetitively send an ASCII test packet - "Radiometrix RPC v 1.0 XX", where XX is an incrementing packet counter 00 to 63. A remote unit in Radar mode is very useful for checking and debugging user RPC upload (RX) host software.

Additionally, Radar mode listens for a short time between each packet for an echo (see mode 6) and will light the RXR LED if a valid packet is received. This 'ping-pong' function is very effective for range / antenna tests.

ECHO (debug mode 6)

6 on the hex switch will cause the RPC to ECHO (retransmit) any valid packets it receives (transponder). Echo is very useful for remote loop-back testing of user host software and for "Ping-Pong" range testing in conjunction with the other development PCB in RADAR mode.The RXR LED flashes each time a packet is echoed.

Debug modes 0 - 5

These modes are primarily designed for radio performance testing with RF test gear and are described in the RPC data sheet.

RPC Dev Kit contains 2 pairs of cables

Standard Parallel Cable with Molded Connectors on both ends for SPP with Open Collector / pull-up control lines.

RPCPS2CAB (SPP to PS/2 Interface Cable) with Black Assembled Cover on Male connector for PS/2 port or ECP port set to Byte Mode or PS/2 compatible mode.

2. PC or Laptop Operation

Setup
  • Connect the antenna into the Antenna (R.H.) Terminal on the RPC and plug the RPC into the development PCB.

  • Connect a DC supply/9V battery to the supply input terminals and switch on.

  • Connect the development PCB to the LPT1 port of a PC or Laptop with the 25 way lead supplied. (Standard 18 or 25 way 1:1 'D' cable or RPSPS2CAB cable has to be used for new PC's with ECP port).

  • Select 'Normal' on the debug/normal switch. Select 'F' (open circuit) on the hex switch.

    Note: During PC operation, the hex debug switch must be on 'F' and no PIC microcontroller inserted (or it must be tri-stated).

  • Copy all the supplied files into a suitable directory on your hard disk.


Software Overview:

The software supplied has been written to allow an RPC developer to gain immediate access to a Radiometrix RPC module and enables message send/receive and RPC memory examine/modify .

The 3.5" disk contains two versions of the software:

1. For Standard Parallel Port (SPP with Open Collector / pull-up control lines) in old PCs.

RPC.DOC RPC Dec Kit documentation.
RPC.EXE main RPC driver program
RPC.DAT ASCII data file holds system information used by RPC.EXE
DATA-A.TXT sample ASCII test files
DATA-B.TXT  
DATA-C.TXT  
DATA-D.TXT  
DATA-E.TXT  

2. For Bi-directional PS/2 or Extended Capabilities Port (ECP) in new PCs

Bi-directional version of the software is in the subdirectory \RPC_BI

It contains the following files:

DEMO.BAT Batch file to set the Byte Mode or PS/2 Mode in ECP before running RPC software.
README.DOC RPC Dev Kit documentation
RPC-BI.EXE main PS/2 RPC driver program
RPC.DAT ASCII data file holds system information used by RPC-BI.EXE
D.A sample ASCII test files
D.B  
D.C  
D.D  
D.E  
Note:
  SPP version of the RPC Dev Kit software (RPC.EXE) will not work properly with new PCs. Bi-directional PS/2 versions of the RPC Dev Kit software need to be used in this case. Extended Capabilities Port (ECP) can be set to Byte Mode or PS/2 compatible mode. ECP_PS2.EXE program will change the mode to PS/2 compatible mode. PS2_ECP.EXE will change it back to ECP mode.

The main program RPC.EXE is designed to run under MS-DOS 3.3 or higher on any IBM PC or compatible with a Standard Printer Port (SPP with Open Collector / pull-up control lines) or Extended Capabilities Port (ECP) set to Byte Mode or PS/2 Mode, setup as LPT1.

Using this program, it is possible gain access to the onboard EEPROM to evaluate the extended functionality provided via the Reserved Memory settings and to also read/write the User EEPROM area.

The program provides a set of commands allowing the user to operate the RPC module. These command functions enable the user to include send and receive messages, write to EEPROM memory, send continuous messages to the RPC and enable the 7 RPC reset modes.

Upon startup of the utility if an RPC is connected to the parallel port and is working, the Reserved Memory and User Memory areas of the display will be updated.

The Outgoing and Incoming message area can be expanded or reduced as the user requires by pressing the TAB key (or alternatively entering switcH at the command prompt). This has the effect of either hiding or showing the user memory area. In order to view the help list properly the display needs to be in the expanded mode.

Messages sent from the RPC are displayed under the Outgoing (TX) message heading to the left of the display. Messages received by the RPC are displayed under the Incoming (RX) heading to the right of the display.


Command set:

The following list has been taken from the RPC demonstration program and details the commands which are available for evaluating the RPC.
COMMAND DESCRIPTION
Reset [n] Reset the RPC; Test mode (n = 0 - 8)
reaD address Read from memory address (Addr = 00 - 3F)
Send [$] string Transmit string via RPC; $ selects preamble
Write address data Write data to RPC memory address (00 - 3F)
Clear Clear the display output window
switch or <TAB> toggle memory display window On/Off
File [delay] file [file...] Send a file(s) to the RPC
delay = delay between files (0.25s increments)
Test execute the file send test list
stoP or <^X> to stop repeating file send (Test & File)
Help Display this help information
eXit or <F3> Exit from this demo program
<ESC> Erase current command line
<TAB> Switch display between memory and output
Note:
1. The capital letter in each command may be used in place of the full word.
2. All values required by specific commands should be entered in hex.

Commands in Detail:

Note: Square brackets [] means the argument(s) are optional. Angle brackets <> means the argument(s) are required. The capital letter in the command represents an abbreviation of that command.
Reset [0-8] send a RESET to the RPC.
sets the RPC into the specified demo mode.
Example: >R reset RPC
>R7 reset RPC into debug mode 7 (RADAR)
read <address> read the EEPROM memory at location <address>
the address should be in the range of 0x00 - 0x3F
e.g.: >read 20
Send [$] <string> Transmit the given string via the RPC
Preceding the string with a $ sign will enable extended preamble to be used when transmitting the packet. If more than 27 bytes of data are entered on the command line, the string will be broken into 2 RPC packets and transmitted.
Example: >S THIS IS A TEST send 'THIS IS A TEST'
>S$Is any body out there ? ; extended preamble
Write <addr> <data> Write data to the specified RPC EEPROM location.
The allowable memory range is from 0x00 to 0x3F. Data represents a single byte between 0x00 - 0xFF.
Example: >W 00 4 writes 04h into SWITCHES (00h)
>W 08 80 will set PS1 on reset
exit or <F3> Typing either EXIT or X, or pressing F3 will exit from the demonstration program back to the command prompt.
Clear Clear the display output window.
Stop or <^X> Stop the repeating file send (Test & File commands).
Help Display this help information as shown in section RPCDEMO commands.
<TAB> Switches the display between the memory display and the expanded output display.
<ESC> Clear the current command line
File [delay] file [file...] Send a file to the RPC. A maximum of 3 files can be given on the command line. The file names should contain only alpha characters (e.g. fred1.txt <- not allowed. freda.txt <- allowed). The [dly] enables a delay of between 0x00 and 0xFF seconds between files being sent. Using the delay will enable the files to be repeated continuously using the delay value between them. Without the delay value the file(s) will only be sent once.
This is NOT a file transfer function. I.e.; it will not copy the file to the destination.
If any lines in the file contain more than 27 bytes, the line will be broken into multiple blocks of 27 bytes. They will NOT be reassembled into full lines by the receiver.
e.g. file 2 autoexec.bat config.sys
Example: >F RPC.DOC transmits this file
Test Execute the test file command line from the RPC.DAT file
See RPC Configuration File details later for a description of RPC.DAT command line used with this command.
Example: >T repetitively sends the test files.


RPC Configuration File:

The demonstration program requires a configuration file. This file is called RPC.DAT. Following is an example RPC.DAT file:

PORT = 378
COLOUR = 0
FILE = 2 rpc.dat c:\config.sys

PORT = <xxx>
This entry determines the base address of the PC printer port.
The value is entered as a hex value.

COLOUR = <0 | 1> This is a Boolean of either 0 or 1. Setting this entry to 0 disables the colour display. I.e.; all output will be in black and white. This is suitable for a monochrome display device such as a laptop. Setting this entry to 1 will enable the colored output.

FILE = <delay> <file 1> <file 2> <file 4>
This entry has the same format as the FILE command.
It is the command line used when the TEST command is entered.

Interrupt selection:

The RPC driver program uses interrupts therefor the two IRQ jumpers on the RPC Development PCB should be fitted. If a PC based RPC driver is being developed it is often desirable to use interrupt driven software. If the IRQ jumpers are fitted a +ve going interrupt (std) will be generated when either/or RXR or TXA from the RPC become active.

3. PIC Microcontroller Development

The PIC range of microcontrollers from Arizona Microchip are well suited to act as host controllers for the RPC. The RPC Development kit will accommodate the following PIC's:

low cost 18pin PIC16C54, PIC16C56 & PIC16C58
mid performance 18pin PIC16C61, PIC16C62x, PIC16C71 & PIC16C84
larger I/O 28pin PIC16C62, PIC16C63, PIC16C73A & PIC16C76

In all cases port B (RB0 - RB7) is dedicated to driving the RPC, sample driver subroutines are included on disk.

Port A and Port C (28pin PIC's) are brought out to a standard pin headers together with supply and reset lines to allow connection of user developed hardware. A 10.240 MHz XTAL is fitted as standard but may be changed to suit user requirements.

Setup
  • Connect the antenna into the Antenna (R.H.) Terminal on the RPC and plug the RPC into the development PCB.

  • Connect a DC supply/9V battery to the supply input terminals.

  • Select 'Normal' on the debug/normal switch, select 'F' on the hex switch.

  • Insert a PIC or ICE into either the 18 or 28 pin PIC socket + any custom hardware.

Note: The 'F' on the hex switch is all off (open circuit) During PIC operation, the hex debug switch must be on 'F' and the PC must not be connected.

Appendix A

For Old PCs: Standard Parallel Port (SPP with open collector / pull-up control lines)

This is the default RPC Dev Kit configuration. It will work properly only on old PCs which have Standard Parallel Port (SPP) with open collector / pull-up control lines. RPC.EXE has to be used with this configuration.

Bi-directional PS/2 port configuration has to be used for new PCs which have PS/2 compatible ports or Extended Capabilities Port (ECP). DEMO.BAT (RPC-BI.EXE) in \RPC-BI subdirectory has to used with PS/2 mode configuration.

25 way Male D Connector on the RPC Dev Kit is connected to the RPC with the connections shown on the table below. The cable which comes with the Kit is one to one Female to Male 25 way cable. It can only be used with the default configuration.

To use the Bi-directional PS/2 mode, interface adapter or cable has to be used to change the connections as shown in Figure 1.

Connections: RPC to 25 WAY 'D' printer port
Port requirement Standard Printer Port (SPP) with Open Collector / Pull-up Control lines

name pin   pin Bit Name Pin Labels
           
GND 1
18 to 25   Ground
D0 2 1 C0 -Strobe
D1 3 14 C1 -Auto Linefeed
D2 4 16 C2 -Initialize Printer
D3 5 17 C3 -Select Printer
TXR 6 2 D0 Data 0
TXA 7 12 S5 +Paper Out
RXR 8 13 S4 +Printer Selected
RXA 9 3 D1 Data 1
RES 10 4 D2 Data 2
5 volt 11 +5V supply    
GND 12 0V supply    
+ve interrupt   10 S6 -Acknowledge

PC printer port registers (addresses given for base address of 0378)
0378 data register b7 b6 b5 b4 b3 b2 b1 b0
    - - - - - RES RXR TXA
 
0379 status register b7 b6 b5 b4 b3 b2 b1 b0
    - Int TXA RXR - - - -
 
037A control register b7 b6 b5 b4 b3 b2 b1 b0
    - - dir Ien D3 D2 D1 D0
int +ve transition interrupt bit, see "interrupt drive"

Ien

bit is internal interrupt enable, not used if polling used
 
1 = interrupt enable , 0 = disabled (polled operation)
   
Note: D0, D1 and D3 pins are inverted drives from the register i.e. a 1 in the control register gives a 0 on the pin all other registers / bits are true.

Cautions:

1. Many laptops use 3.3 Volt logic on the printer port pins. This will work directly with a 5 Volt RPC with the exception of the RPC's reset line which must be level shifted to 5 Volt logic.(The RPC Dev Kit does this)

2. If you are writing PC Drivers beware of the long noise suppression time constants (up to 10µs) often used on some/all of the pins of the printer port. Beware of AND/OR instructions which act directly on the port registers as the data may not have settled from previous writes' to the port, it's safer to keep and use an indirect copy of the port registers in memory.
For New PCs: Bi-directional Port (PS/2)

Port requirement 8 bit Bi-directional Port
  PS/2 or ECP set to PS/2 Mode / Byte Mode
cable RPCPS2CABLE

This configuration is needed for new PCs because the Standard Parallel Port (SPP) in new PCs does not contain open collector / pull-up control lines as in older PCs. SPP version of the software uses Printer Port Control lines as RPC Data lines. Data lines are pulled low by RPC when sending bit ‘0’ to host. SPP in new PCs are hard driven logic outputs which cannot be pulled low by RPC.

Bi-directional version of the hardware & software overcomes this by using PS/2 Mode. In PS/2 Mode, Status Lines are used for Control line input from RPC (RXR, TXA) and Printer Port Control Lines are used to output the RPC Control signals (RXA & TXR). Default RPC Dev Kit connector is setup for SPP mode. A PS/2 interface adapter or cable is needed to use RPC Dev Kit in Bi-directional PS/2 mode. (Refer to figure 1 on page 11 for wiring diagram).

In Bi-directional PS/2 mode, Printer port data lines can be used as RPC data lines in bidirectional mode. Open collector / pull-up control lines are not needed for RPC data lines.

Most of the new PCs come with Extended Capabilities Port (ECP). ECP can be set to operate in PS/2 compatible bidirectional mode. Program supplied with bidirectional version will automatically change the mode from ECP to PS/2 and change it back to ECP when the RPC Dev Kit software is closed.

name

pin

 

pin

bit

pin labels

           

GND

1


18 to 25

 

Ground

D0

2

2

D0

Data 0

D1

3

 

3

D1

Data 1

D2

4

 

4

D2

Data 2

D3

5

 

5

D3

Data 3

TXR

6

1

C0

-Strobe

TXA

7

 

12

S5

+Paper Out

RXR

8

 

13

S4

+Printer Selected

RXA

9

 

14

C1

-Auto Linefeed

RES

10

 

16

C2

-Initialize Printer

5V

11

 

+5V supply

 

GND

12

 

0V supply

 

+ve interrupt

 

10

S6

-Acknowledge


PC printer port registers (addresses given for base address of 0378)
0378 data register b7 b6 b5 b4 b3 b2 b1 b0
    - - - - D3 D2 D1 D0
 
0379 status register b7 b6 b5 b4 b3 b2 b1 b0
    - Int TXA RXR - - - -
 
037A control register b7 b6 b5 b4 b3 b2 b1 b0
    - - dir Ien - RES RXA TXR

For Extended Capabilities Port (ECP) only
077A Extended Control Register (ECR) b7 b6 b5 b4 b3 b2 b1 b0
    0 0 1 - - - - -

Printer Port can be configured to operate in ECP mode by changing the Printer Port setting in BIOS from SPP or EPP to ECP. BIOS setup can be accessed by pressing DEL key for AWARD BIOS or F1 for AMI BIOS when booting the computer. Parallel Port settings can be changed in the Integrated Peripherals section of the BIOS setup

However, it may be necessary to change it back to SPP or EPP mode for some printers to operate properly.
 
int +ve transition interrupt bit, see "interrupt drive"
Ien bit is internal interrupt enable, not used if polling used
1 = interrupt enable , 0 = disabled (polled operation)
dir bit is internal, controls direction of data output / input
0 = data pins are O/P's, ie drive data to RPC
1 = data pins are I/P's, ie read  data from RPC
Note RXA and TXR pins are inverted drives from the register
ie a 1 in the control register gives a 0 on the pin
all other registers / bits are true.
TITLE 'RPC DRIVERS FOR A PIC'
SUBTITLE 'VERSION1 GRAHAM SHARPLES'
list p=16C84 r=hex
;
;STANDARD EQUATES - dedicated data file locations PAGE 0
INDF EQU 0 ; INDIRECT CALL , OPCODE WILL USE
; FSR (04h) AS FILE POINTER
TMR EQU 1 ; 8 bit timer
PCL EQU 2 ; low order program counter
STATUS EQU 3 ; STATUS BITS
IRP EQU 7 ; Not used on 16c84,
; indirect addressing page bit
RP1 EQU 6 ; Not used on 16c84 , high order
; file addressing page bit
RP0 EQU 5 ; file page, 0=PAGE 0 , 1=PAGE 1
; e.g. DDR's etc.
TO EQU 4 ; cleared on watchdog time-out
PD EQU 3 ; cleared on sleep instruction
Z EQU 2 ; ZERO flag
DC EQU 1 ; DIGIT CARRY flag (4th bit)
C EQU 0 ; CARRY flag
;
FSR EQU 4 ; file pointer
; (indirect file address register)
;
PORTA EQU 5 ; i/o port A - 5 Bits , Free for
; applications program use.
;
RPC EQU 06 ; USE PORT B ON PIC
; Bit assignments for RPC PORT
D7 EQU 7 ; Bi-Dir data , D3
D6 EQU 6 ; Bi-Dir data , D2
D5 EQU 5 ; Bi-Dir data , D1
D4 EQU 4 ; Bi-Dir data , D0
TXA EQU 3 ; INPUT , active low TX accept from RPC
TXR EQU 2 ; OUTPUT , active low TX request to RPC
RXA EQU 1 ; OUTPUT , active low RX accept to RPC
RXR EQU 0 ; INPUT , active low RX request fromRPC
; (interrupt if required)
;
PCLATH EQU 0A ; Holding reg for program counter
; high byte
INTCON EQU 0B ;GIE,EEIE,TOIE,INTE,RBIE,TOIF,INTF,
; RBIF interrupts.
; STANDARD EQUATES - dedicated data file locations - PAGE 1
OPTION EQU 81 ; RBPU,INTEDG,RTS,RTE,PSA,PS2,PS1,PS0
DDRA EQU 85 ; I/O direction reg ,portA 1= i/p 0= o/p
RPC_DDR EQU 86 ; Data direction register for port B (RPC)
; This register is in BANK 1 of the register file.
;--------------------------------------------------------------------
ORG 0
ONRESET GOTO START ; jump to main program
;
; -Initialize PORT B to drive RPC.
START BSF STATUS,RP0 ; select page 1
MOVLW B'11111001' ; TXR & RXA O/P , Rest as inputs
MOVWF RPC_DDR
BCF STATUS,RP0 ; select page 0
;
; SUBROUTINE - IN_BYTE
; IN_BYTE - READ A BYTE FROM THE RPC INTO FILE POINTED
; TO BY FSR W IS DESTROYED
;
; NOTE THIS ROUTINE WILL HANG THE HOST UNTIL THE HOST
COMPLETES THE TRANSFER OF TWO NIBBLES
; THIS SUBROUTINE CAN BE CONFIGURES TO RUN
; AS PART OF AN INTERUPT HANDLER IF THE RXR
; LINE FROM THE RPC IS USED TO TRIGGER A HOST INTERRUPT
;
IN_BYTE BTFSC RPC,RXR ; WE GOT A RX REQUEST YET ?
GOTO IN_BYTE ; NO , SO LOOP BACK AND WAIT
; READ THE LS NIBBLE FROM THE RPC
BCF RPC,RXA ; ACCEPT THE REQUEST (SET ACCEPT LOW)
;
AWAITDATA BTFSS RPC,RXR ; HAS REQUEST GONE UP ? i.e. data is present
GOTO AWAITDATA ; LOOP BACK TILL IT DOES
;
NOP ; TIME DELAY TO ENSURE DATA STABLE
; BEFOR READ
MOVF RPC,W ; READ THE LS NIBBLE FROM THE BUS
BSF RPC,RXA ; TELL RPC WE GOT NIBBLE (ACCEPT = 1)
ANDLW B'11110000' ; JUST THE DATA
MOVWF INDF ; SAVE LS NIBBLE IN TARGET FILE (VIA FSR)
SWAPF INDF,F ; RIGHT JUSTIFY LS NIBBLE
;
; NOW GET MS NIBBLE FROM THE RPC
INNIBBLE BTFSC RPC,RXR ; WE GOT NEXT RX REQUEST YET ?
GOTO INNIBBLE ; NO , SO LOOP BACK AND WAIT
;
BCF RPC,RXA ; ACCEPT REQUEST (SET ACCEPT LOW)
;
AWAITD1 BTFSS RPC,RXR ; HAS REQUEST GONE UP ? i.e. data is present
GOTO AWAITD1 ; LOOP BACK TILL IT DOES
;
NOP ; TIME DELAY TO ENSURE DATA STABLE
; BEFOR READ
MOVF RPC,W ; READ THE MS NIBBLE FROM THE BUS
BSF RPC,RXA ; TELL RPC WE GOT NIBBLE (ACCEPT = 1)
ANDLW B'11110000' ; JUST THE DATA
IORWF INDF,F ; COMBINE MS NIBBLE WITH LS NIBBLE
; ALREADY IN THE FILE (VIA FSR)
RETURN
; A BYTE HAS BEEN READ FROM THE RPC INTO ADDRESS POINTED AT BY FSR
;--------------------------------------------------------------------
; SUBROUTINE- OUT_BYTE
; OUT_BYTE- WRITE A BYTE FROM FILE POINTED TO BY FSR TO RPC
; W IS DESTROYED
;
; NOTE THIS ROUTINE WILL HANG THE HOST UNTIL THE RPC
ACCEPTS THE TRANSFER OF TWO NIBBLES
;
; WARNING - OUT_BYTE WILL SET THE DATA BUS TO DRIVE
; AFTER DETECTING
; A TXA FROM THE RPC.
; THE CALLING ROUTINE MUST SET 4 DATA LINES
; BACK TO I/P
; ON COMPLETION OF PACKET TRANSFER
; (i.e. call LISTENBUS)
;
OUT_BYTE SWAPF INDF,W ; GET LS NIBBLE FROM FILE (VIA FSR) INTO
; BITS 4 to 7 of W
ANDLW B'11110000' ; JUST THE NIBBLE
IORLW B'00000010' ; SET TXR LOW, LEAVE RXA HIGH
MOVWF RPC ; SET TXR LOW , OUTPUT NIBBLE
;
WACCEPT BTFSC RPC,TXA ; WE GOT A TX ACCEPT BACK YET ?
GOTO WACCEPT ; NO , SO LOOP BACK AND WAIT
;
; WE GOT ACCEPTANCE SO IT'S OK TO DRIVE BUS
BSF STATUS,RP0 ; SELECT PAGE 1
MOVLW B'00001001' ; DRIVE BUS
MOVWF RPC_DDR
BCF STATUS,RP0 ; SELECT PAGE 0 BUS IS NOW DRIVING
;
BSF RPC,TXR ; REMOVE REQUEST, DATA IS ON BUS
WDUN BTFSS RPC,TXA ; HAS DATA BEEN READ?
GOTO WDUN ; WAIT TILL RPC REMOVES ACCEPT
;
; LS NIBBLE OF (FSR) IS SENT , NOW DO MS NIBBLE
MOVF INDF,W ; GET MS NIBBLE FROM FILE (VIA FSR)
ANDLW B'11110000' ; JUST THE MS NIBBLE
IORLW B'00000010' ; SET TXR LOW (BIT 2), RXA STAYS HIGH
MOVWF RPC ; OUTPUT NIBBLE + TXR LOW WACCEPT1
WACCEPT1 BTFSC RPC,TXA ; WE GOT A TX ACCEPT BACK YET ?
GOTO WACCEPT1 ; NO , SO LOOP BACK AND WAIT
BSF RPC,TXR ; REMOVE REQUEST, DATA IS ON BUS
WDUN1 BTFSS RPC,TXA ; HAS DATA BEEN READ?
GOTO WDUN1 ; WAIT TILL RPC REMOVES ACCEPT
;
RETURN ; BYTE IS SENT TO RPC
;--------------------------------------------------------------------
; SUBROUTINE - LISTEN_BUS , SET DATA BUS TO INPUT
;
LISTEN_BUS BSF STATUS,RP0 ; SELECT PAGE 1
MOVLW B'11111001' ; BUS TO INPUT
MOVWF RPC_DDR
BCF STATUS,RP0 ; SELECT PAGE 0
RETURN
; BUS IS LISTENING TO RPC
END
 

Limitation of liability

The information furnished by Radiometrix Ltd is believed to be accurate and reliable. Radiometrix Ltd reserves the right to make changes or improvements in the design, specification or manufacture of its subassembly products without notice. Radiometrix Ltd does not assume any liability arising from the application or use of any product or circuit described herein, nor for any infringements of patents or other rights of third parties which may result from the use of its products. This data sheet neither states nor implies warranty of any kind, including fitness for any particular application. These radio devices may be subject to radio interference and may not function as intended if interference is present. We do NOT recommend their use for life critical applications.
The Intrastat commodity code for all our modules is: 8542 6000.

R&TTE Directive

After 7 April 2001 the manufacturer can only place finished product on the market under the provisions of the R&TTE Directive. Equipment within the scope of the R&TTE Directive may demonstrate compliance to the essential requirements specified in Article 3 of the Directive, as appropriate to the particular equipment.
Further details are available on The Office of Communications (Ofcom) web site:
Licensing policy manual