SDK6

A place for developers to share ideas and assist each other in solving problems.

Moderators: valis, garyb

User avatar
wouterz
Posts: 344
Joined: Wed Mar 04, 2009 4:23 am

Re: SDK6

Post by wouterz »

Eanna wrote:
wouterz wrote:(Error message: "Pure function call")
Pure Virtual Function Call...? Don't remind me ;-)
This one:

---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Runtime Error!

Program: D:\Program Files\SCOPE6 SDK PCI\App\Bin\ScopeSdk6.exe

R6025

- pure virtual function call


---------------------------
OK
---------------------------
djmicron
Posts: 1181
Joined: Wed Jul 23, 2003 4:00 pm
Location: Milano

Re: SDK6

Post by djmicron »

Gary sent me the sdk gui tools.
Learning time now.... 8)
Eanna
Posts: 615
Joined: Fri Dec 02, 2011 1:57 am
Location: Ireland

Re: SDK6

Post by Eanna »

Fyi, I said 'don't remind me' cause its sbout 15 years since I was programming c++ and used to see that message too often.. Its a coding error..

Best of luck djmicron with the Gui tools!
Not because it is easy, but because it is hard...
happycritter
Posts: 52
Joined: Wed Oct 23, 2013 8:51 pm

Re: SDK6

Post by happycritter »

I am totally unfamiliar with the SDK development environment, but I getting ready to jump into it with both feet. Is the following an image of a conglomeration of atoms, and is this what happens beneath the GUI? Thanks in advance!
Roland Kuit Glitch Delay.jpg
Roland Kuit Glitch Delay.jpg (133.56 KiB) Viewed 4640 times
xw8400
2.33 GHz Xeon Quad core (E5345 Socket 771) x2
32Gb ECC buffered memory
AMD HD7700
Samsung 850 EVO 250Gb root drive
Windows 7 Pro (64bit)
Sonar Platinum
XITE-1 (flipping awesome!)
soren_jepsen
Posts: 92
Joined: Sat Feb 06, 2010 12:52 pm

Re: SDK6

Post by soren_jepsen »

In short: yes :-)

The SDK6 is however, to my knowledge, still in an early alpha stage. You can get a lot more done in an earlier SDK. The GUI SDK is then for making a surface, and connect the controls to the pads of the atoms or modules. The GUI SDK however, to my knowledge, is still in an early alpha stage. I can make a gui-module with it, but it crashes the main SDK.


Cheers
Søren
happycritter
Posts: 52
Joined: Wed Oct 23, 2013 8:51 pm

Re: SDK6

Post by happycritter »

Thanks soren!

How does one implement a FIR/IIR to modify the data stream?

Do FIR/IIR codes claim or attach to a(n) atom(s) and then become available for use?

I plan to code in MATLAB for some filters and then implement them. Is there any documentation concerning this process with SDK?


Thanks in advance!
xw8400
2.33 GHz Xeon Quad core (E5345 Socket 771) x2
32Gb ECC buffered memory
AMD HD7700
Samsung 850 EVO 250Gb root drive
Windows 7 Pro (64bit)
Sonar Platinum
XITE-1 (flipping awesome!)
jksuperstar
Posts: 1638
Joined: Mon Nov 15, 2010 12:57 pm

Re: SDK6

Post by jksuperstar »

you'll need to look at the Circuit Design part of the SDK manual. That tells you how to connect things. But for design, you'll need to go through the list of *.dsp (atoms) files, and you can general tell what they do by the name, and once you've figured out the "language" you can translate your matlab designs into the atoms available.

Then you start thinking about a GUI...and Graphic Objects (GOs)
happycritter
Posts: 52
Joined: Wed Oct 23, 2013 8:51 pm

Re: SDK6

Post by happycritter »

jksuperstar wrote:you'll need to look at the Circuit Design part of the SDK manual. That tells you how to connect things. But for design, you'll need to go through the list of *.dsp (atoms) files, and you can general tell what they do by the name, and once you've figured out the "language" you can translate your matlab designs into the atoms available.

Then you start thinking about a GUI...and Graphic Objects (GOs)
Thank you for your rapid reply.

From my understanding and intuition, the SCOPE SDK atoms are tools/modules coded & vetted by ADI (compiled to SHARC machine code) then integrated into the SDK 'wrapper'. Knowing a little bit about how all these items work (together), it must be possible to create another atom (compiled through ADI supplied tools) and add it to the library. However, I'm sure if I am clever enough I can work around with what is already available.

Do you folks know of anyone who has bothered to tear into the SDK to such an extent?

