Skip to content

Commit 6a6d1fe

Browse files
committed
Add support for ant field in uplink without rsig.
Closes chirpstack/chirpstack#691.
1 parent 3af7e2f commit 6a6d1fe

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/backend/semtech_udp/structs.rs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,9 @@ pub struct RxPk {
353353
/// Concentrator board used for RX (unsigned integer).
354354
#[serde(default)]
355355
pub brd: u32,
356+
/// Antenna number on which signal has been received.
357+
#[serde(default)]
358+
pub ant: u8,
356359
/// CRC status: 1 = OK, -1 = fail, 0 = no CRC
357360
pub stat: Crc,
358361
/// Modulation identifier "LORA" or "Fsk"
@@ -464,7 +467,7 @@ impl RxPk {
464467
channel: self.chan,
465468
rf_chain: self.rfch,
466469
board: self.brd,
467-
antenna: 0,
470+
antenna: self.ant.into(),
468471
location: None,
469472
context: self.tmst.to_be_bytes().to_vec(),
470473
metadata: self.meta.as_ref().cloned().unwrap_or_default(),
@@ -1121,6 +1124,7 @@ mod test {
11211124
chan: 5,
11221125
rfch: 1,
11231126
brd: 3,
1127+
ant: 1,
11241128
stat: Crc::Ok,
11251129
modu: Modulation::Lora,
11261130
datr: DataRate::Lora(7, 125000),
@@ -1163,6 +1167,7 @@ mod test {
11631167
channel: 5,
11641168
rf_chain: 1,
11651169
board: 3,
1170+
antenna: 1,
11661171
context: vec![0, 0, 4, 210],
11671172
crc_status: gw::CrcStatus::CrcOk.into(),
11681173
..Default::default()
@@ -1191,6 +1196,7 @@ mod test {
11911196
chan: 5,
11921197
rfch: 1,
11931198
brd: 3,
1199+
ant: 1,
11941200
stat: Crc::Ok,
11951201
modu: Modulation::Lora,
11961202
datr: DataRate::Lora(7, 125000),
@@ -1236,6 +1242,7 @@ mod test {
12361242
channel: 5,
12371243
rf_chain: 1,
12381244
board: 3,
1245+
antenna: 1,
12391246
context: vec![0, 0, 4, 210],
12401247
crc_status: gw::CrcStatus::CrcOk.into(),
12411248
..Default::default()
@@ -1264,6 +1271,7 @@ mod test {
12641271
chan: 5,
12651272
rfch: 1,
12661273
brd: 3,
1274+
ant: 1,
12671275
stat: Crc::Ok,
12681276
modu: Modulation::Lora,
12691277
datr: DataRate::Lora(7, 125000),
@@ -1312,6 +1320,7 @@ mod test {
13121320
channel: 5,
13131321
rf_chain: 1,
13141322
board: 3,
1323+
antenna: 1,
13151324
context: vec![0, 0, 4, 210],
13161325
crc_status: gw::CrcStatus::CrcOk.into(),
13171326
..Default::default()
@@ -1340,6 +1349,7 @@ mod test {
13401349
chan: 0,
13411350
rfch: 1,
13421351
brd: 3,
1352+
ant: 0,
13431353
stat: Crc::Ok,
13441354
modu: Modulation::Lora,
13451355
datr: DataRate::Lora(7, 125000),
@@ -1456,6 +1466,7 @@ mod test {
14561466
chan: 5,
14571467
rfch: 1,
14581468
brd: 3,
1469+
ant: 1,
14591470
stat: Crc::Ok,
14601471
modu: Modulation::Fsk,
14611472
datr: DataRate::Fsk(50_000),
@@ -1493,6 +1504,7 @@ mod test {
14931504
channel: 5,
14941505
rf_chain: 1,
14951506
board: 3,
1507+
antenna: 1,
14961508
context: vec![0, 0, 4, 210],
14971509
crc_status: gw::CrcStatus::CrcOk.into(),
14981510
..Default::default()
@@ -1521,6 +1533,7 @@ mod test {
15211533
chan: 5,
15221534
rfch: 1,
15231535
brd: 3,
1536+
ant: 1,
15241537
stat: Crc::Ok,
15251538
modu: Modulation::LrFhss,
15261539
datr: DataRate::LrFhss(137_000),
@@ -1562,6 +1575,7 @@ mod test {
15621575
channel: 5,
15631576
rf_chain: 1,
15641577
board: 3,
1578+
antenna: 1,
15651579
context: vec![0, 0, 4, 210],
15661580
crc_status: gw::CrcStatus::CrcOk.into(),
15671581
..Default::default()
@@ -1590,6 +1604,7 @@ mod test {
15901604
chan: 5,
15911605
rfch: 1,
15921606
brd: 3,
1607+
ant: 1,
15931608
stat: Crc::Ok,
15941609
modu: Modulation::Lora,
15951610
datr: DataRate::Lora(7, 125000),
@@ -1637,6 +1652,7 @@ mod test {
16371652
channel: 5,
16381653
rf_chain: 1,
16391654
board: 3,
1655+
antenna: 1,
16401656
context: vec![0, 0, 4, 210],
16411657
metadata: [("gateway_name".to_string(), "test-gateway".to_string())]
16421658
.iter()
@@ -1667,6 +1683,7 @@ mod test {
16671683
chan: 5,
16681684
rfch: 1,
16691685
brd: 3,
1686+
ant: 1,
16701687
stat: Crc::Ok,
16711688
modu: Modulation::Lora,
16721689
datr: DataRate::Lora(7, 125000),
@@ -1702,6 +1719,7 @@ mod test {
17021719
chan: 5,
17031720
rfch: 1,
17041721
brd: 3,
1722+
ant: 1,
17051723
stat: Crc::Ok,
17061724
modu: Modulation::Lora,
17071725
datr: DataRate::Lora(7, 125000),

0 commit comments

Comments
 (0)