mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-09-28 07:08:24 +00:00
Remove redundant fields in an_packet_t
This commit is contained in:
parent
7f45739cf0
commit
69c4f9f7fc
@ -98,6 +98,7 @@ void An_Packet_Printer::update_sdr_gnss_packet(sdr_gnss_packet_t* _packet, const
|
|||||||
uint8_t num_gps_sats = 0;
|
uint8_t num_gps_sats = 0;
|
||||||
uint8_t num_gal_sats = 0;
|
uint8_t num_gal_sats = 0;
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
bool fix_3d = pvt->is_valid_position();
|
||||||
const int max_reported_sats = *(&_packet->sats + 1) - _packet->sats;
|
const int max_reported_sats = *(&_packet->sats + 1) - _packet->sats;
|
||||||
|
|
||||||
for (gnss_observables_iter = gnss_observables_map.cbegin();
|
for (gnss_observables_iter = gnss_observables_map.cbegin();
|
||||||
@ -178,8 +179,10 @@ void An_Packet_Printer::update_sdr_gnss_packet(sdr_gnss_packet_t* _packet, const
|
|||||||
_packet->velocity[2] = static_cast<float>(-pvt->get_rx_vel()[2]);
|
_packet->velocity[2] = static_cast<float>(-pvt->get_rx_vel()[2]);
|
||||||
|
|
||||||
uint16_t status = 0;
|
uint16_t status = 0;
|
||||||
// Set 3D fix (bit 0 and 1) / Set Doppler velocity valid (bit 2) / Set Time valid (bit 3)
|
if (fix_3d)
|
||||||
status = status & 0b00001111;
|
{
|
||||||
|
status = 15; // Set 3D fix (bit 0 and 1) / Set Doppler velocity valid (bit 2) / Set Time valid (bit 3)
|
||||||
|
}
|
||||||
_packet->status = status;
|
_packet->status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -192,8 +195,6 @@ void An_Packet_Printer::update_sdr_gnss_packet(sdr_gnss_packet_t* _packet, const
|
|||||||
*/
|
*/
|
||||||
void An_Packet_Printer::encode_sdr_gnss_packet(sdr_gnss_packet_t* sdr_gnss_packet, an_packet_t* _packet) const
|
void An_Packet_Printer::encode_sdr_gnss_packet(sdr_gnss_packet_t* sdr_gnss_packet, an_packet_t* _packet) const
|
||||||
{
|
{
|
||||||
_packet->id = SDR_GNSS_PACKET_ID;
|
|
||||||
_packet->length = SDR_GNSS_PACKET_LENGTH;
|
|
||||||
uint8_t offset = 0;
|
uint8_t offset = 0;
|
||||||
LSB_bytes_to_array(reinterpret_cast<uint8_t*>(&sdr_gnss_packet->nsvfix), offset, _packet->data, sizeof(sdr_gnss_packet->nsvfix));
|
LSB_bytes_to_array(reinterpret_cast<uint8_t*>(&sdr_gnss_packet->nsvfix), offset, _packet->data, sizeof(sdr_gnss_packet->nsvfix));
|
||||||
offset += sizeof(sdr_gnss_packet->nsvfix);
|
offset += sizeof(sdr_gnss_packet->nsvfix);
|
||||||
@ -238,10 +239,9 @@ void An_Packet_Printer::encode_sdr_gnss_packet(sdr_gnss_packet_t* sdr_gnss_packe
|
|||||||
void An_Packet_Printer::an_packet_encode(an_packet_t* an_packet) const
|
void An_Packet_Printer::an_packet_encode(an_packet_t* an_packet) const
|
||||||
{
|
{
|
||||||
uint16_t crc;
|
uint16_t crc;
|
||||||
an_packet->header[1] = an_packet->id;
|
an_packet->header[1] = SDR_GNSS_PACKET_ID;
|
||||||
an_packet->header[2] = an_packet->length;
|
crc = calculate_crc16(an_packet->data, SDR_GNSS_PACKET_LENGTH);
|
||||||
crc = calculate_crc16(an_packet->data, an_packet->length);
|
memcpy(&an_packet->header[2], &crc, sizeof(uint16_t));
|
||||||
memcpy(&an_packet->header[3], &crc, sizeof(uint16_t));
|
|
||||||
an_packet->header[0] = calculate_header_lrc(&an_packet->header[1]);
|
an_packet->header[0] = calculate_header_lrc(&an_packet->header[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -251,7 +251,7 @@ void An_Packet_Printer::an_packet_encode(an_packet_t* an_packet) const
|
|||||||
*/
|
*/
|
||||||
uint8_t An_Packet_Printer::calculate_header_lrc(const uint8_t* data) const
|
uint8_t An_Packet_Printer::calculate_header_lrc(const uint8_t* data) const
|
||||||
{
|
{
|
||||||
return ((data[0] + data[1] + data[2] + data[3]) ^ 0xFF) + 1;
|
return ((data[0] + data[1] + data[2]) ^ 0xFF) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,10 +61,8 @@ struct sdr_gnss_packet_t
|
|||||||
|
|
||||||
struct an_packet_t
|
struct an_packet_t
|
||||||
{
|
{
|
||||||
uint8_t id;
|
uint8_t header[4];
|
||||||
uint8_t length;
|
uint8_t data[73]; // SDR_GNSS_PACKET_LENGTH
|
||||||
uint8_t header[5]; // AN_PACKET_HEADER_SIZE
|
|
||||||
uint8_t data[126]; // AN_MAXIMUM_PACKET_SIZE
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user