diff --git a/desc/Descriptor.py b/desc/Descriptor.py index 2e848ea..8bd488c 100644 --- a/desc/Descriptor.py +++ b/desc/Descriptor.py @@ -27,9 +27,10 @@ class USB_DescriptorSize(Enum): # base class for descriptor generator class Descriptor(StructGenerator.StructRecord): + QUALIFIERS = "const" def __init__(self, name, ctype, content, comment=None): super().__init__(name, ctype, content, comment) - self.qualifiers = "const" + self.qualifiers = Descriptor.QUALIFIERS self.typedef = ctype[8:] self.attribute = "packed" diff --git a/desc/main.py b/desc/main.py index 8830e79..8498b2a 100644 --- a/desc/main.py +++ b/desc/main.py @@ -10,10 +10,21 @@ from ConfigGenerator import ConfigGenerator # fetch USB settings usb_config_file_name = argv[1] +#usb_config_file_name = "/home/epagris/VCSDEV/usbt1/stws/USB-T1/Modules/flatUSB/desc/usb_config_cdc.json" with open(usb_config_file_name, 'r') as usb_config_file: usb_config_data = usb_config_file.read() usb_config = json.loads(usb_config_data) +# process "misc" +if "misc" in usb_config: + misc = usb_config["misc"] + + # mutable descriptors + if "mutable_descriptors" in misc: + if misc["mutable_descriptors"]: + desc.Descriptor.QUALIFIERS = "" + +# generate config cfggen = ConfigGenerator(usb_config) cfggen.generate()