I'm wondering if you'd be willing to share your code (both XML and driver) with me - I've been playing with the StandardFirmata and the various indiduino example XMLs, and I've been able to write my own config XML such that I can drive a few relays, create a few PWM signals, and read a few microswitches, but I'm struggling to integrate anything else, such as e.g an I2C device. The documentation I generally find on anything indiduino is - at best - fairly rudimentary and usually shows the sort of minimal thing you can do. I'm looking for a more versatile driver where I can choose for each pin between input, output, PWM, servo (if that's different than pwm), I2C, onewire, and possibly even more. There's a sort of universal one for the raspberrypi/indi-3rd-party/indi-pi-gpio where you can program up to 5 devices like that (for use on the pi, not on the arduino, of course), and I was looking at increasing it to 9, but as soon as I did that ("static const int n_gpio_pin = 5; -> 9") and built the driver, the indi device crashed, and returning it back to 5 devices and rebuilding the driver didn't fix that crash, so I'm sort of at a loss. So, your meteostation has a lot of different sensors, some on I2C, some perhaps just analogue 0-5V, some onewire even ? I'm keen to learn a bit more about this.
I've written part of a driver (well, XML config) for an indiduino device, and it works well so far, starting with the Arduino Servo example.
One thing I can't find any documentation about is how to use the group="Options" ...
I can define a Servo, but it takes a Number as an input, typically the 0-255 PWM output.
Now, if I wish to impose some limits (i.e. minimum 40 and maximum 168) such that my servo doesn't go outside the 57-237 degree window), can I do that in the options page?
I can define a servo with hardcoded limits, but can we use softcoded (referenced) limits (from the options group) instead?
If so, how would that work, anyone has some example code for that ?
Could I then define an OPEN/CLOSE switch that would send the servo back and forth between these to option limits?
Can this be done in the mydevice_sk.xml config for indiduino, or do I need to do this inside the standardfirmata.ino running on the Arduino ?
Nice! I'm running the same version. Hope to get it all ready before Wednesday May 26th (total lunar eclipse out here).
I've found one issue which I don't understand -
So, I'm tinkering away with an Arduino next to the Raspberry Pi, in order to drive a servo and a relay, and that's all sort-of OK so far
I can run that on the StellarMate via VNC,
I use VNC on my laptop to tunnel through the hotspot into the Stellarmate,
I can edit the /usr/share/indi/<my device>_sk.xml setup for the indiduino device,
I run KStars and then EKOS on the Stellarmate, and
I can configure the indiduino <my device> settings in EKOS, and
the switch switches and the servo serves, etc.
HOWEVER then when I tunnel back out and run KStars and EKOS on my laptop, using the remote StellarMate as an indi-server, I cannot add <my device> to my virtual observatory.
What am I doing wrong here?
Do I need the <my device>_sk.xml on my local laptop as well, and if so, where ?
It seems strange to me that the client needs to have the configs for the server ?!?