Patrick | 28 Mar 08:49 2015
Picon

Designing a new interface

Hi all,

I am writing the code for a new rotor interface, the idea is to do
something very close of the DL7AOT with a feedback of the rotor position
to the computer. 

I am not writhing the code from scratch, but I use a program written a
couple of years ago to control a Spid-Alpha rotator. So this protocol
(Rot2Prog) works fine at this time.

As my initial program could also use the EASYCOMM II protocol, I would
like to make the interface respond to a get_position command.

I found that  the 'p' sends a single byte request to the interface : '!'

But I have no idea of the expected response. Could anyone one help me on
this ?

Very 73

Patrick, F1EBK

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
PBØNER de Martijn | 23 Mar 15:26 2015
Picon

Stationserver

Whilst searching for info (Wiki ……) I stumbled upon a document called “stationserver”.

Reading that I discovered that “wsctld” something I have been posting about over the last few weeks is just that and more.
Interestingly enough nobody has pointed me to that draft document. If I failed in making clear what “wsctld”, here is some clarification based on comments added to the functional requirements from that document

PB0NER de Martijn

Functional Requirements

StationServer will:

F-1. Enable individual devices to describe their capabilities and available functions (e.g. frequency range, modulation/waveform types, power levels, mechanical positioning, etc.) in response to queries from authorized remote users over IP networks

wsctld completely self configures based on sending the “1” command and parsing its response

F-2. Enable individual devices to report their current state (frequency, transmit/receive status, etc.) to authorized remote users both spontaneously and in response to queries;

wsctld can be configured poll rigctld/rotctld by subscribing to certain commands, these will generate events to attached clients

F-3. Enable authorized users to change settings and activate functions of remote devices over IP networks;

authorisation is designed but not implemented yet

F-4. Respond to authorized users with an indication of the success or failure of commands, and error messages in response to any failed query;

yep it does.

F-5. Provide low-latency streaming transport for message content including audio and video and binary objects (e.g., images) both to and from radios;

wsctld does stream audio with a ~250ms delay from radio to browser (implemented last week) and will also be capable of the other way around. It has been optimised for low latency and unbuffered by nature. It works excellent (surprisingly). the audio is send over the same web socket as the command/report protocol by mixing digital and text data. support for video, images etc. should follow.

It will have means of de/-encoding digital modes in the background by plugins. 

F-6. Support multiple simultaneous client connections by the same or different users, and with the same or different access privileges;

Yes it does, even the audio can be streamed to multiple clients at once. there is a locking mechanism for resources and ro/rw support 

F-7. Require user authentication using passwords or other equivalent methods, and provide a mechanism for registering multiple users and their credentials and access privileges; and,

see F-3

F-8. Provide simple reference software implementations designed for cross-platform operation at both the client and server ends.

wsctld can have plug-ins, for de-/encoding digital modulation, has a javascript library which implements rot/rig objects and more

Non-functional Requirements

StationServer will:

N-1. Be designed and (for reference implementations) implemented using cross-platform methods and tools for maximum adaptability and interoperability;

wsctld is written in Python/javascript/HTML/CSS, uses web sockets and has been tested on Safari, firefox, IE and chrome

N-2. Implement network communications using simple text-based commands and parameters with minimal syntax and formatting in order to facilitate debugging and user understanding;

The protocol is based on JSON, javascript objects are automatically configured with methods reflecting back-end features, ie a rig object will get a get_Frequency method if the back-end reports Can_Set_Frequency = Y and it will get a onFrequencyChange event. The actual protocol is already wrapped and automated to the background...

it can be packaged for with py2exe or py2app, is multi threaded, uses open standards and protocols (on the edge of current technology)
  1. N-3.  Utilize encryption by default on all network links;

              wsctld will be updated to implement both the ws and wss protocoll, wss in not implemented yet though. (easy to do)


  2. N-4.   Follow a modular approach and provide detailed documentation

    within the source code to facilitate extensions and specialized interfaces; and,

    1. wsctld is fully objective and can be extended by plug-ins both on server and client and is therefore highly modulair by design, reason for it not being published yet is lack of documentation in the Sources and its relatively early stages of development. I will use something like doxygen.

      as it is a one-man show at the moment, I focus on implementing the core functionality and have stable. I have pointed out that a working demo is hosted at http://pb0ner.nl/wsctld.html
      as it is connected to the back-end in progress, some functionality will be limited at some time. It is connected to live radio’s/rotors or to the hamlib dummy’s.

      have a look at the .html source will get you a brief introduction of what wsctld has to offer on the “ease of use” side.
      wsctld.js will however be extended to offer user controls.


      N-5. Wherever possible in reference implementations, permit user configuration of radio interfaces by means of property tables or other easily- edited mechanisms.

