facedancer.backends.goodfet module

class facedancer.backends.goodfet.Facedancer(serialport, verbose=0)[source]

Bases: object

halt()[source]
read(n)[source]

Read raw bytes.

readcmd()[source]

Read a single command.

reset()[source]
write(b)[source]

Write raw bytes.

writecmd(c)[source]

Write a single command.

class facedancer.backends.goodfet.FacedancerCommand(app=None, verb=None, data=None)[source]

Bases: object

as_bytestring()[source]
long_string()[source]
class facedancer.backends.goodfet.GoodFETMonitorApp(device, verbose=0)[source]

Bases: FacedancerApp

announce_connected()[source]
app_name = 'GoodFET monitor'
app_num = 0
echo(s)[source]
get_clocking()[source]
get_infostring()[source]
list_apps()[source]
print_info()[source]
read_byte(addr)[source]
facedancer.backends.goodfet.GoodFETSerialPort(**kwargs)[source]

Return a Serial port using default values possibly overriden by caller

class facedancer.backends.goodfet.GoodfetMaxUSBApp(device=None, verbose=0, quirks=None)[source]

Bases: MAXUSBApp

ack_status_stage(blocking=False)[source]

Handles the status stage of a correctly completed control request, by priming the appropriate endpoint to handle the status phase.

Parameters:
  • direction – Determines if we’re ACK’ing an IN or OUT vendor request. (This should match the direction of the DATA stage.)

  • endpoint_number – The endpoint number on which the control request occurred.

  • blocking – True if we should wait for the ACK to be fully issued before returning.

app_name = 'MAXUSB'
app_num = 64
classmethod appropriate_for_environment(backend_name)[source]

Determines if the current environment seems appropriate for using the GoodFET::MaxUSB backend.

enable()[source]
init_commands()[source]
read_bytes(reg, n)[source]
read_register(reg_num, ack=False)[source]
write_bytes(reg, data)[source]
write_register(reg_num, value, ack=False)[source]