Difference between revisions of "ATHENA"

From HPSDRwiki
Jump to: navigation, search
(Design Ideas)
Line 28: Line 28:
 
:- The user should be able a common set of HPSDR function to interface with the hardware.   
 
:- The user should be able a common set of HPSDR function to interface with the hardware.   
 
::HPSDR Wrapper code on [http://sourceforge.net/projects/libusb/ libusb1.0] (Linux and MacOS?) and [http://msdn.microsoft.com/en-us/library/aa476426.aspx WinUSB] (Windows systems) to allow the use of either driver on corresponding systems.   
 
::HPSDR Wrapper code on [http://sourceforge.net/projects/libusb/ libusb1.0] (Linux and MacOS?) and [http://msdn.microsoft.com/en-us/library/aa476426.aspx WinUSB] (Windows systems) to allow the use of either driver on corresponding systems.   
::Theses wrappers should also function with the new OzyII interface.
+
::Theses wrappers should also function with the new [[OzyII]] interface.
  
 
:- Definitions of the UDP/TCP packets structure and allowable command variation to the structure.  
 
:- Definitions of the UDP/TCP packets structure and allowable command variation to the structure.  
Line 38: Line 38:
 
::Options that a user could use to favor one or the other.
 
::Options that a user could use to favor one or the other.
  
:-Code documentation formats to follow?
+
:- Code documentation formats to follow?
::Doxygen, other?
+
::[http://www.stack.nl/~dimitri/doxygen/ Doxygen], other?
 +
 
 
==Links==
 
==Links==
  
 
[[Media:USB_protocol_proposal_V1.25.pdf|HPSDR USB Documentation]]
 
[[Media:USB_protocol_proposal_V1.25.pdf|HPSDR USB Documentation]]

Revision as of 11:05, 28 November 2009

Goddess Athena

Athena is a Software project intended to develop a software developers kit for the HPSDR radio system. The objective of the project is to provide a multi-platform code basis that will help programmers write client programs using the output of the HPSDR boards. Project goals include:

- Develop libraries of functions to help programmers easily access the server.
- Document all the communications protocols and the Library Application Protocol Interface (API)
- Development of IO compatible server code to communicate with the HPSDR hardware and communicate with client programs with UDP/TCP commands.
- Develop a set of operating specific server code that maintains IO compatibility.

This project will be run as a moderated open source software project. Code contributions will be evaluated as to the degree it contributes to the over all goals of the project and whether there are undesired interactions with existing code.

Athena is the Greek goddess of home industry including spinning, weaving and carpentry. She is also the goddess of wisdom and known to be very clever, She is also the goddess of war. This is a good name for the server program that is the main connection between many parts of a HPSDR system.

Athena Block Diagram -- Initial ideas

Project leader is Dave Larsen, KV0S

Team members include:

John Melton, G0ORX/N6LYT
Bill Tracey, KD5TFD

Ideas, comments and suggestions are welcome.

--KV0S, Dave 00:24, 27 November 2009 (UTC)

Design Ideas

The following is a list of ideas that have bee suggested on either the Teamspeak session or the HPSDR reflector.

- The user should be able a common set of HPSDR function to interface with the hardware.
HPSDR Wrapper code on libusb1.0 (Linux and MacOS?) and WinUSB (Windows systems) to allow the use of either driver on corresponding systems.
Theses wrappers should also function with the new OzyII interface.
- Definitions of the UDP/TCP packets structure and allowable command variation to the structure.
Command set to be accepted.
Can packet length and structure be varied by commands?
Logging and peripheral control by TCP? Command structure (CAT?, other)
- Can we design the structure to accommodate both low latency applications and remote base applications?
Options that a user could use to favor one or the other.
- Code documentation formats to follow?
Doxygen, other?

Links

HPSDR USB Documentation