1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-09-28 15:56:33 -04:00

IBP Beacons: Add the "DX Entity" column as in the IBP website

This commit is contained in:
Daniele Forsi 2023-08-12 20:26:36 +02:00
parent 028a44ce48
commit 648f329b50
5 changed files with 30 additions and 19 deletions

View File

@ -19,24 +19,24 @@
// Beacon information from https://www.ncdxf.org/beacon/beaconlocations.html // Beacon information from https://www.ncdxf.org/beacon/beaconlocations.html
QList<IBPBeacon> IBPBeacon::m_beacons = { QList<IBPBeacon> IBPBeacon::m_beacons = {
IBPBeacon("4U1UN", "United Nations NY", "FN30AS", 0), IBPBeacon("United Nations", "4U1UN", "New York City", "FN30AS", 0),
IBPBeacon("VE8AT", "North Canada", "CP38GH", 10), IBPBeacon("Canada", "VE8AT", "Inuvik (NT)", "CP38GH", 10),
IBPBeacon("W6WX", "USA (CA)", "CM97BD", 20), IBPBeacon("United States", "W6WX", "Mt. Umunhum (CA)", "CM97BD", 20),
IBPBeacon("KH6RS", "Hawaii", "BL10TS", 30), IBPBeacon("Hawaii", "KH6RS", "Maui ", "BL10TS", 30),
IBPBeacon("ZL6B", "New Zealand", "RE78TW", 40), IBPBeacon("New Zealand", "ZL6B", "Masterton", "RE78TW", 40),
IBPBeacon("VK6RBP", "West Australia", "OF87AV", 50), IBPBeacon("Australia", "VK6RBP", "Rolystone (WA)", "OF87AV", 50),
IBPBeacon("JA2IGY", "Japan", "PM84JK", 60), IBPBeacon("Japan", "JA2IGY", "Mt. Asama", "PM84JK", 60),
IBPBeacon("RR9O", "Siberia", "NO14KX", 70), IBPBeacon("Russia", "RR9O", "Novosibirsk", "NO14KX", 70),
IBPBeacon("VR2B", "China", "OL72BG", 80), IBPBeacon("Hong Kong", "VR2B", "Hong Kong", "OL72BG", 80),
IBPBeacon("4S7B", "Sri Lanka", "MJ96WV", 90), IBPBeacon("Sri Lanka", "4S7B", "Colombo", "MJ96WV", 90),
IBPBeacon("ZS6DN", "South Africa", "KG33XI", 100), IBPBeacon("South Africa", "ZS6DN", "Pretoria", "KG33XI", 100),
IBPBeacon("5Z4B", "Kenya", "KI88HR", 110), IBPBeacon("Kenya", "5Z4B", "Kikuyu", "KI88HR", 110),
IBPBeacon("4X6TU", "Israel", "KM72JB", 120), IBPBeacon("Israel", "4X6TU", "Tel Aviv", "KM72JB", 120),
IBPBeacon("OH2B", "Finland", "KP20EH", 130), IBPBeacon("Finland", "OH2B", "Lohja", "KP20EH", 130),
IBPBeacon("CS3B", "Madeira", "IM12JT", 140), IBPBeacon("Madeira", "CS3B", "São Jorge", "IM12JT", 140),
IBPBeacon("LU4AA", "Argentina", "GF05TJ", 150), IBPBeacon("Argentina", "LU4AA", "Buenos Aires", "GF05TJ", 150),
IBPBeacon("OA4B", "Peru", "FH17MW", 160), IBPBeacon("Peru", "OA4B", "Lima", "FH17MW", 160),
IBPBeacon("YV5B", "Venezuela", "FJ69CC", 170) IBPBeacon("Venezuela", "YV5B", "Caracas", "FJ69CC", 170)
}; };
// The frequencies in MHz through which the IBP beacons rotate // The frequencies in MHz through which the IBP beacons rotate

View File

