#avr | Logs for 2013-06-11

Back
[01:36:48] <megal0maniac> I feel like I should build something
[01:45:12] <megal0maniac> Mmm... Sleep first
[07:02:42] <Gumboot> ambro718: Line 88: https://gist.github.com/sh1boot/5732738 -- that's the multiply I was saying could be done away with.
[07:03:37] <Gumboot> It does, strictly, affect the result, but it's something like 1/256th lsb error, so it doesn't justify the extra cycle.
[07:06:10] <ambro718> you're overflowing ints again
[07:06:30] <ambro718> I don't even know what you want to do on line 88? Multiply two 8-bits into a 16-bit?
[07:07:49] <Gumboot> Multiply two 8-bit ints and take only the top 8 bits.
[07:08:02] <ambro718> tmp = ((uint16_t)((uint16_t)(uint8_t)i) * (uint8_t)t) >> 8;
[07:08:14] <ambro718> at least one of the operands needs to be an uint16_t
[07:08:21] <ambro718> anyway what's the magic 0x80?
[07:08:53] <Gumboot> It's the average (approximately) of the possible results of the deleted line.
[07:08:56] <Fleck> if value is 0xFF and I add 1, will it be 0x00?
[07:09:09] <Fleck> or i should take care of that?
[07:09:44] <RikusW> Fleck: the carry bit in STATUS will become set
[07:09:44] <Gumboot> ambro718: And the first operand _is_ cast to uint16_t, right after it's cast to uint8_t.
[07:09:57] <RikusW> Fleck: add then adc adc adc to add 32 bits
[07:10:16] <RikusW> and FF will become 0
[07:10:33] <Fleck> I need it to be 0 - 8bits, not 32bits
[07:10:48] <RikusW> then add and forget carry
[07:10:54] <Fleck> ok :) thx
[07:11:00] <RikusW> 9 bits ?
[07:11:05] <ambro718> Gumboot: oh sorry I got confused by the redundant parentheses
[07:11:05] <RikusW> add + adc
[07:11:56] <Gumboot> I've long tired of compilers suggesting I might be too thick to know the precedence of different operators, so I usually throw extras in just to stut the compiler up.
[07:12:02] <Gumboot> s/stut/shut/
[07:12:28] <Gumboot> That and sometimes it pays off in copy-and-paste operations.
[07:13:49] <Gumboot> I've also started trying to use more cast-to-8bit rather than mask in an attempt to get compilers to avoid pointless operations.
[07:14:21] <Gumboot> I think this is the crossover point where assembly would actually become more readable than C.
[07:15:38] <RikusW> indeed :)
[07:15:50] <ambro718> Gumboot: what's all that code with uint8? Are you doing 32bit mul with 8bit mul?
[07:15:59] <Gumboot> Yep.
[07:16:03] <RikusW> and assembly don't optimize bugs into code either :-P
[07:16:04] <Gumboot> The compiler needed some guidance.
[07:17:26] <Gumboot> ambro718: Without the long-winded crap it actually makes a call to a 64-bit multiply, and another call to a 64-bit right-shift.
[07:17:32] <Gumboot> Passing a constant into the shift operation.
[07:18:10] <ambro718> Gumboot: but where are you doing a 64-bit multiply?
[07:18:27] <Gumboot> In a previous revision.
[07:18:37] <ambro718> so how did you avoid it?
[07:18:49] <Gumboot> (uint16_t)i * (uint32_t)table[j] >> 16 needed a 64-bit intermediate value.
[07:19:17] <Gumboot> Mulitply produced 48 bits, but I only wanted the top 32.
[07:19:31] <ambro718> so you just did the multiplication in 48bits, right
[07:19:38] <Gumboot> Mostly.
[07:19:50] <Gumboot> I dropped the bottom one because it wasn't helping the answer to be correct.
[07:20:20] <Gumboot> Did the multiplication in 48 bits and implicitly dropped the bottom two result bytes rather than doing the shift.
[07:21:26] <ambro718> Gumboot: you can write your multiply in asm, it will look a lot better than what you have now.
[07:21:37] <ambro718> this is a good starting point, https://github.com/rekka/avrmultiplication
[07:21:48] <Gumboot> Wanted to be able to run it on my desktop.
[07:21:56] <Gumboot> I say desktop. It's actually in a cupboard somewhere.
[07:22:04] <ambro718> sure, put it into a function
[07:22:22] <ambro718> and keep a generic and an asm version, #ifdef etc
[07:22:35] <Gumboot> I mean, I wanted to be able to prove every possible input and every possible output for that specific series of operations.
[07:22:44] <Gumboot> More quickly than in sim.
[07:23:31] <ambro718> prove the asm multiply works analitically and there is no problem ;)
[07:24:12] <Gumboot> Hm. No, I think that avrmultiplication can be optimised. I think there are cases where the carries won't happen which make some of those adcs redundant.
[07:24:42] <Gumboot> 255*255+255+255 is 65535, no overflow.
[07:25:18] <Gumboot> So order the operations carefully and a whole bunch of carry-propagation can be dropped.
[07:25:28] <ambro718> Gumboot: I think you'll just increase the worst case cycle count, which is what mostly matters
[07:25:51] <Gumboot> You mean the shift loops?
[07:26:27] <ambro718> If you try to not do some operations for some inputs, you need branches, and those take time. So in the worst case you'll still do all the muls, plus your branches.
[07:26:56] <Gumboot> No, I mean _all_ inputs for the multiplier can be done with fewer adcs, because there are provably cases where carry cannot happen for any input.
[07:27:22] <ambro718> hm, I'd be very careful with such beliefs
[07:27:53] <Gumboot> Yes, being careful, proving, and testing... all three combined.
[07:28:40] <Gumboot> For any product of two 8-bit values you compute, you can afford to add two more 8-bit values to a 16-bit sum before you'll carry-out.
[07:29:15] <Gumboot> Then you just arrange things carefully.
[07:30:38] <ambro718> yes that seems correct
[07:30:50] <Gumboot> The next step is to exploit that without screwing it up.
[07:30:53] <Gumboot> Which turns out to be hard!
[07:31:08] <ambro718> Gumboot: which function have you tried that on?
[07:31:33] <Gumboot> Tried not screwing up?
[07:31:49] <ambro718> no, have you tried optimizing any specific function in avrmultiplication
[07:32:57] <Gumboot> Well, I seem to be looking at mult32x16.h, which seems to do exactly the same thing as my version.
[07:33:07] <Gumboot> But I don't have assembly for mine. Or at least, not good assembly.
[07:34:48] <Gumboot> Oh, but that one's signed.
[07:36:05] <ambro718> yeah I see
[07:36:46] <ambro718> I think the unsigned 16x16 is a better start
[07:39:28] <braincracker> h
[07:40:38] <ambro718> can you pass a struct as an asm operand?
[07:41:46] <braincracker> yes
[07:42:44] * Gumboot used to pass structs full of bit-packed booleans because the target architecture and the compiler together made really efficient use of the register file that way.
[07:43:24] <Gumboot> If you have bit-set, bit-clear, and bit-test, and a decent compiler, then packing booleans makes a lot of sense.
[07:52:07] <specing> Gumboot: Im curious in what compiler was decent enough for that (because gcc is erm...suboptimal)?
[08:19:50] <ambro718> Gumboot: I wrote a basic 32x16 multiply asm, seems to work all right (tried some random inputs), https://github.com/ambrop72/avr-asm-ops/blob/master/mul_32_16.h
[08:20:30] <ambro718> the multiplications after the first three (the movw ones) should be interchangable. You can try optimizing if you wish.
[08:23:23] <specing> ambro718: you can use _zero_reg_ instead of having your own zero
[08:23:30] <specing> saves a cycle.
[08:29:43] <electron_> hello
[08:32:24] <ambro718> specing: no, you can't
[08:33:01] <ambro718> do you know what __zero_reg__ is?
[08:37:56] <specing> r1, holding 0
[08:38:11] <specing> ... or does mul only work on r16+?
[08:38:28] <ambro718> no, mul works on any regs, but the result always goes into r0,r1
[08:38:36] <specing> oh, right
[08:38:39] <specing> heh
[08:39:05] <ambro718> * actually __zero_reg__ is r0
[08:39:09] <ambro718> __tmp_reg__ is r1
[08:39:25] <ambro718> no
[08:39:32] <ambro718> sorry, it's like you said lol
[08:39:40] <ambro718> stupid
[08:40:05] <ambro718> that means I need to fix the clr at the end of my code
[08:40:43] <specing> :D
[09:23:53] <electron_> does any programming isntruction byte start with 0x00 ?
[09:35:47] <OndraSter_> programming
[09:35:48] <OndraSter_> instruction
[09:35:49] <OndraSter_> byte?
[09:36:07] <twnqx> opcode.
[09:39:42] <specing> maybe nop?
[09:51:25] <Badaboom> Morning
[09:54:33] <twnqx> boom!
[09:54:45] <twnqx> early evening you mean
[09:55:02] <Badaboom> well yes for you, sorry
[09:55:09] <twnqx> :)
[09:55:33] <Badaboom> So im having a problem with the sound on my board:(
[09:56:04] <Badaboom> I can't get the piezo spkr to completely shut off and its like the port is staying open
[09:56:33] <OndraSter_> specing, isn't NOP FF?
[09:56:50] <specing> I dont know
[10:06:56] <OndraSter_> 'sup abc?
[10:08:27] <abcminiuser> Heyo
[10:08:35] <abcminiuser> Nothing here, just got back from work :P
[10:08:51] <OndraSter_> dem works
[10:21:43] <OndraSter_> abcminiuser, I see that atmel is pushing ARM
[10:21:45] <OndraSter_> everywhere
[10:21:49] <OndraSter_> no avr32, no xmega, no mega
[10:21:52] <abcminiuser> How so?
[10:21:56] <OndraSter_> all the emails
[10:22:05] <OndraSter_> SAM4 series, now the picopower
[10:22:08] <OndraSter_> 32bit ARM!
[10:23:01] <abcminiuser> Well, it's got what plants crave...
[10:23:43] <Badaboom> I agree, i received an e-mail this morning about ARM
[10:23:56] <Gumboot> specing: I had one from Metaware at the time, and in terms of bit-packed-boolean support, it was basically perfect.
[10:27:08] <Badaboom> I think i have my project overloaded for the chip im using, can you PWM and SPI on the same port?
[10:28:26] <twnqx> as long as it's not the same pin...
[10:28:45] <twnqx> and the automatic overrides don't collide
[10:28:46] <Gumboot> I was wondering what was going to happen, there. The ARM SBC market seemed to be getting cheap enough to compete with Atmel, so it seemed like Atmel should make something for that market.
[10:28:48] <Badaboom> no, its not and i can't seem to disable it
[10:29:31] <Badaboom> twnqx: it's not everytime either which leaves me to believe maybe hardware?
[10:30:32] <twnqx> maybe, who knows without looking at the chip and knowing what you do ;)
[10:31:01] <Badaboom> true
[10:31:25] <Badaboom> Im not sure if using a piezo transducer was wise
[10:47:05] <Badaboom> well, i gotta run to get parts for the plane,, bbl
[11:19:47] <braincracker> so new favorite is the atmel ARM ?
[11:19:51] <braincracker> not the XMEGA ?
[11:20:12] <twnqx> lwet me put it like this
[11:20:25] <twnqx> the arm version with dual can
[11:20:28] <specing> My new favorite is TI's ARM
[11:20:30] <twnqx> costs the same as the at90can
[11:20:32] <specing> the $5 board one
[11:20:51] <specing> and Atmel's ARM for Linux
[11:21:15] <twnqx> if only arms were as vendor neutral and well supported as atmels
[11:21:24] <twnqx> i'd have switched long ago
[11:22:34] <braincracker> http://www.atmel.com/products/microcontrollers/arm/default.aspx
[11:22:46] <braincracker> what substitutes the xmega ?
[11:23:26] <braincracker> http://www.atmel.com/products/microcontrollers/ARM/sam7l.aspx ?
[11:24:45] <braincracker> 128 pin LQFP is enough for some things
[11:25:02] <braincracker> but no ardware USB
[11:25:12] <braincracker> ain't cool anymore?
[11:25:13] <braincracker> :)
[11:27:29] <braincracker> next low end i see http://www.atmel.com/products/microcontrollers/ARM/SAM3N.aspx
[11:28:13] <twnqx> sam3x!
[11:28:35] <twnqx> ethernet, can, usb, spi, adc, ...
[13:00:46] <Casper> Tom_itx: do you happend to know some good dcdc buck converter modules? like 12 to 5 and also 12 to 6.5 or adjustable? 3+A? synchronious rectification?
[13:03:30] <beaky> hello
[13:03:41] <beaky> what is the difference between using plain avr and using arduino?
[13:03:45] <beaky> which is better?
[13:04:35] <DagoRed> beaky: arduino is stupidly easy. If you're starting, there is no shame starting there.
[13:04:44] <beaky> ah
[13:05:04] <DagoRed> You can use the AVR environment on the Arduino if you want. It's a great transition path.
[13:05:08] <Casper> first
[13:05:17] <Casper> arduino is 3 parts
[13:05:22] <beaky> I used avr first, but then I discovered arduino
[13:05:46] <beaky> arduino seems like a sugar-coated avr
[13:05:47] <Casper> a (bloated) bootloader, a very stupidly made library and a developpement board
[13:06:04] <Casper> the developpement board is ok, if you want the feature that it offer
[13:06:25] <Casper> the bootloader is ok, if you can live with it's size (which should be ok to start)
[13:06:47] <Casper> but I really suggest that you do not touch the arduino library
[13:06:52] <Casper> it encourage bad coding
[13:07:07] <beaky> what is bad about the arduino code and library?
[13:07:31] <beaky> it seems okay at first glance... all programs are just a setup() and a loop() and things like digitalWrite
[13:08:08] * beaky has only programmed avr using C, and never touched arduino's C++ dialect
[13:08:30] <beaky> but I heard that the i/o is quite slower than using plain PORTs
[13:10:43] <beaky> but there seems to be plenty of arduino library code around for doing stuff
[13:11:09] <beaky> is there a repository of avr library code for things like using LCDs, UART, sensors, etc?
[13:12:53] <Casper> lcd and uart, look up peter fleury's avr libs
[13:17:45] <beaky> How do you guys choose between avrs?
[13:18:21] <beaky> I have a bunch lying around, but I don't know which one to pick for the task
[13:21:00] <ambro718> I don't think there's such a thing as "arduino C++ dialect"
[13:21:55] <ambro718> beaky: it needs to be fast enough and have all the peripherals you need
[13:22:02] <beaky> ah
[13:22:15] <beaky> alright I will pick the atmel 328
[13:22:19] <ambro718> if you're going to be running on battery then there's a compromise to be made
[13:22:21] <beaky> because my breadboard is tiny
[13:22:47] <beaky> I will steal the one from my arduino :D
[13:23:13] <ambro718> ah, flash size is also important. Anyway I always get the best I can.
[13:23:22] <DagoRed> beaky: Personally I like the arduino nano because it just drops on my bread board. Then I use avr dude to upload the hex file I created in Atmel Studio. It works for me but as Casper mentioned the bootloader takes up some space.
[13:24:04] <ambro718> just get one with lots of flash and bootloader size becomes irrelevant
[13:24:16] <DagoRed> You can blow out the boot loader with a programmer.
[13:24:37] <beaky> what's a bootloader?
[13:24:40] <ambro718> and be aware that all but the most primitive programmers can program faster than over serial with bootloader
[13:25:26] <ambro718> plus you're free to use serial for your own purpose without any interference
[13:25:28] <Casper> ambro718: my suggestion: start with the biggest avr you find, so your developpement is not limited, then on the final product, now you know more about what you need, so then you can shrink
[13:25:39] <Casper> if your code is well made, the part swap should be easy
[13:26:10] <ambro718> Casper: exactly. I'm working on 1284p now.
[13:26:43] <ambro718> porting code between AVRs is mostly trivial
[13:27:00] <ambro718> assuming they have the peripherals you need
[13:27:54] <beaky> ah
[13:28:05] <beaky> alright I will begin with the 1284p then
[13:28:18] <beaky> because it has humungous memory
[13:28:43] <beaky> but then how does one port from that to e.g. ATmega8515?
[13:28:52] <beaky> just rename the register names in the code?
[13:28:59] <beaky> (and the bitvalues)
[13:29:04] <ambro718> ok if you choose that one you'll need to get the "Sanguino addons" if you plan on using it with Arduino.
[13:29:21] <ambro718> Arduino really only officially supports a few MCUs.
[13:29:54] <beaky> aw :(
[13:30:02] <beaky> do I really need the arduino if I have an AVR dragon?
[13:30:11] <DagoRed> beaky: no
[13:30:30] <beaky> I soldered a ZIF socket and pins to it so I can just stick chips directly to it to program
[13:30:32] <DagoRed> I like the development boards.
[13:30:35] <vectory> still undecided, should i use xm128a1 or m32u2 for my project in spe
[13:31:12] <DagoRed> beaky: get the best chip you can drop in that ZIF
[13:32:17] <beaky> is there a better chip han the ATmega1284p? :D
[13:33:13] <ambro718> beaky: mega256* have 256k but only 16MHz not 20MHz
[13:33:21] <beaky> aw
[13:33:32] <ambro718> also there's the xmega's but these can't be programmed with ISP, you need JTAG
[13:33:51] <beaky> and the xmega comes in DIP package too?
[13:34:01] <beaky> or maybe not :(
[13:34:58] <ambro718> no, and even the smd pinouts of xmegas are incompatible with megas
[13:35:23] <ambro718> I somehow doubt you'll need more than 128k flash ;)
[13:35:35] <ambro718> what are you planning on doing with these?
[13:36:30] <beaky> I want to make a thing
[13:36:35] <ambro718> lol
[13:36:44] <beaky> like a vibrator toy
[13:36:50] <beaky> for massaging hands
[13:37:06] <ambro718> doesn't seem too compilicated
[13:37:16] <beaky> vibrators use steppers right?
[13:37:24] <theBear> no silly
[13:37:31] <beaky> ah
[13:37:37] <theBear> they use a dc motor with a offset weight
[13:37:41] <ambro718> I think they just use a DC motor with an assymetric load
[13:37:46] <beaky> aha
[13:37:57] <beaky> so I just put a weight thing at the end of my rotor
[13:38:00] <theBear> everything from phone size to 'recreational' size right up to back massagers
[13:38:03] <ambro718> I'm making firmware for RepRap 3d printers and I'm sure 128k will be enough, lol.
[13:38:15] <beaky> wow a 3d printer
[13:38:28] <beaky> that's awesome
[13:39:14] <ambro718> I can already move the axes according to commands where each command is constantly accelerated motion, but I have yet to make it do something that's actually useful :D
[13:39:38] <ambro718> now you press a button and it draws some weird shape, lol
[13:42:18] <beaky> maybe I can control the vigor of the vibrations using PWM
[13:42:22] <beaky> or is there a better mechanism?
[13:42:50] <ambro718> yes, you can drive the motor at partial power using PWM
[13:43:00] <ambro718> but you'll most likely need to do it via a FET
[13:43:15] <ambro718> or destroy your AVR
[13:43:38] <vectory> destruction sounds reasonable
[13:43:55] <beaky> I will use an hbridge
[13:44:11] <beaky> or is it ovekill? :D
[13:44:43] <theBear> you don't need to reverse, so a half or maybe even quarter bridge makes as much sense
[13:44:59] <theBear> quarter i say, aka, single fet or transistor
[13:45:35] <beaky> ah xlent
[13:45:59] <beaky> btw why does directly connecting my avr to a motor destroy it?
[13:46:22] <ambro718> umm because the AVR is not designed for high currents. Check the specs.
[13:47:34] <beaky> alright I will buy a transistor then
[13:47:43] <beaky> I love transistors
[14:32:54] <Badaboom> Aloha
[14:34:03] <vectory> whats a typical value for a resistor from vcc to reset?
[14:35:46] <vectory> none at all?
[14:35:58] <Badaboom> usually 10k
[14:37:38] <Badaboom> Im not sure if you could call it a typical one, just what ive seen.
[14:40:27] <Badaboom> vectory: you really need to check each data sheet for the correct value.
[14:44:30] <twnqx> and they seem to have internal 30k
[14:44:32] <twnqx> so maybe none at all
[14:45:44] <Badaboom> yep,, was just about to quote this: This pull-up resistor makes sure that reset does not go low unintended. The pull-up resistor can in theory be of any size, but if the Atmel®AVR® should be programmed from e.g. STK500/AVRISP the pull-up should not be so strong that the programmer cannot activate RESET by draw the RESET line low. The recommended pull-up resistor is 4.7kΩ or larger when using STK500 for programming.
[14:46:21] <Badaboom> but thats just using the stk
[14:46:47] <Badaboom> I personally don't use any vectory
[14:47:30] <Badaboom> 10k if its called for on something like a USB programmer
[14:49:07] <vectory> i am asking because i use the reset line from a programmer. it looks like there is no resi at all, yes
[14:49:10] <vectory> thx
[14:51:39] <Badaboom> http://www.kanda.com/files/isp_circuits.pdf
[14:51:47] <Badaboom> maybe this explains it^^
[14:54:29] <Badaboom> will someone go to the grocery for me?
[14:54:39] <GuShH> no
[14:54:44] <GuShH> we won't buy booze for you.
[14:54:49] <Badaboom> lol,, god im lazy today
[14:54:53] <Badaboom> \lmao
[14:54:57] <GuShH> order online?
[14:55:01] <Badaboom> ahh damn
[14:55:43] <Badaboom> we have a fella here tat does that, but i need to get off my arse i guess
[14:55:50] <Badaboom> that
[14:55:57] <GuShH> what fella?
[14:56:01] <GuShH> I mean big supermarket chains
[14:56:08] <GuShH> some have online ordering systems
[14:56:11] <Badaboom> A local delivery for groceries
[14:56:16] <GuShH> bleh
[14:56:23] <Badaboom> really>?
[14:56:28] <GuShH> hmm I need some electrical supplies and IM LAZY
[14:56:31] <Badaboom> Not here:(
[14:56:36] <GuShH> where is here?
[14:56:44] <GuShH> 'cos if we've got it in Argentina, sure as hell it should exist anywhere else
[14:56:45] <Badaboom> Tampa Florida Area
[14:56:58] <GuShH> Well that's because only grandpas live in Florida
[14:56:59] <Badaboom> No believe it or not we don't
[14:57:01] * GuShH rimshots
[14:57:07] <Badaboom> lol
[14:57:18] <Badaboom> what are you saying sonny?
[14:57:22] <GuShH> The service exists, but the 90 year old dude on the bike just takes ages to arrive and often dies in transit
[14:57:35] <GuShH> So... yeah.
[14:57:39] <Badaboom> Hey, thats not all that live here:)
[14:58:09] <GuShH> "I ordered fresh produce and this is all rotten!" That's how slowly they move.
[14:58:15] <Badaboom> brb, gotta check my depends .. i mean what?
[14:58:31] <GuShH> GET OFF MY LAWN
[14:58:37] <Badaboom> lmao
[14:58:52] <GuShH> or beach, whatever applies.
[15:03:31] <vectory> in fact old people should be the main target audience for grocery deliveries, when they dont want to leave the house so often
[15:04:54] <OndraSter_> holy crap, I opened the "suitcase" I had with "electronics" that I had when I was little.. and I found there some big ass display
[15:04:57] <OndraSter_> 2x40 it looks like
[15:05:05] <OndraSter_> and surprisingly the main driver IC is well documented
[15:05:13] <OndraSter_> a "clone" of HD44780 by OKI
[15:05:55] <OndraSter_> no idea where it came from really :D
[15:06:05] <OndraSter_> I can see a date '97
[15:06:45] <GuShH> OndraSter_: maybe a calculator
[15:07:00] <GuShH> or digital typewriter
[15:07:17] <OndraSter_> digital typewriter surely not
[15:07:21] <OndraSter_> I don't remember taking apart one
[15:07:23] <OndraSter_> I am thinking a printer
[15:07:26] <OndraSter_> maybe
[15:07:36] <GuShH> digital typewriters were printers too :p
[15:07:39] <OndraSter_> :D
[15:07:47] <OndraSter_> it is using a biiggggg CCFL as a backlight
[15:07:51] <GuShH> although the interfaces were sometimes not very clear (they made you buy an "adapter" box for the PC)
[15:29:32] <megal0maniac> 'Lo!
[15:29:43] <twnqx> helloes to .za
[15:31:10] <megal0maniac> Sweeeeeden
[15:31:37] <twnqx> what, isn't that a bit far up north for you :P
[15:32:06] <megal0maniac> I'm probably getting it a bit wrong, but that's where you're at, no?
[15:33:30] <twnqx> no
[15:33:34] <megal0maniac> Aw
[15:37:34] <vectory> Germoneyyyyyy
[15:37:41] <vectory> right?
[15:38:00] <megal0maniac> Think so
[15:38:04] <megal0maniac> Too many countries
[15:38:49] <twnqx> right
[15:43:25] <megal0maniac> We have many Germans here
[15:48:35] <OndraSter> hmm this display..
[15:48:43] <OndraSter> normal HD44780 based displays have got like.. 16 wires
[15:48:47] <OndraSter> this one has got two rows of 16 :D
[15:49:18] <megal0maniac> 20x4 I think is dual controller
[15:49:32] <megal0maniac> One of the big ones, anyway
[15:51:01] <OndraSter> but this is not hd44780 :)
[15:51:05] <OndraSter> this is OKI's improved clone
[15:54:23] <megal0maniac> More wires does not mean improved :P
[15:57:05] <beaky> hello
[15:58:50] <megal0maniac> Hi beaky
[16:04:17] <beaky> I want to add an xtal to my microcontroller to make it faster. where can I get one of those things?
[16:04:25] <beaky> and how does one connect it? :D
[16:04:45] <megal0maniac> eBay, there are lots there
[16:05:47] <beaky> they look like an oval-shaped shiny thing?
[16:05:58] <beaky> oval or oblong*
[16:06:08] <beaky> and they have a frequency label on top?
[16:06:47] <megal0maniac> Most of the avrs take up to 20mhz, some 16mhz. The smaller ones (32.768khz for RTC) are cylindrical and the faster ones are oval and flat with freqency on top
[16:06:56] <beaky> ah
[16:07:16] <megal0maniac> You connect them on the pins (which you'll find on the datasheet) and set the fuses to run with an external xtal
[16:07:36] <beaky> what happens if I set it to external xtal but fail to connect the xtal?
[16:07:38] <beaky> will the mcu die?
[16:08:13] <OndraSter> no
[16:08:15] <OndraSter> it will just not work
[16:08:16] <megal0maniac> No, it will just not run. Which also means that you won't be able to program it with ISP until you connect a good clock source
[16:08:36] <beaky> aw :(
[16:08:37] <specing> oh god here we go again
[16:08:42] <OndraSter> haha
[16:08:46] <OndraSter> specing, every week innit
[16:08:50] <OndraSter> err, every day
[16:08:56] <OndraSter> beaky, get xmega, it can't happen there
[16:08:56] <specing> every day hes suffelin'
[16:09:07] <beaky> ah
[16:09:08] <specing> every day we are sufferin'
[16:09:18] <beaky> but atxmega doesn't come in nice DIP package :(
[16:09:19] <OndraSter> the chip won't switch to external source if it is not available.. well it will switch, but auto reset or switch to 2MHz internal oscillator
[16:09:22] <OndraSter> :P
[16:09:41] <OndraSter> xmega has been made unbrickable
[16:09:44] <beaky> wow
[16:09:46] <OndraSter> it can always be resetted
[16:09:49] <Tom_itx> pfft
[16:09:54] <OndraSter> disable external reset => PDI still works
[16:10:03] <OndraSter> you can not disable PDI
[16:10:07] <OndraSter> as far as I know
[16:10:08] <OndraSter> right abc?
[16:10:10] <OndraSter> he is gon
[16:10:10] <OndraSter> e
[16:10:27] <beaky> so if I brick my atmega with wrong xtal fuses, can only high voltage programming rescue it?
[16:10:43] <OndraSter> or supply what you told it to
[16:10:52] <OndraSter> actually you can feed it square wave even if you select xtal
[16:10:57] <beaky> ah
[16:10:58] <specing> beaky: you must deliver on your promises
[16:11:09] <specing> don't lie to the poor chip.
[16:11:20] <beaky> but sometimes I brick it and forget what I set the fuses to
[16:11:23] <megal0maniac> I've gotta drive 100km to a client tomorrow to swap a projector out. I'll spend an hour getting there and 10 minutes doing the work :P
[16:11:34] <beaky> lol
[16:11:45] <specing> megal0maniac: thats stupid
[16:13:07] <megal0maniac> specing: It is. But the client is a municipal organisation. Mounting a projector to its bracket is beyond them :P
[16:13:25] <specing> ...
[16:13:53] <OndraSter> as long as your are paid
[16:13:54] <OndraSter> fine with me
[16:14:44] <megal0maniac> Not my petrol :) And I'm paid for the day
[16:17:16] <megal0maniac> Might drive over the mountain if its a nice day :P
[16:17:31] <megal0maniac> OndraSter: beaky needs an xboard
[16:17:38] <megal0maniac> Summer holidays now, no?
[16:17:50] <beaky> those atmegax evaulation kits?
[16:17:54] <beaky> atxmega*
[16:18:22] <megal0maniac> No, OndraSter makes his own boards
[16:18:32] <megal0maniac> Well, he made 3
[16:18:45] <beaky> wow
[16:18:51] <beaky> I wanna make my own boards one day
[16:18:57] <beaky> and make cool embedded apps
[16:19:23] <megal0maniac> One step at a time :P
[16:19:26] <megal0maniac> Good night
[16:19:53] <beaky> good night
[16:19:57] <megal0maniac> OndraSter: PDI can't be disabled, only JTAG
[16:20:03] <OndraSter> yeah
[16:22:56] <RikusW> beaky: the STK500 got a clock generator onboard
[16:23:13] <beaky> wow it does?
[16:23:43] <beaky> it has this thing abeled "clock"
[16:23:44] <specing> it also has a cash sinkhole included
[16:23:51] <beaky> I mean "crystal"
[16:23:53] <beaky> ah
[16:24:31] <RikusW> beaky: you can use a crystal on the STK500 or use the onboard AVR to generate a clock
[16:24:41] <RikusW> just use the programming dialog in AVRStudio
[16:24:44] <beaky> ah
[16:24:52] <RikusW> there is a setting for the clock there
[16:24:56] <beaky> ah right
[16:25:02] <beaky> under stk500?
[16:25:07] <RikusW> since you got the stk you have HVPP
[16:25:22] <RikusW> no need to worry about bricking
[16:25:39] <RikusW> unless its tqfp, HVPP will be hard to connect for those....
[16:26:07] <RikusW> beaky: there is a lot of docs about the stk with AS4 5 or 6
[16:26:18] <RikusW> they tell everything you want to know
[16:33:49] <beaky> hmm there is no option for 20 Mhz :(
[16:33:58] <beaky> only 8MHz max
[16:34:39] <RikusW> maybe if you put in a 20MHz crystal
[16:35:11] <RikusW> stk500 is nice, I had a borrowed one for a while
[16:35:24] <RikusW> then cloned it and built my U2S boards
[16:53:58] <beaky> help; I clocked my avr to 16 KHz
[16:54:02] <beaky> but now I cant program it
[16:56:17] <specing> your programmer is probably not slow enough
[16:56:49] <beaky> ah
[16:56:57] <beaky> my stk500 wont go lower than 5Khz :(
[16:57:16] <beaky> actually ti will but when I try to program it says 'must be at least 5Khz'
[16:58:09] <Tom_itx> 4x spi rate is what you need
[16:58:30] <beaky> ah
[16:58:54] <Tom_itx> slow down the spi rate
[16:59:29] <specing> Come on
[16:59:30] <specing> surely somebody has ran his AVR at 1HZ already?
[16:59:51] <beaky> lol
[17:00:47] <Tom_itx> yup
[17:00:52] <Tom_itx> he's still programming it
[17:00:52] <beaky> oh well, there goes 4 bucks
[17:01:52] <beaky> btww why iss it good to run avr slow
[17:02:06] <beaky> 16 khz sonds unreasonablle
[17:02:15] <Tom_itx> 16Mhz
[17:02:45] <theBear> heh
[17:03:02] <Tom_itx> i didn't find that funny at all
[17:03:16] <theBear> the still programming it ? c'mon
[17:03:22] <Tom_itx> oh
[17:03:29] <Tom_itx> yeah it was a long hex file :)
[17:03:40] <theBear> beaky, and nobody said it is good to run them slow, you're the only one trying to run the stk slower than it wants to go
[17:03:50] <beaky> ah :(
[17:03:53] <beaky> i am silly
[17:04:03] <OndraSter> (yes)
[17:04:03] <Tom_itx> i can think of other words
[17:04:07] <OndraSter> haha
[17:04:20] <specing> me too @tom
[17:04:24] <beaky> :(
[17:04:32] <theBear> i'm starting to find the absurdly random questions kinda amusing between this and the other channel
[17:04:52] <OndraSter> there are other channels? o_O
[17:04:56] <specing> yes
[17:04:58] <theBear> one
[17:05:00] <OndraSter> I thought that IRC was so cool!
[17:05:02] <OndraSter> and new
[17:05:07] <OndraSter> that there is only a single channel!
[17:05:20] <specing> both ##c and ##c++
[17:05:25] <theBear> there was only one when i started out around 20 years ago, now tehre's 2
[17:05:37] <theBear> i think the scientists are working on a third
[17:05:41] <theBear> that and mrs-frogger
[17:06:16] <theBear> the finest doctors of military science !
[17:06:47] <OndraSter> so this display
[17:06:53] <Tom_itx> #electronics must ammuse theBear
[17:06:55] <OndraSter> it has got "built on" a level translator
[17:07:14] <OndraSter> but then there are two chips
[17:07:16] <OndraSter> 4543
[17:07:21] <OndraSter> 7segment BCD decoders
[17:07:28] <OndraSter> and I can't trace where they go
[17:07:35] <OndraSter> they disappear to the other layer somewhere below the LCD itself
[17:07:38] <Tom_itx> i got one of those somewhere
[17:07:41] <OndraSter> and they do not go anywhere else
[17:07:42] <Tom_itx> bcd thing
[17:07:45] <OndraSter> yeah
[17:07:56] <OndraSter> but this is 2x40 LCD with HD44780-ish chip
[17:11:25] <vectory> must be really old when it's seperate chips for bcd decoding :)
[17:11:59] <OndraSter> no - I don't see any purpose for it
[17:12:02] <OndraSter> it is common HD44780
[17:12:05] <OndraSter> or clone of it
[17:12:18] <OndraSter> the BCD decoders do not connect to the main display chip
[17:12:21] <OndraSter> they connect somewhere else
[17:15:14] <GuShH> Tom_itx: any idea on how to measure the mean temperature of a gas flame without a suitable thermocouple?, IR sensor?, UV somehow?
[17:15:29] <GuShH> colour seems too rough a guide
[17:15:46] <GuShH> plus contaminants can easily change the colour of a flame
[17:16:15] <GuShH> hmm meant to ask on #robotics
[17:16:20] <theBear> erm, depending on gas type shouldn't the colour tell you pretty closely ?
[17:16:38] <theBear> or even just gas type and area of flame
[17:16:47] <GuShH> trying to regulate a burner
[17:16:55] <GuShH> that is, it's air to fuel mixture / ratio
[17:16:59] <theBear> hmmm
[17:17:09] <GuShH> already solved the flame detector malfunction
[17:17:14] <theBear> most gases that go thru burners only have a tight band between not burning and not burning
[17:17:21] <theBear> mixture wise
[17:18:28] <GuShH> turned out someone removed the earth from the circuit (the furnace earth rod is actually outside, with a clipped earth wire...) and since the control box used an old style plug (non polarized) it meant you could swap live and neutral, turning the flame rod detection circuit useless because it needs a close-to-ground reference for the tiny dc offset current the rod gives heh.
[17:18:49] <tzanger> I don't think you can reliably measure the temperature of a gas flame optically. you migh tbe able to do it with a single-cell thermal imager
[17:18:51] <GuShH> theBear: you can change the ratio quite a lot
[17:19:10] <theBear> hmm, spose it depends on the gas
[17:19:11] <GuShH> tzanger: I don't have a +1000°C and you want me to use thermal imaging
[17:19:27] <GuShH> theBear: because they allow you to adjust it for propane as well, so the range is wider
[17:19:38] <tzanger> GuShH: you should use a thermocouple. you said you can't touch it
[17:19:39] <GuShH> and the same model could be used with oil injection, just with a different "front end"
[17:19:47] <beaky> How should one switch off a microcontroller?
[17:19:50] <GuShH> what do you mean by can't touch it?
[17:19:54] <theBear> GuShH, yeah, but a mix that works for propane probably won't even sustain a flame for natural
[17:19:59] <theBear> and vice versa
[17:20:00] <GuShH> true
[17:20:01] <tzanger> GuShH: didn't you say you can't do it without a thermocouple?
[17:20:03] <GuShH> or it would give you a poor flame
[17:20:08] <tzanger> I just said IR sensor like you did
[17:20:15] <GuShH> tzanger: I said I don't have a thermocouple, so I wondered about other options such as IR
[17:20:18] <GuShH> or UV
[17:20:27] <GuShH> which are used for flame detection, just not temp. measurement usually
[17:20:27] <tzanger> there are single pixel thermal imagers
[17:20:37] <GuShH> this sytem uses flame rectification for the detection
[17:20:48] <GuShH> tzanger: a $2 thermocouple sure is cheaper then.
[17:21:05] <GuShH> this is more of a "what can I do right now" not "what can I do in an ideal world" :P
[17:21:38] <GuShH> is there a linear relation between voltage developed across two copper electrodes and the temperature of a flame?
[17:21:49] <tzanger> http://www.melexis.com/Infrared-Thermometer-Sensors/Infrared-Thermometer-Sensors/Infrared-Sensor-IC-19.aspx
[17:21:55] <GuShH> just trying to think on not-so-obvious options
[17:21:56] <tzanger> aha
[17:22:13] <tzanger> I can't think of anything of immediate use, everything requires design
[17:22:24] <tzanger> in the time you could design it you could have ordered a suitable thermocouple
[17:22:24] <GuShH> tzanger: I could order just about anything, and wait 2-3-4 weeks for it to arrive, but the key is: in the mean time...
[17:22:47] <vectory> GuShH: even if you tried it experimental, and it would work, you couldnt calibrate without another way of measurement :)
[17:23:01] <GuShH> the copper electrodes will develop a voltage, I just don't know what the relationship is with the temperature
[17:23:05] <GuShH> vectory: the higher, the better.
[17:23:11] <GuShH> this is not for instrumentation, it's for setup
[17:23:15] <GuShH> one time use.
[17:23:36] <GuShH> the idea is not to waste gas by adjusting the air intake properly to achieve maximum temperature / flame stability
[17:23:50] <tzanger> GuShH: the seebeck effect is very well understood... look around and see which two metals you have handy
[17:24:20] <GuShH> copper and copper works, due to surface oxides.
[17:25:40] <GuShH> tzanger: general idea http://sparkbangbuzz.com/copper-oxide-te/copper-oxide-gen3.htm -- question is whether there's a direct relation in voltage vs temperature or if degradation of the surfaces would deviate the curve as the temperature exceeds a certain point.
[17:26:43] <GuShH> hey at least now I know most there is to know about flame rectification... heh, not that your average HVAC guy does... aren't most technicians about "yes, no" situations?
[17:27:14] <GuShH> "clean parts until it works" > "replace parts until it works" > "blame owner"
[17:29:59] <vectory> i suppose, having different air/gas mixture is not ideal, abundant gas - in case its conductive - would change the voltage reading irregardless of temperature, could that be?
[17:30:17] <GuShH> sadly I can't use the readout from the flame rod as a guideline, since it varies widely and the reading is not exactly proportional to the temperature but rather the available electrons on a given point in time across the rod.
[17:30:47] <GuShH> I'm not sure if hotter means more electrons can be carried
[17:31:51] <vectory> in general it does. higher temperature means better conduction, but with ntc resistors its vice verse. so, i dunno lol
[17:32:15] <GuShH> basically the internal base/plate of the burner floats at around 80 to 90VAC, sometimes through the spark electrode, the flame carries electrons to the rod, the rod acts as a diode and rectifies this current, said current is used to determine whether there's a flame or not.
[17:32:33] <GuShH> oh and I was getting as much of a positive offset as I was getting a negative offset, based on the rod's position
[17:32:44] <GuShH> which I found to be quite neat, but still not very relevant to the problem :p
[17:34:09] <GuShH> The only alternative I can think of would require quite a lot of time to test. Basically measure the final temperature of the water after N minutes, taking note of the current air mixture ratio, then move the shutter to one side and perform the test again, after it has cooled down to the initial temperature...
[17:35:27] <GuShH> This at least would give me an indication of how much overall power was delivered to the fluid in that given time frame...
[17:35:39] <vectory> or, get what others suggested and get a few nights to work over other problems :)
[17:35:53] <GuShH> Sadly the thermal mass is huge.
[17:36:08] * GuShH sighs
[17:36:37] <GuShH> The hell are all those modules? http://sparkbangbuzz.com/copper-oxide-te/110714-5006-1408.jpg
[17:36:55] <GuShH> reminds me of analog audio synths
[17:37:11] <OndraSter_> question solved
[17:37:13] <OndraSter_> it is not just a raw LCD
[17:37:18] <OndraSter_> it is 2x22 display (yeah, weird)
[17:37:22] <OndraSter_> + then there is something on the edge
[17:37:28] <OndraSter_> probably two BCD nums
[17:37:34] <GuShH> not weird, you can custom order whatever you want when you've got moneis (ie. big company)
[17:37:40] <OndraSter_> well yes
[17:37:43] <OndraSter_> but 2x22?
[17:37:47] * GuShH shrugs
[17:37:51] <OndraSter_> when the controller supports 2x20 off the shelf?
[17:37:54] <GuShH> who knows why... size constraints?
[17:37:55] <OndraSter_> you need additional 2 chips
[17:38:28] <GuShH> ie. they had enclosures already made for an older VFD type display and they wanted something that could fit in the same size?
[17:38:35] <OndraSter_> hmm
[17:38:35] <GuShH> I'm out of ideas if that's not it.
[17:38:43] <OndraSter_> I have no idea what it came out of
[17:39:01] <GuShH> oh and job security + stubborn engineers will give you all of that.
[17:39:08] <OndraSter_> hehe
[17:39:19] <GuShH> But at least it works?
[17:40:04] <OndraSter_> well I put there only Vcc/Vss
[17:40:09] <OndraSter_> one row lit up
[17:40:12] <OndraSter_> which is a good start
[17:40:19] <OndraSter_> now I am going to probe the remaining pins going to the BCD decoders
[17:40:22] <GuShH> yeah now it's just waiting for the init instruction/s
[17:40:23] <OndraSter_> to find the full pinout
[17:40:27] <OndraSter_> HD44780 :)
[17:40:29] <OndraSter_> yep
[17:40:31] <GuShH> and mode set
[17:40:32] <GuShH> heh
[17:40:37] <OndraSter_> OKI's HD44780
[17:40:44] <OndraSter_> which supports whoppin' 1.5MHz
[17:40:47] <GuShH> Japan.. hmm
[17:40:51] <OndraSter_> instead of HD44780's 1MHz
[17:41:03] <OndraSter_> and some faster READ as well
[17:41:13] <GuShH> Maybe you took it out of some used panties vending machine
[17:41:13] <OndraSter_> actually I made a photo of the board but forgot to link it
[17:42:16] <OndraSter_> http://clip2net.com/s/5dlm2P
[17:48:37] <OndraSter_> wow I almost identified how it all works!
[17:48:45] <OndraSter_> and yes, the 45423 are driving LCD segment BCD
[17:48:57] <OndraSter_> because the PH pins for low/high are driven by a ripple counter
[17:51:54] <OndraSter_> annnd done
[17:52:06] <OndraSter_> the ripple counter is driven by a DF signal from the main display driver
[17:52:15] <OndraSter_> now there are remaining 4 pins that do not seem to go anywhere
[17:52:37] <OndraSter_> which is fine with me
[17:52:37] <R0b0t1> Those traces are very square.
[17:52:42] <OndraSter_> yes
[17:52:42] <OndraSter_> so?
[17:52:48] <R0b0t1> It is ugly :(
[17:52:53] <OndraSter_> yes
[17:53:01] <OndraSter_> I have got here olllld 286 computer made by Olivetti
[17:53:07] <OndraSter_> which has got only square traces
[17:53:20] <OndraSter_> the motherboard is twice as big as regular 286 boards :D
[17:53:42] <R0b0t1> lol
[17:53:56] <OndraSter_> I found a "technical" manual even
[17:54:14] <OndraSter_> it had all the chip segments description (aka "there lies the RAM, there lies the kbd controller etc)
[17:55:22] <R0b0t1> Yeah old stuff was neat, meant to be actually worked on
[17:56:35] <OndraSter_> I have got here 40? pages long manual from our ollld 386 motherboard
[17:56:37] <OndraSter_> with full schematics even
[17:56:59] <R0b0t1> :o
[17:59:10] <OndraSter_> anyway, got all the pins discovered
[17:59:18] <OndraSter_> now I would like to replace this weird connector with something common
[17:59:28] <OndraSter_> it is regular .1" súacomg
[17:59:30] <OndraSter_> spacing
[18:00:43] <Tom_itx> GuShH, what about those sensors they use in the firefighting contest?
[18:15:02] <GuShH> Tom_itx: no clue!
[18:16:01] <beaky> How do you use the avr isp mkii?
[18:16:42] <beaky> I tried it on my stk500 but it didn't work :(
[18:36:20] <OndraSter_> he beaky ?
[18:58:15] <RikusW> well you could actually connect it to the 3 ISP headers on the stk... just not the stk programming one.....
[18:59:09] <RikusW> hmm he seems to be scratching everywhere it doesn't actually itch... and then it starts itching... :-D
[18:59:12] <OndraSter_> btw the old board.. I thought the white-ish stuff around the stuff was either a very old dust or a corrosion
[18:59:23] <OndraSter_> actually it was an old flux :D
[18:59:40] <OndraSter_> and it was of course a leaded solder - it melted easily
[18:59:45] <OndraSter_> unlike the unleaded crap
[19:00:02] * RikusW agree, rohs solder is crap...
[19:00:57] <OndraSter_> hehe
[19:04:30] <RikusW> unsoldering rohs stuff is a hassle
[19:04:46] <RikusW> I mix in some leaded solder, it seems to melt easier then
[19:21:14] <vectory> hmmm, i have int arr[] PROGMEM = { A1, A2, ... A21000 } // where each element is actually a number
[19:21:33] <vectory> now gcc says: error: size of array is too large
[19:21:54] <vectory> im sure it fits into the flashrom
[19:23:05] <vectory> oh well, i was sure it fits when its uint8_t, which works, appearantly :D
[19:25:53] <seldon> What do you need a 21k-large array for?
[19:26:50] <vectory> pcmdata, for ~3 secs of sound
[19:27:03] <seldon> I see. Carry on, then.
[19:31:21] <theBear> heh
[19:41:42] <rue_more> nono, use an external eeprom
[19:42:44] <rue_more> 24512 or soemthing
[19:43:11] <rue_more> then you can switch roms for different sounds
[19:43:49] <rue_more> ok tea
[19:43:55] <rue_more> I needs lots of tea
[20:02:31] <ColdKeyboard> Is there a website/reseller who is selling ATTiny85 and shipping them to Serbia?
[20:03:34] <Valen> should be plenty
[20:03:41] <Valen> digikey?
[20:06:05] <ColdKeyboard> I don't have a really large order, I just need 5-10 of Tiny85 and that's it
[20:06:27] <rue_more> they wont ship there eh?
[20:07:31] <ColdKeyboard> Maybe they will but Digikey and Mouser have a minimum order of about 50$ or so... 5-10 of these would make at most 20$ :)
[20:08:38] <Tom_itx> get a few others to play with
[20:12:45] <Badaboom> ColdKeyboard: i just checked the US trade restrictions on that sort of item and there are none so you should be able to use digikey
[20:12:50] <Badaboom> or any other
[20:14:24] <Badaboom> and im showing quite a few companies in Belgrade
[20:17:44] <Badaboom> I find that if you ask around at a university you may have some luck form one of the professors as to a good source:: http://www.etf.bg.ac.rs/?lang=en
[20:21:11] <ColdKeyboard> Badaboom: Ok, thank you for the suggestion. I will try and see what I can do
[20:21:36] <ambro718> ColdKeyboard: check local electronics stores if they can order for you from Farnell and similar
[20:22:13] <Badaboom> ColdKeyboard: np and good luck
[20:27:42] <Badaboom> heres one more place but i don't see that they have atmel but you could always ask http://www.distron.net/crbst_9.html
[20:31:29] <vectory> urgs: ../../../../crt1/gcrt1.S:195: multiple definition of `__bad_interrupt'
[20:31:36] <vectory> i dont even
[20:36:45] <ambro718> bad ISR() ?
[20:37:09] <ambro718> I mean the vector name is incorrect
[20:47:03] <rue_more> you have to do the new ones funny
[20:47:15] <rue_more> you have to use ISR(vector_omething)
[21:22:03] <edman007> ColdKeyboard, digikey doesn't have a miniumn order that big... my coworker just but 3 fuses, after shipping was like $5...they shipped it
[21:22:55] <Horologium> edman007, they used to charge an extra service fee for small orders.
[21:23:00] <Horologium> like 25 dollars on top of it all.
[21:23:59] <Roklobsta> gravy money
[21:25:15] * edman007 looks it up
[21:25:36] <edman007> 7. Handling Charge. There is no minimum order or handling fee.
[21:25:41] <edman007> http://dkc1.digikey.com/us/en/mkt/terms.html#CondOrd
[21:25:47] <edman007> so not anymore i suppose
[21:28:47] <Horologium> guess not.
[21:28:49] <Horologium> they learned.
[21:29:02] <Horologium> other places dropped their handling charges before digikey did.
[21:29:21] <Horologium> might have to go back to them as they have better prices on some stuff than where I'm getting stuff from now.
[21:35:08] <edman007> Horologium, my coworker kinda got pissed at me, his fuses were $0.50 each at digikey, and he ordered before I told him about mouser (and I guess the fuse was $0.35 at mouser)..he was kinda pissed, lol
[21:35:25] <edman007> and the cap he picked was actually twice the price at digikey
[21:35:33] <Horologium> yup.
[21:35:42] <Horologium> you have to shop around.
[22:03:18] <timemage> it's been a while since digi did the small order fee, at least for the u.s. anyway. maybe 4 or 5 years.
[22:03:26] <timemage> s/digi/digikey/
[22:35:18] <eatyourguitar> what is the cheapest way to program lots of AVR fast
[22:35:57] <eatyourguitar> and why can't you program multiple AVR IC with the pins all connected?
[22:36:20] <Valen> get atmel to do with mask programmed roms
[22:36:25] <Valen> thats pretty cheap for lots of them
[22:36:34] <eatyourguitar> like 100 units
[22:36:52] <eatyourguitar> do they have a min order?
[22:38:23] <Valen> probably in the 10k range
[22:39:43] <eatyourguitar> ok so can I rig up a 4 target board myself?
[22:42:55] <R0b0t1> 100 units is a bit small to do anything fully automated
[22:43:23] <R0b0t1> you can get board fab level programming, if you get them pick and placed and the assembly house supports it
[22:43:32] <Tom_itx> do those by hand
[22:43:35] <R0b0t1> best bet is probably a jig, perhaps get a ZIF socket?
[22:43:37] <Tom_itx> 100 is nothing
[22:43:40] <R0b0t1> ^
[22:44:17] <eatyourguitar> I want to do them one at a time but someone I work with just wants to spend money
[22:44:33] <eatyourguitar> so I have to find out what it would cost I guess
[22:45:00] <eatyourguitar> and how much faster would it be if I need to build a special 4 target board
[22:45:07] <Valen> jig + pogo pins
[22:45:38] <eatyourguitar> but even with the pogo pins, that is not much different than ZIF before the build
[22:45:44] <Tom_itx> http://tom-itx.dyndns.org:81/~webpage/attiny2313/attiny9.jpg
[22:45:51] <Tom_itx> that's what i used on 2313s
[22:46:13] <eatyourguitar> I think I saw that project before
[22:46:30] <eatyourguitar> I remember that glued on piece
[22:47:07] <Tom_itx> i located the chip and butted a piece of FR4 against it and superglued it
[22:48:16] <Tom_itx> you can program them fairly quick that way
[22:49:04] <eatyourguitar> do you just hold it down with your thumb?
[22:49:16] <Tom_itx> yup
[22:49:29] <eatyourguitar> and do you spray some anti-corrosive grease on the copper?
[22:49:37] <Tom_itx> i tried a clamp but the thumb worked better
[22:49:41] <Tom_itx> no
[22:49:44] <Tom_itx> i didn't
[22:49:52] <eatyourguitar> do you clean it before you use it?
[22:49:58] <Tom_itx> no
[22:50:00] <Tom_itx> i didn't
[22:50:03] <eatyourguitar> I would be worried about the longevity
[22:50:18] <Tom_itx> it wasn't a high volume project
[22:50:32] <Tom_itx> make more than one if you're worried
[22:50:36] <eatyourguitar> 5 years from now it will be oxidized
[22:50:49] <Tom_itx> so have a board done with gold plating
[22:50:53] <eatyourguitar> it is cheap to etch
[22:51:06] <eatyourguitar> $1 to build
[22:51:16] <eatyourguitar> but if you have the spray I would spray it
[22:51:31] <eatyourguitar> someone showed me this awesome stuff and I forgot what it was
[22:51:56] <Roklobsta> yeah, hand etch without conformal coating is a disaster. damned fingers are acidic.
[22:52:30] <Tom_itx> i only touched the top of the chip anyway
[22:53:58] <Roklobsta> your tantric aura will still corrode the copper. i hope you are wearing an amethyst and quartz crystal necklace to channel the negative frequencies away from your chakras and bare copper.
[22:54:53] <eatyourguitar> haha
[22:54:59] <eatyourguitar> not sure if serious
[22:55:18] <Roklobsta> copper corrosion gets bad i have found when HAARP is radiating at full power.
[22:55:41] <eatyourguitar> serious?
[22:56:05] <Tom_itx> you seem to be buying it
[22:56:46] <eatyourguitar> either he did a lot of research for an irc joke or is serious
[22:57:21] <eatyourguitar> but well researched comedians do exist on irc
[22:59:52] <Roklobsta> i am no comedian.
[23:05:47] <Roklobsta> although I reckon Tom_ITX is pretty good for a Beowulf cluster of AVR's running ELIZA.
[23:13:19] <Roklobsta> nice, i have a type of enumeration and if you do a switch(enumerationtype) gcc warns you off the enumerations you missed!
[23:13:30] <Roklobsta> missed in the case staements
[23:17:54] <vectory> Roklobsta: but it doesnt warn, when you have a case statement thats not in the enum. or when you pass a nonenume'd value to a funtion taking an enum typedef :<
[23:19:01] <Roklobsta> i just thought it was nice for it to remind me not to forget anything.
[23:20:08] <vectory> its a step in the right direction, from my pov :)
[23:20:20] <vectory> that is, 'typedef enum{a=1} et; et a = 2' or sumsuch doesnt seem to be wrong, yet
[23:21:08] <vectory> which may have a good reason