kopia lustrzana https://github.com/ge0rg/aprsdroid
				
				
				
			Added support for my jsoundmodem project enabling the APRSDroid to emmit noisy AFSK1200 messages into your favourite transceiver.
To use AFSK simply select it as a connection method (instead of tcp, udp or http). There is a quite long synchronization part at the beginning of the message (1s) , which can be used to trigger a VOX or something homebrewn as well as your brain to push the PTT in time. No need for fast reflexes. 1s is quite enough I think (maybe changed to user adjustable later) Please note, that the build.xml hat to be adapted (incl librarys in libs).itemized2sql
							rodzic
							
								
									597e811229
								
							
						
					
					
						commit
						0e64cadcb1
					
				|  | @ -200,6 +200,7 @@ | |||
| 		<pathelement location="${android-jar}"/> | ||||
| 		<pathelement location="${out-classes}"/> | ||||
| 		<fileset dir="tools" includes="*.jar"/> | ||||
| 		<fileset dir="libs"  includes="*.jar"/> | ||||
| 	    </classpath> | ||||
| 	</scalac> | ||||
|     </target> | ||||
|  |  | |||
|  | @ -7,5 +7,5 @@ | |||
| # "build.properties", and override values to adapt the script to your | ||||
| # project structure. | ||||
| 
 | ||||
| # Project target: Android 1.6 | ||||
| target=android-4 | ||||
| # Project target. | ||||
| target=android-8 | ||||
|  |  | |||
										
											Plik binarny nie jest wyświetlany.
										
									
								
							|  | @ -77,6 +77,7 @@ | |||
| 	<item>UDP port 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
| 	<item>AFSK</item> | ||||
| </string-array> | ||||
| <string name="p_host">Server</string> | ||||
| <string name="p_host_summary">APRS-IS server (port 8080) til at sende beacons</string> | ||||
|  |  | |||
|  | @ -89,6 +89,7 @@ http://www.gnu.de/documents/gpl-2.0.de.html</string> | |||
| 	<item>UDP Port 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP-Verbindung</item> | ||||
| 	<item>AFSK Töne</item> | ||||
| </string-array> | ||||
| <string name="p_host">Server</string> | ||||
| <string name="p_host_summary">APRS-IS Zielserver (Port 8080)</string> | ||||
|  |  | |||
|  | @ -99,6 +99,7 @@ | |||
| 	<item>UDP port 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
| 	<item>AFSK</item> | ||||
| </string-array> | ||||
| <string name="p_host">Server</string> | ||||
| <string name="p_host_summary">APRS-IS server (port 8080) to send beacons</string> | ||||
|  |  | |||
|  | @ -99,6 +99,7 @@ | |||
| 	<item>UDP port 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
| 	<item>AFSK</item> | ||||
| </string-array> | ||||
| <string name="p_host">Serveur</string> | ||||
| <string name="p_host_summary">APRS-IS server (port 8080) to send beacons</string> | ||||
|  |  | |||
|  | @ -97,6 +97,7 @@ | |||
| 	<item>UDP ポート8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
|         <item>AFSK</item> | ||||
| </string-array> | ||||
| <string name="p_host">送信サーバ</string> | ||||
| <string name="p_host_summary">ビーコンを送信するAPRS-ISサーバ (ポート8080)</string> | ||||
|  |  | |||
|  | @ -77,6 +77,7 @@ | |||
| 	<item>UDP port 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
|         <item>AFSK</item> | ||||
| </string-array> | ||||
| <string name="p_host">Server</string> | ||||
| <string name="p_host_summary">APRS-IS server (port 8080) for å sende beacons</string> | ||||
|  |  | |||
|  | @ -97,6 +97,7 @@ | |||
| 	<item>UDP poort 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
| 	<item>AFSK</item> | ||||
| </string-array> | ||||
| <string name="p_host">Server</string> | ||||
| <string name="p_host_summary">APRS-IS server (port 8080) voor het versturen van bakens</string> | ||||
|  |  | |||
|  | @ -97,6 +97,7 @@ | |||
| 	<item>UDP port 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
|         <item>AFSK</item> | ||||
| </string-array> | ||||
| <string name="p_host">Server</string> | ||||
| <string name="p_host_summary">APRS-IS server (port 8080) to send beacons</string> | ||||
|  |  | |||
|  | @ -97,6 +97,7 @@ | |||
| 	<item>UDP port 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
|         <item>AFSK</item> | ||||
| </string-array> | ||||
| <string name="p_host">Sunucu</string> | ||||
| <string name="p_host_summary">Beacon gönderilecek APRS-IS sunucusu (port 8080)</string> | ||||
|  |  | |||
|  | @ -77,6 +77,7 @@ | |||
| 	<item>UDP 端口 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
|         <item>AFSK</item> | ||||
| </string-array> | ||||
| <string name="p_host">服务器</string> | ||||
| <string name="p_host_summary">APRS-IS 服务器 (端口 8080) 发送信标</string> | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ | |||
| 		<item>udp</item> | ||||
| 		<item>http</item> | ||||
| 		<item>tcp</item> | ||||
| 		<item>afsk</item> | ||||
| 	</string-array> | ||||
| 
 | ||||