@ -28,6 +28,7 @@
struct IBPBeacon { struct IBPBeacon {
QString m_dxEntity;
QString m_callsign; QString m_callsign;
QString m_location; QString m_location;
QString m_locator; QString m_locator;
@ -35,7 +36,8 @@ struct IBPBeacon {
float m_latitude; float m_latitude;
float m_longitude; float m_longitude;
IBPBeacon(const QString& callsign, const QString& location, const QString& locator, int offset) : IBPBeacon(const QString& dxEntity, const QString& callsign, const QString& location, const QString& locator, int offset) :
m_dxEntity(dxEntity),
m_callsign(callsign), m_callsign(callsign),
m_location(location), m_location(location),
m_locator(locator), m_locator(locator),
@ -48,6 +50,7 @@ struct IBPBeacon {
{ {
QStringList list; QStringList list;
list.append("IBP Beacon"); list.append("IBP Beacon");
list.append(QString("DX Entity: %1").arg(m_dxEntity));
list.append(QString("Callsign: %1").arg(m_callsign)); list.append(QString("Callsign: %1").arg(m_callsign));
list.append(QString("Frequency: 14.1, 18.11, 21.15, 24.93, 28.2 MHz")); list.append(QString("Frequency: 14.1, 18.11, 21.15, 24.93, 28.2 MHz"));
list.append(QString("Power: 100 Watts ERP")); list.append(QString("Power: 100 Watts ERP"));

View File

@ -38,6 +38,7 @@ MapIBPBeaconDialog::MapIBPBeaconDialog(MapGUI *gui, QWidget* parent) :
ui->beacons->setItem(row, IBP_BEACON_COL_FREQUENCY, new QTableWidgetItem(QString::number(IBPBeacon::m_frequencies[row], 'f', 3))); ui->beacons->setItem(row, IBP_BEACON_COL_FREQUENCY, new QTableWidgetItem(QString::number(IBPBeacon::m_frequencies[row], 'f', 3)));
ui->beacons->setItem(row, IBP_BEACON_COL_CALLSIGN, new QTableWidgetItem("")); ui->beacons->setItem(row, IBP_BEACON_COL_CALLSIGN, new QTableWidgetItem(""));
ui->beacons->setItem(row, IBP_BEACON_COL_LOCATION, new QTableWidgetItem("")); ui->beacons->setItem(row, IBP_BEACON_COL_LOCATION, new QTableWidgetItem(""));
ui->beacons->setItem(row, IBP_BEACON_COL_DX_ENTITY, new QTableWidgetItem(""));
ui->beacons->setItem(row, IBP_BEACON_COL_AZIMUTH, new QTableWidgetItem("")); ui->beacons->setItem(row, IBP_BEACON_COL_AZIMUTH, new QTableWidgetItem(""));
ui->beacons->setItem(row, IBP_BEACON_COL_DISTANCE, new QTableWidgetItem("")); ui->beacons->setItem(row, IBP_BEACON_COL_DISTANCE, new QTableWidgetItem(""));
} }
@ -60,6 +61,7 @@ void MapIBPBeaconDialog::updateTable(QTime time)
{ {
ui->beacons->item(row, IBP_BEACON_COL_CALLSIGN)->setText(IBPBeacon::m_beacons[index].m_callsign); ui->beacons->item(row, IBP_BEACON_COL_CALLSIGN)->setText(IBPBeacon::m_beacons[index].m_callsign);
ui->beacons->item(row, IBP_BEACON_COL_LOCATION)->setText(IBPBeacon::m_beacons[index].m_location); ui->beacons->item(row, IBP_BEACON_COL_LOCATION)->setText(IBPBeacon::m_beacons[index].m_location);
ui->beacons->item(row, IBP_BEACON_COL_DX_ENTITY)->setText(IBPBeacon::m_beacons[index].m_dxEntity);
// Calculate azimuth and distance to beacon // Calculate azimuth and distance to beacon
azEl.setTarget(IBPBeacon::m_beacons[index].m_latitude, IBPBeacon::m_beacons[index].m_longitude, 0.0); azEl.setTarget(IBPBeacon::m_beacons[index].m_latitude, IBPBeacon::m_beacons[index].m_longitude, 0.0);

View File

@ -49,6 +49,7 @@ private:
IBP_BEACON_COL_FREQUENCY, IBP_BEACON_COL_FREQUENCY,
IBP_BEACON_COL_CALLSIGN, IBP_BEACON_COL_CALLSIGN,
IBP_BEACON_COL_LOCATION, IBP_BEACON_COL_LOCATION,
IBP_BEACON_COL_DX_ENTITY,
IBP_BEACON_COL_AZIMUTH, IBP_BEACON_COL_AZIMUTH,
IBP_BEACON_COL_DISTANCE IBP_BEACON_COL_DISTANCE
}; };

View File

@ -89,6 +89,11 @@
<string>Location</string> <string>Location</string>
</property> </property>
</column> </column>
<column>
<property name="text">
<string>DX Entity</string>
</property>
</column>
<column> <column>
<property name="text"> <property name="text">
<string>Azimuth (°)</string> <string>Azimuth (°)</string>