enhancedradiodevices / hamshield Goto Github PK
View Code? Open in Web Editor NEWHamShield Arduino Library and Example Sketches
HamShield Arduino Library and Example Sketches
Hello team, I am currently working on a project using the Hamshield mini.
I am exploring the AFSK_SerialMessenger and I noticed a header indicating that I can transmit a message under 254 characters so I have a few questions and they are as follows:
Does the hamshield mini have the capacity to transmit over 10,000 characters at time.
If yes, what and what am I likely to adjust the AFSK_SerialMessenger codes and on the radio(if any) to enable me achieve a fluent transmission of 10,000 text characters or above.
If no, please can you advice me on my other options.
Thanks
Map DCS codes to a character set to create a new, novel method of identifying a voice transmission.
An article of the codes can be found here: http://wiki.radioreference.com/index.php/DCS
Attempting to build an APRS iGate. (Wireless) Internet connectivity is essential. Intel Edison on the Arduino carrier board makes a compelling package. Needs DDS timer support for this to work.
This configuration may also support an IRPL node. This needs investigation.
a few of the example sketches use this call to the library. Each time I would compile this line would be called out with an error. Even though this is defined in the hamshield.cpp, I had to change the sketch to use hamshield.frequency (440000) and that would compile and work.
My HamShield loaded with the latest KISS SW works for RX with YAAC. Now I'm trying to interface the HamShield to APRX to get RX packets into APRX to use it as an RX only iGate. Here is the interface section of my aprx.conf.
serial-device /dev/ttyACM0 9600 8n1 KISSIn the aprx.log file see this...
2017-02-03 04:57:30.218 TTY /dev/ttyACM0 opened
...but no RF packets logged to aprs-rf.log
Any ideas?
Thanks,
Jim.
The AX25Receive example does not process all packets. Frequency set to 144390. A local transmitter is generating packets. A local digipeater repeats the packet. These packets are clearly heard in the receive audio through the headphone. Many short test packets are decoded only sporadically and most (perhaps all) normal APRS packets are not decoded at all.
I have a test environment set up with a baofeng UV-5R radio connected to my android phone running APRSdroid which I can use to send messages through the hamshield and an arduino uno to my PC.
If I use the KISS example, I can receive messages and display them on a serial terminal (garbled, as expected) or cleanly in YAAC. I am able to repeat this and it works almost all the time, minus a few missed or rejected packets.
However: if I upload the serial messenger example, no packets are ever displayed on the serial terminal. Just a pretty, blank, white screen. Yes, I made sure the port was not being used by something else, yes, I made sure the frequency was set to the frequency I'm using. There are just no packets ever reported to the serial terminal.
Any Ideas?
-Aaron
Just got my two HS-09's. Working great otherwise, but can't compile any of the AFSK & packet examples due to missing libraries. I'd really like to experiment with packet; where can I get versions of these libraries that were meant to work with these examples?
I can't seem to find documentation for DTMF usage other than scattered references in the wiki.
I've just go my Hamshield and I have followed the steps to working on it, but I am having some issues when I try to transmit the signal to my motorola talkabout. I conected the hamshield to my arduino uno, plug it on a wall power supply, plug it to the arduino cable and uploaded the SpeechTX code to it. I had to change de the frequency in the code to 462562 in both Setup and Loop functions but nothing happens. Although I can comunicate from my motorola radio to the hamshield, but the other way doesn't work. Any clue??
By the way I am using the right antenna, I can even communicate from the motorola radio to the hamshield.
I'm using the HamShield with the R3 UNO board connected to my mac running the latest JAVA and YAAC. I have configured the radio interface to connect to the board but see no APRS packets coming through on the RAW Packet Sniffer window. Has the KISS mode example been used with YAAC?
While testing messaging from YAAC and the latest KISS code, I noticed that isolated TX packets are less likely to be received by my local digi and by my HT when sent as an isolated packet however if the message send button is pressed a second time quickly after the first packet is sent then the message is received by both the digi and the HT. Sounds like the modulation starts weak and builds and by the time the second packet starts the entire message is receivable.
The RSSI value always is read at -15. Need to determine why and make it return proper values.
I have download the latest Hamshield examples and libraries (DDS & Hamshiled_KISS) and when I compile the KISS.ino example I get the following error: call of overloaded 'frequency(long int)' is ambiguous.
Any help would be much appreciated.
Here is the error message summary.
C:\Users\keng\Documents\0 Arduino\HamShield-master\examples\KISS\KISS.ino: In function 'void setup()':
KISS:59:25: error: call of overloaded 'frequency(long int)' is ambiguous
radio.frequency(144390);
^
In file included from C:\Users\keng\Documents\0 Arduino\HamShield-master\examples\KISS\KISS.ino:22:0:
C:\Users\keng\Documents\0 Arduino\libraries\Hamshield/HamShield.h:247:8: note: candidate: bool HamShield::frequency(uint32_t)
bool frequency(uint32_t freq_khz);
^
C:\Users\keng\Documents\0 Arduino\libraries\Hamshield/HamShield.h:248:14: note: candidate: bool HamShield::frequency(float)
bool frequency(float freq_khz);
^
Using library Hamshield in folder: C:\Users\keng\Documents\0 Arduino\libraries\Hamshield (legacy)
Using library HamShield_KISS-master at version 1.0.4 in folder: C:\Users\keng\Documents\0 Arduino\libraries\HamShield_KISS-master
Using library DDS-master at version 1.0.3 in folder: C:\Users\keng\Documents\0 Arduino\libraries\DDS-master
exit status 1
call of overloaded 'frequency(long int)' is ambiguous
Transmit:
An unmodulated FM carrier should have almost zero bandwidth with no sidebands. We can move the audio source to the tone generator with no tone used to generate it. Pulsing the transmit on and off should produce a CW transmission. We will verify this theory using a spectrum analyzer.
Receive:
We may be able to use the RSSI indicator to detect CW. It is uncertain how fast this technique will be (the RSSI value seems to be a fast moving average) or if it is viable in weak signal detection. It may take a bit of analysis to identify the existence of a CW signal.
I am having problems with “AFSK_SerialMessenger” reporting incorrectly on APRS.fi. The error message I get is: “2021-03-01 09:52:23 MST: VE6AGD-5>VE6AGD,qAR,VE6AGD:Test [Unsupported packet format]”
The message I am sending over the serial link is: “`VE6AGD,VE6AGD,:Test”. I have tried different combinations of this because there is a typo issue with the instructions- see below.
The second Hamshield is connected to APRS/CE and the message I get is: KISS:VE6AGD-15>VE6AGD:Test which looks ok
Has anyone had success trying to send a message to APRS.FI.
Typo in shield line 14:
I believe the example should be.
Arduino: 1.6.9 (Mac OS X), Board: "Arduino/Genuino Uno"
sketch/JustTransmit.ino.cpp.o: In functionsetup': /Users/nvahalik/Downloads/HamShield-master/examples/JustTransmit/JustTransmit.ino:31: undefined reference to
HamShield::setChanMode(unsigned int)'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino/Genuino Uno.
Looks like these functions are commented out in Hamshield.cpp.
Really a minor thing: The two AFSK examples and the APRS-Beacon example should ideally be renamed. Change the dashes to underscores, or remove them altogether, and the IDE will be happy again. I'm using the version of the IDE in Ubuntu's repos, so I suppose it's possible that's a bug. Underscores would match the SSTV_M1_Static directory naming convention in any case.
Using the latest release of the Arduino software for Mac (1.6.9 at time of writing) and using an Uno R3.
Sketch uses 7,296 bytes (22%) of program storage space. Maximum is 32,256 bytes.
Global variables use 2,518 bytes (122%) of dynamic memory, leaving -470 bytes for local variables. Maximum is 2,048 bytes.
I've been trying to make it detect multiple codes in a single serial command and transmit them in one go, but I've been struggling. If I figure it out, I'll PR.
While testing messaging from YAAC and the latest KISS code, I noticed that isolated TX packets are less likely to be received by my local digi and by my HT when sent as an isolated packet however if the message send button is pressed a second time quickly after the first packet is sent then the message is received by both the digi and the HT. If sent too quickly or too many (not sure which) the Arduino locks up leaving the transmitter on.
Ops can copy at various speeds, or if only running for ID purposes, many will speed the code up quite a bit. User settable is good.
Errors are failing compile of some sketches for several boards. Tested compiles for other boards as well, following is an example of the output:
Arduino: 1.6.12 (Windows 7), Board: "Arduino Leonardo" In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:30:0, from sketch\AFSK_SerialMessenger.ino.cpp:1: C:\Users\JT\Documents\Arduino\libraries\HamShield-master\examples\AFSK_SerialMessenger\AFSK_SerialMessenger.ino: In function 'void TIMER2_OVF_vect()': C:\Users\JT\Documents\Arduino\libraries\HamShield-master\examples\AFSK_SerialMessenger\AFSK_SerialMessenger.ino:141:5: warning: 'TIMER2_OVF_vect' appears to be a misspelled signal handler, missing __vector prefix [-Wmisspelled-isr] ISR(TIMER2_OVF_vect) { ^ AFSK_SerialMessenger:142: error: 'TIFR2' was not declared in this scope TIFR2 = _BV(TOV2); ^ In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0, from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\pgmspace.h:90, from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28, from sketch\AFSK_SerialMessenger.ino.cpp:1: AFSK_SerialMessenger:142: error: 'TOV2' was not declared in this scope TIFR2 = _BV(TOV2); ^ exit status 1 'TIFR2' was not declared in this scope This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences
Results for compile of AFSK_SerialMessenger by board:
Failed Yun(TIFR2 was not declared in this scope) Success Uno Success Duemilanove or Decimelia Success Nano Success Mega or Mega 2560 Success Mega ADK Failed Leonardo(TIFR2 was not declared in this scope) Failed Micro(TIFR2 was not declared in this scope) Failed Esplora (TIFR2 was not declared in this scope) Success Mini Success Ethernet Success Fio Success BT Failed Lillypad USB (TIFR2 was not declared in this scope) Success Lillypad Success Pro or Pro Mini Failed NG or older (Not enough memory) Failed Robot Control (TIFR2 was not declared in this scope) Failed Robot Motor (TIFR2 was not declared in this scope) Failed Gemma (Serial was not declared)
Adding a library.properties file will help users know what version of the HamShield library they have installed and will make it easier to download/install updates in the future.
See https://github.com/adafruit/Adafruit_NeoPixel/blob/master/library.properties as an example.
Here's the spec: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification
Transmitted 25W, headphone jack sounded loud and clear, but monitor didn't show right codes.
master branch
Compiles fine, I can transmit AFSK successfully with other sketches, and I can hear the AFSK packets on 144.390Mhz through the audio jack, but so far have been unable to decode AFSK using any example sketch, including AX15Receive.ino. There is plenty of APRS traffic on 144.390 in my area. Shouldn't I be able to decode it?
If I'm reading the schematic correctly, looks like AFOut from the 1846 chip gets amplified by the AD8591 amp, then coupled to ARD_AUDIO_OUT, which traces to A2 on the Arduino. Where in the code, do we tell Arduino to listen on A2 for AFSK signals?
Hello,
I've soldered my headers on my hamshield, attached my tri-band, antenna, plugged my arduino into my PC with my hamshield attached, and am trying to upload an example.
However, I cant get them to run.
The "SignalTest" example requires "PCM.h" to be included. What is this? Found something online that looks like it at "http://playground.arduino.cc/Code/PCMAudio" and included it in my library, however the example still fails to compile with no error but exit status 1: "Error compiling for board Arduino/Genuino Uno.". I'm all for digging on my own, but I could use some working examples that don't include things that aren't mentioned in comments... It's ambiguous at least to me. Am I missing something??
Example: AFSK Serial Messenger fails with the following error message:
"exit status 1
call of overloaded 'frequency(long int)' is ambiguous"
I didn't change anything in the example at all... I have included Hamshield, DDS, and KISS libraries in my library. Can you please tell me why this example doesn't run?
Thank you for making the HamShield. I can't wait to use it. Please help me get started.
Thank you,
-Aaron
For my HamShield repeater project, I'm stumped on how to code the calls to each HamShield. We've already discussed the use of two pins for the CS of each HamShield so I've got the hardware part handled.
I think the correct way is to define TX_Radio_PIN=4 and RX_Radio_PIN=5 based on the CS notes from the HamShield schematic.
This is a matter of preference for many ops. Let's give them that preference.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.