Fix CPM opening angle start/end
This commit is contained in:
parent
85e54352b1
commit
b11fc8d042
|
|
@ -322,6 +322,12 @@ int facilities_config() {
|
|||
facilities.dissemination.radar_rotation = config->applications.its_center.radar_rotation;
|
||||
facilities.dissemination.tmc_connect = config->facilities.cpm.tmc_connected;
|
||||
facilities.dissemination.T_AddSensorInformation = 1000;
|
||||
uint16_t oa_start = (360-facilities.dissemination.radar_rotation) * 10 - 500;
|
||||
uint16_t oa_end = (360-facilities.dissemination.radar_rotation) * 10 + 500;
|
||||
facilities.dissemination.opening_angle_start = oa_start < 0 ? oa_start + 3600 : oa_start;
|
||||
facilities.dissemination.opening_angle_start = oa_start > 3600 ? oa_start - 3600 : oa_start;
|
||||
facilities.dissemination.opening_angle_end = oa_end > 3600 ? oa_end - 3600 : oa_end;
|
||||
facilities.dissemination.opening_angle_end = oa_end < 0 ? oa_end + 3600 : oa_end;
|
||||
|
||||
facilities.dissemination.int_radar = malloc(strlen(config->facilities.cpm.radar_interface)+1);
|
||||
strcpy(facilities.dissemination.int_radar,config->facilities.cpm.radar_interface);
|
||||
|
|
|
|||
|
|
@ -551,8 +551,8 @@ static int mk_cpm(uint8_t *bdr_oer, uint32_t *bdr_len, uint8_t *fdi_oer, uint32_
|
|||
cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->type = SensorType_radar;
|
||||
cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->detectionArea.present = DetectionArea_PR_stationarySensorRadial;
|
||||
cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->detectionArea.choice.stationarySensorRadial.range = 3400;
|
||||
cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->detectionArea.choice.stationarySensorRadial.stationaryHorizontalOpeningAngleStart = ROAD_ANGLE * 10 - 500;
|
||||
cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->detectionArea.choice.stationarySensorRadial.stationaryHorizontalOpeningAngleEnd = ROAD_ANGLE * 10 + 500;
|
||||
cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->detectionArea.choice.stationarySensorRadial.stationaryHorizontalOpeningAngleStart = facilities.dissemination.opening_angle_start;
|
||||
cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->detectionArea.choice.stationarySensorRadial.stationaryHorizontalOpeningAngleEnd = facilities.dissemination.opening_angle_end;
|
||||
cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->detectionArea.choice.stationarySensorRadial.verticalOpeningAngleStart = calloc(1, sizeof(CartesianAngleValue_t));
|
||||
(*cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->detectionArea.choice.stationarySensorRadial.verticalOpeningAngleStart) = 1730;
|
||||
cpm_tx->cpm.cpmParameters.sensorInformationContainer->list.array[0]->detectionArea.choice.stationarySensorRadial.verticalOpeningAngleEnd = calloc(1, sizeof(CartesianAngleValue_t));
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
|
||||
#define READ_BUFFER_SIZE 1024 // Buffer for Serial and Ethernet read function (Used in cp_service)
|
||||
#define NOF_OBJECTS 127 // Number of Object UMRR-0C
|
||||
#define ROAD_ANGLE 120
|
||||
#define MESSAGE_ID 14
|
||||
#define PROTOCOL_VERSION 1
|
||||
#define RADAR_PORT "55555" // Destination port from the radar
|
||||
|
|
@ -138,6 +137,8 @@ typedef struct
|
|||
/* Position of the radar (Value from toml) */
|
||||
|
||||
int64_t radar_rotation;
|
||||
int16_t opening_angle_start;
|
||||
int16_t opening_angle_end;
|
||||
|
||||
} dissemination_t;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue