In case of broken links or downloads, read the whole page products, chances are that you will find a supercede version of the software that you are looking with a different project name, as an example the MP3 OCX is now project rsppmp3 at http://sourceforge.net

Last update : 26-set-2005 15:48:38


 

 

RSP Parallel Port Connection OCX 1.2.0
Release date (09/Apr/2004 10:50)


rspppc110.png (8717 bytes)


ActiveX OCX to transfer files using the parallel port

What is new in the version 1.2.0 (09/Apr/2004 10:43) : Fixed bug that may crash the application in the termination , a few more modifications to make the control more reliable , this new version was carefully debugged to avoid possible problems , at least in the final tests no problems were found , more features will be added to future versions

What is new in the version 1.1.0 (08/Apr/2004 09:59) : Fixed several bugs that can make the application to stop responding or block the transfer and several other derived problems , added parallel port selection , modified the way the control report information , now it is based in a fifo ( first in , first out message queue ) to avoid some information being lost , this new release is more stable , minor bugs fixed

 


Description

ActiveX OCX to connect two PCs using a LapLink parallel cable ( Turbo cable ) , the connection don't requires any other software installed in order to work , it can transfer files in any Windows based machine , just plug the cable , start the application and the connection is ready to be used , the control has a very easy to use interface , and very intuitive , the transmission is checked for errors during the transfer , and with full error handling support capable of reporting any possible error that can occur , the transmission occurs in a four bits ( a nibble ) per accepted clock cicle ( limited to the speed of your internal ISA control , normally 1 megahertz ) , this limited is based in the 5 bits transfer limit on a LapLink cable , then one bit is used for sincronization while four is used for transfer of data , the control is in a very early stage of development , several new features will be added to the future releases , future versions may have EPP and ECP support

It's recommended that you set up your parallel ports to either EPP or EPP/ECP mode for use with this cable , but if none of these options are listed the application will work without problem , since it was generated to work with a standard parallel port

The control was set up to use the LPT1 to transfer files

Important : This control uses a parallel port driver ( that is embedded in the control ) to access the printer port on NT based machines , so it requires administrative privileges in order to work

Future versions may have the possibility to execute without adminstrative privileges , but it will at least requires the installation of the driver in administrative mode

And the shareware version has a limit of 500 kb of size to the files to transfer , and the aboutbox appear in the end of execution of the control


Features

- Ability to transfer files using the parallel port

- Easy to use and install since no other software is required

- Support to UNC paths

- The transferred files are checked against errors

- Can connect or disconnect at any moment

- Don't requires or access any network based protocol

- The connection occurs in a fully multi-thread environment , so the application don't hung while transfering files , indeed you can do other works while waiting for the end of the transmission

- The connection cannot be accessed by other software since the internal method to transfer files are not known by others , this mean that only this control will be able to create a connection and send or receive files , so , no matter what occur to your machine it will not compromise the remote machine in any possible way

- It can be used to create a secure connection between two machines

- The remote machine is only visible to this control , to any other software installed in the machine the connection is invisible

- The control can only send files to the destination , but it cannot execute or delete remote files


How to use the sample project

Connect the LapLink cable in the two machines

Set the parallel port in bios to the port that you want to use , it can be LPT1 , LPT2 or LPT3

Just compile and start in the two connected machines the sample project , click Connect , select the file to send , select the local destination directory to use , and click Send , notice that the sample project is ready to use , it will set the control temp folder to "c:\rsptemp" , when using the sample project this is the place where the files will appear

Notice that both machines need to call the function Connect (RSPPPC1.Connect) in order to send and receive files , without it the machine sending the file will report that the remote machine isnot ready

After the connection both machines will be able to send and receive files in both directions , the control acts as a client and a server , the first request for emission of file will put the remote machine in download mode until the end of the download or until an error occurs

In case of errors or cable disconnected a timeout will occur in both machines , it will reset the connection state to the initial mode , then the control is ready to send and receive files again

When the function Disconnect (RSPPPC1.Disconnect) is called , the control will not be able to receive files , any request for file emission will generate a remote machine not ready

