Skip to content

Commit 5d122d3

Browse files
committed
restructuring readme.md
1 parent a61f206 commit 5d122d3

19 files changed

+38
-38
lines changed

AFSK_Test_Circuit.png

70.2 KB
Loading

ARDUINO_V2.png

136 KB
Loading

Arduino-Sketches/Test/APRS_GPS_GPRMC/APRS_GPS_GPRMC.ino

+5-5
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
#define _DT_POS '!'
3333

3434
#define _GPRMC 1
35-
#define _BEACON 2
36-
#define _FIXPOS 3
37-
#define _FIXPOS_STATUS 4
38-
#define _STATUS 5
35+
#define _FIXPOS 2
36+
#define _FIXPOS_STATUS 3
37+
#define _STATUS 4
38+
#define _BEACON 5
3939

4040
// Defines the Dorji Control PIN
4141
#define _PTT 7
@@ -721,7 +721,7 @@ void loop()
721721
{
722722
//send_packet(random(1,4), random(1,3));
723723
if(coord_valid > 0)
724-
send_packet(random(1,6));
724+
send_packet(random(1,5));
725725
else
726726
send_packet(_BEACON);
727727
}

Arduino-Sketches/Test/APRS_GPS_GPRMC/APRS_GPS_GPRMC.ino.standard.hex

+10-10
Original file line numberDiff line numberDiff line change
@@ -126,18 +126,18 @@
126126
:1007D000EF92FF920F931F93CF93DF93D82F0E9436
127127
:1007E000890768E071E083EE93E00E946A026DE29F
128128
:1007F00083EE93E00E94E10381E090E00E945209C1
129-
:100800006EE383EE93E00E94E103D23019F468E1D5
129+
:100800006EE383EE93E00E94E103D53019F468E1D2
130130
:1008100071E002C060E171E083EE93E00E946A0241
131131
:100820006CE283EE93E00E94E10360E071E083EE0E
132132
:1008300093E00E946A026DE283EE93E00E94E1037E
133133
:1008400082E090E00E9452096AE383EE93E00E9406
134134
:10085000E103D13041F464E283EE93E00E94E103CE
135-
:1008600061E773E048C0D330E1F461E283EE93E0E6
135+
:1008600061E773E048C0D230E1F461E283EE93E0E7
136136
:100870000E94E10368E673E083EE93E00E946A025F
137137
:1008800068E483EE93E00E94E1036EE573E083EE9B
138138
:1008900093E00E946A0261E683EE93E00E94E10326
139-
:1008A0002EC0D53031F46EE383EE93E00E94E10375
140-
:1008B00020C0D430F1F461E283EE93E00E94E103C2
139+
:1008A0002EC0D43031F46EE383EE93E00E94E10376
140+
:1008B00020C0D330F1F461E283EE93E00E94E103C3
141141
:1008C00068E673E083EE93E00E946A0268E483EED8
142142
:1008D00093E00E94E1036EE573E083EE93E00E94F3
143143
:1008E0006A0261E683EE93E00E94E10360E271E058
@@ -151,7 +151,7 @@
151151
:100960008093FC0361E08DE00E94860961E087E0EE
152152
:100970000E94860964E670E080E090E00E947F0AB1
153153
:1009800004E610E060E08EE70E949C02015011092D
154-
:10099000C9F78FEF9FEF9093210280932002D2300E
154+
:10099000C9F78FEF9FEF9093210280932002D5300B
155155
:1009A000E1F4E8E1F1E001900020E9F73197E85146
156156
:1009B000F140CE2F08E111E0EE2EEE0FFF08C80146
157157
:1009C000885191408E159F0524F5F80181918F0182
@@ -178,13 +178,13 @@
178178
:100B10000E949C0261E083E00E949C0261E080EF01
179179
:100B20000E949C02D13079F461E084E20E949C0230
180180
:100B3000E1E7F3E001900020E9F7BF01635773405C
181-
:100B400081E793E06FC0D33039F561E081E20E9424
181+
:100B400081E793E06FC0D23039F561E081E20E9425
182182
:100B50009C02E8E6F3E001900020E9F73197BF013D
183183
:100B60006856734088E693E00E94E70261E088E4FB
184184
:100B70000E949C02EEE5F3E001900020E9F7319736
185185
:100B8000BF016E5573408EE593E00E94E70261E07D
186-
:100B900081E60E949C0248C0D53029F461E08EE3D2
187-
:100BA0000E949C0234C0D43091F561E081E20E9441
186+
:100B900081E60E949C0248C0D43029F461E08EE3D3
187+
:100BA0000E949C0234C0D33091F561E081E20E9442
188188
:100BB0009C02E8E6F3E001900020E9F73197BF01DD
189189
:100BC0006856734088E693E00E94E70261E088E49B
190190
:100BD0000E949C02EEE5F3E001900020E9F73197D6
@@ -371,7 +371,7 @@
371371
:101720000E94E10362E572E083EE93E00E944102D1
372372
:101730008FE994E00E940D0780E894E00E94C407BE
373373
:101740000E94B107BC01990F880B990B61157105B7
374-
:101750008105910511F00E943A0D85E0C82ED12C2B
374+
:101750008105910511F00E943A0D84E0C82ED12C2C
375375
:10176000E12CF12C90E4892E9FE1992EA12CB12C33
376376
:1017700080E894E00E94C4071092D503E1E7F3E00B
377377
:10178000119283E0E53DF807D9F780E894E00E94E4
@@ -387,7 +387,7 @@
387387
:10182000E636F807D1F780919C0380936603809198
388388
:101830008103813459F4CB3074F00E94EC0CA70181
389389
:1018400096010E943E0E81E0860F03C0CB301CF053
390-
:1018500082E00E94E803609122027091230280E0FE
390+
:1018500085E00E94E803609122027091230280E0FB
391391
:1018600090E00E947F0A0E94B107BC01990F880B8B
392392
:10187000990B611571058105910511F00E943A0DD2
393393
:101880000E94EC0CA50194010E943E0EDC01CB01EC

Arduino-Sketches/Test/APRS_GPS_GPRMC/APRS_GPS_GPRMC.ino.with_bootloader.standard.hex

+10-10
Original file line numberDiff line numberDiff line change
@@ -126,18 +126,18 @@
126126
:1007D000EF92FF920F931F93CF93DF93D82F0E9436
127127
:1007E000890768E071E083EE93E00E946A026DE29F
128128
:1007F00083EE93E00E94E10381E090E00E945209C1
129-
:100800006EE383EE93E00E94E103D23019F468E1D5
129+
:100800006EE383EE93E00E94E103D53019F468E1D2
130130
:1008100071E002C060E171E083EE93E00E946A0241
131131
:100820006CE283EE93E00E94E10360E071E083EE0E
132132
:1008300093E00E946A026DE283EE93E00E94E1037E
133133
:1008400082E090E00E9452096AE383EE93E00E9406
134134
:10085000E103D13041F464E283EE93E00E94E103CE
135-
:1008600061E773E048C0D330E1F461E283EE93E0E6
135+
:1008600061E773E048C0D230E1F461E283EE93E0E7
136136
:100870000E94E10368E673E083EE93E00E946A025F
137137
:1008800068E483EE93E00E94E1036EE573E083EE9B
138138
:1008900093E00E946A0261E683EE93E00E94E10326
139-
:1008A0002EC0D53031F46EE383EE93E00E94E10375
140-
:1008B00020C0D430F1F461E283EE93E00E94E103C2
139+
:1008A0002EC0D43031F46EE383EE93E00E94E10376
140+
:1008B00020C0D330F1F461E283EE93E00E94E103C3
141141
:1008C00068E673E083EE93E00E946A0268E483EED8
142142
:1008D00093E00E94E1036EE573E083EE93E00E94F3
143143
:1008E0006A0261E683EE93E00E94E10360E271E058
@@ -151,7 +151,7 @@
151151
:100960008093FC0361E08DE00E94860961E087E0EE
152152
:100970000E94860964E670E080E090E00E947F0AB1
153153
:1009800004E610E060E08EE70E949C02015011092D
154-
:10099000C9F78FEF9FEF9093210280932002D2300E
154+
:10099000C9F78FEF9FEF9093210280932002D5300B
155155
:1009A000E1F4E8E1F1E001900020E9F73197E85146
156156
:1009B000F140CE2F08E111E0EE2EEE0FFF08C80146
157157
:1009C000885191408E159F0524F5F80181918F0182
@@ -178,13 +178,13 @@
178178
:100B10000E949C0261E083E00E949C0261E080EF01
179179
:100B20000E949C02D13079F461E084E20E949C0230
180180
:100B3000E1E7F3E001900020E9F7BF01635773405C
181-
:100B400081E793E06FC0D33039F561E081E20E9424
181+
:100B400081E793E06FC0D23039F561E081E20E9425
182182
:100B50009C02E8E6F3E001900020E9F73197BF013D
183183
:100B60006856734088E693E00E94E70261E088E4FB
184184
:100B70000E949C02EEE5F3E001900020E9F7319736
185185
:100B8000BF016E5573408EE593E00E94E70261E07D
186-
:100B900081E60E949C0248C0D53029F461E08EE3D2
187-
:100BA0000E949C0234C0D43091F561E081E20E9441
186+
:100B900081E60E949C0248C0D43029F461E08EE3D3
187+
:100BA0000E949C0234C0D33091F561E081E20E9442
188188
:100BB0009C02E8E6F3E001900020E9F73197BF01DD
189189
:100BC0006856734088E693E00E94E70261E088E49B
190190
:100BD0000E949C02EEE5F3E001900020E9F73197D6
@@ -371,7 +371,7 @@
371371
:101720000E94E10362E572E083EE93E00E944102D1
372372
:101730008FE994E00E940D0780E894E00E94C407BE
373373
:101740000E94B107BC01990F880B990B61157105B7
374-
:101750008105910511F00E943A0D85E0C82ED12C2B
374+
:101750008105910511F00E943A0D84E0C82ED12C2C
375375
:10176000E12CF12C90E4892E9FE1992EA12CB12C33
376376
:1017700080E894E00E94C4071092D503E1E7F3E00B
377377
:10178000119283E0E53DF807D9F780E894E00E94E4
@@ -387,7 +387,7 @@
387387
:10182000E636F807D1F780919C0380936603809198
388388
:101830008103813459F4CB3074F00E94EC0CA70181
389389
:1018400096010E943E0E81E0860F03C0CB301CF053
390-
:1018500082E00E94E803609122027091230280E0FE
390+
:1018500085E00E94E803609122027091230280E0FB
391391
:1018600090E00E947F0A0E94B107BC01990F880B8B
392392
:10187000990B611571058105910511F00E943A0DD2
393393
:101880000E94EC0CA50194010E943E0EDC01CB01EC

