diff --git a/org.fortiss.af3.platform.raspberry/code-gen-hal/inc/af3pihal/af3_v2v.h b/org.fortiss.af3.platform.raspberry/code-gen-hal/inc/af3pihal/af3_v2v.h index a3de21ce5463e04ea0381c7cd45f1689f0270061..31428ce97ef8621c20e5a140f9a2b1cc5b6a8c4d 100644 --- a/org.fortiss.af3.platform.raspberry/code-gen-hal/inc/af3pihal/af3_v2v.h +++ b/org.fortiss.af3.platform.raspberry/code-gen-hal/inc/af3pihal/af3_v2v.h @@ -132,15 +132,24 @@ void af3_v2v_set_leader_vehicle_of_interest_uid(GEN_TYPE_int uid, void af3_v2v_set_preceding_vehicle_of_interest_uid(GEN_TYPE_int uid, GEN_TYPE_boolean uid_noval); -void af3_v2v_get_deleteme(uint8_t* p_target_struct, size_t target_size); -void af3_v2v_get_platoon(uint8_t* p_target_struct, size_t target_size); -void af3_v2v_get_leader_heartbeat(uint8_t* p_target_struct, size_t target_size); -void af3_v2v_get_follower(uint8_t* p_target_struct, size_t target_size); -void af3_v2v_get_leave_platoon(uint8_t* p_target_struct, size_t target_size); -void af3_v2v_get_split(uint8_t* p_target_struct, size_t target_size); -void af3_v2v_get_new_leader(uint8_t* p_target_struct, size_t target_size); -void af3_v2v_get_fuse_platoon(uint8_t* p_target_struct, size_t target_size); -void af3_v2v_get_handshake(uint8_t* p_target_struct, size_t target_size); +void af3_v2v_get_deleteme(uint8_t* p_target_struct, + GEN_TYPE_boolean* p_variable_to_write_noval, size_t target_size); +void af3_v2v_get_platoon(uint8_t* p_target_struct, + GEN_TYPE_boolean* p_variable_to_write_noval, size_t target_size); +void af3_v2v_get_leader_heartbeat(uint8_t* p_target_struct, + GEN_TYPE_boolean* p_variable_to_write_noval, size_t target_size); +void af3_v2v_get_follower(uint8_t* p_target_struct, + GEN_TYPE_boolean* p_variable_to_write_noval, size_t target_size); +void af3_v2v_get_leave_platoon(uint8_t* p_target_struct, + GEN_TYPE_boolean* p_variable_to_write_noval, size_t target_size); +void af3_v2v_get_split(uint8_t* p_target_struct, + GEN_TYPE_boolean* p_variable_to_write_noval, size_t target_size); +void af3_v2v_get_new_leader(uint8_t* p_target_struct, + GEN_TYPE_boolean* p_variable_to_write_noval, size_t target_size); +void af3_v2v_get_fuse_platoon(uint8_t* p_target_struct, + GEN_TYPE_boolean* p_variable_to_write_noval, size_t target_size); +void af3_v2v_get_handshake(uint8_t* p_target_struct, + GEN_TYPE_boolean* p_variable_to_write_noval, size_t target_size); void af3_v2v_send_deleteme(uint8_t* p_src_struct, size_t src_size); void af3_v2v_send_platoon(uint8_t* p_src_struct, size_t src_size); diff --git a/org.fortiss.af3.platform.raspberry/code-gen-hal/lib/libaf3pihal.a b/org.fortiss.af3.platform.raspberry/code-gen-hal/lib/libaf3pihal.a index c972e5bbf9b9c63d85afe826a6236dd48bcba5bf..dba2aafc0a81b39cbbad5fea0a7277a80679356a 100644 Binary files a/org.fortiss.af3.platform.raspberry/code-gen-hal/lib/libaf3pihal.a and b/org.fortiss.af3.platform.raspberry/code-gen-hal/lib/libaf3pihal.a differ diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VFollowerInputGeneratorExtension.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VFollowerInputGeneratorExtension.java index 8c97b7accd718867b520f89562981dfd47b69e80..a426c45127e8c0b0ef45e2b620b10a0bc4ff1ee7 100644 --- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VFollowerInputGeneratorExtension.java +++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VFollowerInputGeneratorExtension.java @@ -15,6 +15,9 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.platform.raspberry.generator.extension.v2v; +import static org.fortiss.af3.component.generator.c.ComponentProgramToCSourcePackageTransformation.getPortNoValIdentifier; +import static org.fortiss.af3.component.generator.component.PortVariableUtils.getPortIdentifier; + import org.fortiss.af3.component.model.InputPort; import org.fortiss.af3.platform.raspberry.generator.framework.IReadableGeneratorExtension; import org.fortiss.af3.platform.raspberry.model.v2v.V2VFollowerInput; @@ -30,9 +33,11 @@ public class V2VFollowerInputGeneratorExtension extends V2VGeneratorExtensionBas /** {@inheritDoc} */ @Override public String getReadCode(InputPort logicalSignal, String targetVariable) { - // TODO Auto-generated method stub - return "af3_v2v_get_follower( (uint8_t*) &" + targetVariable + ", sizeof(" + - targetVariable + "));\n"; + // call get followert message + String sourceVariable = getPortIdentifier(logicalSignal); + String novalVariable = getPortNoValIdentifier(sourceVariable); + return "af3_v2v_get_follower( (uint8_t*) &" + targetVariable + ", &" + novalVariable + + " , sizeof(" + targetVariable + "));\n"; } /** {@inheritDoc} */ diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VFusePlatoonInputGeneratorExtension.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VFusePlatoonInputGeneratorExtension.java index 8d7e6f977371f6ee661e1efc36d4549a45db93d4..5262acac96e3658ac87049f289f386b9b4a9c684 100644 --- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VFusePlatoonInputGeneratorExtension.java +++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VFusePlatoonInputGeneratorExtension.java @@ -15,6 +15,9 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.platform.raspberry.generator.extension.v2v; +import static org.fortiss.af3.component.generator.c.ComponentProgramToCSourcePackageTransformation.getPortNoValIdentifier; +import static org.fortiss.af3.component.generator.component.PortVariableUtils.getPortIdentifier; + import org.fortiss.af3.component.model.InputPort; import org.fortiss.af3.platform.raspberry.generator.framework.IReadableGeneratorExtension; import org.fortiss.af3.platform.raspberry.model.v2v.V2VFusePlatoonInput; @@ -30,9 +33,11 @@ public class V2VFusePlatoonInputGeneratorExtension extends /** {@inheritDoc} */ @Override public String getReadCode(InputPort logicalSignal, String targetVariable) { - // TODO Auto-generated method stub - return "af3_v2v_get_fuse_platoon( (uint8_t*) &" + targetVariable + ", sizeof(" + - targetVariable + "));\n"; + // call get fuse platoon + String sourceVariable = getPortIdentifier(logicalSignal); + String novalVariable = getPortNoValIdentifier(sourceVariable); + return "af3_v2v_get_fuse_platoon( (uint8_t*) &" + targetVariable + ", &" + novalVariable + + " , sizeof(" + targetVariable + "));\n"; } /** {@inheritDoc} */ diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VHandshakeInputGeneratorExtension.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VHandshakeInputGeneratorExtension.java index 141e1ee6e6a03600940cb331f4da319ab20064bf..3c9210bf86b8e2ef6a5a854a0fe8dfe5075fe5bf 100644 --- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VHandshakeInputGeneratorExtension.java +++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VHandshakeInputGeneratorExtension.java @@ -15,6 +15,9 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.platform.raspberry.generator.extension.v2v; +import static org.fortiss.af3.component.generator.c.ComponentProgramToCSourcePackageTransformation.getPortNoValIdentifier; +import static org.fortiss.af3.component.generator.component.PortVariableUtils.getPortIdentifier; + import org.fortiss.af3.component.model.InputPort; import org.fortiss.af3.platform.raspberry.generator.framework.IReadableGeneratorExtension; import org.fortiss.af3.platform.raspberry.model.v2v.V2VHandshakeInput; @@ -30,9 +33,12 @@ public class V2VHandshakeInputGeneratorExtension extends /** {@inheritDoc} */ @Override public String getReadCode(InputPort logicalSignal, String targetVariable) { - // TODO Auto-generated method stub - return "af3_v2v_get_handshake( (uint8_t*) &" + targetVariable + ", sizeof(" + - targetVariable + "));\n"; + // call get handshake + String sourceVariable = getPortIdentifier(logicalSignal); + String novalVariable = getPortNoValIdentifier(sourceVariable); + return "af3_v2v_get_handshake( (uint8_t*) &" + targetVariable + ", &" + novalVariable + + " , sizeof(" + targetVariable + "));\n"; + } /** {@inheritDoc} */ diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VLeaderHeartbeatInputGeneratorExtension.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VLeaderHeartbeatInputGeneratorExtension.java index 9e69a7f30c8d8017c5851ce3a097f2c597fde496..a5b46cd582d675517a828708bf779cb54e5278f1 100644 --- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VLeaderHeartbeatInputGeneratorExtension.java +++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VLeaderHeartbeatInputGeneratorExtension.java @@ -15,6 +15,9 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.platform.raspberry.generator.extension.v2v; +import static org.fortiss.af3.component.generator.c.ComponentProgramToCSourcePackageTransformation.getPortNoValIdentifier; +import static org.fortiss.af3.component.generator.component.PortVariableUtils.getPortIdentifier; + import org.fortiss.af3.component.model.InputPort; import org.fortiss.af3.platform.raspberry.generator.framework.IReadableGeneratorExtension; import org.fortiss.af3.platform.raspberry.model.v2v.V2VLeaderHeartbeatInput; @@ -30,9 +33,11 @@ public class V2VLeaderHeartbeatInputGeneratorExtension extends /** {@inheritDoc} */ @Override public String getReadCode(InputPort logicalSignal, String targetVariable) { - // TODO Auto-generated method stub - return "af3_v2v_get_leader_heartbeat( (uint8_t*) &" + targetVariable + ", sizeof(" + - targetVariable + "));\n"; + // call get leader heartbeat + String sourceVariable = getPortIdentifier(logicalSignal); + String novalVariable = getPortNoValIdentifier(sourceVariable); + return "af3_v2v_get_leader_heartbeat( (uint8_t*) &" + targetVariable + ", &" + + novalVariable + " , sizeof(" + targetVariable + "));\n"; } /** {@inheritDoc} */ diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VLeavePlatoonInputGeneratorExtension.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VLeavePlatoonInputGeneratorExtension.java index 016aca08fcc34eac1d1311c42a84c0e1b2082127..9829c52cd6f919f65e7400c3224b89c6a33755b3 100644 --- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VLeavePlatoonInputGeneratorExtension.java +++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VLeavePlatoonInputGeneratorExtension.java @@ -15,6 +15,9 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.platform.raspberry.generator.extension.v2v; +import static org.fortiss.af3.component.generator.c.ComponentProgramToCSourcePackageTransformation.getPortNoValIdentifier; +import static org.fortiss.af3.component.generator.component.PortVariableUtils.getPortIdentifier; + import org.fortiss.af3.component.model.InputPort; import org.fortiss.af3.platform.raspberry.generator.framework.IReadableGeneratorExtension; import org.fortiss.af3.platform.raspberry.model.v2v.V2VLeavePlatoonInput; @@ -30,9 +33,10 @@ public class V2VLeavePlatoonInputGeneratorExtension extends /** {@inheritDoc} */ @Override public String getReadCode(InputPort logicalSignal, String targetVariable) { - // TODO Auto-generated method stub - return "af3_v2v_get_leave_platoon( (uint8_t*) &" + targetVariable + ", sizeof(" + - targetVariable + "));\n"; + String sourceVariable = getPortIdentifier(logicalSignal); + String novalVariable = getPortNoValIdentifier(sourceVariable); + return "af3_v2v_get_leave_platoon( (uint8_t*) &" + targetVariable + ", &" + novalVariable + + " , sizeof(" + targetVariable + "));\n"; } /** {@inheritDoc} */ diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VNewLeaderInputGeneratorExtension.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VNewLeaderInputGeneratorExtension.java index 48ef749e9e2b4e06c9e21aa3ca69c2f397f6707f..5ab08b95c3370b934edcf24f5c04f648c10fde51 100644 --- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VNewLeaderInputGeneratorExtension.java +++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VNewLeaderInputGeneratorExtension.java @@ -15,6 +15,9 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.platform.raspberry.generator.extension.v2v; +import static org.fortiss.af3.component.generator.c.ComponentProgramToCSourcePackageTransformation.getPortNoValIdentifier; +import static org.fortiss.af3.component.generator.component.PortVariableUtils.getPortIdentifier; + import org.fortiss.af3.component.model.InputPort; import org.fortiss.af3.platform.raspberry.generator.framework.IReadableGeneratorExtension; import org.fortiss.af3.platform.raspberry.model.v2v.V2VNewLeaderInput; @@ -30,9 +33,11 @@ public class V2VNewLeaderInputGeneratorExtension extends /** {@inheritDoc} */ @Override public String getReadCode(InputPort logicalSignal, String targetVariable) { - // TODO Auto-generated method stub - return "af3_v2v_get_new_leader( (uint8_t*) &" + targetVariable + ", sizeof(" + - targetVariable + "));\n"; + // call get new leader + String sourceVariable = getPortIdentifier(logicalSignal); + String novalVariable = getPortNoValIdentifier(sourceVariable); + return "af3_v2v_get_new_leader( (uint8_t*) &" + targetVariable + ", &" + novalVariable + + " , sizeof(" + targetVariable + "));\n"; } /** {@inheritDoc} */ diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VPlatoonInputGeneratorExtension.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VPlatoonInputGeneratorExtension.java index 2264098e2a17516a0d58018b0d7ec0893be2c0b9..8f7e32ad59f7b5ac3b0cb5430969ca086bee7d4d 100644 --- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VPlatoonInputGeneratorExtension.java +++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VPlatoonInputGeneratorExtension.java @@ -15,6 +15,9 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.platform.raspberry.generator.extension.v2v; +import static org.fortiss.af3.component.generator.c.ComponentProgramToCSourcePackageTransformation.getPortNoValIdentifier; +import static org.fortiss.af3.component.generator.component.PortVariableUtils.getPortIdentifier; + import org.fortiss.af3.component.model.InputPort; import org.fortiss.af3.platform.raspberry.generator.framework.IReadableGeneratorExtension; import org.fortiss.af3.platform.raspberry.model.v2v.V2VPlatoonInput; @@ -30,9 +33,11 @@ public class V2VPlatoonInputGeneratorExtension extends V2VGeneratorExtensionBase /** {@inheritDoc} */ @Override public String getReadCode(InputPort logicalSignal, String targetVariable) { - // TODO Auto-generated method stub - return "af3_v2v_get_platoon( (uint8_t*) &" + targetVariable + ", sizeof(" + targetVariable + - "));\n"; + // call get platoon + String sourceVariable = getPortIdentifier(logicalSignal); + String novalVariable = getPortNoValIdentifier(sourceVariable); + return "af3_v2v_get_platoon( (uint8_t*) &" + targetVariable + ", &" + novalVariable + + " , sizeof(" + targetVariable + "));\n"; } /** {@inheritDoc} */ diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VSplitInputGeneratorExtension.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VSplitInputGeneratorExtension.java index ea1e8bd02404f0c3370d2bb7441f3c478e8f345f..9768f54654c78c844bbcf04c04c4346936e77b3e 100644 --- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VSplitInputGeneratorExtension.java +++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/extension/v2v/V2VSplitInputGeneratorExtension.java @@ -15,6 +15,9 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.platform.raspberry.generator.extension.v2v; +import static org.fortiss.af3.component.generator.c.ComponentProgramToCSourcePackageTransformation.getPortNoValIdentifier; +import static org.fortiss.af3.component.generator.component.PortVariableUtils.getPortIdentifier; + import org.fortiss.af3.component.model.InputPort; import org.fortiss.af3.platform.raspberry.generator.framework.IReadableGeneratorExtension; import org.fortiss.af3.platform.raspberry.model.v2v.V2VSplitInput; @@ -30,9 +33,11 @@ public class V2VSplitInputGeneratorExtension extends V2VGeneratorExtensionBase<V /** {@inheritDoc} */ @Override public String getReadCode(InputPort logicalSignal, String targetVariable) { - // TODO Auto-generated method stub - return "af3_v2v_get_split( (uint8_t*) &" + targetVariable + ", sizeof(" + targetVariable + - "));\n"; + // call get platoon + String sourceVariable = getPortIdentifier(logicalSignal); + String novalVariable = getPortNoValIdentifier(sourceVariable); + return "af3_v2v_get_split( (uint8_t*) &" + targetVariable + ", &" + novalVariable + + " , sizeof(" + targetVariable + "));\n"; } /** {@inheritDoc} */