The function Disconnect don't affect the emission of files , since in each call to the Send_File function will force a call to the Connect function

When a call to Diconnect or Reset is made , the control will stop the upload or download of files , close resources and put the control in the initial state

The progress bar will inform the progress execution of the transfer

The integrity of files is done with cyclic redundancy check , if the crc don't match an error will occur in the remote machine

After working for a while with the sample project you will understand how the transfer is done

It is very intuitive and easy to use

If you need any further modification , just send email with your request


Transfer speed

The transfer speed range from 20 kilobytes to 50 Kilobytes per second

This limitation is imposed by the clock frequency used in the parallel port interface of the PC

So , no matter what is the speed of the machines , the transfer speed will not increase

Future versions may have EPP and ECP support , in this case the cable will be different , and the speed can be higher than 300 Kbs per second


Transfer method

The LapLink cable has 5 bidirectional bits , this mean that it can send and receive 5 bits per clock cycle

This control is using one bit to control and four bits to send and receive data

There is no way to transfer more data per clock cycle using this cable

This is limited to four bits per clock cycle

Each file sent has also the original cyclic redundancy check sent , in the remote machine it is checked to verify the file integrity

The transfer occurs in an additional thread running concurrently with the main process , so , the application don't hung while transferring or receiving files

The transfer method was generated by us using our own way to negotiate with the remote machine , this mean that even if you try a connection using a different LapLink like software , the connection will not be accomplished


The parallel port cable

The cable is known as LapLink cable or Turbo cable , you will find it in any computer store , but if your prefer to create your own cable the pinouts are available below

It's recommended that you set up your parallel ports to either EPP or EPP/ECP mode for use with this cable , but if none of these options are listed the application will work without problem , since it was generated to work with a standard parallel port

To build this cable, you'll need a shielded cable with at least 11 conductors, and two DB-25 male connectors.

The Laplink cable is a parallel port DB25 male-to-male cable with the following pinouts:

The pins not listed in the table are open

 

2 to 15
3 to 13
4 to 12
5 to 10
6 to 11
10 to 5
11 to 6
12 to 4
13 to 3
15 to 2
25 to 25

The connection of the other pins are irrelevant , since they are not accessed by this control

DB25 Connectors

db25.png (1843 bytes)


Functions

The version 1.2.0 functions and their descriptions (14/Apr/2004 12:30)


Method About

Public Function About()

It will show the aboutbox of the control

Method Connect

Public Function Connect() As Boolean

This function will initiate the connection and set this machine ready to receive files from the remote machine , notice that when you send a file from this machine it implies a call to this function , then, after a emission of file this machine is ready to receive files also , to disconnect ( set this machine in disconnect mode ) call Disconnect

Method ControlName

Public Function ControlName() As String

It will return the name of the control

Method Disconnect

Public Function Disconnect()

This function will disconnect this machine , then the remote machine will not be able to send files to this machine , notice that this is the initial state of the control , the control start in disconnect mode

Method Reset

Public Function Reset()

This function will reset the connection , then if a file is being sent it will just stop , and if a file is being received also , it just close all the openned resources and reset the internal state of the control to the initial state , it don't disconnect or connect , just reset

Method RSPBrowseForFolder

Public Function RSPBrowseForFolder(Title As String, StartDir As String) As String

This function will just bring up the folder selection dialog box and return the selected folder , or an empty string if cancel is called

Method SelectPortAddress

Public Function SelectPortAddress(PortSelection As Long)

This function will select the port address to be used

Valid values are:

0 - to use LPT1 address 0x378

1 - to use LPT2 address 0x278

2 - to use LPT3 address 0x3bc

Depending on the settings on the bios machine the LPT3 can be set as LPT1 or LPT2 , you need to check the settings in the bios to correctly define the address


Method Send_File

Public Function Send_File(ByVal filename As String)

This is the function that will send local files to the remote machine , if this machine isnot connected it will connect , if the remote machine is connected the transfer will start , notice that this function returns immediatelly , and the event UploadFinished will inform about the end of the transfer , then the sequence of execution is , call this function to send the file , and wait the UploadFinished event be raised to know about the end of the transfer , if a problem occurs during the emission the ErrorCode event will be raised , and notice also that the file name needs a complete path , and not partial path name , all our controls requires complete paths in order to work , since it can avoid possible bugs , if a file is already being transferred it cannot send another , it need to wait for the end of the transmission in order to send another file or an error will be raised , if in the remote machine the same file exist in the destination folder it will be overwritten

Method SetDestinationFolder

Public Function SetDestinationFolder(ByVal NewFolder As String)

This function will set the local directory where the files coming from the remote machine will appear , if this folder isnot set , an error will be raised , then this is one of the first things that need to be set when using this control , notice that this is the local destination folder , and not the remote destination folder , the remote destination folder need to be set in the remote machine

Method Turbo_Mode

Public Function Turbo_Mode(TurboValue As Long)

This function will set the turbo mode to operate the emission or receive of files , in turbo mode ( TurboValue = 1) all the processor time is used by the engine transfer to acelerate the execution , in normal mode ( TurboValue = 0) only a percentage of the processor time available will be used , then the system is free to do other tasks while sending or receiving files from the remote machine , the initial state is TurboMode = 0

Event DownloadFinished

Public Event DownloadFinished(DownloadedFile As String)

This event will be raised when a download is finished

The variable DownloadedFile will show the file that was downloaded , if an error occurs the string will be empty


Event ErrorCode

Public Event ErrorCode(ErrorNumber As Long, ErrorDescription As String)

This event will return the errors generated in the control

Valid error values and description are :

0, "No error"
1, "Parallel port driver busy , limited user mode or unexpected error"
2, "Invalid turbo value"
3, "Invalid destination directory"
4, "Invalid file to upload"
5, "Unable to open file to upload"
6, "Already uploading , wait for the end or call Reset or Disconnect"
7, "The shareware version is limited to 500 kb of size, please register"
11, "Unable to open file to upload"
16, "Downloaded file damaged"
17, "Damaged file downloaded "
18, "Invalid port selection "
19, "The path to download the files was not set or is invalid"
20, "Unable to open file to save"
255, "Unexpected error"


Event Progress

Public Event Progress(Value As Long)

This event will return the progress position ( in percent ) of the download or upload of files

Event Status

Public Event Status(StatusNumber As Long, StatusValue As String)

This event will return the internal status of the connection

Event UploadFinished

Public Event UploadFinished()

This event will be raised when an upload is finished


Documentation

Documentation of the RSP Parallel Port Connection OCX 1.2.0


Install

- To install the control , open the package , decompress "OCX install.zip" and execute setup.exe , it will initialize the installation execution of the control

- To use the sample , decompress the "sample project.zip" to an empty folder and load the project in your VB

- To uninstall the control , search for the package in the add/remove applications in the control panel , and select remove , it will remove the control from the system


Operating System Compliance

Important : This control uses a parallel port driver ( that is embedded in the control ) to access the printer port on NT based machines , so it requires administrative privileges in order to work

Future versions may have the possibility to execute without administrative privileges , but it will at least requires the installation of the driver in administrative mode

Windows 95 , Windows 98 , Windows Millenium , Windows NT 4.0(sp6a) , Windows 2000 , Windows XP


Download

 

 

All our software is also available to download from Winsite , click here to access our Winsite page

winsite.gif (8705 bytes)

 


RSP Parallel Port Connection OCX 1.2.0

Size 122,633 bytes

MD5 checksum 38bd8739d82a403429f445ff7fc785de


RSP Parallel Port Connection OCX 1.1.0 link removed

RSP Parallel Port Connection OCX 1.0.0 link removed


Register


This control is available to register at Shareit! , click in the link below to register

After the registration the licensed version will be emailed to you , thanks for considering the registration


 

vbwire.gif (8247 bytes)

 

Home   Contact   About   Development   C Programming  

Processor Research   Products   License   Mirrors