Python toolkit to access data on Opto 22 groov EPIC using the OptoMMP protocol. See OptoMMP Protocol Guide (form 1465) and the Opto 22 developer site for more details. Hosted on the Python Package Index (PyPI).
To use this package do sudo pip install optommp to get the package from PyPI, import optommp at the top of your *.py Python script, and then use the following functions to interface with your device(s):
-
O22MMP(host) - Initialize an Opto22 Memory Mapped object residing at 'host' address.
- O22MMP() - Default to
localhost/127.0.0.1
- O22MMP() - Default to
Misc. Functions
-
ReadRawOffset(offset, size, data_type) - Rads the raw address at
offsetcollectingsizebytes and usingdata_typeformatting to unpack it. -
LastError() - Returns the last error response code.
-
UnitDescription() - Returns the device unit description. For example,
GRV-EPIC-PR1 -
FirmwareVersion() - Returns the device firmware version. For example, 'R1.1a'
Ethernet Status Access Functions
-
IPAddressE0() - Returns the IP address associated with Ethernet 0 on the controller.
-
MACAddressE0() - Returns the MAC address associated with Ethernet 0 on the controller.
-
IPAddressE1() - Returns the IP address associated with Ethernet 1 on the controller.
-
MACAddressE1() - Returns the MAC address associated with Ethernet 1 on the controller.
Analog & Digital I/O Access Functions
-
SetDigitalPointState(module, channel, state) - The HD digital output at
channelonmodulewill be toggled tostate, which should be either 1 or 0. Returns status code. -
GetDigitalPointState(module, channel) - The state of the HD digital output at
channelonmodulewill be fetched. Returns state either 1 or 0. -
GetAnalogPointValue(module, channel) - Return the current float value of the analog I/O installed at
channelonmodule. -
SetAnalogPointValue(module, channel, value) - Set the analog I/O installed at
channelonmoduleto bevalue.valueshould be a float. -
GetAnalogPointMin(module, channel) - Return the minimum float value of the analog I/O installed at
channelonmodule. -
GetAnalogPointMax(module, channel) - Return the maximum float value of the analog I/O installed at
channelonmodule.
ScratchPad Area Access Functions
-
GetScratchPadIntegerArea(index) - Returns the
indexth scratch pad integer. -
SetScratchPadIntegerArea(index, value) - Sets the
indexth scratch pad integer to bevalue. -
GetScratchPadFloatArea(index) - Returns the
indexth scratch pad float. -
SetScratchPadFloatArea(index, value) - Sets the
indexth scratch pad float to bevalue. -
GetScratchPadStringArea(index) - Returns the
indexth scratch pad string. -
SetScratchPadStringArea(index, data) - Sets the
indexth scratch pad string to bedata.
Internal Memory-Map Functions
-
UnpackReadResponse(data, data_type) - Unpacks the string data from bytes 16-20 of a read response. Returns formatted data.
data_type--> struct format characters 'c', 'i', 'd', 'f', etc., or specifically 'FIRMWARE', 'IP', or 'MAC' for custom formatting, or 'NONE' for raw binary data. -
UnpackWriteResponse(data) - Unpacks the integer status code from bytes 4-8 of a write response. Returns int status.
-
PackFloat(value) - Packs floating point
vlaueinto a four-byte hexidecimal array. -
PackInteger(value) - Packs integer point
vlaueinto a four-byte hexidecimal array. -
ReadBlock(address) - Read value at memory location
address. Relies onBuidReadBlockRequest(), wraps up.send()and.recv()methods. Returns unpacked string data. -
WriteBlock(address, value) - Write
valueinto memory locationaddress. Relies onBuildWriteBlockRequest(), wraps up.send()and.recv()methods. Returns int status. -
BuildReadBlockRequest(dest, size) - Build the read block request bytearray. Returns bytearray block.
This is an internally used utility method to build a read request. Client code isn't likely to need it. -
BuildWriteBlockRequest(dest, value) - Build the write block request bytearray. Returns bytearray block.
This is an internally used utility method to build a read request. Client code isn't likely to need it. -
close() - Closes the socket connection to the device. Call this before the end of the script.