diff --git a/rf/m0_rfm95_lora/.DS_Store b/rf/m0_rfm95_lora/.DS_Store index ff037f4e99a77b01e4ce2f4cf23d899135886e78..30e5fa8514eaff6a5ab69a93bf29dbb546942626 100644 Binary files a/rf/m0_rfm95_lora/.DS_Store and b/rf/m0_rfm95_lora/.DS_Store differ diff --git a/rf/m0_rfm95_lora/feather_lora_scope.PNG b/rf/m0_rfm95_lora/feather_lora_scope.PNG deleted file mode 100755 index a55685de06128a807c1583ca0b9ddb18e357bffa..0000000000000000000000000000000000000000 Binary files a/rf/m0_rfm95_lora/feather_lora_scope.PNG and /dev/null differ diff --git a/rf/m0_rfm95_lora/images/data_sheet_timing.jpg b/rf/m0_rfm95_lora/images/data_sheet_timing.jpg new file mode 100644 index 0000000000000000000000000000000000000000..982a243932bf1de46640fb92c1787d2b4ba22f79 Binary files /dev/null and b/rf/m0_rfm95_lora/images/data_sheet_timing.jpg differ diff --git a/rf/m0_rfm95_lora/images/feather_lora_scope.jpg b/rf/m0_rfm95_lora/images/feather_lora_scope.jpg new file mode 100755 index 0000000000000000000000000000000000000000..be83f56ee49956b4805ca5b89125166be256a1af Binary files /dev/null and b/rf/m0_rfm95_lora/images/feather_lora_scope.jpg differ diff --git a/rf/m0_rfm95_lora/feather_lora_setup.jpg b/rf/m0_rfm95_lora/images/feather_lora_setup.jpg similarity index 100% rename from rf/m0_rfm95_lora/feather_lora_setup.jpg rename to rf/m0_rfm95_lora/images/feather_lora_setup.jpg diff --git a/rf/m0_rfm95_lora/images/paramp.jpg b/rf/m0_rfm95_lora/images/paramp.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b30682cfe422b04fbddbe1d2346e541eb9c06e19 Binary files /dev/null and b/rf/m0_rfm95_lora/images/paramp.jpg differ diff --git a/rf/m0_rfm95_lora/images/ts_hop.jpg b/rf/m0_rfm95_lora/images/ts_hop.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a79b48273380a2fc5b99bcc8a663ab96fdf3061 Binary files /dev/null and b/rf/m0_rfm95_lora/images/ts_hop.jpg differ diff --git a/rf/m0_rfm95_lora/images/ts_re.jpg b/rf/m0_rfm95_lora/images/ts_re.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c2dfb18fd8f0cd142857ee2b1aca3702731ca787 Binary files /dev/null and b/rf/m0_rfm95_lora/images/ts_re.jpg differ diff --git a/rf/m0_rfm95_lora/images/ts_tr.jpg b/rf/m0_rfm95_lora/images/ts_tr.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f6baf1f96808c967dda4a1a735af4d20872be7b5 Binary files /dev/null and b/rf/m0_rfm95_lora/images/ts_tr.jpg differ diff --git a/rf/m0_rfm95_lora/index.html b/rf/m0_rfm95_lora/index.html index 964cf16c3de1cc5796311603d629e4204543135f..490349aba1f9b18600655676127445cce62b41c8 100644 --- a/rf/m0_rfm95_lora/index.html +++ b/rf/m0_rfm95_lora/index.html @@ -1,5 +1,18 @@ + Radio Ring Oscillator + + + + + + + + + - +

Adafruit Feather M0 Radio with LoRa Radio Module 900MHz

@@ -28,18 +41,43 @@ figure{

I used Adafruit's documentation to get the oscillator running using the Arduino IDE.

- +
Feather M0 LoRa setup
-

Code is included below. The oscilloscope output was generated by pulling a GPIO pin high while the radio sent a message and waited to verify delivery of the message. The round trip time was 127ms which equates to a frequency of 7.9Hz. This is pretty long in comparison to other modules that we've been testing however the real benefit of the LoRa Radio Module is it's capability over long ranges.

+

Code is included below. The oscilloscope output was generated by pulling a GPIO pin high while the radio sent a message and waited to verify delivery of the message. The round trip time was 127ms which equates to a frequency of 7.9Hz. This is pretty long in comparison to other modules that we've been testing however the real benefit of the LoRa Radio Module is it's capability over long ranges. Code for this measurement is included below.

+ + +
+ +
Feather M0 LoRa oscillscope output
+
+ +

The data sheet for the RFM95 has data which can be used to determine what the minimum round trip could be. Total time for a round trip could theoretically be 2*TS_HOP + TS_RE + TS_TR where TS_TR = 5us + 1.25*PaRamp + 0.5*TBit. These quantities are described below.

+
- -
Feather M0 LoRa ring oscillator results
+ + + + + +
Timing information from datasheet
-

The code below is used on both modules with two lines changed to enable the ring to start. The variable counter should be adjusted as described in the comment and the starting sequence should be uncommented, again as described in the comment in the code.

+ + + +

A potential round trip time of 2.5ms is vastly shorter than the 127ms measured in the experiment. The next step to minimise the apparent round trip time would be to pull out the functions being called from the various Arduino libraries into a single program, this would help to gain more transparency for the code that's actually being compiled and run. (To do this grep "FuntionName" *.* is useful command for searching through multiple files from the command line). However the most exciting feature of these chips are there capability over long distances. Therefore the next step is to determine a test setup to quantify this capability.

+ +

The code below is used on both modules with two lines changed to enable the ring to start. The counter variable should be adjusted as described in the comment and the starting sequence should be uncommented, again as described in the comment in the code.

 
@@ -49,11 +87,7 @@ figure{
 #define RFM95_CS 8
 #define RFM95_RST 4
 #define RFM95_INT 3
-
- 
-// Change to 434.0 or other frequency, must match RX's freq!
 #define RF95_FREQ 915.0
-
 #define FIRE 12
 
 // Singleton instance of the radio driver
@@ -134,8 +168,6 @@ void loop(){
       }
     }
   }
-
-  
 }