示例#1
0
def cwconnect(offset=1250, totalsamples=3000):

    api = CWCoreAPI()  # Instantiate the API

    api.setParameter(
        ['Generic Settings', 'Scope Module', 'ChipWhisperer/OpenADC'])
    api.setParameter(['Generic Settings', 'Target Module', 'Simple Serial'])

    #No actual need for saving data so we ignore this?
    #api.setParameter(['Generic Settings', 'Trace Format', 'ChipWhisperer/Native'])

    api.setParameter(
        ['Simple Serial', 'Connection', 'NewAE USB (CWLite/CW1200)'])
    api.setParameter(
        ['ChipWhisperer/OpenADC', 'Connection', 'NewAE USB (CWLite/CW1200)'])

    api.connect()

    # Example of using a list to set parameters. Slightly easier to copy/paste in this format
    lstexample = [
        [
            'CW Extra Settings', 'Trigger Pins', 'Target IO4 (Trigger Line)',
            True
        ],
        ['CW Extra Settings', 'Target IOn Pins', 'Target IO1', 'Serial RXD'],
        ['CW Extra Settings', 'Target IOn Pins', 'Target IO2', 'Serial TXD'],
        [
            'OpenADC', 'Clock Setup', 'CLKGEN Settings', 'Desired Frequency',
            7370000.0
        ],
        ['CW Extra Settings', 'Target HS IO-Out', 'CLKGEN'],
        ['OpenADC', 'Clock Setup', 'ADC Clock', 'Source', 'CLKGEN x4 via DCM'],
        ['OpenADC', 'Trigger Setup', 'Total Samples',
         int(totalsamples)],
        ['OpenADC', 'Trigger Setup', 'Offset',
         int(offset)],
        ['OpenADC', 'Gain Setting', 'Setting', 45],
        ['OpenADC', 'Trigger Setup', 'Mode', 'rising edge'],
        # Final step: make DCMs relock in case they are lost
        ['OpenADC', 'Clock Setup', 'ADC Clock', 'Reset ADC DCM', None],
    ]

    # Download all hardware setup parameters
    for cmd in lstexample:
        api.setParameter(cmd)

    return api