software/dump: add JSON dump
This commit is contained in:
parent
72c9930705
commit
1243ab3c81
|
@ -168,6 +168,8 @@ class LiteScopeAnalyzerDriver:
|
|||
dump = CSVDump()
|
||||
elif ext == ".py":
|
||||
dump = PythonDump()
|
||||
elif ext == ".json":
|
||||
dump = JSONDump()
|
||||
elif ext == ".sr":
|
||||
dump = SigrokDump(samplerate=samplerate)
|
||||
else:
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
from litescope.software.dump.common import DumpData, DumpVariable, Dump
|
||||
from litescope.software.dump.csv import CSVDump
|
||||
from litescope.software.dump.python import PythonDump
|
||||
from litescope.software.dump.json import JSONDump
|
||||
from litescope.software.dump.sigrok import SigrokDump
|
||||
from litescope.software.dump.vcd import VCDDump
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
#
|
||||
# This file is part of LiteScope.
|
||||
#
|
||||
# Copyright (c) 2021 Arnaud Durand <arnaud.durand@unifr.ch>
|
||||
# SPDX-License-Identifier: BSD-2-Clause
|
||||
|
||||
import json
|
||||
|
||||
from litescope.software.dump.common import Dump
|
||||
|
||||
|
||||
class JSONDump(Dump):
|
||||
def __init__(self, dump=None):
|
||||
Dump.__init__(self)
|
||||
self.variables = [] if dump is None else dump.variables
|
||||
|
||||
def generate_data(self):
|
||||
return {v.name: v.values for v in self.variables}
|
||||
|
||||
def write(self, filename):
|
||||
with open(filename, "w") as f:
|
||||
json.dump(self.generate_data(), f)
|
||||
|
||||
def read(self, filename):
|
||||
raise NotImplementedError("Python files can not (yet) be read, please contribute!")
|
Loading…
Reference in New Issue