Gumstix Robostix
Support for the Gumstix Robostix is deprecated because the product lines using the Gumstix Verdex have been replaced with hardware based on the Gumstix DuoVero. Refer to the QUARC Linux DuoVero Target for details. |
The Gumstix's Robostix is a board built and sold by Gumstix, Inc. (www.gumstix.com). The Robostix is based around the Atmel ATMega128 AVR processor. Even though the Gumstix Robostix can run code as a standalone microcontroller, it can only be used with QUARC when connected to a Gumstix Verdex board. In this configuration, communication between the Robostix and the Verdex (which is where QUARC actually runs) is done using the Inter-Integrated Circuit (I2C) bus. More precisely, the gumstix configured as the I2C master sends commands for performing I/O to the Robostix which is set as the I2C slave. Please see the Gumstix's website (www.gumstix.com)for more information about the Robostix. The following characteristics are of particular interest when using the Robostix with QUARC:
The features of the Gumstix Robostix are:
To select the Robostix, pass robostix as the card type argument to hil_open function.
Please note that only one Robostix card can be connected to a Verdex board and is supported in the system. The QUARC controller runs on the Verdex board and communicates with the Robostix firmware using I2C.
Note that the Linux Verdex target must be selected to use the Robostix board, as it is connected to the Verdex board. |
The QUARC driver name for this card is robostix.
Installation Requirements
In order to use the Robostix HIL driver, the Robostix AVR and Gumstix will need to be setup. Refer to Gumstix and Robotstix Setup for more details.
On the Verdex side, the robostix.ko
kernel module should be loaded and the /dev/robostix
device should be available. Also the
I2C kernel drivers (i.e., i2c_dev.ko
, i2c_pxa.ko
, and i2c_core.ko
) should also be running to allow
communication between the Verdex and Robostix boards.
Clocks
The Robostix driver currently supports two (2) clocks, which are both only used to generate the PWM output(s). Clock 0 corresponds to Robostix Timer 1. Clock 1 corresponds to Robostix Timer 3.
The Robostix driver does not currently support any hardware timebase. Only the PWM output clock mode is supported at present. Hence, set the
Clock mode field to 1
to select the PWM output mode.
Analog Inputs
The Robostix driver supports 8 analog inputs, corresponding to the Robostix 10-bit Analog-to-Digital (A/D) converter located on port F. Hence, analog input channel numbers range from 0 to 7. Only positive voltages are measured, ranging from 0V (i.e., ground) to +5V.
Since the range of the analog inputs is fixed at 0-5V, there is no need to configure the analog input ranges.
Analog Outputs
The Gumstix Robostix card does not support analog outputs.
Digital Inputs
The Robostix driver supports 16 digital lines, which can be configured by the user either as digital input(s) or digital output(s). Digital channels 0 to 7 correspond to Robostix Port A (from port A.0 to A.7, respectively) and digital channels 8 to 15 correspond to Robostix Port C (from port C.0 to port C.7, respectively). A digital I/O line cannot be used as an input and output at the same time.
Since the 16 digital I/O lines may be individually programmed as inputs or outputs on the Robostix, all of those 16 channels which will be used for digital inputs should be configured using the hil_set_digital_directions function.
Digital Outputs
The Robostix driver supports 16 digital lines, which can be configured by the user either as digital input(s) or digital output(s). Digital channels 0 to 7 correspond to Robostix Port A (from port A.0 to A.7, respectively) and digital channels 8 to 15 correspond to Robostix Port C (from port C.0 to port C.7, respectively). A digital I/O line cannot be used as an input and output at the same time.
Since the 16 digital I/O lines may be individually programmed as inputs or outputs on the Robostix, all of those 16 channels which will be used for digital outputs should be configured using the hil_set_digital_directions function.
Encoder Inputs
The Gumstix Robostix card does not support encoder inputs.
PWM Outputs
The Robostix driver supports six (6) PWM output channels, using two of the Robostix hardware clocks, i.e., Robostix Timer 1 and Timer 3. See the section on Clocks above. Hence, PWM output channels range from 0 to 5. PWM output channels 0 to 2 correspond to Robostix PWM 1A, 1B, and 1C (from Clock 0 , a.k.a., Robostix Timer 1), respectively. PWM output channels 3 to 5 correspond to Robostix PWM 3A, 3B, and 3C (from Clock 1 , a.k.a., Robostix Timer 3), respectively.
In order to configure the PWM mode or frequency, the PWM outputs must be configured using the hil_set_pwm_mode and hil_set_pwm_frequency functions.
The PWM output frequency (a.k.a., pulse rate) is suitable to drive R/C servos. Specifically, it is set to 50 Hz, which is equivalent to a
PWM output period of 20 ms. Hence, set the PWM output mode to 0
the duty cycle output mode. The Robostix
driver does not currently support the frequency and period PWM output modes. Then set the PWM output frequency
to 50
Hz, the desired frequency. The Robostix driver
supports duty cycles ranging from 2.5% (i.e., a 0.5-ms pulse width) to 12.5% (i.e., a 2.5-ms pulse width), which is suitable for typical R/C
servo applications.
Other Inputs
The Gumstix Robostix card does not support other inputs.
Other Outputs
The Gumstix Robostix card does not support other outputs.
Interrupts
The Gumstix Robostix card, or its driver, does not support any interrupt sources.
Watchdog
The Gumstix Robostix card does not support a watchdog timer.
Board-Specific Options
The Gumstix Robostix card does not support any board-specific options.
Properties
The Gumstix Robostix card does not support any properties.
Targets
Target |
Supported |
Comments |
---|---|---|
No |
Not supported. |
|
No |
Not supported. |
|
No |
Not supported. |
|
No |
Not supported. |
|
No |
Not supported. |
|
No |
Not supported. |
|
No |
Not supported. |
|
No |
Not supported. |
|
No |
Not supported. |
|
Yes |
Fully supported. |
|
No |
Not supported. |
|
Rapid Simulation (RSIM) Target |
Yes |
Supported with no communication to the hardware. |
Normal simulation |
Yes |
Supported with no communication to the hardware. |
See Also
Copyright ©2023 Quanser Inc. This page was generated Thu 05/04/2023. Submit feedback to Quanser about this page.