diff --git a/README.md b/README.md index cae7d0d..f8b1982 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -LoRa Time on Air calculator -=========================== +LoRa/LoRaWAN Time on Air calculator +=================================== -A calculator of the time on air of LoRa PHY frame in Python. +A calculator of the time on air (ToA) of LoRa/LoRaWAN PHY frame in Python. This script refers to the section 4.1.1.6. LoRa Packet Structure, [SX1276/77/78/79 Datasheet rev.5][http://www.semtech.com/images/datasheet/sx1276.pdf]. @@ -34,32 +34,34 @@ the --downlink option should be specified. ## Usage - lorawan_toa.py [-h] [--band-width N_BW] [--disable-auto-ldro] - [--enable-ldro] [--disable-eh] [--downlink] - [--disable-crc] [--cr N_CR] [--preamble N_PREAMBLE] [-v] - [-d] - SF SIZE + lorawan_toa.py [-h] [--band-width NUMBER] [--disable-auto-ldro] + [--enable-ldro] [--disable-eh] [--downlink] + [--disable-crc] [--cr NUMBER] [--preamble NUMBER] + [--duty-cycle NUMBER] [-v] [-d] + SF SIZE + + LoRa Time on Air calculator. positional arguments: - SF Spreading Factor. It should be from 7 to 12. - SIZE PHY payload size in byte. It's equal to the MAC - payload + 5. + SF Spreading Factor. It should be from 7 to 12. + SIZE PHY payload size in byte. It's equal to the MAC payload + + 5. optional arguments: - -h, --help show this help message and exit - --band-width N_BW bandwidth in kHz. default is 125 kHz. - --disable-auto-ldro disable the auto LDRO and disable LDRO. - --enable-ldro This option is available when the auto LDRO is - disabled. - --disable-eh disable the explicit header. - --downlink disable the CRC field, which is for the LoRaWAN - downlink stream. - --disable-crc same effect as the --downlink option. - --cr N_CR specify the CR value. default is 1 as LoRaWAN does. - --preamble N_PREAMBLE - specify the preamble. default is 8 for AS923. - -v enable verbose mode. - -d increase debug mode. + -h, --help show this help message and exit + --band-width NUMBER bandwidth in kHz. default is 125 kHz. + --disable-auto-ldro disable the auto LDRO and disable LDRO. + --enable-ldro This option is available when the auto LDRO is + disabled. + --disable-eh disable the explicit header. + --downlink disable the CRC field, which is for the LoRaWAN + downlink stream. + --disable-crc same effect as the --downlink option. + --cr NUMBER specify the CR value. default is 1 as LoRaWAN does. + --preamble NUMBER specify the preamble. default is 8 for AS923. + --duty-cycle NUMBER specify the duty cycle in percentage. default is 1 %. + -v enable verbose mode. + -d increase debug mode. ## Examples @@ -68,20 +70,23 @@ below example, it show detail information in SF 12, 64 bytes of PHY payload, 125 kHz bandwidth, preamble 8. % python lorawan_toa.py 12 64 -v - PHY payload size : 64 Bytes - MAC payload size : 59 Bytes - Spreading Factor : 12 + PHY payload size : 16 Bytes + MAC payload size : 11 Bytes + Spreading Factor : 7 Band width : 125 kHz - Low data rate opt. : enable + Low data rate opt. : disable Explicit header : enable CR (coding rate) : 1 (4/5) - Symbol Rate : 30.518 symbol/s - Symbol Time : 32.768 msec/symbol + Symbol Rate : 976.562 symbol/s + Symbol Time : 1.024 msec/symbol Preamble size : 8 symbols - Packet symbol size : 73 symbols - Preamble ToA : 401.408 msec - Payload ToA : 2392.064 msec - Time on Air : 2793.472 msec + Packet symbol size : 38 symbols + Preamble ToA : 12.544 msec + Payload ToA : 38.912 msec + Time on Air : 51.456 msec + Duty Cycle : 1 % + Min span of a cycle : 5 sec + Max Frames per day : 16791 frames without the -v option, it simply shows the ToA.