works slightly different but see this as implemented





------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Hamlib-developer mailing list
Hamlib-developer <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hamlib-developer
PBØNER de Martijn | 21 Mar 15:42 2015
Picon

Reply-to setting for the list

Just a small question,

For a mailing list to work well, the “reply to” setting of messages distributed by the list, should be
set to hamlib-developer <at> lists.sourceforge.net.
In that way it makes it easier to follow a conversation and reply’s are always send to the list.

Would that be possible configuration change?

Martijn

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Hamlib-developer mailing list
Hamlib-developer <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hamlib-developer
PB0NER de Martijn | 20 Mar 16:53 2015
Picon

Wsctld update.

Hi all,

Over the last few months I have been sending messages to this list about my developments related to hamlib.
Here a small roundup of what is going on.

I love the idea of hamlib, and greatly appreciate the work put into it. On the other end the world is moving on
with new technologies and cheap powerful hardware.
Since I use a Mac's and I am into hamradio. I found that there are limited choices for software. Since I am into
satellite's too I spend a lot of time investigating all the software available. Not only for the Mac, but
also for windows and Linux. (Most linux software compiles on the Mac).

With all the searching I have not found a single software package that suits all my needs. Besides that some
software is getting old and or not up to the job anymore (Orbitron for instance has some major flaws in its
Doppler calculations, it's DDE connection to rigs/radio's is really a pain etc).

Since I am capable of writing technical software, embedded software and able to make/design electronics I
thought it was time to think about something new. I have spent considerable time investigating all sorts
of technology and options.

Some but not all of my requirements:
Uses as many standards as possible. (Like the hamlib protocol)
Everything not embedded must be really os independent.
Avoid as many third party software.
If third party software is used, is must be platform independent and open source.
Use web technology for the frond-end.
Must be capable to add other stuff (my ATV) equipment, powers witches, antenna relays etc.
Eliminate power hungry computers as much as possible.
Eliminate settings, software should be automating as much as possible.

I have made the following decisions:
Python, Python.......Python!
Python is platform independent, it is capable. Comes with a solid standard library of modules and time
consuming or cpu hungry routines can be written in C. A lot of C library's have Python bindings. And best of
all.. I know Python very well.

Atmel.
Almost everything with a little cpu used/designed by radio amateurs is using PIC processors. I really hate
them. I do not like programming them. I disagree with the development tools and I do not like the hardware
design choices made by Microchip.
Due to the Arduino range of products, my love for Atmels has grown. It is very easy to prototype stuff with
Arduino hardware.

Hamlib. The de facto standard I do not need to say anything about here.

So now that it is clear let me list some things I am working on:
Hamlib on embedded; see this as little black boxes that sit between rig/rotor and have an ethernet
interface, talking hamlib protocols. These eliminate the need for something to to run the
rigctld/rotctld deamons. For the rig versions integrate audio streaming.
This seems weird, as it is a lot of work, but it also completely eliminates electrical connections between
radio and ICT, as ethernet is electrically isolated. This replaces rig/rotctld on a computer and a sound
card. Both do work the same.

Wsctld:
I call this the websockets control deamon, a Python program that is a central hub in the whole installation.
The second part is a JavaScript library.
This is heavily in progress but it does:
Absolutely nothing if no browser is connected to it (without processing plugings, more on that later).
Once a browser connects to it via websockets, the JavaScript library can handle all communications to and
from rigs and rotors. It is completely event driven and wsctld can monitor certain radio/rotor features.
So if a frequency on a VFO changes, the browser rig object is notified. Etc. 
I have been implementing audio streaming over the last week and the radio->browser audio stream works.
With a total delay of ~250ms. Perfectly capable for simplex communications. Browser to radio streaming
is not there yet. That is one of the next steps.