It is not my intention to bump-up against or expose proprietary features, it's just that as a budding engineer who has coded microcontrollers and explored SHARC development as a possible avenue that I arrived at this point. For me, development through the Xite-1 and SDK is much easier to achieve my ends than designing both hardware and software/firmware. So, I understand if a moderator edits my post.
xw8400
2.33 GHz Xeon Quad core (E5345 Socket 771) x2
32Gb ECC buffered memory
AMD HD7700
Samsung 850 EVO 250Gb root drive
Windows 7 Pro (64bit)
Sonar Platinum
XITE-1 (flipping awesome!)
w_ellis
Posts: 554
Joined: Wed Nov 07, 2001 4:00 pm
Location: London, U.K.

Re: SDK6

Post by w_ellis »

Worth getting in touch with S|C to discuss licencing for the SDK versions. Unless something's changed in the meantime, they are only licenced to owners of Xite hardware or 14/15dsp Scope boards.

I think certain developers have coded custom DSP (atom) files in the past, presumably using lower-level development kits and licencing tools provided by Creamware (as they were back then), but as far as I'm aware, all current development is making use of the various versions of the SDK with pre-built atoms. With the latest GUI SDK (and its predecessor ScopeFX), you are able to take advantage of host (CPU) processing alongside the on-chip (DSP) processing, although there are obviously considerations like latency and bandwidth when doing that.
w_ellis
Posts: 554
Joined: Wed Nov 07, 2001 4:00 pm
Location: London, U.K.

Re: SDK6

Post by w_ellis »

P.S. There are some very old posts on this forum discussing creation of custom atoms. IIRC, you'll need a fairly expensive AD dev kit (including hardware), plus agreement from S|C to get the dsp files to run on their hardware.

e.g.
http://forums.planetz.com/viewtopic.php?f=11&t=14932
http://forums.planetz.com/viewtopic.php?f=5&t=8108
User avatar
garyb
Moderator
Posts: 23248
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Re: SDK6

Post by garyb »

all possible...
jhulk
Posts: 935
Joined: Fri Apr 01, 2011 4:49 am

Re: SDK6

Post by jhulk »

for that to work you need a dongle that converts the dsp code to compatible atoms for scope to use

s/c has the dongle for it

but the whole point of the gui dsp is to do the dsp in c++ in the dll file so not needing the dongle

and you have the best of both host and dsp as
happycritter
Posts: 52
Joined: Wed Oct 23, 2013 8:51 pm

Re: SDK6

Post by happycritter »

jhulk wrote:for that to work you need a dongle that converts the dsp code to compatible atoms for scope to use

s/c has the dongle for it

but the whole point of the gui dsp is to do the dsp in c++ in the dll file so not needing the dongle

and you have the best of both host and dsp as
I'll be heading in that direction when it's time. My largest concern, as a noob, is that my new code/atom compromises others - the well-vetted and stable codes/atoms the end-user relies upon.

Thanks for all of your replies.

Anyone mess with custom IIR/FIRs and implement them in their SDK projects?

Can one segregate a single SHARC (or even a pair) to dedicate solely to the tasks of a specified algorithm (i.e. can we manually create a 'resource hog' so that it can do its thing without interrupts or sharing)?
xw8400
2.33 GHz Xeon Quad core (E5345 Socket 771) x2
32Gb ECC buffered memory
AMD HD7700
Samsung 850 EVO 250Gb root drive
Windows 7 Pro (64bit)
Sonar Platinum
XITE-1 (flipping awesome!)
happycritter
Posts: 52
Joined: Wed Oct 23, 2013 8:51 pm

Re: SDK6

Post by happycritter »

w_ellis wrote:P.S. There are some very old posts on this forum discussing creation of custom atoms. IIRC, you'll need a fairly expensive AD dev kit (including hardware), plus agreement from S|C to get the dsp files to run on their hardware.

e.g.
http://forums.planetz.com/viewtopic.php?f=11&t=14932
http://forums.planetz.com/viewtopic.php?f=5&t=8108
Thanks! I'll be digging in. :D
xw8400
2.33 GHz Xeon Quad core (E5345 Socket 771) x2
32Gb ECC buffered memory
AMD HD7700
Samsung 850 EVO 250Gb root drive
Windows 7 Pro (64bit)
Sonar Platinum
XITE-1 (flipping awesome!)
jhulk
Posts: 935
Joined: Fri Apr 01, 2011 4:49 am

Re: SDK6

Post by jhulk »

yes you can put it on 1 dsp

tgstgs analyzer is a guisdk plug that uses fir in real time

so yes it is possible

convolveeq is another plug that tgstgs and das created

but they use .dll

