|
To run the program with realtime: cd to the folder that pygtk.py is in. type 'halrun' type 'loadusr python pygtk.py' If using simulator cd to folder type 'python pygtk.py' |
If using simulator
cd to folder type 'python pygtk.py'
I found this pages informative about custom widgets:
http://zetcode.com/tutorials/pygtktutorial/customwidget/
http://www.learningpython.com/2006/07/25/writing-a-custom-widget-using-pygtk/
http://www.pygtk.org/articles/cairo-pygtk-widgets/cairo-pygtk-widgets.htm
http://www.pygtk.org/articles/cairo-pygtk-widgets/cairo-pygtk-widgets2.htm
and for general pygtk info:
http://www.pygtk.org/pygtk2tutorial/index.html
http://www.pygtk.org/docs/pygtk/index.html
http://www.pygtk.org/articles.html
This is some of the info from the python imported module hal:
Help on module hal:
NAME
hal - Interface to emc2's hal
FILE
/home/chester/emc2-dev/lib/python/hal.so
DESCRIPTION
This module allows the creation of userspace HAL components in Python.
This includes pins and parameters of the various HAL types.
Typical usage:
import hal, time
h = hal.component("component-name")
# create pins and parameters with calls to h.newpin and h.newparam
h.newpin("in", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("out", hal.HAL_FLOAT, hal.HAL_OUT)
h.ready() # mark the component as 'ready'
try:
while 1:
# act on changed input pins; update values on output pins
time.sleep(1)
h['out'] = h['in']
except KeyboardInterrupt: pass
When the component is requested to exit with 'halcmd unload', a
KeyboardInterrupt exception will be raised.
DATA
HAL_BIT = 1
HAL_FLOAT = 2
HAL_IN = 16
HAL_IO = 48
HAL_OUT = 32
HAL_RO = 64
HAL_RW = 192
HAL_S32 = 3
HAL_U32 = 4
Methods defined here:
exit(...)
Call hal_exit
getprefix(...)
Get the prefix for newly created pins and parameters
newparam(...)
Create a new parameter
newpin(...)
Create a new pin
ready(...)
Call hal_ready
setprefix(...)
Set the prefix for newly created pins and parameters
FUNCTIONS
component_exists(...)
Return a TRUE value if the named component exists
pin_has_writer(...)
Return a FALSE value if a pin has no writers and TRUE if it does