Can't get okPipeOut to work

I’m trying to write implement a simple okPipeOut instance in the XEM6001 module to read some RAM in the FPGA, but it doesn’t work. I’m using this Python script as a test program:

[FONT=“Courier New”]
import ok
fp = ok.FrontPanel()
serial = fp.GetDeviceListSerial(0)
print fp.GetDeviceID()
print “Open?”, fp.IsOpen()
print “Enabled?”, fp.IsFrontPanelEnabled()
data = “\x00” * 256
n = fp.ReadFromPipeOut(0xA0, data)
print n, data

When the PipeTest bitfile is loaded into the FPGA, I get some data. When my own bitfile is loaded, I get this output:

[FONT=“Courier New”]
Opal Kelly XEM6001
Open? True
Enabled? False


In other words, the ReadFromPipeOut() call fails with error -15 (okUnsupportedFeature), and the call to IsFrontPanelEnabled() returns False.

Here is the VHDL code:

[FONT=“Courier New”]
library IEEE;

use work.FRONTPANEL.all;

entity main is
Port ( hi_muxsel : out STD_LOGIC;
hi_in : in STD_LOGIC_VECTOR (7 downto 0);
hi_out : out STD_LOGIC_VECTOR(1 downto 0);
hi_inout : inout STD_LOGIC_VECTOR(15 downto 0);

       led : out  STD_LOGIC_VECTOR (7 downto 0);
       button : in  STD_LOGIC_VECTOR (3 downto 0));

end main;

architecture Behavioral of main is

signal ok1 : std_logic_vector(30 downto 0);
signal ok2 : std_logic_vector(16 downto 0);
signal ticlk : std_logic;
signal ep03_data : std_logic_vector(15 downto 0);

signal epA0_data : std_logic_vector(15 downto 0);
signal epA0_read : std_logic;
signal ok2s : std_logic_vector(17*2-1 downto 0);

if rising_edge(ticlk) then
if epA0_read = ‘1’ then
epA0_data ok1,
ok2 => ok2s(171-1 downto 170),
ep_addr => x"A0",
ep_datain => epA0_data,
ep_read => epA0_read);

wire03 : okWireIn port map (
ok1 => ok1,
ep_addr => x"03",
ep_dataout => ep03_data);

led hi_in,
hi_out => hi_out,
hi_inout => hi_inout,
ti_clk => ticlk,
ok1 => ok1,
ok2 => ok2);

end Behavioral;

The okHost interface works - I can drive the LEDs with FrontPanel profile.

Can someone help with the okPipeOut problem?


:eek:Sorry, solved it myself.
ok2 on the okPipeOut was not connected correctly