By:
Category:
Comments Off

NG0R is back on APRS

Where is the truck located right now:
http://findu.aprsfl.net/cgi-bin/find.cgi?call=NG0R-9&radar=***


Here is an example of the APRS image over a radar map.
(It is shrunk down to 500 pixel wide on the blog)


I will post some more links as time progresses. Some our friends and family follow our Internet breadcrumbs to see where we are camping and/or where my photo trips might be leading me.

Some D700 Notes:
http://www.aprs.org/D7xx/d700-faq.txt

http://www.aj3u.com/tm-d700-tips/

73 de NG0R

PS...

http://aprs.fi/info/NG0R-9

http://www.findu.com/cgi-bin/breadcrumb.cgi?call=ng0r-9&geo=usa.geo&start=10000



By:
Category:
Comments Off

QRSS + BASIC + 16F628A

Tonight my wife is hosting a Pampered Chef event upstairs with the gals. I decided to go down to the "man cave" and played a little XBOX with my sons and then shift gears to do some programming.

I started building the subroutines for sending the dits and dahs for the alphabet and the numbers 0-9.



If this looks simple... that is the idea that I am striving for.  Calling "Dit" or calling "Dah" is actually the "Dit sub procedure" or the "Dah sub procedure" that I wrote last night.

73 de NG0R

By:
Category:
Comments Off

Sunday evening radio

After spending all weekend working on outdoor projects (3' x 28' berry planter, split rail fence for the grapes, hauling 5 yards of black dirt, etc) I am finally getting to spend some time playing radio now that my family has gone to bed.   (Two days of sun burns is catching up to me.)

Tonight I am talking on EchoLink and writing some BASIC code for my PIC 16F628A. (I am not a huge EchoLink guy, but there is a nice group of QRP folks that meet there Sunday night.)

I am playing with some different ideas for DFCW and a couple of different QRSS timings.



I have not tested the code yet, but after correcting a couple of errors it is compiling properly now so I should be in the ball park.

I was looking at some different ideas for handling my timer functions since I will have about 6 different timing schemes.

'Standard delay
delay_ms (1000) 'One second pause

'Variable delay
pause = 1000
Vdelay_ms(pause
)
' ~ one second pause

'Using symbols for delay
symbol MYDELAY1 = delay_ms(1000)  'one second pause
symbol MYDELAY2 = delay_ms(2000)  'two second pause


The screen capture above shows me trying out the "symbol" approach along with some "case" statements.

I am doing the prototype work on a PIC-EL III board from KangaUS and AA0ZZ. The BASIC code is using the MikroeBasic compiler.

73 de NG0R

By:
Category:
Comments Off

QRSS + 16F628A mockup

I spent some time tonight bonding with the 16F628A and BASIC tonight.  I mocked up the LCD display and started figuring out some of the variables that I am going to need.



----Tonights Code----
program QRSSKeyer

'LCD Module Connections
dim LCD_RS as sbit at RB6_bit
    LCD_EN as sbit at RB4_bit
    LCD_D4 as sbit at RB0_bit
    LCD_D5 as sbit at RB1_bit
    LCD_D6 as sbit at RB2_bit
    LCD_D7 as sbit at RB3_bit
    LCD_RS_Direction as sbit at TRISB6_bit
    LCD_EN_Direction as sbit at TRISB4_bit
    LCD_D4_Direction as sbit at TRISB0_bit
    LCD_D5_Direction as sbit at TRISB1_bit
    LCD_D6_Direction as sbit at TRISB2_bit
    LCD_D7_Direction as sbit at TRISB3_bit
'End LCD module Connections

dim callsign as string[10] '10 char for message
    qtime as string[2]     '60, 30, 10, 6, 3
    qmode as string[4]     'CW or DFCW
    freq as string[10]     '10.140.050
    'Freq will eventually be the counter once it is built


main:

callsign = "NG0R"
   qtime = "10"
   qmode = "DFCW"
    freq = "10.140.050"

'PIC setup
TRISB = 0     ' Set PORTB as OUTPUT
PORTB = 0     ' Set PORTB all pins to 'off'
'End Pic Setup

