2 byte pin index #4097

fixing what was just broken
This commit is contained in:
rusefillc 2022-04-24 23:49:29 -04:00
parent 7e40edbebc
commit 388a4d238c
4 changed files with 12 additions and 17 deletions

Binary file not shown.

View File

@ -291,7 +291,8 @@ public class ReaderState {
if (log.debugEnabled()) if (log.debugEnabled())
log.debug("Need to align before " + cf.getName()); log.debug("Need to align before " + cf.getName());
structure.addAlignmentFill(state, getPrimitiveSize); structure.addAlignmentFill(state, getPrimitiveSize);
} else { } else if (getPrimitiveSize == null) {
// we are here for struct members
structure.addAlignmentFill(state, 4); structure.addAlignmentFill(state, 4);
} }

View File

@ -8,7 +8,6 @@ import com.rusefi.output.BaseCHeaderConsumer;
import com.rusefi.output.ConfigStructure; import com.rusefi.output.ConfigStructure;
import com.rusefi.output.JavaFieldsConsumer; import com.rusefi.output.JavaFieldsConsumer;
import com.rusefi.output.TSProjectConsumer; import com.rusefi.output.TSProjectConsumer;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import java.io.IOException; import java.io.IOException;
@ -79,16 +78,18 @@ public class ConfigFieldParserTest {
@Test @Test
public void testCustomEnum() throws IOException { public void testCustomEnum() throws IOException {
String test = "struct pid_s\n" + String test = "struct pid_s\n" +
"#define ego_sensor_e_size 4\n" +
"#define ego_sensor_e_enum \"BPSX\", \"Innovate\", \"14Point7\"\n" + "#define ego_sensor_e_enum \"BPSX\", \"Innovate\", \"14Point7\"\n" +
"custom ego_sensor_e @@ego_sensor_e_size@@ bits, S32, @OFFSET@, [0:1], @@ego_sensor_e_enum@@\n" + "custom ego_sensor_e 1 bits, S32, @OFFSET@, [0:1], @@ego_sensor_e_enum@@\n" +
"ego_sensor_e afr_type;\n" + "ego_sensor_e afr_type;\n" +
"int8_t int\n" +
"end_struct\n"; "end_struct\n";
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
TestTSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer("", state); TestTSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer("", state);
state.readBufferedReader(test, (tsProjectConsumer)); state.readBufferedReader(test, (tsProjectConsumer));
assertEquals("afr_type = bits, S32, 0, [0:1], \"BPSX\", \"Innovate\", \"14Point7\", \"INVALID\"\n" + assertEquals("afr_type = bits, S32, 0, [0:1], \"BPSX\", \"Innovate\", \"14Point7\", \"INVALID\"\n" +
"int = scalar, S08, 1, \"\", 1, 0, 0, 100, 0\n" +
"alignmentFill_at_2 = array, U08, 2, [2], \"units\", 1, 0, -20, 100, 0\n" +
"; total TS size = 4\n", tsProjectConsumer.getContent()); "; total TS size = 4\n", tsProjectConsumer.getContent());
} }
@ -544,23 +545,17 @@ public class ConfigFieldParserTest {
"\t */\n" + "\t */\n" +
"\tint8_t byte1 = (int8_t)0;\n" + "\tint8_t byte1 = (int8_t)0;\n" +
"\t/**\n" + "\t/**\n" +
"\t * need 4 byte alignment\n" +
"\tunits\n" +
"\t * offset 1\n" + "\t * offset 1\n" +
"\t */\n" + "\t */\n" +
"\tuint8_t alignmentFill_at_1[3];\n" +
"\t/**\n" +
"\t * offset 4\n" +
"\t */\n" +
"\tint8_t byte2 = (int8_t)0;\n" + "\tint8_t byte2 = (int8_t)0;\n" +
"\t/**\n" + "\t/**\n" +
"\t * need 4 byte alignment\n" + "\t * need 4 byte alignment\n" +
"\tunits\n" + "\tunits\n" +
"\t * offset 5\n" + "\t * offset 2\n" +
"\t */\n" + "\t */\n" +
"\tuint8_t alignmentFill_at_5[3];\n" + "\tuint8_t alignmentFill_at_2[2];\n" +
"};\n" + "};\n" +
"static_assert(sizeof(pid_s) == 8);\n" + "static_assert(sizeof(pid_s) == 4);\n" +
"\n", "\n",
consumer.getContent()); consumer.getContent());
} }

View File

@ -37,11 +37,10 @@ public class JavaSensorsConsumerTest {
"alignmentFill_at_10(\"need 4 byte alignment\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 10, 1.0, -20.0, 100.0, \"units\"),\n" + "alignmentFill_at_10(\"need 4 byte alignment\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 10, 1.0, -20.0, 100.0, \"units\"),\n" +
"luaTimingMult(\"luaTimingMult\", SensorCategory.SENSOR_INPUTS, FieldType.INT, 12, 1.0, -1.0, -1.0, \"\"),\n" + "luaTimingMult(\"luaTimingMult\", SensorCategory.SENSOR_INPUTS, FieldType.INT, 12, 1.0, -1.0, -1.0, \"\"),\n" +
"vehicleSpeedKph(\"vehicleSpeedKph\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 16, 1.0, -1.0, -1.0, \"\"),\n" + "vehicleSpeedKph(\"vehicleSpeedKph\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 16, 1.0, -1.0, -1.0, \"\"),\n" +
"alignmentFill_at_17(\"need 4 byte alignment\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 17, 1.0, -20.0, 100.0, \"units\"),\n" + "internalMcuTemperature(\"mcu\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 17, 1.0, 0.0, 0.0, \"deg C\"),\n" +
"internalMcuTemperature(\"mcu\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 20, 1.0, 0.0, 0.0, \"deg C\"),\n" + "alignmentFill_at_18(\"need 4 byte alignment\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 18, 1.0, -20.0, 100.0, \"units\"),\n",
"alignmentFill_at_21(\"need 4 byte alignment\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 21, 1.0, -20.0, 100.0, \"units\"),\n",
javaSensorsConsumer.getContent()); javaSensorsConsumer.getContent());
assertEquals(24, javaSensorsConsumer.sensorTsPosition); assertEquals(20, javaSensorsConsumer.sensorTsPosition);
} }
@Test @Test