Hi Jake,

I’m trying to use the okCEventHandler functionality but when I put a breakpoint in my OnTrigger60 function, it seems it’s never invoqued (“m_xem->UpdateTriggerOuts” is called in “OnUpdateTimer” (PipeTest.cpp).

However if I try a “if (m_xem->IsTriggered(0x60, 0xff)) {” in “OnUpdateTimer” (PipeTest.cpp), there the trigger is recognized properly.

Please can you let me know what I’m doing wrong ?

Many thanks in advance.


PS: I tried to download FrontPanel 1.0.3 to see if I get this problem as well, but couldn’t get through.

  • Verilog

wire [7:0] btn;
assign btn = {4’b0000, ~button};
assign ep60trig = ~(btn & 1);

okTriggerOut ep60 (
.ti_clk(ti_clk), .ti_control(ti_control), .ti_data(ti_data),
.ep_addr(8’h60), .ep_clk(ti_clk), .ep_trigger(ep60trig));

  • PipeTest.cpp

void MainFrame::Initialize() {

ConnectHandler(0x60, okEVT_TRIGGEROUT, (okEventFunction) (okTriggerOutEventFunction) &MainFrame::OnTrigger60);

void MainFrame::OnTrigger60(okCTriggerOutEvent& event) {



Did you call okCUsbXEM::AddEventHandler() ?

ConnectHandler is done within your subclass of oKCEventHandler so that it knows which function to call. The okCUsbXEM instance, however, needs to know which okCEventHandlers to call.


You’re now in the “Registered Customers” group and can access software download attachments.

37253.jpg (15.5 KB)


Thanks Jake for both items.