'LCD Setup Section
LCD_Init()               'Initialize the LCD library
LCD_Cmd(_LCD_Clear)      'Clear the LCD display
LCD_Cmd(_LCD_Cursor_Off) 'Turns blinking cursor off
'End LCD Setup Section

LCD_Out(1, 1, callsign)  'Show the message
LCD_Out(1, 14, "Q")      'Write text
LCD_Out(1, 15, qtime)    'Show the qrssXX mode
LCD_Out(2, 1, freq)      'Show the freq
LCD_Out(2, 13, qmode)    'Show the mode

end.


By:
Category:
Comments Off

QRSS+CW+PIC research

Tonight after getting back from our Mother's day trip I decided to do some research. I am working on writing some code for a PIC 16F628A to send CW and QRSS CW. I am trying to get some notes pulled together on the various speeds and spacings.

Dit = Dot
Dash = Dah

QRSS 3 - One dit is 3 seconds
QRSS 10 - One dit is 10 seconds
QRSS 30 - One dit is 30 seconds
QRSS 60 - One dit is 60 seconds

One dah is equal to 3 dits
The space between part of a letter are equal to one dit
The space between letters in the same word are equal to three dits
The space between two words is seven dits

http://en.wikipedia.org/wiki/File:International_Morse_Code.svg

http://www.qsl.net/on7yd/136narro.htm#QRSS

By:
Category:
Comments Off

PIC+LCD = Fun

Another hour or so of fun tonight.


The other day I  had some startup problems getting MikroBasic to interface with the LCD libraries. I chalked it up to me being new with the tool. I pinged my buddy Mike in Hartford to see if he could give me a code fragment to test my LCD.

Part of my initial challenge was that most of the examples that I was looking at were for 16F877 and I am working with a 16F628A. Trying to figure out code + the difference in chips + a development tool was bit much. 

Mike sent me some code today and then I translated the pin layout of his system with a 16F877 to my 16F628A demo board. (I am using a PIC-EL III for this exercise.) I then had an issue with the MikroBasic libraries not playing properly again. I ended up refreshing the libraries and that solved my problem.

After playing with Mike's code I started to adapt it a bit to get a feel for how to work with it. My final project for tonight is 37 lines long with spaces and comments.

I am pretty excited about this. I am going to need to bond with my development platform a bit before I am fully comfortable with it. It is looking like a reasonable tool for developing my QRSS beacon keyer with.

Development: Ubuntu 10.4 64bit running MikroBasic under WINE.
Programmer: WinXP --> PIC-EL III (looks like a PICkit2 clone)

----Basic for tonights demo app----


program LCD04

'LCD Module Connections
dim LCD_RS as sbit at RB6_bit
    LCD_EN as sbit at RB4_bit
    LCD_D4 as sbit at RB0_bit
    LCD_D5 as sbit at RB1_bit
    LCD_D6 as sbit at RB2_bit
    LCD_D7 as sbit at RB3_bit
    LCD_RS_Direction as sbit at TRISB6_bit
    LCD_EN_Direction as sbit at TRISB4_bit
    LCD_D4_Direction as sbit at TRISB0_bit
    LCD_D5_Direction as sbit at TRISB1_bit
    LCD_D6_Direction as sbit at TRISB2_bit
    LCD_D7_Direction as sbit at TRISB3_bit
'End LCD module Connections

main:

'PIC setup
TRISB = 0     ' Set PORTB as OUTPUT
PORTB = 0     ' Set PORTB all pins to 'off'
'End Pic Setup

'LCD Setup Section
LCD_Init()               'Initialize the LCD library
LCD_Cmd(_LCD_Clear)      'Clear the LCD display
LCD_Cmd(_LCD_Cursor_Off) 'Turns blinking cursor off
'End LCD Setup Section

LCD_Out(1, 6, "NG0R")         'Write text starting from row 1, column 6
LCD_Out(2, 2, "QRSS Beacon")  'Write text startfing from row 2, column 2
LCD_Cmd(_LCD_Cursor_Off)      'Turns blinking cursor off

end.