diff options
author | Jason Reiss <jreiss@multitech.com> | 2019-05-21 14:17:26 -0500 |
---|---|---|
committer | John Klug <john.klug@multitech.com> | 2019-07-03 17:08:20 -0500 |
commit | b7327e3f9d882b03eaacbb7559f3bbc64ad45a1c (patch) | |
tree | 92b4d2d089fff86d12dbfc4aea0fc42faf64273c /recipes-connectivity | |
parent | 9335d17597e9e2b7bec8b30666b2df52ecee1439 (diff) | |
download | meta-mlinux-b7327e3f9d882b03eaacbb7559f3bbc64ad45a1c.tar.gz meta-mlinux-b7327e3f9d882b03eaacbb7559f3bbc64ad45a1c.tar.bz2 meta-mlinux-b7327e3f9d882b03eaacbb7559f3bbc64ad45a1c.zip |
lora: update packet forwarders with increased JIT peek ahead time 60ms for v1.5 and 90ms for v2.1, add additional escapes from spec scan loops
Diffstat (limited to 'recipes-connectivity')
5 files changed, 69 insertions, 11 deletions
diff --git a/recipes-connectivity/lora/lora-gateway-geolocation_5.1.0.bb b/recipes-connectivity/lora/lora-gateway-geolocation_5.1.0.bb index 424ea43..403670a 100644 --- a/recipes-connectivity/lora/lora-gateway-geolocation_5.1.0.bb +++ b/recipes-connectivity/lora/lora-gateway-geolocation_5.1.0.bb @@ -6,9 +6,9 @@ LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://mlinux4/LICENSE.TXT;md5=86776875df1423114abfcec938f3e565" DEPENDS = "" # Source revision -PSR = "r3" +PSR = "r4" # Recipe revision -PR = "r5" +PR = "r6" SRCREV = "v${PV}" SRC_URI = "http://multitech.net/downloads/lora-packet-forwarder-geolocation_arm926ejste_${PV}-${PSR}.tar.gz \ @@ -16,8 +16,8 @@ SRC_URI = "http://multitech.net/downloads/lora-packet-forwarder-geolocation_arm9 file://config_64ch.json \ " -SRC_URI[md5sum] = "70cce8e2c7a790d68aebe66e93302ee6" -SRC_URI[sha256sum] = "6e09e265bb22a5370bbfb8e80b9aac5e1b7bd2b5f867e55eddea6cb2685a72b4" +SRC_URI[md5sum] = "542f02198a3258ca2ad4e549524e3ddc" +SRC_URI[sha256sum] = "8176f5f55f96b7a72946cfb51743a8ea4f88a4033e54009e7bcf8f03077d248e" S = "${WORKDIR}" diff --git a/recipes-connectivity/lora/lora-gateway/lora-gateway-spectral-scan-skip-fpga-reset.patch b/recipes-connectivity/lora/lora-gateway/lora-gateway-spectral-scan-skip-fpga-reset.patch index e4a8b2b..0b53fd0 100644 --- a/recipes-connectivity/lora/lora-gateway/lora-gateway-spectral-scan-skip-fpga-reset.patch +++ b/recipes-connectivity/lora/lora-gateway/lora-gateway-spectral-scan-skip-fpga-reset.patch @@ -1,5 +1,5 @@ diff --git a/util_spectral_scan/src/util_spectral_scan.c b/util_spectral_scan/src/util_spectral_scan.c -index d2aecda..f070f4b 100644 +index d2aecda..cbc8377 100644 --- a/util_spectral_scan/src/util_spectral_scan.c +++ b/util_spectral_scan/src/util_spectral_scan.c @@ -30,6 +30,7 @@ Maintainer: Michael Coracin @@ -53,7 +53,27 @@ index d2aecda..f070f4b 100644 if(x != 0) { printf("ERROR: Failed to connect to FPGA\n"); return EXIT_FAILURE; -@@ -382,6 +398,10 @@ int main( int argc, char ** argv ) +@@ -324,6 +340,9 @@ int main( int argc, char ** argv ) + do { + wait_ms(10); + lgw_fpga_reg_r(LGW_FPGA_STATUS, ®_val); ++ if (shutdown_signal_recv) { ++ break; ++ } + } + while((TAKE_N_BITS_FROM((uint8_t)reg_val, 0, 5)) != 1); /* Clear has started */ + +@@ -346,6 +365,9 @@ int main( int argc, char ** argv ) + do { + wait_ms(1000); + lgw_fpga_reg_r(LGW_FPGA_STATUS, ®_val); ++ if (shutdown_signal_recv) { ++ break; ++ } + } + while((TAKE_N_BITS_FROM((uint8_t)reg_val, 5, 1)) != 1); + +@@ -382,6 +404,10 @@ int main( int argc, char ** argv ) } fprintf(log_file, "\n"); printf("\n"); @@ -63,3 +83,4 @@ index d2aecda..f070f4b 100644 + } } fclose(log_file); + diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation_5.1.0.bb b/recipes-connectivity/lora/lora-packet-forwarder-geolocation_5.1.0.bb index 34a18a1..fa5232a 100644 --- a/recipes-connectivity/lora/lora-packet-forwarder-geolocation_5.1.0.bb +++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation_5.1.0.bb @@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://mlinux4/LICENSE.TXT;md5=86776875df1423114abfcec938f3e DEPENDS ?= "lora-gateway-geolocation logrotate lora-logging" RDEPENDS_${PN} += "bash" # Source revision -PSR = "r3" +PSR = "r4" # Recipe revision -PR = "r5" +PR = "r6" SRCREV = "v${PV}" @@ -26,8 +26,8 @@ SRC_URI = "http://multitech.net/downloads/lora-packet-forwarder-geolocation_arm9 file://global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_64x1_EU868 \ file://global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_8x8_EU868 \ " -SRC_URI[md5sum] = "70cce8e2c7a790d68aebe66e93302ee6" -SRC_URI[sha256sum] = "6e09e265bb22a5370bbfb8e80b9aac5e1b7bd2b5f867e55eddea6cb2685a72b4" +SRC_URI[md5sum] = "542f02198a3258ca2ad4e549524e3ddc" +SRC_URI[sha256sum] = "8176f5f55f96b7a72946cfb51743a8ea4f88a4033e54009e7bcf8f03077d248e" S = "${WORKDIR}" B = "${S}" diff --git a/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder-jit-queue-increase-peek-and-remove-sort-from-dequeue.patch b/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder-jit-queue-increase-peek-and-remove-sort-from-dequeue.patch new file mode 100644 index 0000000..2b0aaf4 --- /dev/null +++ b/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder-jit-queue-increase-peek-and-remove-sort-from-dequeue.patch @@ -0,0 +1,36 @@ +diff --git a/lora_pkt_fwd/src/jitqueue.c b/lora_pkt_fwd/src/jitqueue.c +index dbde8d2..f1b547b 100644 +--- a/lora_pkt_fwd/src/jitqueue.c ++++ b/lora_pkt_fwd/src/jitqueue.c +@@ -37,6 +37,7 @@ Maintainer: Michael Coracin + #define TX_MARGIN_DELAY 1000 /* Packet overlap margin in microseconds */ + /* TODO: How much margin should we take? */ + #define TX_JIT_DELAY 30000 /* Pre-delay to program packet for TX in microseconds */ ++#define TX_PEEK_DELAY 60000 /* Look ahead time for TX in microseconds */ + #define TX_MAX_ADVANCE_DELAY ((JIT_NUM_BEACON_IN_QUEUE + 1) * 128 * 1E6) /* Maximum advance delay accepted for a TX packet, compared to current time */ + + #define BEACON_GUARD 3000000 /* Interval where no ping slot can be placed, +@@ -352,12 +353,12 @@ enum jit_error_e jit_dequeue(struct jit_queue_s *queue, int index, struct lgw_pk + memset(&(queue->nodes[queue->num_pkt]), 0, sizeof(struct jit_node_s)); + + /* Sort queue in ascending order of packet timestamp */ +- jit_sort_queue(queue); ++ // jit_sort_queue(queue); + + /* Done */ + pthread_mutex_unlock(&mx_jit_queue); + +- jit_print_queue(queue, false, DEBUG_JIT); ++ // jit_print_queue(queue, false, DEBUG_JIT); + + MSG_DEBUG(DEBUG_JIT, "dequeued packet with count_us=%u from index %d\n", packet->count_us, index); + +@@ -427,7 +428,7 @@ enum jit_error_e jit_peek(struct jit_queue_s *queue, struct timeval *time, int * + * Warning: unsigned arithmetic (handle roll-over) + * t_packet < t_current + TX_JIT_DELAY + */ +- if ((queue->nodes[idx_highest_priority].pkt.count_us - time_us) < TX_JIT_DELAY) { ++ if ((queue->nodes[idx_highest_priority].pkt.count_us - time_us) < TX_PEEK_DELAY) { + *pkt_idx = idx_highest_priority; + MSG_DEBUG(DEBUG_JIT, "peek packet with count_us=%u at index %d\n", + queue->nodes[idx_highest_priority].pkt.count_us, idx_highest_priority); diff --git a/recipes-connectivity/lora/lora-packet-forwarder_4.0.1.bb b/recipes-connectivity/lora/lora-packet-forwarder_4.0.1.bb index 282d09e..d55e511 100644 --- a/recipes-connectivity/lora/lora-packet-forwarder_4.0.1.bb +++ b/recipes-connectivity/lora/lora-packet-forwarder_4.0.1.bb @@ -7,7 +7,7 @@ LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://LICENSE;md5=22af7693d7b76ef0fc76161c4be76c45" DEPENDS = "lora-gateway logrotate lora-logging" RDEPENDS_${PN} += "bash" -PR = "r16" +PR = "r17" SRCREV = "v${PV}" @@ -39,6 +39,7 @@ SRC_URI = "git://github.com/Lora-net/packet_forwarder.git;protocol=git \ file://lora-packet-forwarder-remove-jit-power-check.patch \ file://lora-packet-forwarder-gpsd.patch \ file://lora-packet-forwarder-beacon-rfu-fix.patch \ + file://lora-packet-forwarder-jit-queue-increase-peek-and-remove-sort-from-dequeue.patch \ " |