| 	<string-array name="p_ssid_ev"> | ||||
|  |  | |||
|  | @ -99,6 +99,7 @@ | |||
| 	<item>UDP port 8080</item> | ||||
| 	<item>HTTP POST</item> | ||||
| 	<item>TCP connection</item> | ||||
| 	<item>AFSK via Speaker</item> | ||||
| </string-array> | ||||
| <string name="p_host">Server</string> | ||||
| <string name="p_host_summary">APRS-IS server (port 8080) to send beacons</string> | ||||
|  |  | |||
|  | @ -0,0 +1,65 @@ | |||
| package de.duenndns.aprsdroid | ||||
| 
 | ||||
| import _root_.android.location.Location | ||||
| import _root_.android.preference.PreferenceManager | ||||
| import _root_.android.util.Log | ||||
| import _root_.java.net.{InetAddress, DatagramSocket, DatagramPacket} | ||||
| import com.nogy.afu.soundmodem.{Message, APRSFrame, Afsk} | ||||
| 
 | ||||
| class AfskUploader(host : String, login : String) extends AprsIsUploader(host, login) { | ||||
| 	val TAG = "AprsAfsk" | ||||
| 	var FrameLength = 150	//1200Bits = 1sec to open VOX | ||||
| 	var Digis = "WIDE1-1" | ||||
| 	 | ||||
| 	def start() { | ||||
| 	} | ||||
| 
 | ||||
| 	def update(packet : String) : String = { | ||||
| 		// Need to "parse" the packet in order to replace the Digipeaters | ||||
| 		var from = packet.split('>') | ||||
| 		var temp : String = "" | ||||
| 		var i=1 | ||||
| 		while (i<from.length-1) | ||||
| 		{ | ||||
| 			temp += from(i)+">" | ||||
| 			i=i+1 | ||||
| 		} | ||||
| 		temp+=from(i) | ||||
| 		var to = temp.split(',') | ||||
| 		i=1 | ||||
| 		temp = "" | ||||
| 		while (i<to.length-1) | ||||
| 		{ | ||||
| 			temp += to(i)+"," | ||||
| 			i=i+1 | ||||
| 		} | ||||
| 		temp+=to(i) | ||||
| 		var digi = temp.split(':') | ||||
| 		i=1 | ||||
| 		temp = "" | ||||
| 		while (i<digi.length-1) | ||||
| 		{ | ||||
| 			temp += digi(i)+":" | ||||
| 			i=i+1 | ||||
| 		} | ||||
| 		temp+=digi(i) | ||||
| 		var data = temp | ||||
| 		var msg : Message = (new APRSFrame(from(0),to(0),Digis,data,FrameLength)).getMessage() | ||||
| 		var mod : Afsk = new Afsk() | ||||
| 		mod.sendMessage(msg) | ||||
| 		Log.d(TAG, "update(): From: " + from +" To: "+ to +" Via: " + digi + " telling " + data) | ||||
| 		"AFSK OK" | ||||
| 	} | ||||
| 
 | ||||
| 	def stop() { | ||||
| 	} | ||||
| 
 | ||||
| 	// Non Interface methods | ||||
| 	def set_FrameLength(length: Int) = { | ||||
| 		FrameLength = length | ||||
| 	} | ||||
| 
 | ||||
| 	def set_Digis(Digipeaters : String) = { | ||||
| 		Digis = Digipeaters | ||||
| 	} | ||||
| } | ||||
|  | @ -61,6 +61,8 @@ class AprsService extends Service with LocationListener { | |||
| 			poster = new HttpPostUploader(hostname, login) | ||||
| 		case "tcp" => | ||||
| 			poster = new TcpUploader(this, hostname, login, " filter m/%d".format(filterdist)) | ||||
| 		case "afsk" => | ||||
| 			poster = new AfskUploader(hostname, login) | ||||
| 		case _ => | ||||
| 			stopSelf() | ||||
| 		} | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 Bastian Müller
						Bastian Müller