and not dsp atoms

dsp atoms can be wrote in note pad then into asm sharc dsp code then s/c can convert them to compatible scope versions

i brought the sharc dsp evaluation board and have matlab for creating modules from matlab algo

i have been through the same questions your asking now

and why i know about the dongle for making them compatible with scope
User avatar
Bud Weiser
Posts: 2684
Joined: Tue Sep 14, 2010 5:29 am
Location: nowhere land

Re: SDK6

Post by Bud Weiser »

soren_jepsen wrote: The SDK6 is however, to my knowledge, still in an early alpha stage.
Sorry for asking, but I´m a bit irritated now ...
Does that mean, we´ll see SCOPE 6 (not SDK) in some years earliest ?

Bud
S|C Scope/XITE-1 & S|C A16U, Scope PCI & CW A16U
tgstgs
Posts: 526
Joined: Sun Jan 15, 2006 4:00 pm

Re: SDK6

Post by tgstgs »

convoleq is using sys files_
for low latency
convolveq as well as analyzer are doing ffts btw;
eric made a sys file host based fir filter that is included free for customers in the convolveq.zip
// ---
dsps are made for fir_
you can do the readout multiply add in 1 circle;
1024 taps could be realized on 1 old dsp at 44k1

good vibes
happycritter
Posts: 52
Joined: Wed Oct 23, 2013 8:51 pm

Re: SDK6

Post by happycritter »

Thanks for the great infos JHulk and Tgstgs! :D

Coding in C++ seems the easiest (and least expensive) at the moment, although, I don't believe I have ever converted a prog into .dll so that will be fun. If I needed greater efficiency and possible robustness then atoms become more useful (theirs or mine: if they work hahaha)...

How much memory do we have at our disposal onboard the Xite-1?

Are there atoms available where I can enter mathematical equations?

Are there atoms available that can perform Newton's Method of Approximation or other such methods?

1024 taps, I should be able to do something sophisticated with that, eh?

Thanks again gang!
xw8400
2.33 GHz Xeon Quad core (E5345 Socket 771) x2
32Gb ECC buffered memory
AMD HD7700
Samsung 850 EVO 250Gb root drive
Windows 7 Pro (64bit)
Sonar Platinum
XITE-1 (flipping awesome!)
jhulk
Posts: 935
Joined: Fri Apr 01, 2011 4:49 am

Re: SDK6

Post by jhulk »

if your going to compile into a .dll you will need the guisdk and compiler of your choice vstudio is recommended for pc then you can use your own class library or one of the others juce vstgui

you can create your c++ algos and then interface them to use sync and async pads for the scope dsp,s and a gui interface for the controls

once you have compiled your .dll file it then can be added to the module list and you can then wire it up using the sdk

you will need the sdk 5.1 is very stable and would recommend asking for that version as sdk6 crashes

ask gary b about the sdk for the xite and the guisdk beta

then go to bcmodular and ask sharc to join the sdk developers forum

there are several developers working on the guisdk as its a new avenue to lots of them and theirs a wiki being created about it only for developers

explaining the atoms list and various how to,s

and the master that is tgstgs also frequents with his vast knowledge
jksuperstar
Posts: 1638
Joined: Mon Nov 15, 2010 12:57 pm

Re: SDK6

Post by jksuperstar »

Happycritter, atoms are already compiled code, they don't have interpreters or compilers in themselves, so no, there isn't anything to just type in a math equation. I think matlab can export C code, but you'd probably need a special license for that. But I wouldn't worry about that yet...the atoms do have a lot to offer, and you can get most things done there.

What SCOPE SDK does is take your circuit design, of graphically connected atoms, and links those into a device or module. Think of the SDK as a graphic programming language. That's for the DSP end of things. For SDK 5.1, there are also scripts and other ways to run on the host/PC aside from atoms. But they are more or less completely contained within the parent process of SCOPE.

What the new SDK6 and GUI SDK offer is APIs to run your native code in any way you like. They suggest JUCE, but that's not the limit. Graphical programming of DSPs using atoms is still mostly the same.

Really, you can get most objectives accomplished in Modular. The SDK takes it to a lower level, and let's you use all the atoms available to make an optimized device for scope fusion, or a new module for use in modular. Many atoms exist as a modular in Modular. Then there's the dongle/gui sdk approach that allows you to write your own DSP code. It is very much worth while spending time in Modular first, since you will get to understand the system rules, such as how polyphony works, how to deal with feedback paths, and even various data type connections available. These rules more or less apply to the SDK graphical language as well. By the time you get to writing assembler code, you will understand what you can and cannot do.
Post Reply