Model
The Model class define a data type for use with a Block.
For a usage-focused overview of how models are used within the PyRogue tree, see Model API.
- class pyrogue.Model(bitSize, binPoint=0)[source]
Extensible base class which describes how a data type is represented and accessed using the Rogue Variables and Blocks
- Parameters:
- Variables:
name (str) – String representation of the Model type
fstring (str) – Not sure what this is, Where is it used?
encoding (str) – Encoding type for converting between string and byte arrays. i.e. UTF-8
pytype (int) – Python type class.
defaultdisp (str) – Default display formatting string. May be overriden by the Variable disp parameter.
signed (bool) – Flag indicating if value is signed. Default=False
endianness (str) – Endianness indicator. ‘little’ or ‘big’. Default=’little’
bitReverse (bool) – Bit reversal flag.
modelId (int) – Block processing ID. See Block Process Types
isBigEndian (bool) – True if endianness = ‘big’
ndType (np.dtype) – numpy type value (bool, int32, int64, uint32, uin64, float32, float64)
- Return type:
Any
- property isBigEndian: bool
Return True if the model is big endian.
- toBytes(value)[source]
Convert the python value to byte array. Implement this method in a subclass to define the conversion.
- fromBytes(ba)[source]
Convert a byte array to a python value. Implement this method in a subclass to define the conversion.
- fromString(string)[source]
Convert a string to a python value. Implement this method in a subclass to define the conversion.
- minValue()[source]
Return the minimum value for the Model type. Implement this method in a subclass to define the minimum value.
- Return type:
Standard Models
The following are pre-defined models for various data types.
UInt
UIntBE
- class pyrogue.UIntBE(bitSize)[source]
Model class for big endian unsigned integers. Inherits from UInt.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
UIntReversed
Int
- class pyrogue.Int(bitSize)[source]
Model class for signed integers.
- Parameters:
bitSize (
int) – Number of bits being represented.args (Any)
kwargs (Any)
- Return type:
Any
- toBytes(value)[source]
Convert a python int value to a byte array.
- fromBytes(ba)[source]
Convert a byte array to a python int value.
- fromString(string)[source]
Convert a string to a python int value.
IntBE
- class pyrogue.IntBE(bitSize)[source]
Model class for big endian integers. Inherits from Int.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
Bool
- class pyrogue.Bool(bitSize)[source]
Model class for booleans.
- Parameters:
bitSize (
int) – Number of bits being represented. Must be 1.args (Any)
kwargs (Any)
- Return type:
Any
- pytype
alias of
bool
- toBytes(value)[source]
Convert a python bool value to a byte array.
- fromBytes(ba)[source]
Convert a byte array to a python bool value.
- fromString(string)[source]
Convert a string to a python bool value.
String
- class pyrogue.String(bitSize)[source]
Model class for strings.
- Parameters:
bitSize (
int) – Number of bits being represented.args (Any)
kwargs (Any)
- Return type:
Any
- pytype
alias of
str
- toBytes(value)[source]
Convert a python string value to a byte array.
- fromBytes(ba)[source]
Convert a byte array to a python string value.
Float
- class pyrogue.Float(bitSize)[source]
Model class for 32-bit floating point numbers.
- Parameters:
bitSize (
int) – Number of bits being represented. Must be 32.args (Any)
kwargs (Any)
- Return type:
Any
- pytype
alias of
float
- toBytes(value)[source]
Convert a python float value to a byte array.
- fromBytes(ba)[source]
Convert a byte array to a python float value.
- fromString(string)[source]
Convert a string to a python float value.
FloatBE
- class pyrogue.FloatBE(bitSize)[source]
Model class for 32-bit floats stored as big endian
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
Double
DoubleBE
- class pyrogue.DoubleBE(bitSize)[source]
Model class for 64-bit floats stored as big endian
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any