#avr | Logs for 2013-07-25

Back
[05:55:55] <mr_boo> hi
[06:04:18] <mr_boo> http://www.youtube.com/watch?v=-uFtwi8xnZE
[06:04:35] <mr_boo> first revision of my avr monosynth
[06:06:01] <twnqx> what waveform is that?
[06:06:49] <twnqx> also, is that vibrato inside the AVR, or is there external modulation?
[06:08:15] <mr_boo> squarewave based
[06:08:29] <mr_boo> i use several overtones that are also square
[06:08:45] <twnqx> nice :)
[06:08:52] <mr_boo> the phaser is through the guitar amp
[06:09:09] <mr_boo> the gitter sound at higher notes are due to resolution limits
[06:09:47] <twnqx> hm
[06:10:09] <twnqx> i wonder if the SIDs used VCOs
[06:11:06] <mr_boo> probably
[06:11:32] <mr_boo> digital signals without proper filtering sounds bad at higher frequencies
[06:11:45] * twnqx rechecks CDs
[06:11:47] <twnqx> not that bad :P
[06:12:01] <twnqx> also sidplay and friends make a pretty good deal, but those are 16bit at least
[06:12:16] <twnqx> and possibly oversampled
[06:13:00] <mr_boo> what i've done is that instead of having one signal that is going through D/A converter i use each pin as a square wave with different overtones
[06:13:26] <mr_boo> in the demo all overtones are used at maximum and hence the machine sound
[06:14:49] <mr_boo> works well with the effects though
[06:16:15] <Roklobsta> sid used dds
[06:17:36] <mr_boo> i get the jitter noise at higher freqs
[06:20:21] <mr_boo> for what i can remember there was no jitter noise on higher frequencies from the sid chip
[06:22:11] <antto> mr_boo that's aliasing at the top notes
[06:23:42] <antto> what's your output sampling rate?
[06:25:01] <mr_boo> chip frequency divided by 9 clock pulses which is 11289600/9=1254400Hz
[06:25:27] <mr_boo> oh and that divided by 256 of course
[06:25:37] <mr_boo> 4900Hz
[06:26:03] <antto> okay, that's more believable
[06:26:32] <antto> and it's very poor
[06:26:38] <mr_boo> yup
[06:26:47] <antto> the SID mentioned above uses a higher rate
[06:27:15] * mr_boo reads up on the figures
[06:27:47] <antto> well, most music is made on 44.1k or 48kHz
[06:28:18] <antto> your sampling rate is ~1/10 of that ;]
[06:28:42] <mr_boo> those sampling rates were unusual back in the SID days
[06:28:59] <antto> and if you're using individual pins for individual square oscillators - you don't even have the option to attempt to bandlimit
[06:29:30] <antto> i'm not familiar with SID, but don't tell me it runs on less than 8kHz ;]
[06:48:42] <mr_boo> it seems i had to lower the signal level to the guitar amp
[06:48:53] <mr_boo> way less aliasing sounds now
[06:54:11] <twnqx> mr_boo: http://www.youtube.com/watch?v=sNCqrylNY-0 :3
[06:58:40] <mr_boo> twnqx: holy smoke
[06:58:51] <twnqx> *g*
[06:58:53] <mr_boo> twnqx: do you know that guy?
[06:58:59] <twnqx> nah
[06:59:18] <mr_boo> i'd call him an avr master
[06:59:19] <twnqx> but i was atthe demo party where it was shown to the pubic first
[06:59:46] <mr_boo> i guess most of it must be written in asm as well
[07:00:08] <twnqx> full source code available :P
[07:00:11] <twnqx> he even links to it
[07:02:48] * mr_boo bookmarks his page
[07:03:04] <mr_boo> demo stuff is amazing
[07:03:21] <antto> that's more or less what SID sounds like
[07:03:25] <mr_boo> the most advanced graphics stuff i've made is liek some raytraced objects long ago
[07:03:43] <twnqx> i haven't coded anything demolike since the mid-90s :X
[07:04:09] <mr_boo> but my stuff was just pictures mostly
[07:04:31] <mr_boo> but i do know how to rotate an array of point with a 3x3 rotational matrix
[07:04:39] * twnqx used 4x4
[07:04:52] <twnqx> allows scaling+moving, iirc
[07:05:02] <mr_boo> almost all demo stuff is written in asm isn't it?
[07:05:06] <twnqx> no
[07:05:08] <twnqx> not any more
[07:05:16] <twnqx> well, on avr it probably is :P
[07:05:23] <mr_boo> that's like a million times more messy
[07:05:48] <twnqx> demos these days are mostly DX11 + pixel shaders
[07:05:58] <twnqx> and one of the two large softsynths, or just an mp3 playxer
[07:06:27] <twnqx> depending on the class, 4k/64k will use softsynth, "demo" class will use whatever
[07:11:23] <twnqx> http://www.youtube.com/watch?v=ZfuierUvx1A 64kB binary size on PC, back in 2006...
[07:22:37] <MrTrick> mr_boo: seen http://elm-chan.org/works/mxb/report.html ?
[07:24:25] <mr_boo> MrTrick: i'm using elm-chan's parallel programmer and software
[07:24:29] <MrTrick> I built a similar synthesizer on a PIC18, using a lot of that project as reference.
[07:28:55] <MrTrick> so why do you say monosynth then?
[09:06:00] <MrTrick> Is it not possible to do serial from the internal atmega328 oscillator?
[09:06:33] <MrTrick> The program is meant to spit out 'A' over and over, but most of them are appearing as 'Á'.
[09:32:33] <Casper> MrTrick: you need to calibrate the internal RC
[09:32:42] <Casper> it can be off by more than 10%
[09:32:53] <Casper> 2% off and the serial port will have issue
[10:49:35] <OndraSter> somebody borrowed my multimeter and forgot to power it off ><
[10:49:51] <OndraSter> now it is sitting with a dead battery
[10:49:53] <OndraSter> and I haz exactly 0 9V batteries
[10:52:26] <specing> your mutlimeter is retarded
[10:52:40] <specing> mine auto-shutdowns after 10 mins of no use
[10:54:51] <OndraSter> well this one is a cheap stuff
[10:54:51] <OndraSter> from 15 years ago
[10:54:53] <OndraSter> ^^
[11:01:06] <RikusW> http://www.youtube.com/watch?v=Mx5JJWI2aaw
[11:01:15] <RikusW> add some spark to its battery :-P
[11:04:10] <OndraSter> wow
[11:04:13] <OndraSter> ROCKET LAUNCH
[11:05:23] <RikusW> don't do this at home http://www.youtube.com/watch?v=92Mfric7JUc
[11:08:02] <vectory_> RikusW: i thought your line was severely limited, with all the living in the bush ans such
[11:08:16] <vectory_> how does yt fit in the picture? lol
[11:08:26] <vectory_> *and
[11:08:31] <RikusW> vectory_: I've been on 4MBit ADSL for a few months now :)
[11:09:01] <RikusW> and discovered the joys of youtube ;)
[11:09:35] <OndraSter> ahahaha
[11:10:33] <vectory_> in the fucking middle of nowhere, he
[11:10:54] <RikusW> no, I'm in a city now
[11:11:06] <vectory_> that explains it then
[11:11:18] <OndraSter> haha
[11:11:53] <vectory_> though the pictures with cattle et. al looked interesting
[12:01:34] <RikusW> Lets give flyback a collar http://www.youtube.com/watch?v=Gn0h3aRa1NI :-D
[12:05:47] <TechIsCool> abcminiuser_: your website is down?
[12:06:21] <abcminiuser_> ?
[12:06:30] <abcminiuser_> Works here
[12:06:32] <TechIsCool> I get a 404
[12:07:13] <abcminiuser_> What page?
[12:07:55] <TechIsCool> abcminiuser_: http://imgur.com/7VOTlWx
[12:08:03] <TechIsCool> thats what I get when I hit your main page
[12:08:10] <TechIsCool> anything else 404's
[12:08:29] <TechIsCool> 404 Not Found
[12:08:30] <TechIsCool> The resource requested could not be found on this server!
[12:08:32] <TechIsCool> Powered By LiteSpeed Web Server
[12:08:34] <TechIsCool> LiteSpeed Technologies is not responsible for administration and contents of this web site!
[12:09:02] <abcminiuser_> Someone's playing silly buggers with your DNS I think
[12:09:11] <abcminiuser_> Tracert?
[12:11:37] <TechIsCool> getting it now its taking its sweet time
[12:13:06] <TechIsCool> abcminiuser_: http://pastebin.com/4ivep8VU
[12:13:47] <TechIsCool> weird part is I am using google for dns resolution
[12:15:01] <abcminiuser_> You're seeing a different IP to me
[12:15:19] <abcminiuser_> I use Google DNS too
[12:15:27] <TechIsCool> 8.8.8.8 is what I am using
[12:15:32] <abcminiuser_> Tracing route to fourwalledcubicle.com [223.130.27.185]
[12:16:15] <abcminiuser_> Sounds like the server IP was changed and the Google DNS cache for your region is stalew
[12:16:17] <abcminiuser_> *stale
[12:18:31] <TechIsCool> what google dns ip address are you using
[12:19:36] <abcminiuser_> 8.8.8.8 and 8.8.8.4
[12:19:46] <TechIsCool> alright weird
[12:19:50] <abcminiuser_> But those are silently redirected to different servers based on your location
[12:21:50] <TechIsCool> abcminiuser_: 223.130.27.185 is the correct ip address or the wrong address
[12:22:00] <abcminiuser_> Correct
[12:22:28] <abcminiuser_> But it's a shared server so you'd need to force the IP in your hosts
[12:22:33] <abcminiuser_> What are you after from it?
[12:22:34] <TechIsCool> yup
[12:24:53] <TechIsCool> I was trying to get a pdi programmer working
[12:25:05] <abcminiuser_> Ah
[12:25:15] <TechIsCool> but I think google cache got me enough info to just download the lufa lib and read it
[12:26:49] <TechIsCool> alright flushed information it was wrong tried it again and requested it again from google and the ip address changed. Must have just been no one looking for your site where I live weird since its seattle
[12:27:07] <TechIsCool> sorry to bother
[12:31:20] <abcminiuser_> No prob :)
[13:09:36] <TechIsCool> what does candidate is: bool RF24::write(const void*, uint8_t, bool) mean
[13:09:42] <TechIsCool> I have never heard of it
[13:55:56] <Amadiro> TechIsCool, see the lines above it
[13:56:06] <TechIsCool> Amadiro: nothing above it
[13:56:13] <Amadiro> your compiler is complaining that some function you were trying to use does not exist, but it noticed that there is a function very similar to it
[13:56:26] <Amadiro> so it suggests that you probably meant that function, and just mixed up the arguments etc
[13:56:33] <Amadiro> TechIsCool, sounds like your terminal may be truncating?
[13:58:02] <TechIsCool> Amadiro: http://pastebin.com/ETH7aiNY
[13:58:22] <TechIsCool> that's all the errors on screen the frist three are the broken piece but the last three relate to the first 3
[14:00:22] <Amadiro> TechIsCool, looks very much to me like your terminal truncated something. Usually the error message is something like "prototype for `bool Something::something()' does not match any in class `Something'
[14:00:22] <Amadiro> candidate is: bool Something::something() const"
[14:03:20] <TechIsCool> Amadiro: Raw Output compile dump http://pastebin.com/wdhsKcuU
[14:04:55] <Amadiro> yeah, there it is.
[14:07:43] <TechIsCool> what the does not match class
[14:08:00] <TechIsCool> I would assume that was caused from the error above it about candidate
[14:08:53] <Amadiro> line 80
[14:09:20] <Amadiro> it says you are trying to declare a prototype for a method "bool RF24::write(const void*, uint8_t)"
[14:09:20] <Amadiro> which does not exist
[14:09:26] <Amadiro> however, there does exist a "bool RF24::write(const void*, uint8_t, bool)"
[14:09:55] <TechIsCool> correct
[14:09:57] <TechIsCool> but it is having a candidate issue
[14:10:14] <Roklobsta> Amadiro: you the guy doing stepper control in C++?
[14:10:45] <Amadiro> Roklobsta, uh... I guess not
[14:10:56] <Amadiro> TechIsCool, no, the candidate is just a hint for you
[14:10:59] <Amadiro> line 80 is the error
[14:11:03] <TechIsCool> ok
[14:12:00] <Roklobsta> TechIsCool: read this? http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_cplusplus
[14:36:08] <spec_> Hi all. I'm trying to program a mega64 board I laid hands on via JTAG using the AVR Dragon. So far no success. Is it possible there is a fuse that locks out JTAG? How would I reset that?
[14:36:38] <twnqx> the only definitive...
[14:36:41] <twnqx> *sigh*
[14:37:15] <twnqx> the only definitive way to reset an AVR is high-voltage programming
[14:37:16] <twnqx> and then a chip erase.
[14:38:09] <spec_> Is it possible to verify fuse states before I wipe it? I'd love to capture the firmware that's on there.
[14:38:52] <twnqx> not if the chip is locked down
[14:41:29] <spec_> Thanks twnqx. Can the lock fuse be verified or is inability to access it through JTAG clue enough?
[14:41:56] <twnqx> keep the chip in reset while powering it up
[14:42:05] <twnqx> iirc you can disable jtag from the software, too
[14:43:54] <spec_> I suspect it's not locked, because the device *used to* run when it was powered, but I may have wiped the previous code when first fumbling with the Dragon.
[14:46:50] <Casper> jtag can be fuse disabled, if so it won't work no matter what you try.... and can be, on some avr, disabled by software, then you MAY be able to reach it for a tiny bit... good luck for the timing
[14:49:26] <spec_> Good to know.
[14:56:16] <BJfreeman> I know some AVR's you can reset fuses by high voltage but that is all I know
[15:03:10] <theBear> it's called "high voltage parallel programming mode" traditionally, tho i suspect these days you don't even need 'high voltage' to do it, just a parallel mode programmer with a clock generator and an extra few data pins
[15:03:21] <theBear> tom knows these things
[15:03:49] <theBear> tho i'm pretty sure there's still a couple you can't change, like no read/write (as they do in commercial products)
[15:33:49] <megal0maniac_afk> theBear: You can write whatever you like to any AVR, you just can't necessarily read anything if you've been disallowed
[15:51:53] <Casper> theBear: high voltage is, afaik, standard programming but with a 12V reset instead of 0V reset
[15:52:09] <megal0maniac> Casper: Right you are
[15:52:30] <megal0maniac> The reset pin is the only one which is 12V tolerant :)
[15:53:11] <Casper> I think there is nothing else different in the programming protocol
[15:53:52] <megal0maniac> Well it's parallel, 8 data and 8 control lines for the 28 and larger megas
[15:54:16] <Casper> there is also spi high voltage
[15:55:33] <megal0maniac> Only for low pin count devices
[15:55:42] <Casper> you sure?
[15:55:56] <Casper> I'm pretty sure I read HV SPI on a 40 pins one
[15:59:35] <megal0maniac> I don't think so. Or I've never heard of it at least
[16:00:24] <megal0maniac> The m328 and m1284 both require half an hour of wiring for HV, that much I do know
[16:04:32] <RikusW> Now I know why the directx api is so hard to use The Evolution of Direct3D | The SaintThe Saint
[16:04:33] <RikusW>
[16:04:44] <RikusW> http://www.alexstjohn.com/WP/2013/07/22/the-evolution-of-direct3d/
[16:05:13] <RikusW> theBear: you still need 12V on reset
[16:05:13] <megal0maniac> RikusW: I've also heard that C# is great, until you want to actually do anything
[16:05:28] <RikusW> though its not used as a supply, only a signal
[16:05:36] <RikusW> heh
[16:06:15] <RikusW> megal0maniac: my brother did a Pt atom simulation using C#, it ran for 6 months on a 6 PC cluster
[16:07:31] <megal0maniac> I tried to change where a config file lives yesterday. Can't.
[16:07:40] <twnqx> there's also high voltage serial on some chips
[16:07:47] <megal0maniac> Or maybe it's just XAML
[16:07:57] <megal0maniac> twnqx: Do you know of any off-hand?
[16:08:04] <twnqx> all tinies
[16:08:20] <twnqx> hvpp sounds bad on an 8pin chip :P
[16:09:05] <Roklobsta> WTF I have all cygwin USBV crap installed. /usr/lib/gcc/i686-pc-cygwin/4.7.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lusb
[16:09:18] <megal0maniac> Oh, yeah. But I'm talking about < Casper> I'm pretty sure I read HV SPI on a 40 pins one
[16:09:23] <Roklobsta> why is making avrdude for windows so flapping hard
[16:09:35] <twnqx> because windows sucks
[16:09:53] <twnqx> and what us that usbv stuff, you want libusb
[16:10:31] <Roklobsta> typo, i mean i have all libusb and it's devel stuff installed
[16:10:31] <Roklobsta> all 3
[16:10:34] <Roklobsta> choices
[16:10:41] <twnqx> those you would need
[16:11:11] <twnqx> try a find /usr/lib -name libusb*
[16:12:03] <Roklobsta> all the .a's are there
[16:12:10] <Roklobsta> and .dll.a
[16:12:15] <twnqx> hm
[16:12:24] <Roklobsta> this is latest cygwin evertything
[16:12:24] <twnqx> directly in /usr/lib?
[16:12:32] <twnqx> or within a subdir?
[16:12:45] <Roklobsta> here: /usr/lib/libusb-1.0.a
[16:13:15] <Roklobsta> did a clean bootstrap and configure
[16:13:24] <twnqx> this is just a guess, but try to c&p the failing command, adding -L /usr/lib
[16:13:38] <twnqx> -L/usr/lib - no space
[16:14:55] <Roklobsta> no good
[16:15:06] <twnqx> wow.
[16:15:24] <twnqx> throw in a -static
[16:16:01] <Roklobsta> nope
[16:16:08] <Roklobsta> i'll reinstall cygwin
[16:16:09] <twnqx> still can't fint libusb? :S
[16:16:18] <twnqx> waait
[16:16:25] <twnqx> can you show me the full line?
[16:16:35] <twnqx> the command line
[16:16:41] <Roklobsta> yes: gcc -Wall -Wno-pointer-sign -g -O2 -DWIN32NATIVE -static -o avrdude.exe avrdude-main.o avrdude-term.o ./libavrdude.a -lusb-1.0 -lusb -lelf -lpthread -lm -L/usr/lib -static
[16:17:11] <twnqx> throw out the -lusb
[16:17:41] <Roklobsta> ... /cygdrive/c/Temp/avrdude/avrdude/ser_avrdoper.c:303: undefined reference to `usb_init'
[16:17:44] <Roklobsta> etc
[16:17:55] <twnqx> weird, it has -lusb-1.0 and needs another one?
[16:18:09] <twnqx> and you can't just grab a precompiled exe, i guess
[16:18:25] <Roklobsta> no i want to add some of my own patches and test them
[16:18:50] <Roklobsta> this is pure cygwin. Mingw works but I was having a shit of a time with libelf
[16:21:22] <Roklobsta> cygwin in windows
[16:21:29] <Roklobsta> not crosscompiling
[16:21:38] <twnqx> cygwin is always windows
[16:21:45] <twnqx> (ok, or dos :P(
[16:21:46] <twnqx> )
[16:22:02] <Roklobsta> oh, ok, it's not like wingw
[16:22:03] <Roklobsta> mingw
[16:22:33] <twnqx> mingw is a bit more native. the real difference is where the posix abstraction happens
[16:22:48] <twnqx> (both suck)
[16:23:09] <RikusW> twnqx: tiny;s use HVSP
[16:23:24] <twnqx> ... that's what i said, yes
[16:27:29] <megal0maniac> Built a machine for a client today in a Cooler Master Silencio 550 chassis. It is unbelievable how quiet the thing is.
[16:28:59] <megal0maniac> And purdy :)
[16:39:21] <specing> the loudest thing is the HDD
[16:39:30] <specing> you take the HDD out... suddenly SILENCE
[16:39:55] <specing> I have my HDD suspended on rope
[16:51:23] <RikusW> http://www.youtube.com/watch?v=acR4n6lJEdQ
[16:51:57] <RikusW> unreal 4 internals
[16:54:42] <RikusW> somehow they can recompile code in the live game !?
[16:55:00] <Roklobsta> nup, total reinstall of cygwin and still can't find libusb in spite of installing it
[17:03:23] <specing> RikusW: JIT?
[17:09:06] <RikusW> no clue
[17:14:25] <clever> RikusW: ive heard of that with c++ and java
[17:14:36] <clever> and ive seen a program to do it against a running linux kernel (c)
[17:14:58] <clever> and ive done it myself with qt-script
[17:17:49] <clever> RikusW: so far, i see no code changes in the vid
[17:18:17] <RikusW> at the very end
[17:24:54] <clever> RikusW: 8:20, whoa
[17:25:20] <RikusW> the flow charts ?
[17:25:24] <clever> yeah
[17:25:48] <RikusW> I'd sure like to toy around with that kind of software :)
[17:25:54] <clever> yea
[17:26:01] * RikusW wonders how steep the learning curve is...
[17:26:22] <clever> ah, code!
[17:26:45] <clever> void, const, looks like c++ so far
[17:26:47] <clever> yep, file ends in .cpp
[17:27:19] <clever> weird, the change took effect while he was ingame
[17:27:28] <RikusW> exactly
[17:27:38] <RikusW> very handy to have
[17:27:44] <RikusW> quicker development
[17:28:00] <clever> but also, it reset him to the starting point when he hit compile
[17:28:03] <clever> like i was expecting
[17:28:10] <clever> then the change didnt kick in until the compile started
[17:28:13] <clever> finished*
[17:30:05] <Roklobsta> much quiker than this damned, compile/jtagflash/test cycle
[17:31:05] <Tom_itx> so get it right the first time :D
[17:31:54] <Roklobsta> yessss..... ok
[17:42:57] <Amadiro> RikusW, you can have plugins system in C++ etc and then hot-reload the code
[17:43:00] <Amadiro> it's just kinda messy
[17:43:13] <RikusW> can imagine
[17:43:27] <clever> ive seen it with c and a live kernel before
[17:43:27] <RikusW> the state will have to be saved...
[17:43:32] <Amadiro> some languages like erlang have it built-in though
[17:43:44] <clever> state doesnt change, just swap out the code in place
[17:43:51] <RikusW> I've heard of superzap on old mainframes
[17:43:57] <clever> but if the format of the state changes, you have to translate it live
[17:44:03] <Amadiro> clever, state often changes when versions are upgraded.
[17:44:17] <RikusW> in the end the source code was no longer valid, it was a zaped together kernel :-P
[17:44:21] <Amadiro> in erlang you can provide an upgrade and a downgrade function that does the mapping
[17:44:24] <RikusW> *zapped
[17:44:24] <clever> and in some cases like that video, i think he changed the constructor
[17:44:35] <clever> with the linux kernel method, that wouldnt have any effect
[20:30:39] <Roklobsta> Amadiro: Any problem in computer science can be solved with another level of indirection.