If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
Custom DSP Code 2 (comunity project)
Re: Custom DSP Code 2 (comunity project)
You do this on your birthday? What a nice birthday present - for us
Happy 23rd!
Happy 23rd!
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Custom DSP Code 2 (comunity project)
tulamide wrote:You do this on your birthday? What a nice birthday present - for us
Happy 23rd!
Thanks! Now that I think about it... I've spend quite a few of my birthdays like this...
stage1. get sick (the temperature dropped 30degrees in one month );
stage 2. study, because tests are comming;
stage 3. get reminded of my first (ex)girlfriend on facebook, because she has birthday the same day I do;
stage 4. get depressed, wonder what went wrong in my life and start digging in my past. Dig up some unfinished business (in this case DSPcode2 project) and try to finish it...
stage 5. go sleep, because 1)I'm still sick 2)I'm still dumb 3)I still have no GF 4)I've still not finished the business
The DSPC project is coming together. I believe I have the hardest part figured out...
- KG_is_back
- Posts: 1196
- Joined: Tue Oct 22, 2013 5:43 pm
- Location: Slovakia
Re: Custom DSP Code 2 (comunity project)
Stage 6. Unexpected memorable miracles.
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
Feel free to donate. Thank you for your contribution.
- tester
- Posts: 1786
- Joined: Wed Jan 18, 2012 10:52 pm
- Location: Poland, internet
Re: Custom DSP Code 2 (comunity project)
Hey KG,
Stage 7, We all have lists like yours! You are never alone in this world. AND I think another bird will fly your way soon.
Stage 7, We all have lists like yours! You are never alone in this world. AND I think another bird will fly your way soon.
- BobF
- Posts: 598
- Joined: Mon Apr 20, 2015 9:54 pm
Re: Custom DSP Code 2 (comunity project)
BobF wrote:Hey KG,
Stage 7, We all have lists like yours! You are never alone in this world. AND I think another bird will fly your way soon.
LOL you've just made my day I ran over a pigeon with a car on Tuesday... por fella
Thanks for the support guys, I appreciate it a lot. It's not that I'm a particularly depressed person, it was just one of those days that got me thinking of all the choices I've made in the past. Like, I left the Pharmacy last year, because after 2,5 years I've finally decided that it just wasn't for me. I didn't get along particularly good with my classmates (those with I did left the school year before) and also most of the professors. The subjects them selves were getting less and less interesting for me (like memorizing all 50known interleukines and their effects and interactions... not the kind of stuff I really feel to be fund of, as you can probably tell from the stuff I do around here)...
This year I started fresh at Faculty of Computer Science, and the people are awesome, stuff we do in school is awesome... So it made me wonder why I even attended to Pharmacy in the first place and how stupid I was etc.
It also made me think of my decision to be a single. I decided for that, because being with someone involves listening to a lot of random chat, that I'm mostly completely uninterested in storing in my brain nor processing it. I just fail to comprehend this human need for unnecessary communication. My best friend broke up with his GF two weeks ago, because: Her phone broke and she would not have internet during the week (she studies in a different town). So she told him she will not be available for a week. After the week (of not talking to each other) he broke up with her, because attempting to get in touch with him wasn't on the top of her priority list for a full week. At least that's how I interpret the story from what he told me (I may be missing some context or something "between the lines").
I mean, I have a rough example of what couples like that are talking about, but I do not understand their inability to (or the overwhelming need not to) like "exist separated and not talk to each other for a few days".
I mean, I know this type of chatting is a human equivalent of monkeys eating each others skin parasites, but until recently I did not realize how primal the need was. It feels like all the achievements of science, art and the spaceprobes, and pyramids, and particle accelerators and stuff, are just a random by-product of this human behaviour.
I always thought of language simply as of tool to convey information to others. Whanna know something? Ask! What someone else to know something? Tell him! That how I understand the meaning of language and communication. But do people genuinely think, that I'm interested in knowing that their boss had a coffee spill on his shirt? Or what Bob said to Jim about Leny's wife? When people tell me this stuff, my brain goes:
- Code: Select all
DONT_CARE:
jmp DONT_CARE;
note: it's in assembler to emphase on how basic level I don't care / what them to get to the point which basically isn't there. I mean, when I read a book/story/article, in the end my evaluation boils down to a single question "did the book/story/article made me a better person?" I expect nothing less from people too.
Am I making any sense? Can someone please explain this to me, because I'm possibly even more antisocial than I think... I have a hunch, the answer will include 42 at some point...
- KG_is_back
- Posts: 1196
- Joined: Tue Oct 22, 2013 5:43 pm
- Location: Slovakia
Re: Custom DSP Code 2 (comunity project)
42...just kidding
The answer simply is: there's this vague thing called love. Nobody can really tell you what it is. Sure there's a lot of chemical reactions in your body and the will to inherit genes. But there is more to it than just the sum of body processes. If real love strikes you, all of a sudden you are interested in even the dumbest little detail. Suddenly your brain goes from energy saving to energy wasting mode and you're doing stupid things you never thought of doing at all. Even your preferred hobbies become a minor matter.
That also means, you shouldn't care much about it. You are not in love, and that's about it. I know that younger generations get more and more cold inside regarding relationships, but that's due to the way the world works today. To survive in it such feelings are adequate. I just saw a documentary about relationships and singles in Japan. Most of the young (either female or male) live by their own. They prefer to be single because "oh girls are so stressful, I can't do my hobbies anymore, they want all the attention" or "oh guys are just so annoying, they never understand me and I can't do what I like without them". They prefer to hang around with their own gender, have fun and otherwise are not interested, not even in sex.
I personally feel sad about it, because they will never experience the beauty of being loved, loved for just what you are. But I also understand that this world of globalization demands egocentric views - the toughest win, the losers suffer, that's just the way it is.
However, remember my words: Someday you will wake up and ask yourself why you could ever talk about not interested in silly smalltalk - when it comes to this one special person
The answer simply is: there's this vague thing called love. Nobody can really tell you what it is. Sure there's a lot of chemical reactions in your body and the will to inherit genes. But there is more to it than just the sum of body processes. If real love strikes you, all of a sudden you are interested in even the dumbest little detail. Suddenly your brain goes from energy saving to energy wasting mode and you're doing stupid things you never thought of doing at all. Even your preferred hobbies become a minor matter.
That also means, you shouldn't care much about it. You are not in love, and that's about it. I know that younger generations get more and more cold inside regarding relationships, but that's due to the way the world works today. To survive in it such feelings are adequate. I just saw a documentary about relationships and singles in Japan. Most of the young (either female or male) live by their own. They prefer to be single because "oh girls are so stressful, I can't do my hobbies anymore, they want all the attention" or "oh guys are just so annoying, they never understand me and I can't do what I like without them". They prefer to hang around with their own gender, have fun and otherwise are not interested, not even in sex.
I personally feel sad about it, because they will never experience the beauty of being loved, loved for just what you are. But I also understand that this world of globalization demands egocentric views - the toughest win, the losers suffer, that's just the way it is.
However, remember my words: Someday you will wake up and ask yourself why you could ever talk about not interested in silly smalltalk - when it comes to this one special person
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Custom DSP Code 2 (comunity project)
Just follow your heart KG.
Do stuff that you want to do and be the person you are (a really nice person I think somehow) and avoid being a person you think others might expect.
Most importantly: don't fossilise the future and be open to any choices that may come along.
I'll stop now. Maybe we could start a "Meaning of life" Topic...
Cheers
Spogg
(BTW, turns out it really is 42)
Do stuff that you want to do and be the person you are (a really nice person I think somehow) and avoid being a person you think others might expect.
Most importantly: don't fossilise the future and be open to any choices that may come along.
I'll stop now. Maybe we could start a "Meaning of life" Topic...
Cheers
Spogg
(BTW, turns out it really is 42)
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: Custom DSP Code 2 (comunity project)
OK guys, thanks for the explanation, and here is the reward!
The core of the compiler is working. It supports all common float operations (+-*/) logical operations (&|^ =AND OR XOR). IF statements and WHILE loops are also implemented in a poly-compatible way. To explain a little bit more in depth:
"if" vs "ifm" vs "? : (ternary operator)"
All 3 of the above options may be used for code-branching and produce fairly similar results. Here are the key differences:
Ternary operator:
is basically a shortcut for "(condition & option1)|(option2 &! condition)". It evaluates condition and both options and then uses the condition as a bitmask switch between the two options. The code of both options is being executed.
if statement:
IF statement give the very same result as ternary operator, but with one minor difference. They may completely skip option1 if condition is false in all 4 SSE channels or completely skip option2 if condition is true in all 4 SSE channels.
Assignment operators inside both options are smartly modified, so that they pass the value to the variable only if the condition in their respective channel is true(if part)/false(else part). The effect also stacks in nested IFs. Long story short: IT IS POLY COMPATIBLE!
Naturally, "else" part of the statement is optional.
IF statement may be used to truly bypass code when it is not needed. However, the evaluation if which codeblocks to execute also takes some CPU. It only makes sense to use it for bigger code segments. For small things use ternary operator and/or bitwise masks.
ifm statement
IFM statement is CPU cheap mono version of IF. Only channel0 in the condition is responsible for switching and only one of the options gets executed. No trickery is done with assignment operators, etc. It is considerably cheaper on CPU than normal poly-compatible IF.
Things that don't work yet:
-anything that involves arrays (I was lazy adding it in)
-functions of any kind
-inline ASM
The core of the compiler is working. It supports all common float operations (+-*/) logical operations (&|^ =AND OR XOR). IF statements and WHILE loops are also implemented in a poly-compatible way. To explain a little bit more in depth:
"if" vs "ifm" vs "? : (ternary operator)"
All 3 of the above options may be used for code-branching and produce fairly similar results. Here are the key differences:
Ternary operator:
- Code: Select all
(condition) ? (option1) : option2)
is basically a shortcut for "(condition & option1)|(option2 &! condition)". It evaluates condition and both options and then uses the condition as a bitmask switch between the two options. The code of both options is being executed.
if statement:
- Code: Select all
if(condition){
option1
}else{
option2
}
IF statement give the very same result as ternary operator, but with one minor difference. They may completely skip option1 if condition is false in all 4 SSE channels or completely skip option2 if condition is true in all 4 SSE channels.
Assignment operators inside both options are smartly modified, so that they pass the value to the variable only if the condition in their respective channel is true(if part)/false(else part). The effect also stacks in nested IFs. Long story short: IT IS POLY COMPATIBLE!
Naturally, "else" part of the statement is optional.
IF statement may be used to truly bypass code when it is not needed. However, the evaluation if which codeblocks to execute also takes some CPU. It only makes sense to use it for bigger code segments. For small things use ternary operator and/or bitwise masks.
ifm statement
- Code: Select all
ifm(condition){
option1
}else{
option2
}
IFM statement is CPU cheap mono version of IF. Only channel0 in the condition is responsible for switching and only one of the options gets executed. No trickery is done with assignment operators, etc. It is considerably cheaper on CPU than normal poly-compatible IF.
Things that don't work yet:
-anything that involves arrays (I was lazy adding it in)
-functions of any kind
-inline ASM
- Attachments
-
- DSPC3.fsm
- (10.29 KiB) Downloaded 908 times
- KG_is_back
- Posts: 1196
- Joined: Tue Oct 22, 2013 5:43 pm
- Location: Slovakia
Re: Custom DSP Code 2 (comunity project)
Oh man KG is really killing it out here! Looks really amazing.
Don't jump to 'Don't care' on this one please hehe
Don't jump to 'Don't care' on this one please hehe
- Father
- Posts: 177
- Joined: Thu Jan 09, 2014 5:48 pm
Re: Custom DSP Code 2 (comunity project)
I'm totally blown away that just one human can do this, and takes the trouble to do it too. And for NO money
I'm not a coder but I have done a bit with DSP and the most testing part was caused by not having If, Then and Else and having to use masks. It's just not intuitive for me.
My only programming experience was with Sinclair Basic (Spectrum) and the CPU Zilog Z80 machine code. Conditional branching is a must for me. Masking does my head in.
So, I have a request. when this project is complete or mature enough not to change too much, I would really appreciate a few worked examples using the new features. For example, a frequency divider where you can supply the stream signal and the division ratio and out pops the divided result.
Anything that makes DSP coding easier and more intuitive just has to be so useful and exciting so many many thanks to KG for doing all this
Cheers
Spogg
I'm not a coder but I have done a bit with DSP and the most testing part was caused by not having If, Then and Else and having to use masks. It's just not intuitive for me.
My only programming experience was with Sinclair Basic (Spectrum) and the CPU Zilog Z80 machine code. Conditional branching is a must for me. Masking does my head in.
So, I have a request. when this project is complete or mature enough not to change too much, I would really appreciate a few worked examples using the new features. For example, a frequency divider where you can supply the stream signal and the division ratio and out pops the divided result.
Anything that makes DSP coding easier and more intuitive just has to be so useful and exciting so many many thanks to KG for doing all this
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Who is online
Users browsing this forum: No registered users and 73 guests