code: def new_struct(self, type, name, *parameters):
          
          configs, parameters, _ = self._get_parameters_with_defaults(parameters)
          self._add_struct_name_to_params(name, parameters)
          self._message_stack.append(StructTemplate(type, name, self._current_container, parameters, length=configs.get('length'), align=configs.get('align')))
docs: Defines a new struct to template.
  
          You must call `End Struct` to end struct definition. `type` is the name
          for generic type and `name` is the field name in containing structure.
          Possible parameters are values for struct fields separated with colon
          and optional struct length defined with `length=`. Length can be used in
          receiveing to validate that struct matches predfeined length. When
          sending, the struct length can refer to other message field which will
          then be set dynamically.
  
          Examples:
          | New struct | Pair | myPair |
          | u8     | first |
          | u8     | second |
          | End Struct |