Initial request trajectory only if DCM active
This commit is contained in:
parent
c66539eaeb
commit
9982b5c5f8
|
|
@ -430,7 +430,7 @@ int facilities_config(void* facilities_s) {
|
||||||
mreq->choice.attributes.choice.get.clockType = 1;
|
mreq->choice.attributes.choice.get.clockType = 1;
|
||||||
mreq->choice.attributes.choice.get.clock = 1;
|
mreq->choice.attributes.choice.get.clock = 1;
|
||||||
mreq->choice.attributes.choice.get.clockOffset = 1;
|
mreq->choice.attributes.choice.get.clockOffset = 1;
|
||||||
mreq->choice.attributes.choice.get.trajectory = 1;
|
mreq->choice.attributes.choice.get.trajectory = config->facilities.dcm.activate;
|
||||||
void* management_socket = zmq_socket(facilities->zmq.ctx, ZMQ_REQ);
|
void* management_socket = zmq_socket(facilities->zmq.ctx, ZMQ_REQ);
|
||||||
zmq_connect(management_socket, facilities->zmq.management_address);
|
zmq_connect(management_socket, facilities->zmq.management_address);
|
||||||
uint8_t buffer[256];
|
uint8_t buffer[256];
|
||||||
|
|
@ -451,7 +451,7 @@ int facilities_config(void* facilities_s) {
|
||||||
mrep->attributes->clock &&
|
mrep->attributes->clock &&
|
||||||
mrep->attributes->clockOffset &&
|
mrep->attributes->clockOffset &&
|
||||||
mrep->attributes->gpsType &&
|
mrep->attributes->gpsType &&
|
||||||
mrep->attributes->trajectory) {
|
(!!mrep->attributes->trajectory == mreq->choice.attributes.choice.get.trajectory)) {
|
||||||
facilities->epv.space.latitude = mrep->attributes->coordinates->latitude;
|
facilities->epv.space.latitude = mrep->attributes->coordinates->latitude;
|
||||||
facilities->epv.space.latitude_conf = mrep->attributes->coordinates->latitudeConfidence;
|
facilities->epv.space.latitude_conf = mrep->attributes->coordinates->latitudeConfidence;
|
||||||
facilities->epv.space.longitude = mrep->attributes->coordinates->longitude;
|
facilities->epv.space.longitude = mrep->attributes->coordinates->longitude;
|
||||||
|
|
@ -469,12 +469,14 @@ int facilities_config(void* facilities_s) {
|
||||||
asn_INTEGER2ulong(mrep->attributes->clock, &facilities->epv.time.clock);
|
asn_INTEGER2ulong(mrep->attributes->clock, &facilities->epv.time.clock);
|
||||||
asn_INTEGER2ulong(mrep->attributes->clockOffset, &facilities->epv.time.offset);
|
asn_INTEGER2ulong(mrep->attributes->clockOffset, &facilities->epv.time.offset);
|
||||||
|
|
||||||
|
if (config->facilities.dcm.activate) {
|
||||||
facilities->epv.trajectory.len = mrep->attributes->trajectory->list.count;
|
facilities->epv.trajectory.len = mrep->attributes->trajectory->list.count;
|
||||||
for (int i = 0; i < mrep->attributes->trajectory->list.count; ++i) {
|
for (int i = 0; i < mrep->attributes->trajectory->list.count; ++i) {
|
||||||
facilities->epv.trajectory.path[i].latitude = mrep->attributes->trajectory->list.array[i]->latitude;
|
facilities->epv.trajectory.path[i].latitude = mrep->attributes->trajectory->list.array[i]->latitude;
|
||||||
facilities->epv.trajectory.path[i].longitude = mrep->attributes->trajectory->list.array[i]->longitude;
|
facilities->epv.trajectory.path[i].longitude = mrep->attributes->trajectory->list.array[i]->longitude;
|
||||||
asn_INTEGER2ulong(&mrep->attributes->trajectory->list.array[i]->timestamp, &facilities->epv.trajectory.path[i].timestamp);
|
asn_INTEGER2ulong(&mrep->attributes->trajectory->list.array[i]->timestamp, &facilities->epv.trajectory.path[i].timestamp);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
syslog_err("[applications] rejected MR attribute request");
|
syslog_err("[applications] rejected MR attribute request");
|
||||||
rv = 1;
|
rv = 1;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue