public void WriteEnumDataType(StreamWriter writer, EnumDataType datatype) { writer.WriteLine("/* Enum Datatype : " + datatype.Name + " */"); /* Write datatype */ writer.WriteLine("typedef enum "); writer.WriteLine("{"); /* Write values */ for (int i = 0; i < datatype.Fields.Count; i++) { writer.Write(RteFunctionsGenerator.CreateEnumValue(datatype.Fields[i])); writer.WriteLine(","); } /* Write elements count */ //writer.WriteLine(" " + datatype.Name + "_ELEMENTS_COUNT"); writer.WriteLine("} " + datatype.Name + ";"); writer.WriteLine(""); int minLimit = datatype.GetLimit(LimitType.ltLowerLimit); String defineMin = RteFunctionsGenerator.CreateDefine(datatype.Name + "_LOWER_LIMIT", minLimit.ToString()); writer.WriteLine(defineMin); int upperLimit = datatype.GetLimit(LimitType.ltUpperLimit); String defineMax = RteFunctionsGenerator.CreateDefine(datatype.Name + "_UPPER_LIMIT", upperLimit.ToString()); writer.WriteLine(defineMax); writer.WriteLine(""); /* Generate an array if it existis*/ ArrayDataTypeGenerator.GenerateArrayForDataType(writer, datatype); }
public void WriteSimpleDataType(StreamWriter writer, SimpleDataType datatype) { writer.WriteLine("/* Datatype : " + datatype.Name + " */"); /* Write limits */ String upperLimit = datatype.Name + "_UPPER_LIMIT"; string maxValue = datatype.MaxValue; string minValue = datatype.MinValue; if (datatype.GetBaseDataType() == AutosarApplication.GetInstance().BaseDataTypes.float32) { minValue = acceptFloatValue(datatype.MinValue); maxValue = acceptFloatValue(datatype.MaxValue); } writer.WriteLine(RteFunctionsGenerator.CreateDefine(upperLimit, maxValue)); String lowerLimit = datatype.Name + "_LOWER_LIMIT"; writer.WriteLine(RteFunctionsGenerator.CreateDefine(lowerLimit, minValue)); /* Write datatype */ String dataTypeName = AutosarApplication.GetInstance().GetDataTypeName(datatype.BaseDataTypeGUID); string typedef = RteFunctionsGenerator.FillStringForCount("typedef " + dataTypeName, ' ', 24); writer.WriteLine(typedef + datatype.Name + ";"); writer.WriteLine(""); /* Generate an array if it existis*/ ArrayDataTypeGenerator.GenerateArrayForDataType(writer, datatype); }
public void WriteComplexDataType(StreamWriter writer, ComplexDataType datatype) { writer.WriteLine("/* Complex datatype : " + datatype.Name + " */"); writer.WriteLine("typedef struct"); writer.WriteLine("{"); foreach (ComplexDataTypeField field in datatype.Fields) { if (!field.IsPointer) { writer.WriteLine(" " + field.DataTypeName + " " + field.Name + ";"); } else { writer.WriteLine(" " + field.DataTypeName + " *" + field.Name + ";"); } } writer.WriteLine("} " + datatype.Name + ";"); writer.WriteLine(""); /* Generate an array if it existis*/ ArrayDataTypeGenerator.GenerateArrayForDataType(writer, datatype); }