Esempio n. 1
0
def main():
    parser = argparse.ArgumentParser(description='Reads (and plots) ADC trace')
    parser.add_argument('--adc',
                        type=Coordinate.ADC,
                        help='ADC Board Id',
                        required=True)
    parser.add_argument('--ip',
                        type=str,
                        help='ADC Service IP',
                        required=False)
    parser.add_argument('--port',
                        type=int,
                        help='ADC Service Port',
                        required=False)
    parser.add_argument('--channel',
                        type=lambda x: Coordinate.ChannelOnADC(int(x)),
                        help="MUX",
                        required=False,
                        default=Coordinate.ChannelOnADC(0))
    parser.add_argument('--samples',
                        type=int,
                        help='Number of samples to collect',
                        required=True)
    parser.add_argument('--calibration',
                        action='store_true',
                        help='Try to apply calibration')
    parser.add_argument('--dump',
                        action='store_true',
                        help='Dump trace data to console')
    parser.add_argument('--plot',
                        action='store_true',
                        help='Plot trace data using matplotlib')
    args = parser.parse_args()

    init_logger()

    data = measure(args.adc, args.ip, args.port, args.channel, args.samples)

    if args.dump:
        dump(data)
    if args.plot:
        plot(data)
Esempio n. 2
0
    def get_trace(self, adc_channel, trace_length):
        HICANN.flush(self.h)

        conf = ADC.Config(trace_length, Coordinate.ChannelOnADC(adc_channel),
                          Coordinate.TriggerOnADC(0))
        ADC.config(self.adc, conf)
        ADC.trigger_now(self.adc)

        trace = ADC.get_trace(self.adc)

        v = -0.00066535 * trace + 2.02391
        t = np.arange(trace.size) * 1 / 96e6

        return (trace, v, t)