README.md

+13-13
Original file line numberDiff line numberDiff line change
@@ -69,28 +69,28 @@ void set_nada_2400(void)
6969
Here are some preliminary test to show you how to generate APRS (or AFSK in general) signal on Arduino UNO.
7070
The required GRC Flowgraph can be obtained here : [GitHub page](https://github.com/handiko/gr-APRS)
7171
* Test circuit (**bring the loudspeaker close to your laptop's microphone**, and then run the GRC flowgraph above):
72-
![](./Pics/AFSK_Test_Circuit.png)
72+
![](./AFSK_Test_Circuit.png)
7373
7474
### Single Tone (1200 Hz / 2400 Hz) Test
7575
* Arduino Skecthes : **Arduino-APRS/Arduino-Sketches/Test/Single_Tone_Test_1200_Hz** (and .....2400_Hz of course)
7676
* GRC flowgraph: **APRS_time_and_freq_disp.grc**
7777
* Test result (1200 Hz) :
78-
![](./Pics/single_tone_1200_test.png)
78+
![](./single_tone_1200_test.png)
7979
* Test result (2400 Hz) :
80-
![](./Pics/single_tone_2400_test.png)
80+
![](./single_tone_2400_test.png)
8181
8282
### Random Two Tone Test
8383
* Arduino Skecthes : **Arduino-APRS/Arduino-Sketches/Test/Random_Two_Tones_Test**
8484
* Test result (using **APRS_time_and_freq_disp.grc**) :
85-
![](./Pics/two_tone_test.png)
85+
![](./two_tone_test.png)
8686
* Test result (using **APRS_time_and_freq_disp_BPF.grc**) :
87-
![](./Pics/two_tone_test_bpf.png)
87+
![](./two_tone_test_bpf.png)
8888
8989
### Random String Demodulation Test
9090
* Arduino Skecthes : **Arduino-APRS/Arduino-Sketches/Test/Pulsed_AFSK_Random_Delay_with_Preamble**
9191
* GRC Flowgraph : **APRS_AFSK_Demod_Clock_Sync.grc**
9292
* Test result. From the plot below, demodulator output and the Clock Synchronizer output shows that the generated AFSK signal has both correct tone and correct baudrate.
93-
![](./Pics/random_string_demod.png)
93+
![](./random_string_demod.png)
9494
9595
## Example
9696
Here are some examples where the generated APRS/AFSK signal is decoded using GNU Radio and [direwolf](https://github.com/wb2osz/direwolf). This example confirms that the generated APRS/AFSK signal indeed correct and decodeable.
@@ -99,25 +99,25 @@ Here are some examples where the generated APRS/AFSK signal is decoded using GNU
9999
* Arduino Skecthes : **Arduino-APRS/Arduino-Sketches/Example/APRS_Mixed_Message**
100100
* GRC Flowgraph : **APRS_SCARD.grc**
101101
* Transmitted frame (displayed in TNC2 format)
102-
![](./Pics/aprs_serial_monitor_debug.png)
102+
![](./aprs_serial_monitor_debug.png)
103103
* Test Result (Demod output)
104-
![](./Pics/aprs_demod_output.png)
104+
![](./aprs_demod_output.png)
105105
* Test Result [Direwolf](https://github.com/wb2osz/direwolf)
106-
![](./Pics/aprs_direwolf_decode.png)
106+
![](./aprs_direwolf_decode.png)
107107
* Test Result (Decoded APRS Frame from GNU Radio)
108-
![](./Pics/telnet_aprs_decode_output.png)
108+
![](./telnet_aprs_decode_output.png)
109109
110110
## Early Static Test
111111
Recently i performed a static test to see whether the Arduino-APRS could send the packet via Radio. Sure it could !
112112
* Ciruits : **Arduino-APRS/Fritzing-Sketch/APRS_GPS.fzz**
113-
![](./Pics/fritzing_APRS_GPS.png)
113+
![](./fritzing_APRS_GPS.png)
114114
* Arduino Sketches : **Arduino-APRS/Arduino-Sketches/Test/APRS_GPS_GPRMC**
115115
* GPS : **uBlox NEO-6-M with small pacth antenna**
116116
* I-Gate : **Direwolf** under linux
117117
* See how it was reporting the GPS positions while it still trying to aquire the most accurate position over time ([https://aprs.fi](https://aprs.fi) , [https://aprs.fi/info/a/YD1SDL-1](https://aprs.fi/info/a/YD1SDL-1)).
118-
![](./Pics/static_test_zoom.png)
118+
![](./static_test_zoom.png)
119119
* Here was the RF path to the IGate:
120-
![](./Pics/RF_path.png)
120+
![](./RF_path.png)
121121
122122
## TODO
123123
* Make the code more efficient and nicer. (there's a lot of room for improvement!)

RF_path.png

272 KB
Loading

aprs.fi_profile.png

81.6 KB
Loading

aprs_demod_output.png

116 KB
Loading

aprs_direwolf_decode.png

64.2 KB
Loading

aprs_serial_monitor_debug.png

72.1 KB
Loading

fritzing_APRS_GPS.png

99.4 KB
Loading

random_string_demod.png

155 KB
Loading

single_tone_1200_test.png

66.9 KB
Loading

single_tone_2400_test.png

74.2 KB
Loading

static_test_zoom.png

30.3 KB
Loading

telnet_aprs_decode_output.png

154 KB
Loading

two_tone_test.png

77.3 KB
Loading

two_tone_test_bpf.png

95.4 KB
Loading

0 commit comments

Comments
 (0)