aboutsummaryrefslogtreecommitdiff
path: root/fw/8b10b_test_vector_gen.py
diff options
context:
space:
mode:
authorjaseg <git@jaseg.net>2018-12-23 12:57:40 +0900
committerjaseg <git@jaseg.net>2018-12-23 12:57:40 +0900
commit62389e00fed49b7b89f465c9cd6bb586502331be (patch)
treee38348acaef07b595459057422ee6d92f8cea9c8 /fw/8b10b_test_vector_gen.py
parent468fe59d9747078830dd489668b8c8ee8520b4a5 (diff)
download8seg-62389e00fed49b7b89f465c9cd6bb586502331be.tar.gz
8seg-62389e00fed49b7b89f465c9cd6bb586502331be.tar.bz2
8seg-62389e00fed49b7b89f465c9cd6bb586502331be.zip
ADC working
Diffstat (limited to 'fw/8b10b_test_vector_gen.py')
-rwxr-xr-xfw/8b10b_test_vector_gen.py43
1 files changed, 0 insertions, 43 deletions
diff --git a/fw/8b10b_test_vector_gen.py b/fw/8b10b_test_vector_gen.py
deleted file mode 100755
index 12460c1..0000000
--- a/fw/8b10b_test_vector_gen.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python3
-
-def parse_size(s):
- s = s.lower()
- SUFFIXES = {'k': 1e3, 'm': 1e6, 'g': 1e9}
- if s[-1] in SUFFIXES:
- return int(int(s[:-1]) * SUFFIXES[s[-1]])
- return int(s)
-
-def hexdump(data, byte_per_line=64):
- for i in range(0, len(data), byte_per_line):
- out = data[i:i+byte_per_line]
- print(' '.join(f'{out[k]:02x}' for k in range(len(out)))) # use len(out) to handle partial lines
-
-if __name__ == '__main__':
- from itertools import product
- import os
- import argparse
-
- parser = argparse.ArgumentParser()
- parser.add_argument('cmd')
- parser.add_argument('-l', '--length', default='1M', help='Generate [length} byte test vector. Only applicable to random.')
- parser.add_argument('-s', '--syncfreq', default=None, help='Emit comma every [syncfreq] bytes. Default: don\'t emit any commas. Only applicable to random.')
- args = parser.parse_args()
-
- length = parse_size(args.length)
- syncfreq = parse_size(args.syncfreq)
-
-
- if args.cmd == 'exhaustive_separated':
- for i, j, k in product(range(256), range(256), range(256)):
- print(f'K.28.1 {i:02x} {j:02x} {k:02x}')
-
- elif args.cmd == 'exhaustive_block':
- print('K.28.1')
- for i, j, k in product(range(256), range(256), range(256)):
- print(f'{i:02x} {j:02x} {k:02x}')
-
- elif args.cmd == 'random':
- for chunk in range(0, length, syncfreq):
- print('K.28.1')
- hexdump(os.urandom(min(length-chunk, syncfreq)))
-