VCM: Fix VCM.req trjlen
This commit is contained in:
parent
15ee0b7f81
commit
07dcd7ef97
36
src/vcm.c
36
src/vcm.c
|
|
@ -377,18 +377,14 @@ static int intersection_detected(VCM_t* vcm, mc_neighbour_s* neighbour) {
|
||||||
mvc->vehicleWidth = facilities.vehicle.width;
|
mvc->vehicleWidth = facilities.vehicle.width;
|
||||||
|
|
||||||
// Planned trajectory
|
// Planned trajectory
|
||||||
mvc->plannedTrajectory.list.count = trajectoryA_len;
|
mvc->plannedTrajectory.list.count = trajectoryA_len - 1;
|
||||||
mvc->plannedTrajectory.list.size = trajectoryA_len * sizeof(void*);
|
mvc->plannedTrajectory.list.size = (trajectoryA_len - 1) * sizeof(void*);
|
||||||
mvc->plannedTrajectory.list.array = malloc(trajectoryA_len * sizeof(void*));
|
mvc->plannedTrajectory.list.array = malloc((trajectoryA_len - 1) * sizeof(void*));
|
||||||
mvc->plannedTrajectory.list.array[0] = calloc(1, sizeof(STPoint_t));
|
for (int i = 0; i < trajectoryA_len - 1; ++i) {
|
||||||
mvc->plannedTrajectory.list.array[0]->deltaLatitude = trajectoryA[0].latitude - lat;
|
|
||||||
mvc->plannedTrajectory.list.array[0]->deltaLongitude = trajectoryA[0].longitude - lon;
|
|
||||||
mvc->plannedTrajectory.list.array[0]->deltaTime = trajectoryA[0].timestamp - now;
|
|
||||||
for (int i = 1; i < trajectoryA_len; ++i) {
|
|
||||||
mvc->plannedTrajectory.list.array[i] = calloc(1, sizeof(STPoint_t));
|
mvc->plannedTrajectory.list.array[i] = calloc(1, sizeof(STPoint_t));
|
||||||
mvc->plannedTrajectory.list.array[i]->deltaLatitude = trajectoryA[i].latitude - trajectoryA[i-1].latitude;
|
mvc->plannedTrajectory.list.array[i]->deltaLatitude = trajectoryA[i+1].latitude - trajectoryA[i].latitude;
|
||||||
mvc->plannedTrajectory.list.array[i]->deltaLongitude = trajectoryA[i].longitude - trajectoryA[i-1].longitude;
|
mvc->plannedTrajectory.list.array[i]->deltaLongitude = trajectoryA[i+1].longitude - trajectoryA[i].longitude;
|
||||||
mvc->plannedTrajectory.list.array[i]->deltaTime = trajectoryA[i].timestamp - trajectoryA[i-1].timestamp;
|
mvc->plannedTrajectory.list.array[i]->deltaTime = trajectoryA[i+1].timestamp - trajectoryA[i].timestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Desired trajectory
|
// Desired trajectory
|
||||||
|
|
@ -402,18 +398,14 @@ static int intersection_detected(VCM_t* vcm, mc_neighbour_s* neighbour) {
|
||||||
mvc->negotiation->choice.request.requesterId = vcm->header.stationID;
|
mvc->negotiation->choice.request.requesterId = vcm->header.stationID;
|
||||||
mvc->negotiation->choice.request.nonce = rand() + 1;
|
mvc->negotiation->choice.request.nonce = rand() + 1;
|
||||||
|
|
||||||
pt->trajectory.list.count = trajectoryA_len;
|
pt->trajectory.list.count = trajectoryA_len - 1;
|
||||||
pt->trajectory.list.size = sizeof(void*) * trajectoryA_len;
|
pt->trajectory.list.size = sizeof(void*) * (trajectoryA_len - 1);
|
||||||
pt->trajectory.list.array = malloc(sizeof(void*) * trajectoryA_len);
|
pt->trajectory.list.array = malloc(sizeof(void*) * (trajectoryA_len - 1));
|
||||||
pt->trajectory.list.array[0] = calloc(1, sizeof(STPoint_t));
|
for (int i = 0; i < trajectoryA_len - 1; ++i) {
|
||||||
pt->trajectory.list.array[0]->deltaLatitude = trajectoryA[0].latitude - lat;
|
|
||||||
pt->trajectory.list.array[0]->deltaLongitude = trajectoryA[0].longitude - lon;
|
|
||||||
pt->trajectory.list.array[0]->deltaTime = trajectoryA[0].timestamp - now;
|
|
||||||
for (int i = 1; i < trajectoryA_len; ++i) {
|
|
||||||
pt->trajectory.list.array[i] = calloc(1, sizeof(STPoint_t));
|
pt->trajectory.list.array[i] = calloc(1, sizeof(STPoint_t));
|
||||||
pt->trajectory.list.array[i]->deltaLatitude = trajectoryA[i].latitude - trajectoryA[i-1].latitude;
|
pt->trajectory.list.array[i]->deltaLatitude = trajectoryA[i+1].latitude - trajectoryA[i].latitude;
|
||||||
pt->trajectory.list.array[i]->deltaLongitude = trajectoryA[i].longitude - trajectoryA[i-1].longitude;
|
pt->trajectory.list.array[i]->deltaLongitude = trajectoryA[i+1].longitude - trajectoryA[i].longitude;
|
||||||
pt->trajectory.list.array[i]->deltaTime = trajectoryA[i].timestamp - trajectoryA[i-1].timestamp;
|
pt->trajectory.list.array[i]->deltaTime = trajectoryA[i+1].timestamp - trajectoryA[i].timestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
pt->offer = 5;
|
pt->offer = 5;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue