Home‎ > ‎

OSIF console

If you need a tool to setup your OpenServos, this console is for you. With it, you can:
  • use an unlimited number of servos
  • mix servos versions
  • add new servo versions
  • add non-servo devices (levels, etc...)
  • use an unlimited number of communications adapters
  • mix communications adapters type (OSIF supported now)
  • have access to a full range of tools: monitor, record, configure,  control, flash, etc...
Written in Python programming language, it is open source and can be modified to suit your needs.

Speed matters

The console was designed to test and setup servos, not as a programmer unit to drive them.
  • It uses an interpreted, object oriented language with multiple communication layers between the adaptor and the final display.
  • All panes and script compete for a single asynchronous I/O channel (per adapter) . The total bandwith is shared between all of them. There is no bandwith limit enforced so that a monitor panel using a very short polling period can bring the communication channel down. Most of the time, late answers are just ignored so that even if the information comes back, it will be unusable.
  • A similar limit exists for the number of panels and the number of fields used. Each field is accessed by a different request and each panel uses distincts queries.
  • Scripts run in  a controller that must check for stop or pause signal at each line.
  • MS Windows use a time slice of 10-15 ms.; typical value for Linux is about 10ms. This is the minimum time resolution for monitoring. We typically get 1 register read or 1 register write per time slice. We cannot get any faster short of writing a driver in kernel mode.
Still, 60-100 IO transactions per second is fast enough to tune and monitor servos in the speed range we use.

Creative Commons License
OSIF Console Documentation by Laurent Marcoux is licensed under a Creative Commons Attribution 3.0 Unported License.

Laurent Marcoux,
Jan 5, 2011, 1:22 PM
Laurent Marcoux,
Jan 14, 2011, 12:19 AM
Laurent Marcoux,
Jan 22, 2011, 3:35 AM