#avr | Logs for 2015-07-08

Back
[04:17:11] <twnqx> stupid question time \o/
[04:17:19] <twnqx> if a mosfet's V(DSS) is exceeded
[04:17:23] <twnqx> will it "just" turn on
[04:17:32] <twnqx> or will it be destroyed in the process?
[04:18:44] <LeoNerd> I generally treat anything in the datasheet's "absolute maximums" section as "it will blow up if you exceed this"
[05:40:02] <LeoNerd> Is there something odd about small-sized silicone-coated test probe wire in green?
[05:40:23] <LeoNerd> I can buy larger sizes (14AWG) in any of 6 or 8 colours... I can buy the size I actually want (20AWG) in red/black/blue/yellow/white, but... no green
[05:40:27] <LeoNerd> Nobody seems to sell it
[06:38:25] <Lambda_Aurigae> LeoNerd, green is for measuring alien technology only.
[06:38:35] <LeoNerd> Now grounding planes?
[06:38:44] <LeoNerd> I dunno.. grounding planes seem pretty alien
[06:47:25] <superbia> hi.
[06:47:42] <LeoNerd> Hello
[06:49:14] <superbia> if a accelerometer outputs data in g (mili g's)
[06:49:27] <superbia> how much is g exactly ?
[06:50:17] <superbia> does it use the "g" of my current location? or just a random constant like 9.81
[06:56:35] <LeoNerd> It can't know actual g at your location :)
[06:56:43] <LeoNerd> It will be based on some averaged ideal constant
[06:56:50] <LeoNerd> Most likely 9.81m/s², indeed
[06:58:47] <superbia> ah that sucks :/
[06:59:45] <superbia> but on the bright side, i could just have a calibration mode, throw it into the air, and recalculate the factor i can use on the "value the sensor is outputing" to adjust the output to match the exact g in the area im at, right ?
[07:02:51] <LeoNerd> I expect unless you paid hundreds of dollars for the sensor, its accuracy isn't sufficient to warrant a better value than "just call it 9.81"
[07:02:56] <Lambda_Aurigae> how can it know your location?
[07:03:07] <LeoNerd> And if you *did* pay hundreds of dollars for it, I would hope it comes pre-calibrated
[07:03:17] <Lambda_Aurigae> unless it has a GPS system and a map of the earth's gravity variances.
[07:03:37] <LeoNerd> Don't forget to take account of the moon
[07:03:39] <LeoNerd> And the time of day
[07:03:45] <Lambda_Aurigae> and the sun for that matter.
[07:04:38] <Lambda_Aurigae> and it should be 8.80665n
[07:05:29] <superbia> ok i see
[07:05:38] <superbia> there is a lot to take into consideration
[07:05:40] <Lambda_Aurigae> err.
[07:05:48] <Lambda_Aurigae> 9.80665.
[07:05:55] <Lambda_Aurigae> dang typo daemon.
[07:06:00] <Lambda_Aurigae> gotta disable that thing.
[07:06:25] <Lambda_Aurigae> so, roughly 9.81 or 9.8, depending on how many significant digits the system uses.
[07:06:45] <superbia> perfect
[07:07:19] <Lambda_Aurigae> superbia, yes...the latitude and longitude on the planet, altitude from the center, position of moon, sun, and even planets can make it change, however small a change.
[07:08:45] <superbia> well
[07:08:48] <Lambda_Aurigae> the earth isn't perfectly round and the pull of gravity is different in different places,,,but I doubt something under 1000 dollars is going to measure much of that.
[07:08:55] <superbia> ok ok :)
[07:08:58] <LeoNerd> Why exactly do you want to know local g anyway?
[07:09:12] <LeoNerd> An accelerometer measures acceleration in m/s²
[07:09:23] <superbia> but, i think it would be worth to use GPS (if i have it somewhere) for this formula https://en.wikipedia.org/wiki/Gravity_of_Earth#Altitude
[07:09:28] <LeoNerd> Converting that to a ratio of local acceleration due to gravity doesn't sound like a very useful thing to know
[07:10:18] <superbia> but yes, it doesnt even matter
[07:10:30] <Lambda_Aurigae> so, changing by 0.29% over 9000 meters.
[07:10:38] <superbia> because it reads acceleration in "that closed system"
[07:10:54] <superbia> no i just divide the sensor output that is in G's by 9.81
[07:11:01] <superbia> and i work as it were m/ss
[07:11:13] <Lambda_Aurigae> multiply by 9.81
[07:11:39] <superbia> ye
[07:11:42] <superbia> that ;)
[07:11:50] <LeoNerd> Well, best to read the datasheet and see what units it is using
[07:12:00] <Lambda_Aurigae> so, from ground to 9000 meters(30000 feet) it will change 0.028449
[07:12:02] <superbia> g/s
[07:12:10] <superbia> Lambda_Aurigae: it doesnt matter
[07:12:38] <superbia> you can throw the accelerometer and avr on a breadboard on Mars
[07:12:41] <superbia> and on Earth
[07:12:50] <superbia> and it will give you exact acceleration
[07:13:10] <superbia> which will be different, and good
[07:13:21] <Lambda_Aurigae> was just thinking, unless you are changing altitude by thousands of feet, I doubt you will see much difference in reading gravity pull.
[07:13:33] <superbia> the thing is
[07:13:42] <superbia> if i log the acceleration data
[07:13:49] <superbia> i will see the gravity pull
[07:13:56] <superbia> on large enough distance
[07:14:02] <LeoNerd> Hrm?
[07:14:03] <superbia> like throwing from airplane
[07:14:04] <Lambda_Aurigae> yes.
[07:14:14] <superbia> i just wrote some formulas
[07:14:17] <Lambda_Aurigae> however, you will have to know exact friction/drag
[07:14:25] <superbia> friction is easy
[07:14:31] <superbia> the air resists by the power or 2
[07:14:33] <Lambda_Aurigae> because THAT will change dramatically from 30000 feet to 1000 feet altitude.
[07:14:55] <Lambda_Aurigae> and will change just with changes in air pressure due to storms or whatnot.
[07:15:07] <superbia> either way i got some physics to try
[07:15:17] <superbia> no better way to test my formula then to prototyping it
[07:15:37] <superbia> and graphing the results
[07:15:49] <Lambda_Aurigae> and, if your object tumbles, hopefully it is spherical, otherwise drag will change as its profile against the air changes.
[07:17:18] <superbia> http://www.seeedstudio.com/wiki/images/b/b1/MPU6050.pdf what im using
[07:21:11] <superbia> either way i'm off to a lunch, thanks for the assistance and have a nice rest of the day.
[08:31:09] <Jartza> argh
[08:31:16] <Jartza> I'm having a bit of a hard time to grasp lpm
[08:31:37] <Jartza> I have an array, where i read a byte value
[08:31:47] <Jartza> then I should add that value to 0x1800 and read byte from that location
[08:31:54] <Jartza> in asm
[08:32:06] <Jartza> seems I don't get something now
[08:32:41] <Jartza> or actually I should do it multiple times, advancing through the array
[16:17:12] <zed___> so I've got a jtag mkice 1. the jtag spec allows for boundary scanning and sending commands to other chipz on board that also support jtag
[16:17:21] <zed___> with avr/avrdude, how is this done?
[16:17:28] <zed___> or do i really need to bit bang jtag?
[16:37:06] <Tom_itx> zed___, dfu ?
[16:46:29] <zed___> Tom_itx: idkwtam
[16:46:35] <zed___> Tom_itx: i don't know what that acronym means
[16:51:38] <Strangework> zed___, 'device firmware upgrade'? Think it's a protocol for handling the upload of firmware to embedded devices.
[16:52:00] <Strangework> only know about it through using 'dfu-programmer' to flash on new firmware onto my avrispmk2
[16:54:00] <Strangework> Seems to be a USB-defined standard
[17:01:17] <Tom_itx> err i meant GDB
[17:01:20] <Tom_itx> gnu debugger
[17:50:39] <zed___> I'll check it out, thanks guys
[18:38:45] <Lambda_Aurigae> zed___, avrdude is just uploader downloader...it can use jtag for that but it doesn't do debugging...
[18:45:20] <zed___> Lambda_Aurigae: are there any pieces of software that will do jtag debugging with the jtagice? http://www.atmel.com/tools/AVRJTAGICEMKII.aspx
[18:45:34] <Lambda_Aurigae> avr-gdb
[18:46:51] <Lambda_Aurigae> or, in the windows world, atmel studio
[18:57:10] <zed___> so I'm asking for a reverse engineering effort, I don't have access to the code currently on the device
[18:57:18] <zed___> I mean I can dump the flash, but that gives me nasty looking asm
[18:57:41] <zed___> can it debug without throwing code at it and clicking the debug button? (atmel studio)
[18:57:53] <Lambda_Aurigae> dunno on that one.
[18:58:00] <Lambda_Aurigae> I don't have any jtag gear.
[18:58:03] <Lambda_Aurigae> and I refuse to use windows
[18:58:07] <Lambda_Aurigae> so, can't use atmel studio.
[18:58:23] <zed___> +1 to that. just got a macbook and windows laptop for non-mac things
[18:58:36] <Lambda_Aurigae> I would hope that atmel studio can do a debug on a chip without source.
[18:58:46] <zed___> and +1 to the not using jtag.
[18:58:48] <Lambda_Aurigae> I don't even have winblows in vm anymore.
[18:58:54] <Lambda_Aurigae> just never had need for jtag.
[18:59:53] <zed___> i'm sure it's fine for non-avr devices
[19:00:11] <zed___> but the protocol they use for avr is really undocumented aside from firmware updates/downloads
[19:08:26] <Lambda_Aurigae> I just have never needed jtag.
[19:08:36] <Lambda_Aurigae> I also don't try to debug other chips than my own.
[19:08:39] <Lambda_Aurigae> and I know my own code.
[19:12:52] <zed___> you should try the debugging other chips sometime
[19:12:53] <zed___> it's fun
[19:13:34] <zed___> really teaches you the value of lock bits
[19:14:07] <Lambda_Aurigae> I would just write my own code to replace what's on it.
[19:14:32] <zed___> that'd work unless you've got little idea as to where the PCB traces go and how many layers it is
[19:15:27] <zed___> and why the hell a wireless base station device would need to connect a atmega mcu to a TI usb audio mcu
[19:44:35] <phryk> Hello there. I'm a complete idiot avr-wise. I'm working on freebsd (avr-gcc, avrdude), trying to do pwm output with a led. The datasheet has me completely dumbfounded. Would somebody mayhaps have the nerve to basically take me by the hand and walk me through this?^^;
[19:46:36] <phryk> https://paste.xinu.at/rC9/ This is my current non-working code. The hardware is a seeduino with an atmega2560. There is an on-board led on pb7 (that the correct name?), I already let it blink without pwm.
[19:47:00] <Lambda_Aurigae> is pb7 connected to the hardware pwm?
[19:52:21] <Lambda_Aurigae> http://www.ermicro.com/blog/?p=1971
[19:52:34] <Lambda_Aurigae> basic avr pwm instruction.
[19:52:42] <Lambda_Aurigae> you just have to match it to your chip a little bit.
[19:54:25] <Lambda_Aurigae> unfortunately I am unable to make it any clearer than that webpage does.
[19:55:26] <phryk> okay, will read up.
[19:57:35] <Lambda_Aurigae> that page even uses timer0 which is what you appear to be using.
[19:57:46] <Lambda_Aurigae> so, most of the code shouldn't change.
[19:58:34] <Lambda_Aurigae> mostly just the pins that it outputs on.
[20:00:26] <Lambda_Aurigae> normally I would say that the atmel datasheet is very comprehensive and easy to understand,,,except when it comes to some timer stuff and their usb hardware.
[20:22:13] <phryk> Lambda_Aurigae: i find the names insufferable. why is everything like TCCR0A, DDRB, OCR0A… I mean isn't this only used in the source? I doubt it'd have any impact on the firmware if they had used more descriptive names… :/
[20:22:57] <Lambda_Aurigae> you could make more descriptive names... #define DataDirectionRegisterB DDRB
[20:22:59] <Lambda_Aurigae> kinda thing.
[20:23:29] <Lambda_Aurigae> but, such shorthand exists throughout the industry, not just atmel and not just microcontrollers.
[20:23:38] <phryk> Yeah, but the problem is that the names make it hard to find out/comprehend what they do in the first place. It's not saving me anything if I have to figure it all out before I get a more usable name :/
[20:24:03] <Lambda_Aurigae> it's just like learning a new programming language syntax.
[20:24:15] <Lambda_Aurigae> you have to learn the syntax of the chip you are working with.
[20:24:19] <Lambda_Aurigae> and it's all in the datasheet.
[20:24:51] <phryk> I don't think so. I have the feeling it's mostly an "it's always been done this way" kinda deal…
[20:25:11] <Lambda_Aurigae> it's been this way so long as I've been working with electronics.
[20:25:19] <phryk> I wouldn't be surprised if it stemmed from some shitty performance limitation or "optimization" 40 years ago :D
[20:25:37] <phryk> Lambda_Aurigae: That's exactly what I suspected^^
[20:26:05] <phryk> Hah, that feel when HackingTeams surveillance shit doesn't support your obscure OS :D
[20:26:15] <Lambda_Aurigae> gnd, vcc, trg, out, rst, dis, etc
[20:26:44] <phryk> Lambda_Aurigae: are the names at least somewhat consistant across different vendors?
[20:27:21] <Lambda_Aurigae> in the microcontroller world the names of things differ partly due to different functionality and partly due to copyright crap.
[20:28:41] <Lambda_Aurigae> hell, microchip is worse than atmel.
[20:28:55] <Lambda_Aurigae> at least in atmel it's called a DDRx or Data Direction Register
[20:29:04] <Lambda_Aurigae> in microchip the same thing is called a TRIS
[20:33:02] <phryk> are microcontrollers as badly "historically grown" as x86 cpus?^^
[20:33:17] <Lambda_Aurigae> usually.
[20:33:21] <phryk> Ooh, binary notation for the configuration registers makes way more sense. Maybe I'll actually get friendly with C at some point.
[20:33:44] <Lambda_Aurigae> have been doing C since the mid 80s here.
[20:33:47] <phryk> Oh great, I can see that I can expand my view of "everything is horrible in IT" to microcontrollers as well, then :P
[20:34:01] <Lambda_Aurigae> naa..it's not all horrible.
[20:34:07] <Lambda_Aurigae> just a new language to learn.
[20:34:09] <phryk> I am planning to kind of become a technohermit.
[20:34:39] <phryk> The lack of namespaces is kind of frustrating for me. But at least this project will hopefully be simple…
[20:34:49] <Lambda_Aurigae> lack of,,,,namespaces?
[20:35:12] <phryk> Worst piece will probably be the usb api I'm planning. :F
[20:35:27] <phryk> Lambda_Aurigae: C has no namespaces, does it? o_O
[20:35:29] <Lambda_Aurigae> I suggest keeping PHP on something with at least a gig of ram.
[20:35:43] <phryk> The hell do I want with php?
[20:35:53] <phryk> php's namespaces are horrid /o\
[20:35:55] <Lambda_Aurigae> php is where I first ran into namespaces.
[20:36:06] <phryk> php namespaces are pretty recent, too afaik.
[20:36:13] <Lambda_Aurigae> on microcontrollers, I have no need for such triply abstracted junk.
[20:36:16] * specing picks up pitchfork and torch
[20:36:20] <phryk> pythons namespaces are more intuitive
[20:36:21] * specing butns Lambda_Aurigae
[20:36:35] <specing> python is an awful language
[20:36:46] <phryk> it's better than php.
[20:36:49] <Lambda_Aurigae> I find most modern languages awful.
[20:36:54] <specing> true that
[20:36:57] <phryk> haskell seems interesting.
[20:36:59] <specing> but not by much
[20:37:10] <Lambda_Aurigae> give me C and assembly and maybe BASIC and FORTRAN.
[20:37:15] <phryk> common lisp was a bit disappointing… there's lots of stuff only working with the sbcl compiler
[20:37:24] <specing> I find most popular languages awful
[20:37:35] <phryk> programming hipster :D
[20:37:37] <specing> C/C++, java, ...
[20:37:45] <specing> phryk: I use Ada, so yeah
[20:37:46] <Lambda_Aurigae> I "can" do java.
[20:37:47] <phryk> "I programmed COBOL *before* it was cool."
[20:37:59] <specing> Lambda_Aurigae: I actually prefer java to c/c++
[20:38:12] <specing> when it explodes it atleast tell you where it happened
[20:38:12] <phryk> :F
[20:38:14] <Lambda_Aurigae> and learned Ada back when it was hip,,,in the late 80s/early 90s when the military forced us to convert everything from C, FORTRAN, and PASCAL into Ada
[20:38:40] <Lambda_Aurigae> well, the DoD forced us to do it.
[20:38:51] <Lambda_Aurigae> the airforce did it kicking and screaming.
[20:38:53] <specing> Ada is really nice
[20:39:08] <specing> I use VHDL, too
[20:39:10] <Lambda_Aurigae> then they realized that compiled code for Ada was horrid compared to the stuff we were using.
[20:39:37] <phryk> the one thing i like least about python is the typesystem, I think.
[20:39:39] <Lambda_Aurigae> Ada couldn't compete for speed and functionality with FORTRAN when it came to math stuff.
[20:39:41] <specing> there is GNAT GCC
[20:39:48] <phryk> static typing just seems less confusing to me…^^
[20:39:52] <specing> so basically the same middle/back-end
[20:40:48] <Lambda_Aurigae> and I haven't found anything on a microcontroller that I need to do that I can't do with C or Assembly or a combination of the two.
[20:41:41] <phryk> btw how is debugging usually done? it's not like i can just print somewhere before I manage to get the usb stuff working…
[20:41:59] <Lambda_Aurigae> I do it with LEDs and/or USART interface.
[20:42:11] <specing> phryk: LED,usart,oscilloscope,logic analyzer,...
[20:42:13] <Lambda_Aurigae> and, you CAN just print somewhere...print to the USART..
[20:42:29] <phryk> USART? that the usb serial thing?
[20:42:33] <Lambda_Aurigae> UART?
[20:42:35] <specing> oh jesus
[20:42:49] <Lambda_Aurigae> Universal Synchronous Asynchronous Receiver Transmitter
[20:42:52] <phryk> sorry, if I don't know shit, I'm new to this :P
[20:42:53] <Lambda_Aurigae> SERIAL PORT!
[20:42:56] * specing unearths a giant tree
[20:43:09] * specing repeatedly slams phryk into the earth with it
[20:43:10] <phryk> Yeah, that's the ftdi hardware, right?
[20:43:11] <Lambda_Aurigae> ummm...that's OLD...if you have a PC from p-4 backwards it has one.
[20:43:23] * specing replants said tree over phryk
[20:43:24] <Lambda_Aurigae> ftdi provides chips that do usb-serial adapter, yes.
[20:43:43] <Lambda_Aurigae> and some newer computers even have those old ports,,,,
[20:43:56] <specing> Lambda_Aurigae: docking stations usually have serial
[20:44:03] <Lambda_Aurigae> yup.
[20:44:05] <Lambda_Aurigae> that too.
[20:44:18] <specing> thinkpad docks up to ivy bridge have serial and parallel
[20:44:34] <phryk> Lambda_Aurigae: yeah the uart is exactly what I want to use. You imply that it's very easy to use?
[20:44:45] <Lambda_Aurigae> this gigabyte motherboard here with an AMD FX(tm)-4150 Quad-Core Processor has both serial and parallel ports on it.
[20:44:56] <phryk> I'd try to get that working before the pwm stuff in order to be able to better debug then. :)
[20:45:08] <specing> Lambda_Aurigae: actual DB-9/25 or just headers?
[20:45:19] <Lambda_Aurigae> phryk, I teach 10 to 16 year old kids to use the USART on avr chips.
[20:45:35] <Lambda_Aurigae> specing, it came with the headers and the backplane adapter to plug into them.
[20:46:11] <Lambda_Aurigae> along with spi and twi(also known as i2c) ports.
[20:46:40] <Lambda_Aurigae> but I do start them out with basic electronics and teach them how to read datasheets and such before letting them near a microcontroller.
[20:47:36] <Lambda_Aurigae> we blink LEDs with discreet transistors/resistors/capacitors, then move on to 555 timer and 74xx logic, then once they have logic down we go onto programmable microcontrollers.
[20:48:41] <Lambda_Aurigae> we actually go through Getting Started in Electronics the first few days. Most kids can get through it in about 4 2-hour sessions without any problem.
[20:49:19] <specing> so first they smash discreet components and then they go to pin bending on some real stuff?
[20:49:34] <Lambda_Aurigae> yup.
[20:49:39] <specing> awesome
[20:49:54] <specing> gonna grow up into some real masters of destructions some day
[20:49:54] <Lambda_Aurigae> this summer I have 5 kids....3 of them are repeats and working on more advanced stuff.
[20:50:00] <Lambda_Aurigae> and they are helping the newbies.
[20:50:04] <specing> 'repeats'?!
[20:50:19] <Lambda_Aurigae> they have come to my funhouse before.
[20:50:29] <Lambda_Aurigae> my shop where I let them play with my electronics toys.
[20:50:30] <phryk> Lambda_Aurigae: i don't think age much correlates with intelligence, there no doubt are 14 year olds smarter than me :P
[20:50:32] <Lambda_Aurigae> and help them learn.
[20:50:48] <phryk> but i think i'll manage then. :)
[20:50:49] <Lambda_Aurigae> intelligence plays little part...
[20:50:57] <Lambda_Aurigae> it's all about willingness to learn.
[20:51:09] <Lambda_Aurigae> intelligence can help with that.
[20:51:13] <phryk> i can do that.
[20:51:17] <Lambda_Aurigae> but you gotta learn to crawl before trying to run.
[20:51:23] <Lambda_Aurigae> steps and stages.
[20:52:01] <specing> Lambda_Aurigae: ah ok, for a second+ I thought they failed primary school, lol
[20:52:06] <Lambda_Aurigae> before they can play with microcontroller, they gotta be able to read the datasheet...and to have read it.
[20:52:10] <Lambda_Aurigae> no.
[20:52:24] <Lambda_Aurigae> this is a funzie-summer thing for kids in the local area who want to learn.
[20:52:31] <Lambda_Aurigae> not part of school or anything.
[20:52:54] <Lambda_Aurigae> I collect parts and bits and pieces..have done so for many years.
[20:53:03] <Lambda_Aurigae> and people give me computers all the time.
[20:53:30] <Lambda_Aurigae> part of what we do is to get the kids their own computers. I have a stack of 15 p-4 laptops right now needing linux put on them.
[20:53:57] <Lambda_Aurigae> all of them have both parallel and serial ports so they can use these for interfacing with other electronics stuff.
[20:54:12] <phryk> Lambda_Aurigae: the datasheet mostly just fills me with billions of questions. to me it seems to require lots of background knowledge… If something doesn't work, I'm more or less bound to read around the datasheet and do stuff on what I suspect something means :/
[20:54:19] <Lambda_Aurigae> and we get them loaded up with schematic drawing stuff and free circuit simulation and such too.
[20:54:42] <Lambda_Aurigae> for atmel datasheets, they are very comprehensive...everything you need to know is in there....
[20:54:51] <Lambda_Aurigae> and there are lots of code examples too.
[20:55:15] <Lambda_Aurigae> but it does require some basic to intermediate digital electronics knowledge.
[20:55:30] <Lambda_Aurigae> digital electronics and digital logic.
[20:55:55] <Lambda_Aurigae> lots of programmers out there don't really understand digital logic...basic AND, OR, NOT, NOR, NAND, etc..
[20:56:25] <phryk> digital logic is a bit of a strain because I seldomly do actual bit manipulation stuff, but I can manage that. my problem might be electronics knowledge…
[20:56:59] <Lambda_Aurigae> that's something you gotta know and know how to work with.
[20:57:10] <apo_> Hey, I'm trying to use inline asm to make use of BRCC, using "__asm__ volatile goto ("brcc %I1 \n" : /* No outputs */ : /* No inputs */ : /* No clobbers */ : assign);"
[20:57:13] <Lambda_Aurigae> hence why we play with 74xx logic stuff.
[20:57:15] <apo_> But I get "error: invalid 'asm': operand number out of range"
[20:57:19] <phryk> Lambda_Aurigae: am i right in suspecting, that after a number of years of experience in electronics, you do develop a kind of intuition for how a system behaves?
[20:57:20] <apo_> What am I doing wrong? :)
[20:57:32] <apo_> ... d'oh
[20:57:34] <apo_> Never mind :D
[20:57:36] <Lambda_Aurigae> phryk, correct....
[20:57:47] <Lambda_Aurigae> apo_, find your mistake did you?
[20:58:22] <Lambda_Aurigae> phryk, once you know how the electronics work, then you understand how the logic bits work, then you understand how the processor works(at least in theory), then you can make it do what you want.
[20:58:42] <Lambda_Aurigae> I started with electronics when I was 8.
[20:58:45] <Lambda_Aurigae> nearly 40 years ago.
[20:58:48] <phryk> thanks, that knowledge might make it feel a bit less sisyphean when i try jamming this stuff into my brain :P
[20:58:50] <apo_> Lambda_Aurigae: :D
[20:58:54] <Lambda_Aurigae> digital electronics and computers at about 13.
[20:58:58] <apo_> Lambda_Aurigae: %I1 instead of %I0
[20:59:06] <Lambda_Aurigae> apo_, OOPS!
[20:59:06] <Lambda_Aurigae> hehe
[20:59:18] <phryk> I've mostly been doing "higher level" coding and unix stuff thus far.
[20:59:24] <phryk> going on a smoke break
[20:59:35] <Lambda_Aurigae> damned druggie!
[20:59:42] <Lambda_Aurigae> kick that drug habit dude!
[21:00:43] <Lambda_Aurigae> I've actually been doing lower level coding for PC hardware lately for the fun of it...writing my own OS from scratch that boots on x86 hardware without linux or dos or whatever.
[21:01:14] <Lambda_Aurigae> vmware makes that so much easier these days.
[21:01:58] <Lambda_Aurigae> ok....is after 8:30PM here...half hour past my bedtime and then some!
[21:02:01] <Lambda_Aurigae> nighters all.
[21:08:44] <phryk> It's almost 4am over here :P
[21:09:25] <phryk> i want my awesome big rgb led thing to be in prototype stage by the end of the month^^
[21:09:31] <phryk> has been lying around since last year :/
[21:14:02] <apo_> https://github.com/Cat-Ion/atmega328-midi-synthesizer/blob/master/organ.c#L57 f'n magic
[21:20:31] <phryk> yay, pwm works.
[21:20:37] <phryk> thanks Lambda_Aurigae
[21:28:12] <apo_> Cycles saved per oscillator and interrupt call: 2! \o/
[21:42:41] <Casper> apo_: it's funny how such tiny save can be so important
[21:43:56] <Casper> it's what... 0.000000125 of a second?
[22:06:59] <apo_> Casper: but it runs every 256 cycles, so that's almost 1% more processing power!
[22:07:29] <apo_> Casper: and that's per oscillator, which will probably end up being 6. So that's 5% :)
[22:08:13] <Casper> yeah, but still, the raw number make it look silly
[22:08:28] <apo_> yup
[23:05:01] <apo_> hmm, how do I do something like "lds r24, %[addr]; ... sts %[addr], r24;" with inline asm? I've tried using [addr] "+r" (array+index), but then I get "error: lvalue required in asm statement" and "error: invalid lvalue in asm output 0"
[23:11:21] <apo_> ah
[23:11:45] <apo_> got it :)