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;
|
||||
|
||||
// Planned trajectory
|
||||
mvc->plannedTrajectory.list.count = trajectoryA_len;
|
||||
mvc->plannedTrajectory.list.size = trajectoryA_len * sizeof(void*);
|
||||
mvc->plannedTrajectory.list.array = malloc(trajectoryA_len * sizeof(void*));
|
||||
mvc->plannedTrajectory.list.array[0] = calloc(1, sizeof(STPoint_t));
|
||||
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.count = trajectoryA_len - 1;
|
||||
mvc->plannedTrajectory.list.size = (trajectoryA_len - 1) * sizeof(void*);
|
||||
mvc->plannedTrajectory.list.array = malloc((trajectoryA_len - 1) * sizeof(void*));
|
||||
for (int i = 0; i < trajectoryA_len - 1; ++i) {
|
||||
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]->deltaLongitude = trajectoryA[i].longitude - trajectoryA[i-1].longitude;
|
||||
mvc->plannedTrajectory.list.array[i]->deltaTime = trajectoryA[i].timestamp - trajectoryA[i-1].timestamp;
|
||||
mvc->plannedTrajectory.list.array[i]->deltaLatitude = trajectoryA[i+1].latitude - trajectoryA[i].latitude;
|
||||
mvc->plannedTrajectory.list.array[i]->deltaLongitude = trajectoryA[i+1].longitude - trajectoryA[i].longitude;
|
||||
mvc->plannedTrajectory.list.array[i]->deltaTime = trajectoryA[i+1].timestamp - trajectoryA[i].timestamp;
|
||||
}
|
||||
|
||||
// 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.nonce = rand() + 1;
|
||||
|
||||
pt->trajectory.list.count = trajectoryA_len;
|
||||
pt->trajectory.list.size = sizeof(void*) * trajectoryA_len;
|
||||
pt->trajectory.list.array = malloc(sizeof(void*) * trajectoryA_len);
|
||||
pt->trajectory.list.array[0] = calloc(1, sizeof(STPoint_t));
|
||||
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.count = trajectoryA_len - 1;
|
||||
pt->trajectory.list.size = sizeof(void*) * (trajectoryA_len - 1);
|
||||
pt->trajectory.list.array = malloc(sizeof(void*) * (trajectoryA_len - 1));
|
||||
for (int i = 0; i < trajectoryA_len - 1; ++i) {
|
||||
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]->deltaLongitude = trajectoryA[i].longitude - trajectoryA[i-1].longitude;
|
||||
pt->trajectory.list.array[i]->deltaTime = trajectoryA[i].timestamp - trajectoryA[i-1].timestamp;
|
||||
pt->trajectory.list.array[i]->deltaLatitude = trajectoryA[i+1].latitude - trajectoryA[i].latitude;
|
||||
pt->trajectory.list.array[i]->deltaLongitude = trajectoryA[i+1].longitude - trajectoryA[i].longitude;
|
||||
pt->trajectory.list.array[i]->deltaTime = trajectoryA[i+1].timestamp - trajectoryA[i].timestamp;
|
||||
}
|
||||
|
||||
pt->offer = 5;
|
||||
|
|
|
|||
Loading…
Reference in New Issue