Input format for <ADDRESS> and <DATA>
Posted: Mon Sep 11, 2017 8:05 pm
Dear Phil,
I am currently trying to get InpOut32 to work on an Intel-based windows 7 / 64-bit system. My parallel port is on a StarTech PCI1PECP PCI board. The x64 driver seems to install without problem. The version is v1.5.0.1.
I downloaded your C++ sample code and it has proved valuable in understanding the workings of the driver (as it seems it cannot be modified any longer because of signing problems). Everything seems to be working fine when using this example code, because wheter I try to write or read, the program does not give me any errors, and confirms that the operation was successful. However, I am monitoring the output pins of my parallel port cable using a voltmeter and I can't seem to get InpOut32 to write to them. Pins 2-9 are all on logical 0 (0V relative to ground pin 25; Strobe pin is +5V, so I know my PCI card is getting power). I have been trying to write 255 (that is the actual value that I input as a <DATA> argument to the software using the command line, which should set pins 2-9 to 11111111, or all +5V). My parallel port is assigned to LPT3 with base address 0xFFF8-0xFFFF.
I have been trying different ways to input the <ADDRESS> data in the command line, but none seem to work. They all give me the positive response that data was written to the correct address, but all my pins remain at 0V. I have been tweaking the sample code to get information about how the driver handles the input data. The driver writes the port address as two bytes in the Buffer[] array at indexes 0 and 1. I figured that since the argument is converted from string to short to LOWORD, I would need to input 65528 as the <ADDRESS>, which would then be written as 0xFFF8 in Buffer array. However, this does not seem to work, as all my pins remain at 0V. I have tried incrementing the address up to 0xFFFF in order to cover the whole address range, but none work.
I am starting to think that InpOut32 might simply not be compatible with my PCI card, but I wanted to make sure I was using the right input format. Also, I saw you briefly mentioned at other places on the forum that InpOut32 only works with certain PCI cards, depending on the way they expose their ports. I was wondering if you could elaborate on this subject.
Thank you for your help!
I am currently trying to get InpOut32 to work on an Intel-based windows 7 / 64-bit system. My parallel port is on a StarTech PCI1PECP PCI board. The x64 driver seems to install without problem. The version is v1.5.0.1.
I downloaded your C++ sample code and it has proved valuable in understanding the workings of the driver (as it seems it cannot be modified any longer because of signing problems). Everything seems to be working fine when using this example code, because wheter I try to write or read, the program does not give me any errors, and confirms that the operation was successful. However, I am monitoring the output pins of my parallel port cable using a voltmeter and I can't seem to get InpOut32 to write to them. Pins 2-9 are all on logical 0 (0V relative to ground pin 25; Strobe pin is +5V, so I know my PCI card is getting power). I have been trying to write 255 (that is the actual value that I input as a <DATA> argument to the software using the command line, which should set pins 2-9 to 11111111, or all +5V). My parallel port is assigned to LPT3 with base address 0xFFF8-0xFFFF.
I have been trying different ways to input the <ADDRESS> data in the command line, but none seem to work. They all give me the positive response that data was written to the correct address, but all my pins remain at 0V. I have been tweaking the sample code to get information about how the driver handles the input data. The driver writes the port address as two bytes in the Buffer[] array at indexes 0 and 1. I figured that since the argument is converted from string to short to LOWORD, I would need to input 65528 as the <ADDRESS>, which would then be written as 0xFFF8 in Buffer array. However, this does not seem to work, as all my pins remain at 0V. I have tried incrementing the address up to 0xFFFF in order to cover the whole address range, but none work.
I am starting to think that InpOut32 might simply not be compatible with my PCI card, but I wanted to make sure I was using the right input format. Also, I saw you briefly mentioned at other places on the forum that InpOut32 only works with certain PCI cards, depending on the way they expose their ports. I was wondering if you could elaborate on this subject.
Thank you for your help!