Request for Nistune 2.0 - modular design

Discuss possible software enhancements/changes here.

Moderator: Matt

Post Reply
ByReaL
 

Posts: 127
Joined: Fri Mar 23, 2007 11:46 pm
Location: Romania / SUA
Contact:

Request for Nistune 2.0 - modular design

Post by ByReaL »

My request may be strange and is for sure not doable in this release because it may request a new design.

the idea is to have the Nistune as a GUI that has some features and it talks using some standard API to the drivers,

and the driver will do the translation between the standard API and the hardware device.

API made public, and a way to select the used "drivers"

any logging unit in the world output some data, Nistune has already the ability to log and display that data.... the only problem each time is the communication with the hardware. because each hardware is different and have a different communication protocol,

if nistune will accept only one standard "protocol for data retrieval" each time a new logging unit appear , all will be needed is that someone write a driver that will do the translation between the hardware unit protocol and the data expected by nistune

same thing for emulator or boards,

this way 3rd party will be able to add support in Nistune for different hardwares available on the market


please just comment on the idea

PS: downside: drivers approach may add delays


later edit
same idea other words

example you have buttons (features) in Nistune
when you load a driver (can be a dll library)
nistune will ask what kind of driver you are?
response may be logging or emulator
nistun e will ask what features do you suport
driver will answer
A B D
so in this moment nistune will enable A B and D "buttons" and will disable button C and E (considering that nistune is just a software with 5 buttons)

basically when you press a button (explained this way for better understanding) nistune will call a function from the dll

if the info about how the header of that function should look like, what parameters nistune pass to it and what response it is expected, then everybody will be able to write libraries, and this may be a grate boost for nistune by becoming basically a grate interface to witch a lot of enthusiast could ad support for different hardwares
* Got CA18DET Love
Matt
Site Admin
 

Posts: 8993
Joined: Sun Jan 29, 2006 1:45 am
Location: Adelaide, Australia
Contact:

Post by Matt »

I see where you are coming from, but the overhead involved would be more than the effort it takes to currently add a new 'driver' for things such as wideband devices to NIStune

It takes about 4 hours of solid coding and initial testing to take an existing class such as wideband and convert to to use another serial device. The DLP device did not take much longer.

Each device is a class, so it is kind of modular in C++ design to plug in a new class and link it in with the existing wideband devices.

To implement a driver to a DLL would take significantly longer time with more overhead and not much advantage.

The implementer of the 'driver' which is really an interface between USB/serial interface and NIStune API would have to code in the complete communications protocol, including how to react on connect/disconnect/data error/data received etc, as well as whether to use lookup takes or perform translation internally
Post Reply