First of all, thanks a lot about your quick response. I'm sorry I haven't had much time to either test it or come back to you on my tests.
I must confess I'm still not quite familiar with the parameters speed, ramp and flags, especially the last one, in servo_config(board,channel,speed,ramp,flags,trim_min,trim_max).
Speed and ramp must be specified how so?
As for the rest I'm assured the command lines are well designed.

I am working on an updated manual. There is a delay because I am switching from word to open-office and there are
compatibility issues. I have to do a lot of tedious work and I can stand only so many hours a week with elevated blood pressure!

The new manual states that you should just set the speed and ramp to zero.
Only use them if you find you have some issues with the motion.

Flags does nothing. It is for a feature which is not there yet.

I would appreciate any feedback on the drivers.
If I hear that they work, I can move them from alpha-status to release-status.

You do not need to further concern yourself using the servos, I've been told, it's a pointless ordeal using your board trying to control using your pins, as there are some left when plugging in your board. We just set some of the pins to GPIO and use PWM control fromthe GPIO toolbox on Python.

Thanks again for your time, and if I've ever incomodated you with a dumb question I'm sorry.

I was hoping to get some advice about the features of the Gertbot? I am looking for some stepper motor control as part of my PhD. Part of that is using a ramped data, which is a list of different frequencies steps that all together represent a particular velocity/accel. profile. Is there a way to feed in this data and have the motor run unninterrupted? Or would this have to be coded to recognise when the current steps have been finished before sending out the next line to be run? If this is the case, would this be limited to the 1 ms read steps timing and what would the deadtime between lines end up being?

I was also wondering if the Gertbot could run lower power stepper motors < 8 V?

Hello,
maybe my issue is too simple that I can't find any example for it or I'm blind?.
I would like to connect a closing relay to a digital input channel of the Gertbot and read the state (open or closed). I found already in the manual, that I need to set one of the unused pins of J3 as input, but I can't identify the pins and some lines of python commands would help to set and read the state of the input pin.
I connected already stepper motors with end switches and can control them, which was very nicely documented in the manual and the python example driver. This works perfectly.
Maybe anyone can give me a hint (the J3 pin numbering would already help a lot).
Greetings and thanks in advance!
Oliver
...in the meanwhile I found, that I can simply use some of the free GPIO pins of the Raspberry Pi. That makes it much easier and I might read them directly into my LabVIEW application (the programming frame of my application).
Greetings!
Oliver

Good morning Gert,
thank you for the reply! In fact I didn't take a look into the GUI manual, because I never got this GUI running on my Pi...but I will use this manual as an additional source of information to the user manual of the board.

Yes, I found also the read inputs example in the test_drivers.py. But I didn't dare to connect anything, because I didn't know, which pins are usable for input and how to connect them.

The remaining free GPIO pins of the raspberry pi are accessible, the internal pull-up or -down resistors can be easily connected without any further external hardware with the channel setting and I can use them directly with LabVIEW.

Anyway I like your board very much and hope they will pass the first field tests, soon. I have currently three of them connected to one Pi for controlling some dosing systems of a "smart" water sampler.

I am using two bipolar stepper motors connected to the Gertbot and a RPi 3 unit to control peristaltic pumps and I was wondering if it was possible to incorporate half-stepping and/or micro-stepping into the Gertbot code in order to get smoother transitions between steps especially using microstepping? I have been able to do this using an Adafruit HAT connected to the Pi so I was curious if the same is possible using the Gertbot and if so hwo I would go about gettign this to work?

Ok that's understandable thank you for your reply. I was also wondering if it is possible to implement a timer in the code such that it starts when the stepper motor begins to rotate and ends when the rotation(s) finishes and calculates the time interval between this? If so how would I go about implementing this?

Your question is somewhat confusing. You talk about a timer start & stop but then mention that it "calculates the time interval between this? " which is not what a timer function does.
You might have a look at section 7.25.2 of the manual Revision 2.8.
There is an signal called 'attention' which can be set to indicate that the stepper motors are not running. It goes to pin 22 of the Pi GPIO connector (See section 4.9.2). The signal is updated every millisecond so it is no instantaneous. It is an open collector line shared between cascaded gertbots, so it will indicate that all motors on all cards have stopped when it is high.
I'll be honest, I had forgotten about that function. I have not looked or tested it since the first version of the software so a new revision may have broken the functionality.

VNC will give you the entire desktop and needs a full raspbian not just a lite version.

I have had the gertbot gui running remotely on a windows box as follows (not a step by step guide):

On the Pi:

Install dependencies for gertbot gui and X11

If you haven't done so already install the gertbot gui

Install any other X/gui apps you might want to run. I suggest the gksu package in case you need to run gui apps as root.

On windows:

Install cygwin X (other X servers exist)

Install putty (other ssh programs exist)

Start the cygwin X server. I use multi-window mode but other modes should work.

Launch putty.

In the options list, find "ssh" then "X11" and tick "Enable X11 forwarding"

Start an ssh session to your Pi.

Launch the gertbot gui (or any other X app you need/want)

If your desktop box is running linux with a gui, open a terminal and connect to your Pi via ssh with either the -Y or -X option.

Notes:

There are potential security issues with X11 forwaarding. Under some circumstance it's possible for other users to gain access and run stuff on your display. As always, read the docs and decide if it's worth the risk.

I use cygwin X in multi-window mode as I have multiple monitors and it better integrates with that.

On windows 10 with cygwin X in multi-window mode gksudo runs best with the "--disable-grab" option.

If you want to carry on using the ssh session once the X11 app has started, remember to start as a background job (append &). Or, once it's running switch back to the ssh session, hit <ctrl>-z then "bg<return>" to resume it as a background job.

I have built a system which involves two Gerbots, each connected to two stepper motors. The first Gertbot (with two motors) is directly attached to the PI, with the second Gertbot connected to the first one via a ribbon cable. However the second Gerbot has intermittent issues where I have to change the BOARD number in my code from BOARD = 2 to BOARD = 0 or vice versa. However the first Gertbot stays on BOARD = 3. When running the GUI test bench for the Gertbot, both boards show as connected as BOARD 3 (first one, connected directly to Pi) and BOARD 2 (second one connected via ribbon cable). Why is there is discrepancy which causes the motors connected to the second GB to stop working? How do I fix this? Should add both Gertbots are up-to-date on the 2.8 firmware. Thank you in advance.

Ok so I see the relevant explanation about assigning IDs to the jumpers in the manual. How do I do this in the code though? At the moment I only specify BOARD = 1, 2, 3 etc and CHANNEL = 0, 2 etc. Where do I specify ID and what’s the syntax for this? Thank you!

I see. But how do I set the jumpers? I've attached the two Gertbots via a ribbon cable. How do I know what the ID for each board is then based on the jumpers? How does one call the board ID in the code? I'm quite confused about this!

Follow the image in the advanced manual chapter 2 to set the two board ID's you want.
Any board ID is OK as long as they are not the same.
To check if you have set the board ID's correctly you can start the gertbot GUI .
When you connect the GUI will show you which board ID's it has found.

Then in the code use those board ID's to talk to that board:

Every command which talks to a specific board has a 'board' parameter: