You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* HAL: Changed GPS module to get native GPS time (monotonic, no leap second).
**WARNING**: The native GPS time is not given in standard NMEA messages, so we
get it from a proprietary message of the GPS module used on gateway reference
design, u-blox 7. If you are not using the same GPS module, you may have to
update the lgw_parse_ubx() function.
* HAL: Added lgw_cnt2gps() and lgw_gps2cnt() functions for SX1301<->GPS time
conversion.
* HAL: Changed serial port configuration for GPS to properly handle binary
messages (UBX).
* HAL: Added a lgw_gps_disable() function to restore serial configuration as
it was before HAL initialization.
* HAL: Fixed packet time on air calculation using the actual packet preamble
size.
* HAL: Adjusted TX_START_DELAY based on the board reference design to ensure
that a packet is sent exactly at 1500µs after the TX trigger (TIMESTAMP or PPS),
with a tolerance of +/- 1µs. This is mandatory to comply with LoRaWAN
specification for Class-B beaconing precise timing.
**WARNING**: This release provides tx start delay values to be used for Semtech
reference designs AP1 and AP2. The HAL automatically detects the board version
by detecting a FPGA or not. If you are using a different reference design or
a different FPGA binary version than the one provided with this release, the
value to be used for TX start delay may be different.
Copy file name to clipboardExpand all lines: libloragw/inc/loragw_hal.h
+18-4Lines changed: 18 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -359,10 +359,24 @@ int lgw_receive(uint8_t max_pkt, struct lgw_pkt_rx_s *pkt_data);
359
359
@param pkt_data structure containing the data and metadata for the packet to send
360
360
@return LGW_HAL_ERROR id the operation failed, LGW_HAL_SUCCESS else
361
361
362
-
/!\ When sending a packet, there is a 1.5 ms delay for the analog circuitry to start and be stable (TX_START_DELAY).
363
-
In 'timestamp' mode, this is transparent: the modem is started 1.5ms before the user-set timestamp value is reached, the preamble of the packet start right when the internal timestamp counter reach target value.
364
-
In 'immediate' mode, the packet is emitted as soon as possible: transferring the packet (and its parameters) from the host to the concentrator takes some time, then there is the TX_START_DELAY, then the packet is emitted.
365
-
In 'triggered' mode (aka PPS/GPS mode), the packet, typically a beacon, is emitted 1.5ms after a rising edge of the trigger signal. Because there is no way to anticipate the triggering event and start the analog circuitry beforehand, that delay must be taken into account in the protocol.
362
+
/!\ When sending a packet, there is a delay (approx 1.5ms) for the analog
363
+
circuitry to start and be stable. This delay is adjusted by the HAL depending
364
+
on the board version (lgw_i_tx_start_delay_us).
365
+
366
+
In 'timestamp' mode, this is transparent: the modem is started
367
+
lgw_i_tx_start_delay_us microseconds before the user-set timestamp value is
368
+
reached, the preamble of the packet start right when the internal timestamp
369
+
counter reach target value.
370
+
371
+
In 'immediate' mode, the packet is emitted as soon as possible: transferring the
372
+
packet (and its parameters) from the host to the concentrator takes some time,
373
+
then there is the lgw_i_tx_start_delay_us, then the packet is emitted.
374
+
375
+
In 'triggered' mode (aka PPS/GPS mode), the packet, typically a beacon, is
376
+
emitted lgw_i_tx_start_delay_us microsenconds after a rising edge of the
377
+
trigger signal. Because there is no way to anticipate the triggering event and
378
+
start the analog circuitry beforehand, that delay must be taken into account in
0 commit comments