Main module

This is the module that handles all the communication with the current Gramophone device.

Gramophone class

class Gramophone.Gramophone(device, verbose=False)[source]

Representation of a Gramophone device.

Parameters
  • device (usb.core.Device) – The USB device.

  • verbose (bool) – If set to True the details of the communication are printed.

class Parameter(name, info, type)
property info

Alias for field number 1

property name

Alias for field number 0

property type

Alias for field number 2

decode_payload(param_id, payload)[source]

Decodes the given payload based on the type of the parameter.

Parameters
  • param_id (int) – The key for the parameter dict. See: Gramophone.parameters

  • payload (list) – The payload that will be decoded

decode_response(response)[source]

Decodes a response. Returns the error message if the command was not successful and None otherwise.

Parameters

response – The response to decode.

Ptype response

Packet

ping()[source]

Send a ping packet with 5 bytes and print the time the process took.

read_analog_out()[source]

Read the voltage of the analog output.

Returns

The voltage the analog output is set to.

Return type

float

read_dev_state()[source]

Read the state of the device. The device should be in 0x01 state for usage. The 0x00 state is for setup.

Returns

The device state. ‘Application’ or ‘IAP’

Return type

str

read_firmware_info()[source]

Read the firmware information from the Gramophone. Sets the fimware related variables of the object.

Returns

A dictionary with the firmware info fields in a human readable format.

Return type

dict

read_homing_position()[source]

The home postion that can be found by homing.

Returns

The position

Return type

int

read_homing_state()[source]

Reads wheter the device is homing. A home position can be set and this value changes when it is reached. 0 if the encoder is not trying to find the home position, 1 if it is homing and 2 if the home position was found.

Returns

0, 1 or 2 dependin on the state

Return type

int

read_input(input_id)[source]

Read the state of a digital input.

Parameters

input_id (int) – The number of the digital input (1 or 2)

Returns

0 if the input is low, 1 if it is high

Return type

int

read_inputs()[source]

Read the state of all digital inputs.

Returns

dict with input numbers as keys, and their states as values. eg: {1:1, 2:1} when both inputs are high

Return type

dict

read_linmaze_params()[source]

Read the parameters for the LineMaze module. Time, position, and IO combined.

Retruns

A dict with the read parameters, with ids as keys

Return type

dict

read_output(output_id)[source]

Read the state of a digital output.

Parameters

output_id (int) – The number of the digital output (1 to 4)

Returns

0 if the output is low, 1 if it is high

Return type

int

read_outputs()[source]

Read the state of all digital outputs.

Returns

dict with output numbers as keys, and their states as values. eg: {1:0, 2:0, 3:0, 4:0} when both outputs are low

Return type

dict

read_param(param_id)[source]

Read a single parameter and return its value.

Parameters

param_id (int) – The id of the parameter that should be read.

Returns

The value of the parameter

Return type

depends on the parameter, see: Gramophone.parameters

read_params(combo_id)[source]

Read multiple parameters and return them in a dict.

read_position()[source]

Read the position register of the Gramophone.

Returns

The position in counts travelled (1 full rotation = 14400 counts)

Return type

int

read_product_info()[source]

Read the product information from the Gramophone. Sets the product related variables of the object.

Returns

A dictionary with the product info fields in a human readable format.

Return type

dict

read_recorder_params()[source]

Read the parameters for the Recorder module. Time, velocity, and IO combined.

Retruns

A dict with the read parameters, with ids as keys

Return type

dict

read_sensors()[source]

Read the values from the voltage and temperature sensors.

Returns

A dict with the parameter ids as keys. See: Gramophone.parameters

Return type

dict

read_temperatures()[source]

Read the values from the temperature sensors.

Returns

A dict with the parameter ids as keys. See: Gramophone.parameters

Return type

dict

read_time()[source]

Read the time from the Gramophone’s clock

Returns

Time in ms/10

Return type

int

read_velocity()[source]

Read the velocity of the Gramophones disk. Velocity is averaged in a window with a set size.

Returns

Velocity in counts/sec (1 full rotation = 14400 counts)

Return type

read_voltages()[source]

Read the values from the voltage sensors.

Returns

A dict with the parameter ids as keys. See: Gramophone.parameters

Return type

dict

read_window_size()[source]

Read the window size of the velocity calculation, ie. how many position differences are averaged to get the velocity. Larger windows result in smoother velocity but slower response.

Retruns

The window size

Return type

int

reset()[source]

Reset the device. Returns None if successful and the error string otherwise.

reset_position()[source]

Reset the Gramophone’s internal position counter to 0.

reset_time()[source]

Reset the Gramophone’s internal clock to 0.

send(packet)[source]

Sends a Packet to the device.

Parameters

packet – The Packet to send.

Ptype packet

Packet

stop_burst(port)[source]

Stop turning the given port on and off. see: start_burst

Parameters

port (int (1-4)) – The port that will stop being turned on and off

write_analog(value)[source]

Set the analog output to the given voltage, eg. to 2.1 V

Parameters

value (float) – The voltage that will be set.

write_output(output, value)[source]

Set the given output to a given state, eg. output 1 to 1 (high).

Parameters
  • output (int) – The output to set (1 to 4)

  • value (int) – The state to set (1 is high, 0 is low)

write_param(param, payload)[source]

Write the given payload into the given parameter.

Helper classes

class Gramophone.Packet(target, source, cmd, payload, msn=None)[source]

A 64 byte data packet that can be sent to the Gramophone.

Parameters
  • target ([int, int]) – 2 byte address of the target. source of the reply given to this packet

  • source ([int, int]) – 2 byte address of the source. target of the reply given to this packet

  • cmd (int) – Identifier of the command

  • payload (list of ints) – The payload for the command eg.: the value to write

  • msn (int) – Any number. The reply packet’s msn will be the same.

class Gramophone.GramophoneError[source]

Exception for Gramophone related communication errors.