Controller layer¶
-
class
icepap.controller.IcePAPController(host, port=5000, timeout=3, auto_axes=False, **kwargs)¶ IcePAP motor controller class.
-
abort(axes)¶ Abort multiple axis movement (IcePAP user manual pag. 129).
- Parameters
axes – [str/int]
-
add_alias(alias, axis)¶ Set a alias for an axis. The axis can have more than one alias.
- Parameters
alias – str
axis – int
-
add_aliases(aliases)¶ Set alias for mutiple axes.
- Parameters
aliases – {str: int}
-
add_pmux(source, dest='', pos=True, aux=True, hard=False)¶ Configures a position signal multiplexer configuration (IcePAP user manual, page 107).
- Parameters
source – Source node
dest – Target node
pos – Connect the Position signals
aux – Connect the Auxiliary signals
hard – Enabling/Disabling hard flag connection.
-
property
axes¶ Get the axes numbers.
- Returns
[int]
-
check_version()¶ Compares the current version installed with the supported versions specified in the versions module.
- Returns
system version number, -1 if not consistent.
-
clear_pmux(dest='')¶ Clear the multiplexer configuration. You can pass a destination with an optional signal or just the signals to remove (IcePAP user manual, page 107).
- Parameters
dest – node to remove
-
ctrlrst(axes)¶ Reset control position register for multiple axis.
- Parameters
axes – [str/int]
-
disconnect()¶ Method to close the communication with the IcePAP :return:
-
property
drivers¶ Get the drivers IcePAPAxis objects.
- Returns
[IcePAPAxis]
-
esync(axes)¶ Synchronize internal position register for multiple axis.
- Parameters
axes – [str/int]
-
get_acctime(axes, atype='NOMINAL')¶ Get multiple velocities (IcePAP user manual pag. 141).
- Parameters
axes – [str/int]
- Returns
[float]
-
get_aliases()¶ Get the aliases of the system. One axis can have move than one alias.
- Returns
{int:[str]}
-
get_enc(axes, register='AXIS')¶ Get multiple encoder.
- Parameters
axes – [str/int]
register – str
- Returns
[float]
-
get_fpos(axes, register='AXIS')¶ Fast read of multiple positions (IcePAP user manual pag. 73).
- Parameters
axes – [str/int]
register – str
- Returns
[float]
-
get_fstatus(axes)¶ Fast read of multiple status (IcePAP user manual pag. 74).
- Parameters
axes – [str/int]
- Returns
[int]
-
get_homestat(axes)¶ Get home search status.
- Parameters
axes – [str/int]
- Returns
[(str,int)] list of Status, Direction per motor
-
get_pmux()¶ Returns a list of the current signals sources used as axis indexers (IcePAP user manual, page 107).
- Returns
list of multiplexer configurations.
-
get_pos(axes, register='AXIS')¶ Get multiple position.
- Parameters
axes – [str/int]
register – str
- Returns
[float]
-
get_power(axes)¶ Get axes power state.
- Parameters
axes – [str/int]
- Returns
[bool]
-
get_prog_status()¶ Request the state of the firmware programing operations (IcePAP user manual, page 112).
- Returns
{ OFF | ACTIVE <progress> | DONE | ERROR }
-
get_rid(rack_nrs)¶ Get the rack hardware identification string (IcePAP user manual pag. 118).
- Parameters
rack_nrs – int/[int]
- Returns
[str]
-
get_rtemp(rack_nrs)¶ Get the rack temperatures (IcePAP user manual pag. 123).
- Parameters
rack_nrs – int/[int]
- Returns
[float]
-
get_states(axes)¶ Fast read of the multiples status
- Parameters
axes – [str/int]
- Returns
[State]
-
get_status(axes)¶ Read of multiple status (IcePAP user manual pag. 128).
- Parameters
axes – [str/int]
- Returns
[int]
-
get_velocity(axes, vtype='NOMINAL')¶ Get multiple velocities (IcePAP user manual pag. 141).
- Parameters
axes – [str/int]
- Returns
[float]
-
items()¶ Get the axes and drivers IcePAPAxis objects.
- Returns
[(axis, IcePAPAxis),]
-
property
mode¶ Get the system mode (IcePAP user manual pag. 91).
- Returns
str
-
move(axes_pos, group=True, strict=False)¶ Start absolute movement for axes motor. The method allows aliases.
- Parameters
axes_pos – [(str/int, int)]
group – bool
strict – bool
-
movep(pos, axes, group=True, strict=False)¶ Start axes movement to parameter value.
- Parameters
pos – float
axes – [str/int]
group – bool
strict – bool
-
pmove(pos, axes, group=False, strict=False)¶ Start parameter movement.
- Parameters
pos – float
axes – [str/int]
group – bool
strict – bool
-
print_commands()¶ Get the allowed commands (IcePAP user manual pag. 75).
-
prog(component, force=False)¶ Firmware programming command. This command uses the firmware code previously stored in the flash memory of the system master board (IcePAP user manual, page 112).
- Parameters
component – { board adress | DRIVERS | CONTROLLERS| ALL }
force – Force overwrite regardless of being idential versions.
-
reboot()¶ System reboot (IcePAP user manual pag. 115).
-
reset(rack_nr=None)¶ Reset system or rack (IcePAP user manual pag. 117).
-
rmove(axes_pos, group=True, strict=False)¶ Start relative movement for axes motor. The method allows aliases.
- Parameters
axes_pos – [(str/int,int)]
group – bool
strict – bool
-
send_cmd(cmd)¶ Communication function used to send any command to the IcePAP controller.
- Parameters
cmd – string command following the Programming Interface.
- Returns
None or list of string without the command and the CRLF.
-
set_acctime(axes_acc)¶ Set multiple velocities (Icepap user manual pag. 141).
- Parameters
axes_acc – [(str/int, float)]
-
set_enc(axes_pos, register='AXIS')¶ Set multiple encoder.
- Parameters
axes_pos – [(str/int,int)]
register – str
-
set_pos(axes_pos, register='AXIS')¶ Set multiple positions.
- Parameters
axes_pos – [(str/int,int)]
register – str
-
set_power(axes, power_on=True)¶ Set axes power state.
- Parameters
axes – [str/int]
power_on – bool
-
set_velocity(axes_vel)¶ Set multiple velocities (Icepap user manual pag. 141).
- Parameters
axes_vel – [(str/int, float)]
-
sprog(component=None, force=False, saving=False)¶ Firmware programming command. This command assumes that the firmware code will be transferred as a binary data block (IcePAP user manual, page 112).
- Parameters
component – { NONE | board adress | DRIVERS | CONTROLLERS| ALL }
force – Force overwrite regardless of being idential versions.
saving – Saves firmware into master board flash.
-
stop(axes)¶ Stop multiple axis movement (IcePAP user manual pag. 129).
- Parameters
axes – [str/int]
-
update_axes()¶ Method to check if the axes created are presents. In case of no, the method will remove the IcePAPAxis object and its aliases.
Note: The axis can be present but not alive
- Returns
-
property
ver¶ Get the version of the all driver modules: Driver, DSP, FPGA, PCB, IO (IcePAP user manual pag. 144).
- Returns
dict{module: (ver, date)}
-
property
ver_saved¶ Returns the firmware version stored in the master flash memory.
- Returns
dict{}
-