Within wsctld there is the possibility to add plug-ins for all sorts of processing. One of the plugins will
be a sat tracking plug-in. This plugin can track satellites 24/7 and "internally" connect to radios and
rotors. Also there will be the possibility to encode/decode digitalis modes. Think of that like fl-digi.
One of the things to implement is a FunCube telemetry decoder... This is possible since the audio can be
distributed to multiple websocket clients, but also internally.

Wsctld is a multithreaded single process. And as said a JavaScript module is used to connect browser based
user interfaces. Currently all modern browsers work. (Except IE11, which does not do audio streaming at
the moment for the rest it is fine).

Once the development reaches a certain level I will publish wsctld and all of its components on github. Be a
bit patient since some core work has to be finished first and I want it to be documented.

The hardware interfaces (embedded hamlib) will be a different game. As my company (I am self employed) has
been almost out of business due to illness. I needed a new business case. These interfaces will be part of
that. The firmware might be open source, it might be crowd funded, I am not sure yet.

Wsctld can become part of hamlib and it will be a contribution from my company to all of you. That will need to
be discussed with the maintainers of hamlib. Once published it will be open to others to extend. Since I
already have written satelite tracking I will integrate, but help with implementing encoding/decoding
digital modes will help speeding things up a bit. (It might be possible to take parts out of fl-digi depends
on license).

As I am working full time on this, this is a huge investment. Any donations are very welcome (I accept PayPal,
please contact me via mail if you wish, any amount does really help me). 
If you want to test or translate (some already volunteered). You are very welcome too!

If you feel you want to speak in person; Skype me on 'moeling'.
I do speak Dutch, English and German.

A running demo can be found on http://pb0ner.nl/wsctld.html but keep in mind it's backend might be down due
to the fact that I am working on it or that my development machine is asleep (since I am too). Even when it is
down, have a look at the html source or at the loaded wsctld.js.
Contact me if you want to have a look and when it is down. Preferably by Skype.

Basically I am working on a new platform independent hamradio deluxe alike total solution, which is
networked and based on open standards. Would this be part of hamlib or would this be a separate project
"hamlib-client". Can I have a discussion with the driving forces of hamlib about that? (Yeah do
mail/Skype  me..)

Kind regards, 73 PBØNER de Martijn.

Verstuurd vanaf mijn iPad
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Hamlib-developer mailing list
Hamlib-developer <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hamlib-developer
Bill Somerville | 20 Mar 15:33 2015

Pull request: Fix several Tentec Jupiter 538 issues.

The following changes since commit a1e39e11f07535519dcc2761ea0233e2de410458:

   Fix defect in Kenwood TS-940 IF command response parsing (2015-03-17 
02:33:17 +0000)

are available in the git repository at:

   git://git.code.sf.net/u/bsomervi/hamlib tt538

for you to fetch changes up to e7dc01827b0fe2d31095eeac98655f6d9f6a4b6a:

   Fix response lengths for the TT Jupiter 538 (2015-03-20 10:33:58 +0000)

----------------------------------------------------------------
Bill Somerville (1):
       Fix response lengths for the TT Jupiter 538

  tentec/jupiter.c | 106 
++++++++++++++++++++++++++++++++++++++++---------------
  1 file changed, 78 insertions(+), 28 deletions(-)

73
Bill
G4WJS.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Vaibhav Rekhate | 19 Mar 14:18 2015
Picon

Communication Timed out while using rotctl

Hello all,
I'm using rotctl (and rotctld) for controlling my EA4TX RCI-USB rotator (which is synced with gpredict). Recently after ungrading my ubuntu version (from 12.04 to 14.04), I cannot reliably control my antennae.
When the command is run with verbose options, I can see Communication Timed out errors. What can be a problem?
The version is 1.2.15.3. However, configuring gpredict to use rotctl from other computer running Ubuntu 12.04 and Hamlib v1.2.15.1, it works flawlessly.

Please help.
Please CC me while replying, I've not subscribed to the mailing list.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Hamlib-developer mailing list
Hamlib-developer <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hamlib-developer
Bill Somerville | 18 Mar 12:21 2015

Pull request: Fix for a defect I introduced when implementing error detection for Kenwood rigs

Hi All,

The following changes since commit 9f9d74c504499d5ffda08fe280ff1c93858b54de:

   Yaesu FT540 can only change the frequency of the current VFO 
(2015-03-15 23:11:00 +0000)

