EBay Lids
The FCC ought to fine eBay. I went to
US Repeaters and found a Google ad from eBay the the top of the page advertising "CB Linears."
KI6IMM, K7TQ, N5LK
KI6IMM tried the Run for the Bacon contest and got a KI6IM? out of K7TQ, but it seemed the band was long and so we made a sked with
N5LK and got him on
7034 with
35w to the
SteppIR 40m dipole. We sent
569 but later it went up to 579, and got back
579 QSB. So this is KI6IMM's first HF contact.
Labels: QSO
K4M VA QSO Party
I heard
K4M in the VA QSO Party on
14.241, from the Virginia Tech
K4KDJ club station. He gave me number
1292 Montgomery County and I sent
1 California. Since it wasn't busy, I told the OM I was running 5W and he said I had a great signal.
Labels: QSO Contest
W5PPD
I left my K2 in the bag from AmTech day yesterday and got out my FT-817 to hook to the SteppIR and set it for 5W. There wasn't anything I could hear on 6M so I QSY'd down to 20m for a bit; the phone bands were filled with contests, but I heard W5PPD Eli in Tulsa, OK on 14.037.40. We had a nice chat through the QSB until QRM set in. Eli gave me a 559 and I sent 579 for his 100w ICOM 756 Pro to a Hustler Vertical.
We talked a little about cameras, as Eli is in the photography business, and while he had some Graflex cameras a long time ago, he now collects Leica Rangefinders, but uses mostly digital.
Labels: QSO
AmTech Day
We went to AmTech day and made no QSOs but showed off the K2, Buddipole, 5W flexible solar panel, and Don Brown charge controller.
KI6IMM ran talk-in on his 200mw Radio Shack HTX-200.
Labels: QRV
KI6IMM
I worked
KI6IMM on
145.23Mhz, for his first QSO. 3/15/07 00:52Z
Labels: QSO
JA1NUT
I couldn't sleep so I got up to work some 40m DX. There was a wide
interference from 6900 to 7100, maybe over-the-horizon radar and I
had to use a very narrow filter. I heard a few weak
signals on CW and MFSK but eventually the noise cleared and I heard
JA1NUT (
blog)
Shin, very
strong on
7011.22 so I gave him a call
with
5W and we had a nice QSO.
Shin was running
500 Watts
to a
3el Yagi from his QTH
in
Mohta, Japan. Shin gave me a
589 and said I was peaking at S8. I gave
him
599 as he was S9+40. Shin said he
was here in Palo Alto a few years ago for some weeks visiting
Stanford. Since I didn't want to wake anybody I didn't point the
antenna West, which is as close as I can get to Japan right now
anyway, so it was a bit off, but as it's a dipole on 40m it has a
somewhat broad pattern.
K2 Emacs
Here is an update on my
K2.el Emacs interface:
;;;-*-EMACS-LISP-*-
;;; Leigh L. Klotz, Jr. WA5ZNU
(defvar rig-device "/dev/ttyS0")
;;; Command definitions
(defconst k2-next-if-filter "FW0000")
(defconst k2-next-af-filter "SW29")
(defconst k2-dsp-notch-toggle "SW80")
(defconst k2-dsp-noise-reduction-toggle "SW81")
(defconst k2-qsy-vfo-a "FA")
(defconst k2-qsy-vfo-b "FB")
(defconst k2-set-mode "MD")
(defconst k2-modes '(("LSB" . 1) ("USB" . 2) ("CW" . 3) ("RTTY" . 6) ("CW-R" . 7) ("RTTY-R" . 9)))
;;; Command functions
(defun k2-next-filter ()
"Goes to the next K2 Filter"
(interactive)
(k2-rig-command-0 k2-next-if-filter)
(k2-rig-command-0 k2-next-af-filter))
(defun k2-qsy-vfo-a (khz)
"Sets the frequency of K2 VFO A"
(interactive "NFrequency: ")
(k2-rig-command-1 k2-qsy-vfo-a (format "00%06d000" khz)))
(defun k2-qsy-vfo-b (khz)
"Sets the frequency of K2 VFO B"
(interactive "NFrequency: ")
(k2-rig-command-1 k2-qsy-vfo-b (format "00%06d000" khz)))
(defun k2-set-mode ()
"Sets the K2 Mode"
(interactive)
(let* ((completion-ignore-case t)
(mode-name (upcase (completing-read "Mode: " k2-modes nil t nil)))
(mode-num (and mode-name (cdr (assoc mode-name k2-modes)))))
(if mode-num
(k2-rig-command-1 k2-set-mode mode-num))))
(defun k2-dsp-notch-toggle ()
"Toggles the K2 DSP notch filter"
(interactive)
(k2-rig-command-0 k2-dsp-notch-toggle))
(defun k2-dsp-noise-reduction-toggle ()
"Toggles the K2 DSP noise reduction filter"
(interactive)
(k2-rig-command-0 k2-dsp-noise-reduction-toggle))
;;; I/O
(defun k2-rig-command-0 (command)
(shell-command (format "echo -n \"%s;\" > %s" command rig-device)))
(defun k2-rig-command-1 (command arg1)
(shell-command (format "echo -n \"%s%s;\" > %s" command arg1 rig-device)))
;;; Key Bindings
(easy-mmode-defmap k2-minor-mode-map
'(("\e`" . k2-next-filter)
([(control meta ?m)] . k2-set-mode)
([(control meta ?g)] . k2-qsy-vfo-a)
([(control meta ?n)] . k2-dsp-noise-reduction-toggle)
([(control meta ?m)] . k2-set-mode))
"Keymap for `k2-minor-mode'.")
(define-minor-mode k2-minor-mode
"Minor mode for k2-rig-control context diffs.
\\{k2-minor-mode-map}"
nil " K2" nil)
;;; Todo:
;;; Reading status (use Linux rigctl or read directly?)
;;; Mode line (use display-time-hook?)
QRA in EMACS
Here's my updated Maidenhead grid, distance, and bearing calculations
in Emacs.
;;;-*-EMACS-LISP-*-
;;;
;;; Routines to calculate
;;; - Maidenhead Grid Square (QRA, IARU Grid Square) from latitude and longitude
;;; - Latitude and longitude from QRA
;;; - Great Circle distance from grid square to grid square
;;; - Bearing from Grid Square to Grid Square
;;;
;;; Leigh L. Klotz, Jr. WA5ZNU <klotz@graflex.org>
;;; Assembled from various places -- see comments.
;;;
;;; Examples
;;; (qra 37.428833 -122.114667)
;;; This gives CM87wk which is correct
; (latlon "CM87wk")
; Gives 37.4375 -122.125
;;
; (latlon "CM87wk")
; (haversine-great-circle-distance-miles (latlon "CM87wk") (latlon "QN16ix")) ; 4605 miles
; (haversine-great-circle-distance-miles (latlon "CM87wk") (latlon "JN62vu")) ; 6232 miles
(defun qra-dist (x y)
(haversine-great-circle-distance-miles (latlon x) (latlon y)))
(defun qra-bearing (x y)
(haversine-great-circle-bearing (latlon x) (latlon y)))
(defun latlon-dist (lat lon)
(haversine-great-circle-distance-miles (latlon "CM87wk") (list lat lon)))
;; Note: All calculations in degrees
;; lo = longitude + 180 (offset origin to -180degrees longitude,)
;; La = latitude + 90 (-90 degrees latitude.)
;; C1 = ASCII CHAR ('IP(lo/20)+65')
;; C2 = ASCII CHAR ('IP(la/10)+65')
;; C3 = ASCII CHAR ('IP(FP(lo/20)*10)+48')
;; C4 = ASCII CHAR ('IP(FP(la/10)*10)+48')
;; C5 = ASCII CHAR ('IP(FP(lo/2)*24)+65')
;; C6 = ASCII CHAR ('IP(FP(la)*24)+65')
;; QRA Locator = String C1+C2+C3+C4+C5+C6
(defun qra (latitude longitude)
(setq longitude (+ longitude 180.0))
(setq latitude (+ latitude 90.0))
(format
"%c%c%c%c%c%c"
(+ ?A (floor longitude 20.0))
(+ ?A (floor latitude 10.0))
(+ ?0 (floor (* 10 (- (/ longitude 20.0) (floor longitude 20.0)))))
(+ ?0 (floor (* 10 (- (/ latitude 10.0) (floor latitude 10.0)))))
(+ 32 ?A (floor (* 24 (- (/ longitude 2.0) (floor longitude 2.0)))))
(+ 32 ?A (floor (* 24 (- latitude (floor latitude)))))))
(defun latlon (qra)
(let ((c1 (upcase (aref qra 0)))
(c2 (upcase (aref qra 1)))
(c3 (aref qra 2))
(c4 (aref qra 3))
(c5 (if (> (length qra) 4) (upcase (aref qra 4)) nil))
(c6 (if (> (length qra) 5) (upcase (aref qra 5)) nil)))
(list
;; Latitude
(- (+ (* (- c2 ?A) 10.0)
(* (- c4 ?0) 1.0)
(if (null c6) 0.0 (/ (+ 0.5 (- c6 ?A)) 24.0)))
90.0)
;; Longitude
(- (+ (* (- c1 ?A) 20.0)
(* (- c3 ?0) 2.0)
(if (null c5) 0.0 (/ (+ 0.5 (- c5 ?A)) 12.0)))
180.0))))
;;;
;;; Great Circle distance and bearing based on Haversine formula
;; (from R.W. Sinnott, "Virtues of the Haversine", Sky and Telescope, vol. 68, no. 2, 1984, p. 159):
;; as described by N9SSA in
;;; http://www.qsl.net/n9ssa/mpwnotes.html
(defun haversine-great-circle-distance-km (latlon1 latlon2)
(let* ((k (/ 180.0 pi))
(lat1r (/ (car latlon1) k))
(lon1r (/ (cadr latlon1) k))
(lat2r (/ (car latlon2) k))
(lon2r (/ (cadr latlon2) k))
(R 6367000.0)
(dlonr (- lon2r lon1r))
(dlatr (- lat2r lat1r))
(a (+ (* (sin (/ dlatr 2.0)) (sin (/ dlatr 2.0)))
(* (cos lat1r) (cos lat2r) (sin (/ dlonr 2.0)) (sin (/ dlonr 2.0)))))
(c (* 2 (atan2 (sqrt a) (sqrt (- 1.0 a)))))
(d (* R c)))
(/ d 1000.0)))
(defun haversine-great-circle-distance-miles (latlon1 latlon2)
(* (haversine-great-circle-distance-km latlon1 latlon2) 0.621371192))
(defun atan2 (y x)
(if (or (= x 0) (= y 0))
(if (>= y 0.0)
(/ pi 2.0)
(- (/ pi 2.0)))
(if (< x 0.0)
(if (>= y 0.0)
(- pi (atan (- (/ y x))))
(+ (- pi) (atan (/ y x))))
(if (> y 0)
(atan(/ y x))
(- (atan (- (/ y x))))))))
(defun haversine-great-circle-bearing (latlon1 latlon2)
;; theta = atan2(sin(delta long).cos(lat2),
;; cos(lat1).sin(lat2) - sin(lat1).cos(lat2).cos(deltalong)
(let* ((k (/ 180.0 pi))
(lat1r (/ (car latlon1) k))
(lon1r (/ (cadr latlon1) k))
(lat2r (/ (car latlon2) k))
(lon2r (/ (cadr latlon2) k))
(delta-long (- lon2r lon1r))
(delta-lat (- lat2r lat1r))
(bearing (atan2 (* (sin delta-long)
(cos lat2r))
(- (* (cos lat1r) (sin lat2r))
(* (sin lat1r) (cos lat2r) (cos delta-long))))))
(mod (+ 360.0 (* k bearing)) 360.0)))
KH6/AA4V
I turned on the K2 and heard KH6/
AA4V Steve who gave me
599 from
Kona. Steve said he'd been there 4
weeks and was going back to South Carolina on Friday!
Labels: QSO
Test Post with Raman's Emacs Blogger
This is a test post with Raman's Google Blogger from Emacs.
I had to provide a library file called g-cus-load.el (just had a t in
it) and load the time-date library. Also, the gblogger-blog function
brought up the list of blogs in Firefox, not in Emacs.