I am still trying to debug why I cannot connect piface_focusers. I added some extra tracing into piface_focuser.cpp:

bool IndiPiFaceFocuser1::Connect()
{
// open device
mcp23s17_fd = mcp23s17_open(0,0);

if(mcp23s17_fd == -1)
{
DEBUG(INDI::Logger::DBG_SESSION, "Focuser1 :: Open :: FAILED");
IDMessage(getDeviceName(), "PiFace Focuser 1 device is not available.");
return false;
}
else
{
DEBUG(INDI::Logger::DBG_SESSION, "Focuser1 :: Open :: OK");
}



I find that I get my "FAILED" error message in the INDI Control Panel .
I do NOT get the original message "PiFace Focuser 1 device is not available" showing up anywhere.
I do see "PiFace Focuser is disconnected." in the main Ekos message panel; this message does not originate from the driver.

I see that the mcp23s17 libarary code sends extra details to stderr. I read on the INDI docs that driver stderr is passed on to the indiserver stderr.

My questions are:

(1) where is the error message the piface_focuser driver writing supposed to show up? IDMessage(getDeviceName(), "PiFace Focuser 1 device is not available.");

(2) I am running KStars/Ekos all locally on the RPi and starting the INDI server from Ekos. All my other devices work fine, so I known INDI server is doing something. With this configuration, where do I see or configure the STDERR output of the INDI server? I would like to see what specific error mcp23s17_open(0,0) is generating.

(3) Any other board setup that I have likely missed causing this error? I have verified the address jumpers on the Relay+ board.

Read More...