Hello Jasem.
I'm writing a new driver for the filter wheel OptecInc IFW
When the function "SetFilterNames()" is calling, I write the filter names on the EEprom of the OptecIFW.
When I start INDI with "indiserver -vv indi_Optec_Wheel and connect to the device,it works fine, in real or in simulation mode.
No issue at this step, Filter names are saved correctly, change slot works fine, and my init function too.
This function make a kind of reset of the IFW. Identify the wheel in the filter box (Could have 5 different wheel), and move to slot one.
One specific workflow of this Filter wheel is the filter naming convention.
Even if the EEProm is able to store any char, and we could read them via serial interface with a computer,
the small 8 digits display is only able to show these chars :
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ=.#/-%" you can see that ONLY capital letters are usable.
To avoid no chars the filterbox cannot display, I use REGEX to detect wrong char in the filternames.
Unfortunately with EKOS I get some troubles around that specific point.
I don't understand really the workflow, but due to the result I guess it should do one thing, write filternames, but I couldn't understand why?
When I start INDI from Ekos, no problem, but when I Connect from EKOS the issue occur.
The wheel connect correctly, and my init sequence start normally. The WheelID is retrieved, the filter position and the filter names with CAPITAL letters too.
The problem is that EKOS then seems to set the FILTERNAME property! why?
I can see that the original filter name, for example "GREEN" is set to "Green" by EKOS on FilterName property of my driver. As I've a REGEX to check if name is valid, the result is false and then I return false from SetFilter() and the process failed.
If I don't check the Filter name and return true, As SetFilter() is called, this new name is store in EEprom, but it isn't able to be displayed correctly to the FilterBox (Give "GGGGG")
Now IF from that state I click on disconnect from EKOS and the connect (Without stop INDI), the sequence goes without changing the Filtername, but I don't know if this is because the names follow some "EKOS Rules" or if this is done only after first start of INDI.
I join the log from EKOS.
Any idea what occur? I really would like to be able to use only the chars could be displayed by the FilterBox.
Is a bug in EKOS?
It is due to snoop method to get filter name? Could it be avoid?
MY last solution is to capitalise small letters, but this is not nice, and this is not necessary to write filtername from EKOS.
I hope you understand my issue, with my "own" English it shouldn't be so easy!