are available in the git repository at:

   git://git.code.sf.net/u/bsomervi/hamlib ts940-if

for you to fetch changes up to a1e39e11f07535519dcc2761ea0233e2de410458:

   Fix defect in Kenwood TS-940 IF command response parsing (2015-03-17 
02:33:17 +0000)

----------------------------------------------------------------
Bill Somerville (1):
       Fix defect in Kenwood TS-940 IF command response parsing

  kenwood/ts940.c | 15 ++++++++++++++-
  1 file changed, 14 insertions(+), 1 deletion(-)

73
Bill
G4WJS.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Bill Somerville | 16 Mar 03:35 2015

Pull request: Yaesu FT-450 bug fix.

The following changes since commit ecc31cb1b441ada6e820e5fc14c7882748963da5:

   Fix error with width in set mode for the TT argonaut (2015-03-15 
16:30:28 +0000)

are available in the git repository at:

   git://git.code.sf.net/u/bsomervi/hamlib ft450-set-freq

for you to fetch changes up to 9f9d74c504499d5ffda08fe280ff1c93858b54de:

   Yaesu FT540 can only change the frequency of the current VFO 
(2015-03-15 23:11:00 +0000)

----------------------------------------------------------------
Bill Somerville (1):
       Yaesu FT540 can only change the frequency of the current VFO

  yaesu/ft450.h  | 15 ---------------
  yaesu/newcat.c | 41 +++++++++++++++++++++++++++++++++++++++--
  2 files changed, 39 insertions(+), 17 deletions(-)

73
Bill
G4WJS.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Bill Somerville | 15 Mar 18:43 2015

Pull request: various TenTec Argonaut V fixes and enhancements

The following changes since commit 4d6dacb92f10f7ac362429e93c5bc9967b0e7781:

   Allow for PowerSDR ID in Kenwood TS2000 emulation mode (2015-03-13 
19:48:19 +0000)

are available in the git repository at:

   git://git.code.sf.net/u/bsomervi/hamlib tentec_io

for you to fetch changes up to ecc31cb1b441ada6e820e5fc14c7882748963da5:

   Fix error with width in set mode for the TT argonaut (2015-03-15 
16:30:28 +0000)

----------------------------------------------------------------
Bill Somerville (4):
       Fix TenTec Argonaut message lengths and timeout
       Fix TenTec set split command
       Implement get PTT status for the TenTec Argonaut
       Fix error with width in set mode for the TT argonaut

  tentec/argonaut.c |   3 +-
  tentec/jupiter.c  |   1 +
  tentec/tentec.c   |   2 +-
  tentec/tentec2.c  | 151 
+++++++++++++++++++++++++++++++++++++-----------------
  tentec/tentec2.h  |   1 +
  tentec/tt550.c    |   2 +-
  6 files changed, 111 insertions(+), 49 deletions(-)

73
Bill
G4WJS.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Bill Somerville | 14 Mar 14:28 2015

Pull request: Allow FlexRadio IDs as synonyms for the Kenwood TS-2000

The following changes since commit baa192ea05e88d708d6ea7e1838c7ffd4cd66717:

   Check TS-590S for EU or US firmware (2015-03-11 20:25:33 -0500)

are available in the git repository at:

   git://git.code.sf.net/u/bsomervi/hamlib powersdr-ts2k-emul

for you to fetch changes up to 4d6dacb92f10f7ac362429e93c5bc9967b0e7781:

   Allow for PowerSDR ID in Kenwood TS2000 emulation mode (2015-03-13 
19:48:19 +0000)

----------------------------------------------------------------
Bill Somerville (1):
       Allow for PowerSDR ID in Kenwood TS2000 emulation mode

  kenwood/kenwood.c | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)

73
Bill
G4WJS.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Bob Freeman | 12 Mar 19:19 2015
Picon

Looking for feedback on CNCTRK patch please

Hello,

Great to see the flurry of activity on the list.

I submitted a patch to the current stable release on January 6 and received no comments.  I am interested in getting the CNCTRK controller approach included in future releases of hamlib; the concept for CNCTRK works fine and is different from other controllers.  Any feedback will be appreciated.

Thanks again to the developers for the work done to make hamlib a reality.

Regards,
Bob

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Hamlib-developer mailing list
Hamlib-developer <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hamlib-developer

Gmane