#avr | Logs for 2015-04-01

Back
[04:38:42] <hypermagic> http://imgur.com/gallery/yVgPHi2 :)
[04:42:25] <specing> *50 years apart
[05:00:15] <LeoNerd> If I'm going to do a CLI; SLEEP shutdown because of low battery, does it matter what the clock speed is? I.e. would it draw less power if I roll that all ghe way down with the prescaler? I think the clock is stopped at that time so it doesn't matter, yes?
[05:07:56] <malinus> LeoNerd: yeah, if the fcpu isn't running, its speed shouldn't matter. However if you want to preserve energy, when not sleeping, you should still make it run slow.
[05:08:28] <malinus> LeoNerd: also, how does it wake up, if you do a cli; sleep;?
[05:08:31] <LeoNerd> Ah; I'd prefer it fast so interrupt handling/etc is pver with sooner
[05:08:38] <LeoNerd> it doesn't
[05:08:40] <malinus> rip
[05:08:56] <LeoNerd> this is the absolute last0ditch "i'm dead" on critical battery
[05:09:08] <LeoNerd> It will then need reset button or powercycle
[05:09:09] <malinus> why even bother with that?
[05:09:29] <LeoNerd> Because the LiFePO4 cell would be damaged if not
[05:09:36] <malinus> that's what the brown out is for
[05:10:12] <malinus> and then it will actually consume ~0A, instead of a few uA
[05:10:18] <LeoNerd> Hmmm
[05:10:38] <LeoNerd> Notsure if there's a BOD level sufficient
[05:10:52] <LeoNerd> I need ~2.8V
[05:11:20] <malinus> Well I don't know the BOD level setting for a chip I don't know :P
[05:12:26] <LeoNerd> tiny84
[05:12:37] * LeoNerd has the datasheet, can look
[05:13:43] <malinus> http://www.engbedded.com/fusecalc/ :)
[05:14:29] <malinus> 2.7 sounds pretty damn close to 2.8
[05:14:53] <LeoNerd> That'll do. it's just gotta be safely above 2.0
[05:15:30] <LeoNerd> Though, hmmm... do I get a bit of CPU control when it's about to do that? I need to shut down the radio too
[05:16:20] <malinus> no, I would suggest measuring the voltage with the adc, and deciding for yourself when to shut it down.
[05:16:26] <LeoNerd> Mmm...
[05:16:38] <malinus> no extra pins required :)
[05:16:41] <LeoNerd> That was my original plan anyway
[05:17:01] <LeoNerd> Yeah I'm already measuring/reporting that
[05:17:44] <malinus> LeoNerd: does your LiPo not include a protection circuit of some kind?
[05:18:34] <LeoNerd> Nop. It has a USB charger but the power output comes directly off the cell
[05:19:35] <malinus> Are you sure? They usually do (might be hidden inside).
[05:19:48] <malinus> But yeah, still, it's good to do what you do :)
[05:20:07] <LeoNerd> It's a bare 14650 cell in a holder
[05:20:20] <LeoNerd> oh but maybe -that- has one, hmmm
[05:21:07] <malinus> if it's datasheet says so, I know my 14650 has both a low voltage, and too high current drain protection.
[05:21:24] <LeoNerd> mmm
[05:21:31] <malinus> It's not like you can see it
[05:21:35] <LeoNerd> I'll have another look then
[05:22:06] <malinus> If it's chinese crap it might say "with PCB" or similar :P
[05:26:14] <malinus> LeoNerd: what are you making btw.?
[05:28:18] <LeoNerd> Handheld radio with buttons + LEDs, maybe a pwm-based earpiece to make a sound. It's for cueing control for backstage manager
[05:28:49] <LeoNerd> The previous one was wired, very simple, rather limited
[05:29:41] <malinus> LeoNerd: are you doing all the radio stuff yourself? Or some IC?
[05:30:33] <LeoNerd> Oh.. nRF24
[05:31:01] <malinus> Oh I see
[05:31:06] <malinus> Those are very nice
[05:31:15] <malinus> JustWerk.png
[05:31:50] <LeoNerd> Mhm :)
[05:32:13] <LeoNerd> Welll, once you remember to add an external decoupling cap
[05:32:23] <LeoNerd> That had me for the longest time
[05:32:52] <malinus> well you need that for *anything*
[05:33:00] <LeoNerd> Laptop -> USB -> Bus Pirate -> probe cable. SPI configures fine.
[05:33:13] <LeoNerd> Send packet - module crashes
[06:29:46] <LeoNerd> What effect does AVR clock speed of a "SLEEP-mostly" interrupt-driven design actually have on battery life? I can see arguments either way. Faster clock burns more power while it's running, but interrupt handlers will finish quicker and it can go back to sleep sooner ((crosspost from https://twitter.com/cpan_pevans/status/583223940564275200 ))
[06:31:57] <malinus> LeoNerd: higher speed = more energy wasted on heat
[06:34:02] <LeoNerd> But for less time, is my point
[06:34:34] <LeoNerd> prescaler of 1 does not waste *8 times more* energy than prescaler of 8
[06:34:49] <LeoNerd> But it does run 8 times less time
[06:35:01] <LeoNerd> So overall that feels like a saving
[06:35:07] <malinus> How do you come to that conclusion?
[06:35:21] <malinus> "prescaler of 1 does not waste *8 times more* energy than prescaler of 8", for me it would be logical if it did
[06:35:38] <malinus> :P
[06:36:55] <LeoNerd> Because it couldn't possibly waste more, and so 8 is the upper limit. But there are parts of the chip that are asynchronous, whose power usage does not linearly scale with clock speed
[06:39:22] * LeoNerd shall stare more at DS
[06:43:17] <Lambda_Aurigae> there is a section of the datasheet that talks about power vs speed.
[06:44:57] <Lambda_Aurigae> typical characteristics section..in the 1284p datasheet it is section 29.
[07:02:20] <malinus> Lambda_Aurigae: it looks like, it would actually be more than 8:1.
[07:02:47] <malinus> Lambda_Aurigae: so if you prescale with 8, you would save more than 8 times the energy.
[07:03:01] <LeoNerd> Where does it say that?
[07:03:31] <malinus> LeoNerd: page 190-191
[07:03:54] <LeoNerd> I see graphs of supply current vs. xtal frequency
[07:04:00] <LeoNerd> I'm using the internal 8MHz RC
[07:04:14] <malinus> page 190
[07:04:33] <malinus> LeoNerd: of this datasheet http://www.atmel.com/Images/doc8006.pdf (attiny 84)
[07:05:01] <LeoNerd> Yeah, I'm looking at the 84
[07:05:10] <LeoNerd> Those are choices of internal oscillator, not the prescaler
[07:05:38] <malinus> prescaling of the internal oscillator, yes.
[07:06:16] <LeoNerd> Huh.. ohyea there's only one.. I was thinking o.. mm.. I forget now - one of the other chips that has a choice of multiple RCs
[07:06:51] <malinus> attiny you just choose between internal/external, and set the prescalar.
[07:08:01] <malinus> LeoNerd: try looking especially at the 128khz speed.
[07:08:46] <malinus> also the active supply a few pages back
[07:08:46] <LeoNerd> Hmm...
[07:09:07] <LeoNerd> OK but still, looking at quite a bit below 1mA, as compared nearly 20 on the radio... so maybe it doesn't overly matter here..
[07:09:21] <LeoNerd> I suspect I may just have to try it out
[07:09:55] <malinus> remember that nrf also has sleep modes
[07:10:10] <LeoNerd> Yes but I'm leaving that in permanent PRX mode :)
[07:10:38] <malinus> and still, 20:1 is 5%... 5% battery life - it's definetly not "nothing".
[07:10:44] <LeoNerd> I can get ~30 hours of runtime out of my cell anyway with that, so it simplifies a lot of the code, which would otherwise need lots of tricky timing logic to wake up at predefined timeslots that the base station would have to manage
[07:12:41] <LeoNerd> OH THANKS ATMEL
[07:12:52] <LeoNerd> They stamp the revision number of the SOIC tiny84 on the *bottom* of the package.
[07:12:57] <LeoNerd> Youknow, the one I've now soldered onto my PCB
[07:13:37] <malinus> I was about to ramp about sodlering a dip directly to a pcb
[07:13:41] <malinus> then I read SOIC :)
[07:14:06] <LeoNerd> I do have some spares though; since I orderd them in a batch it's likely they're all the same
[07:14:29] <malinus> LeoNerd: you've already soldered *all* your pcbs?
[07:14:42] <LeoNerd> (because tiny84 revision B has a fix to BOD during powerdown)
[07:14:46] <LeoNerd> Hrm? No. just one
[07:14:50] <LeoNerd> Well, two actually
[07:15:01] <malinus> Where did you get your boards btw.?
[07:15:08] <LeoNerd> OSHpark
[07:15:33] <malinus> oh,I guess you get payed, so you don't care about the price :P
[07:15:38] <LeoNerd> https://twitter.com/cpan_pevans/status/576501523909337088 <== the very thing I'm working on now, in fact
[08:22:42] <xrlk> what makes c in avr different from the c i normally use
[08:35:44] <xrlk> ok
[08:43:46] <specing> it sucks on the embedded level, instead of on the userland level
[08:53:08] <xrlk> ok
[08:53:13] <xrlk> should i use assembly
[08:53:17] <xrlk> idk assembly
[08:53:29] <xrlk> im not a good programmer either
[08:58:15] <xrlk> specing:
[09:00:51] <Fleck> if you have a lot of time coding everything yourself, then, yes, you learn a lot using asm...
[09:06:28] <specing> he should ger patience first
[09:06:38] <Fleck> ;p
[09:10:45] <specing> I'm surprised people don't know anything beyond C/C++ and java and that better languages do exist
[09:11:23] <LeoNerd> I long-ago stopped being surprised at that. most people don't go beyond what things they were taught at school
[09:16:25] <aandrew> there are no better languages :-)
[09:18:25] <hypermagic> hello my friends
[09:19:48] <hypermagic> specing, it does not matter ;)
[09:20:16] <hypermagic> ofc the digital photo costs about nothing now
[09:27:40] <specing> aandrew: Ada
[09:28:51] <specing> go is attempting to replace C, Rust is attempting to replace C++
[09:29:00] <specing> not sure about their system programming value
[09:29:06] <hypermagic> :/
[09:29:13] <hypermagic> wtf is go ?
[09:29:20] <specing> go is a gcc frontend, so you probably could do it
[09:29:26] <specing> hypermagic: Google golang
[09:29:40] <specing> (Google as in google's project)
[09:30:23] <specing> currently the only language besides C and C++ that can target AVR is Ada
[09:35:24] <hypermagic> http://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/
[09:40:38] <specing> what did you expect? it is derived from C, after all
[09:41:17] <hypermagic> C is my best option :/
[09:42:01] <hypermagic> it is useful and can be a bit more comfortable with the macro functionality
[09:42:55] <specing> Ada has all the features C++ (which has +- everything C has) has minus the undefined behaviour
[09:43:05] <specing> it also adds threading and stuff
[09:43:42] <specing> http://sourceforge.net/p/avr-ada/wiki/Home/
[09:44:15] <LeoNerd> Ada's only minor disadvantage is that all the best experts in it are legally banned from talking about it because it's only ever used by the DoD
[09:45:53] <malinus> specing: what? c++ has threading, how does ada add that?
[09:46:14] <specing> malinus: C++ added threading in 2012
[09:46:23] <specing> Ada had it in year 1995!
[09:46:51] <malinus> it's like saying perl>python, because python didn't have x feature in 94
[09:46:58] <malinus> ups
[09:48:12] <malinus> languages develop all the time, it's only fair to compare them at the same point in time.
[09:48:12] <specing> Its like saying C++ is bad because it takes 15+ years to add needed features
[09:49:21] <LeoNerd> (Wow, so that's what gauntlets sound like when thrown down...)
[09:50:32] <malinus> haha
[09:54:46] <hypermagic> http://en.wikipedia.org/wiki/Ada_%28programming_language%29
[09:54:50] <hypermagic> ada is lol
[09:54:52] <hypermagic> ;>
[09:55:07] <megal0maniac> ada is life
[09:55:21] <hypermagic> with Ada.Text_IO; use Ada.Text_IO; procedure Hello is begin Put_Line ("Hello, world!");end Hello;
[09:55:26] <hypermagic> srsly
[09:57:24] <hypermagic> i was playing with turbopascal too in 2001 but everything that has a Begin-ning has an end
[10:08:19] <LeoNerd> So.. random question. If I'm using (attiny84) Timer1 in CTC mode, that uses the OCR1A register. It doesn't seem to mention OCR1B at all.. Does that leave OCR1B spare for me to do other things with? I.e. if I set it to some value between 0 and the OCR1A value, does the match B interrupt still happen as well?
[10:08:57] <LeoNerd> I'm currently using CTC and OCR1A to set up a fixed 5msec timer, for timekeeping purposes... and I'm wondering if I can then additionally use match B to implement LED PWMing
[10:09:33] <specing> hypermagic: it is just a different style, you get used to it like you get used to C one
[10:26:32] <LeoNerd> (Also does anyone else keep typoing it as ORC1 ?
[10:26:45] <xrlk> idk maybe
[10:27:27] <hypermagic> specing, i don't feel comfortable about writing "Begin" insted of {
[10:28:27] <LeoNerd> Yeah
[10:28:51] <LeoNerd> Seriously, { and } are perfectly sensible characters, albeit they were invented quite late in language design... being only standardised really by ASCII, around the end of the 1970s
[10:28:58] <LeoNerd> So all the _really_ old languages don't use them
[10:29:18] <hypermagic> oh well... iti s 2015 now
[10:29:29] <specing> currently the only thing about Ada that I don't like is that you have to declare variables in the decleration part
[10:30:32] <LeoNerd> Yeah, C99 solved that by standarising what was already a prevelant compiler extension at the time
[10:30:44] <LeoNerd> Upfront variables in their own block is kindof silly in most situations
[10:32:51] <specing> on the other hand, most languages still don't have "native" support for modular, range and big number arithmetic
[10:33:31] <LeoNerd> Most languages I use support big numbers just fine
[10:33:44] <specing> so... python?
[10:33:54] <specing> because C doesen't and neither does C++
[10:33:55] <LeoNerd> python, perl,...
[10:34:00] <LeoNerd> Scheme :)
[10:34:10] <specing> well, most languages that do support them are scripting ones
[10:34:42] <specing> Ada supports modular and range arithmetic out of the box
[10:34:52] <specing> like type mod12 is mod 12;
[10:34:59] <LeoNerd> Yeah.. I'm aware it has them but honestly I don't think I've really ever found a situation in which I needed them
[10:35:07] <specing> for i in range -2 .. 6
[10:35:22] <hypermagic> so you dislike VHDL ?
[10:35:28] <specing> or arrays that begin at something esle than 0 or 1
[10:35:29] <hypermagic> Verilog ?
[10:35:35] <specing> hypermagic: I use VHDL
[10:35:49] <specing> from what I've seen, verilog is like C for hardware
[10:35:52] <LeoNerd> Hah.. customisable array bases turns out to be a *terrible* idea
[10:36:00] <specing> LeoNerd: why?
[10:36:08] <LeoNerd> Perl had them at one point and was universally agreed as horrible.. so they got removed around 5.14
[10:36:12] <LeoNerd> (I forget quite when)
[10:36:41] <LeoNerd> It makes code composition very brittle
[10:36:43] <hypermagic> i'd like C more if it were more flexible in the function format
[10:37:11] <hypermagic> C++ is too bloated
[10:37:26] <xrlk> yes
[10:37:28] <xrlk> stl is bloat
[10:38:59] <xrlk> https://www.filepicker.io/api/file/ExfWMH3rSY2lkxsqAmyI
[10:39:26] <xrlk> sry wrong paste
[10:39:28] <xrlk> mates
[10:39:34] <xrlk> http://www.iups.org/media/meeting_minutes/C.pdf
[10:39:57] <hypermagic> xlgreat idea :) https://www.filepicker.io/api/file/ExfWMH3rSY2lkxsqAmyI
[10:40:55] <LeoNerd> So back to something AVR-related and hence ontopic again: Am I right in my understanding that timer module CTC mode (ATtiny84, timer1) doesn't use OCR1B at all? And therefore I can use it for my own purposes? I.e. if I set OCR1B to some value between zero and OCR1A, then I'll get a second match interrupt fired before the "main" A one?
[10:42:36] <NicoHood> I want to force a file to compile with an ISR inside. The file is linked via .a file, so i need to place a fake attach() function that is linked and used, in order to also link the ISR. The fake function does nothing. I've added attribute naked, is there anything else I can do? using avr-gcc via Arduino IDE, means I cannot change any flags. Just want to finalize the code
[10:49:01] <specing> NicoHood: #arduino
[10:50:18] <NicoHood> specing: asked there as well. its more a gcc attribute thing i need to know. maybe there is some command/tip i dont know yet
[10:50:40] <NicoHood> I just need to get rid of the pushs and pop instructions, since the function does nothing
[10:50:47] <LeoNerd> Mmmm
[10:51:03] <LeoNerd> Those annoy me sometimes. I read the disassembly of object code that gcc as been "helpful" with and dispair sometimes
[10:51:18] <LeoNerd> I'm like.. seriously, this ISR is supposed to set ONE BIT in RAM and then exit
[10:51:23] <LeoNerd> Whythefuck do you need 25 instructions for that??
[10:53:48] <specing> NicoHood: __attribute__((used))
[10:54:02] <grey> ']['
[10:54:05] <grey> whoops
[10:54:44] <specing> NicoHood: void HD44780_W4B (const byte b) asm ("HD44780_W4B") __attribute__((used));
[10:55:47] <specing> NicoHood: naked strips function prologue and epilogue, you probably dont want that
[10:56:30] <specing> the ISR definition (if you use the avr-gcc ISR() should do this magic itself)
[10:57:18] <specing> the assembly file that defines interrupt vectors inserts weak handlers that these override
[10:57:33] <malinus> LeoNerd: nono, the ISR does a lot of other stuff. Read the avr-gcc doc
[10:57:47] <hypermagic> the ISR pushes and pops everything, this is why it is slow
[10:58:15] <NicoHood> specing: should i point the attach function to the ISR?
[10:58:24] <specing> NicoHood: you should just use ISR()
[10:58:31] <specing> and stop using the ardweenie IDE
[10:58:36] <NicoHood> specing: yeah :D
[10:58:54] <LeoNerd> malinus: Yes but what I mean is that that's the only side-effect I wanted mine to have, and I felt it should be possible in many fewer instructions
[10:59:08] <NicoHood> specing: but how should i use the "used" attribute. I dont understand what this should help or what it does exactly
[10:59:39] <specing> NicoHood: you shouldn't use it in this case as ISR() does the magic already
[10:59:53] <malinus> LeoNerd: sorry I'm not following you.
[11:00:01] <specing> used is nice when you call C stuff from assembly
[11:00:26] <specing> or when you want to place stuff in bootloader flash that the application will then use
[11:00:48] <specing> kinda what texas instruments does with ROM syslib
[11:00:58] <NicoHood> specing: I need to link the ISR. and its only linked if another function is linked in the cpp file
[11:01:00] <LeoNerd> malinus: I have an interrupt that does somearray[1].flags |= TASK_PENDING; as its only line of code. That's a compiletime-constant update. The body of that ISR _should_ ideally just be a LD; IOR; ST; RET; and yet gcc has output ~25 instructions for it
[11:01:10] <NicoHood> specing: xample: https://github.com/NicoHood/PinChangeInterrupt/blob/dev/PinChangeInterrupt0.cpp#L36
[11:01:16] <LeoNerd> (compiletimeconstant address even)
[11:01:40] <NicoHood> I call the fake attach function to make the whole .cpp link
[11:01:53] <NicoHood> but this attach function generates some overhead
[11:02:08] <malinus> LeoNerd: like it has been said before, the ISR routine does other stuff too.
[11:03:34] <LeoNerd> malinus: go on...
[11:03:49] <specing> NicoHood: stop using the IDE
[11:03:51] <specing> !!!!
[11:06:01] <malinus> LeoNerd: I don't remember much else from the top of my head. Read the avr-gcc doc about interrupts, all explained in there. Try compling it with a "pure" ISR routine, or as a normal function, and compare.
[11:06:33] <malinus> LeoNerd: you can start by compiling it as a normal function, and checking the asm
[11:06:42] <LeoNerd> Ohohoh! ISR_NAKED
[11:11:15] <malinus> LeoNerd: try compiling that code in a 100% normal function, and check the asm first
[11:12:43] <LeoNerd> Well that won't prove much.. lots of functions are messy :P
[11:12:44] <LeoNerd> We know this :)
[11:14:04] <specing> lol, VHDL doesen't support block comments
[11:14:18] <hypermagic> / is good no?
[11:14:18] * specing *bangs head against the desk*
[11:14:26] <malinus> specing: yeah it sucks :(
[11:14:32] <malinus> --
[11:14:32] <malinus> --
[11:15:04] <hypermagic> why is block comments cool?
[11:20:32] <learath> sometimes I find larger comments look better with block comments
[11:20:44] <learath> but my normal problem is not enough comments :)
[11:20:46] <learath> so I shouldn't talk
[11:21:50] <hypermagic> good code is self-explaining
[11:22:17] <hypermagic> short comment at line end can look good too
[11:23:15] <LeoNerd> malinus: http://pastie.org/10067580 <== this feels a little excessive to me
[11:23:58] <LeoNerd> malinus: E.g. because it saves/zeroes/restores r1 despite that nowhere in its body does it actually *use* r1
[11:24:27] <hypermagic> i made excessive comments to the first version of my code and stripped away them in the next ^^
[11:25:10] <hypermagic> code is much shorter without comments
[11:25:16] <aandrew> gro
[11:26:33] <LeoNerd> malinus: Also, it seems to be using r24 as a temporary to load/mutate/store the flag bits in, when there's a perfectly good r0 sitting around not doing anything
[11:26:38] <LeoNerd> So that's another push/pop cycle it could save
[12:20:11] <LeoNerd> So from everything I can tell, it looks like the second CTC mode is probably what I want... CTC mode using ICR1 as the TOP definition, will let me have my 5msec clock pulse using that interrupt, and leaves matchA and matchB entirely free for my own purposes, such as to put PWM control of two *different* LEDs on them
[12:20:54] <LeoNerd> I'll just have to see how much noise I get from the radio module interrupt affecting the LEDs.. :/
[14:27:09] <mark4> anyone here used the memory mapped eeprom capabilities of the xmega?
[14:27:18] <mark4> or is familiar with the concept?
[14:27:37] <mark4> if my eeprom is memory mapped i can just do reads/writes as if it were normal ram yes?
[14:27:52] <mark4> i dont need to do any of that eeprom busy waiting ?
[15:39:38] <Bundestrojaner> good evening. What is the FOC2-Bit (Force Output Compare) of atmega8's Timer2 doing exactly? I don't understand the description in the datasheet...
[15:43:02] <LeoNerd> If you set it, the output pin is held high regardless of the other output from the waveform generator
[15:49:32] <LeoNerd> So.. I'm noticing that timer modules in general vary quite a lot between the various AVR chips; much moreso than most other modules
[15:49:46] <LeoNerd> E.g. USI, UART, SPI, I2C,...
[15:50:08] <LeoNerd> Do any of the variants particularly have names..? Something I can use in my code to try to identify them, for naming the .c/.h files?
[15:52:46] <Bundestrojaner> LeoNerd: OMG, i thought the description of OCIE2 says, it must be set to enable the interrupt
[15:53:03] <Bundestrojaner> but it says OCF, not FOC
[15:53:48] <LeoNerd> Mmm.. Yes.. acronyms are sequences, not sets ;) Order matters
[16:00:11] <LeoNerd> WOO
[16:00:43] <LeoNerd> ATtiny841 has *remappable* IO pins. I knew about the REMAP register for moving UART or USI module pins, but I didn't realise they also had all the reconfigurable timer output pins as well
[16:00:48] <LeoNerd> That's almost getting halfway-decent now
[16:19:22] <Tom_itx> pretty soon they'll have onboard fpga
[16:20:10] <hypermagic> sounds fun
[16:20:47] <N1njaneer> LeoNerd: That's the nice thing with a lot of the ARM implementations now - completely flexible matrix routing of every peripheral to every pin. Did that on a Nordic part recently. Very nice. Atmel's SAM parts have that to some degree, but not an any-to-any quite yet.
[16:20:58] <hypermagic> actually i don't really get it why aren't all mcus like that, every peripherial should be remappable to any pin...
[16:21:03] <LeoNerd> N1njaneer: Yeah, I know. I keep ranting about this...
[16:21:17] <LeoNerd> The PIC18s are all totally like that.. as are those crazy ARM M0-things
[16:21:24] <LeoNerd> Just not AVRs :(
[16:21:38] <hypermagic> there are atmel arms
[16:21:39] <N1njaneer> Additional complexity in the silicon
[16:21:58] <N1njaneer> hypermagic: that's the SAM parts -- Atmel's ARM SoC's
[16:22:01] <hypermagic> yes, the multiplexer
[16:22:03] <LeoNerd> As in a PIC18 literally has a huge memory map that just stores, for each peripheral input, which hardware pin it comes from; and for each hardware pin, which peripheral output it comes from
[16:22:06] <LeoNerd> Comes *from*
[16:22:33] <LeoNerd> This means: You can make multiple peripherals read the *SAME* input pin if you like; or you have multiple output pins present the same periph. output
[16:22:50] <hypermagic> :)
[16:22:57] <LeoNerd> You can even route periph->periph ports directly using it
[16:23:07] <zerowidth> LeoNerd: oh jeez, why am i still using attiny84's?
[16:23:10] <hypermagic> and vent handler
[16:23:13] <hypermagic> event
[16:23:18] <zerowidth> this attiny841 looks fantastic
[16:23:28] <LeoNerd> If you want to use the timer compare input to measure the frequency of your own UART TX pin? Go for it :)
[16:24:32] <LeoNerd> zerowidth: Yeah; the 841 is nice, but no DIP size (if that matters, I don't overly care)., but still a lot more expensive than the 84
[16:24:52] <zerowidth> nah, i can do SMT with a breakout board if i have to
[16:25:10] <LeoNerd> Oh. I make things to solve it. In fact, I sold one today
[16:25:14] <LeoNerd> My first ever Tindie sale :)
[16:25:27] <LeoNerd> https://www.tindie.com/products/edit/attiny-14pin-soic-to-pdip-adapter/
[16:25:55] <zerowidth> hmm, more expensive? the SO14 is only $1.45 and the attiny84 is $1.42 on mouser
[16:26:02] <zerowidth> LeoNerd: 404 :(
[16:26:10] <LeoNerd> huhhreally? WFM
[16:26:11] <zerowidth> oh, you dropped an "edit" link, haha
[16:26:24] <zerowidth> found it
[16:26:37] <LeoNerd> Ah oops
[16:27:36] <zerowidth> oh neat, that other attiny841 breakout looks nice too
[16:28:01] <LeoNerd> Ohyes.. if you want to just breadboard it for prototyping, Botthoughts' one is nice
[16:28:04] <LeoNerd> I own a full set of his ;)
[16:28:24] <LeoNerd> I use mine for HVSP'ing
[16:28:57] <N1njaneer> How often do you find the need to do HVSP?
[16:29:04] <LeoNerd> Not much...
[16:29:12] <LeoNerd> I want to do some debugWire stuff though soon
[16:29:16] <LeoNerd> So I'll need it then :)
[16:29:18] <zerowidth> LeoNerd: or even https://www.adafruit.com/products/1210
[16:29:49] <LeoNerd> zerowidth: Yeah; but the botthoughts boards all have ISP6 headers on them as well
[16:29:54] <LeoNerd> I find that very useful
[16:29:59] <zerowidth> yeah, i see that. plus labeled ports, which is another nice thing
[16:30:09] <LeoNerd> Ohyes.. the labelling
[16:30:22] <LeoNerd> And also botthoughts++ # for using real Atmel names and not stupid Arduino ones
[16:30:47] <zerowidth> man, i'm tempted to order my own copies of those botthoughts boards from oshpark since he's out of stock
[16:31:58] <zerowidth> LeoNerd: have you done anything with FTDI usb -> serial chips? like what the arduino boards have?
[16:32:08] <zerowidth> i realize i'd need a bootloader
[16:32:12] <LeoNerd> Not building things, no. Just used the breakouts as they come
[16:32:19] <LeoNerd> I have the little USB->6pin header thing
[16:32:22] <zerowidth> yeah, same
[16:32:41] <zerowidth> i'm thinking about trying to build that on-board alongside an attiny84 ... well, or an attiny841, now that i know about it
[16:32:48] <LeoNerd> There's a lovely variant in the PL2302 family that's a SOIC8 chip
[16:32:58] <zerowidth> perfect, keep it small
[16:33:03] <LeoNerd> SOIC8 with literally V+ D+ D- GND on one side, and Vout Tx Rx Gnd on the other
[16:33:05] <LeoNerd> It's looooovely
[16:33:12] <zerowidth> ohhhh.
[16:33:13] <LeoNerd> But I can't seem to find anyone who'll sell me one in the UK
[16:34:06] <LeoNerd> Hrm. acutally that's two GNDs.. maybe there's one other pin, I forge.t But it's really nice
[16:34:22] <LeoNerd> SOIC8 which means I'm happy to handsolder it
[16:34:43] <zerowidth> you're talking about prolific chips, not FTDI?
[16:34:48] <LeoNerd> Yah
[16:34:52] <LeoNerd> I've gone off FTDI
[16:35:02] <LeoNerd> I dislike their attitude of late, given the stupid driver stuff
[16:35:04] <zerowidth> mm.
[16:35:53] <zerowidth> ah, the ftdi ones are only ssop-16's or QFN-16
[16:36:04] <LeoNerd> Yah... I don't fancy handsoldering a QFN
[16:36:38] <zerowidth> ah, a 12-pin DFN too, same deal though
[16:37:13] <zerowidth> is atmega328 a good choice for mega, or are there better?
[16:37:34] <LeoNerd> It certainly seems popular
[16:37:53] <LeoNerd> Given how insanely easy/cheaply you can buy breakouts for it (Arduino micro/mini pro), it's a good choice
[16:37:53] <N1njaneer> It's a good general purpose chip, but it really depends mostly on your application.
[16:37:55] <hypermagic> i got some 168 too, i like it
[16:38:08] <hypermagic> yes, the atmel arm is better
[16:38:40] <zerowidth> hm, what about the atmega32U2, that has onboard usb?
[16:38:47] <hypermagic> yes
[16:38:53] <hypermagic> hardware usb
[16:38:54] <LeoNerd> 32U4 surely? ;)
[16:38:57] * LeoNerd has one
[16:39:28] <zerowidth> the extra $1.50 would save me buying a separate USB chip...
[16:39:49] <zerowidth> ah, why U4 instead of U2? more pins?
[16:39:49] <LeoNerd> I bought one... no idea what I'll use it for. Mostly just to play with to start with
[16:39:57] <LeoNerd> Later revision of the chip. More features
[16:40:53] <zerowidth> ah, is there a good way to find out what revisions things are like that?
[16:41:26] <N1njaneer> Datasheets and errata :)
[16:41:48] <LeoNerd> http://electronics.stackexchange.com/questions/20652/differences-between-atmega32u2-and-atmega32u4
[16:42:01] <LeoNerd> Ohyes.. it has ADC
[16:42:06] <zerowidth> ah, got it
[16:42:22] <hypermagic> you can use software usb ...
[16:42:23] <LeoNerd> (Honestly Atmel, why on earth do you ever make chips without at least one ADC? 2313 I am looking at you...)
[16:42:26] <N1njaneer> 32U2 and 32U4 are both nice parts. I have shipped usb implementations using both :)
[16:42:34] <zerowidth> hm, what i have in mind really doesn't *need* much, but it might be fun to play with a chip with more flash/ram
[16:42:37] <hypermagic> on a mega328 for example
[16:42:49] <N1njaneer> LeoNerd: 2313 is a VERY old part. :)
[16:42:53] <LeoNerd> I know..
[16:42:57] <LeoNerd> I just happen to have a box of 'em :/
[16:43:02] <zerowidth> also i want to do arduino-style usb + bootloader
[16:43:04] <LeoNerd> Been looking for a use for them
[16:43:07] <hypermagic> flash leds wthi it then
[16:43:08] <zerowidth> so wehther that's on-board or whatever
[16:44:04] <hypermagic> the atmel avr parts come with a preloaded usb bootloader
[16:44:13] <hypermagic> *arm
[16:45:31] <zerowidth> the 32U4, for example?
[16:46:20] <hypermagic> i meant the atmel ARM parts
[16:47:42] <N1njaneer> The ARM and AVR parts with USB capability normally come with a bootloader, yes, unless specifically ordered otherwise.
[16:48:06] <hypermagic> http://www.atmel.com/products/microcontrollers/arm/
[16:48:36] <hypermagic> N1njaneer, all arm usb types too ?
[16:48:43] <hypermagic> i mean avr
[16:48:53] <N1njaneer> Yes.
[16:48:59] <hypermagic> i think ill have a break soon
[16:49:38] <N1njaneer> Again, unless ordered as the part number that corresponds to them shipping blank from the factory, else all of them standardly come with the DFU bootloader, which you can always just wipe out through ISP/JTAG if you want.
[16:49:41] <hypermagic> i wrote arm instead of avr and avr instead of arm
[16:52:01] <zerowidth> hmm. an atmega328 + an FTDI chip is still cheaper than a 32U4
[16:52:07] <LeoNerd> Yah
[16:52:18] <N1njaneer> Assuming you are doing CDC stuff with it.
[16:52:22] <LeoNerd> Getting a 32U4 -just- to avoid a UART chip isn't worth it
[16:52:22] <zerowidth> CDC?
[16:52:28] <LeoNerd> Communications Device Class
[16:52:33] <LeoNerd> AKA "UART over USB"
[16:52:36] <N1njaneer> Yes.
[16:52:46] <N1njaneer> If you are doing storage, HID, etc the FTDI isn't going to help you out.
[16:52:51] <zerowidth> oh, yep. that's all i want, arduino-style stuff
[16:52:53] <hypermagic> you can also use low speed usb in software or vusb
[16:53:11] <hypermagic> that does not require a chip
[16:53:55] <N1njaneer> hypermagic: Yes, though potentially dubious if it completely meets the USB specifications for bit-bang USB.
[16:54:12] <hypermagic> for low speed it can be perfect
[16:54:39] <hypermagic> usb specs are dumb btw
[16:54:54] <N1njaneer> Has it been validated with a USB bus protocol analyzer with regard to the signal integrity and timing?
[16:57:06] <hypermagic> i have seen an atmel example of a low speed usb device
[16:58:53] <hypermagic> N1njaneer, USB Low Speed 1.5 Mbit/s USB 1.0
[16:59:09] <N1njaneer> My question still stands, though. :)
[17:00:22] <hypermagic> i have not wrote one and verified it with an usb scope
[17:00:46] <N1njaneer> You risk a lot of potential compatibility problems from marginally-correct implementations of USB protocol stuff. Bit-bang stuff opens up a potential whole other can of worms since there's further variability. At least with dedicated USB hardware devices it helps to eliminate (or at least significantly lessen) the changes of the low level portion being incorrect. :)
[17:01:32] <N1njaneer> So in any case, I'm always a fan of hardware peripheral implementations of USB wherever possible, but that's me. :)
[17:02:02] <hypermagic> im not any fan of usb
[17:02:36] <hypermagic> usb is a dead end, yet they made usb 3.0
[17:02:48] <hypermagic> superspeed junk :)
[17:04:26] <Bundestrojaner> hypermagic: and still slower than eSata :)
[17:04:48] <hypermagic> and sata could replace usb entirely anyway...
[17:05:02] <hypermagic> so 12 sata connections in a pc and no usb...
[17:05:36] <Bundestrojaner> i don't think you can use a mouse on s-ata^^
[17:05:45] <hypermagic> why not?
[17:06:06] <Bundestrojaner> the s-ata protocoll can do only drives, but very well
[17:06:11] <hypermagic> you can flash leds on an ide cable
[17:07:38] <hypermagic> there is a new sata feature set btw, it is already in new motherboards
[17:07:43] <Bundestrojaner> the power supply of usb is also too weak
[17:08:11] <hypermagic> i can't remember, i have not seen my bios since last year
[17:09:26] <hypermagic> well with 5 watts, you can run an olimex A20 computer that has dualcore cpu, 1GB ddr3 ram
[17:10:14] <hypermagic> i don't see much limitation in this now
[17:11:16] <Bundestrojaner> with 3~230/400V 16A you could run a 10KW motor
[17:11:37] <hypermagic> okey
[17:11:45] <Bundestrojaner> and the connector would look nice too^^
[17:11:49] <hypermagic> and you would like to run your forklift off an usb port?
[17:12:07] <Bundestrojaner> why not? or an airraid siren
[17:12:33] <hypermagic> they already sell usb powered dildo, that is not enough?
[17:12:54] <Bundestrojaner> it would be nice to set the frequency in software
[17:13:13] <hypermagic> the particular one had a software i saw
[17:13:35] <hypermagic> but if it works on windows it is probably not the most stable thing
[17:13:41] <Bundestrojaner> :D
[17:13:45] <LeoNerd> Manalive the timers on the 32U4 are craaaaazy
[17:13:48] <LeoNerd> Especially that timer4
[17:13:59] <LeoNerd> Also: umm... why does it have timer0, timer1 and 3, and timer4?
[17:14:06] <LeoNerd> Did Atmel forget the number 2 exists?
[17:20:22] <hypermagic> what you think about this stuff LeoNerd ? ATSAM3S1CB-AU http://www.atmel.com/products/microcontrollers/arm/sam3s.aspx
[17:20:35] <LeoNerd> It's a SAM chip
[17:20:59] <N1njaneer> I am writing code for a SAM4E16 which is on my desk right now. :)
[17:21:18] <LeoNerd> N1njaneer: So.. uhh.. I wrote a thinly-veiled rant about Atmel on twitter, and.. er.. they faved it..
[17:21:34] <N1njaneer> They keep an eye on Twitter :)
[17:21:49] <LeoNerd> Yes I know, I'm jsut surprised they faved my ranting about them
[17:21:50] <hypermagic> http://www.atmel.com/devices/SAM3S1C.aspx?tab=parameters
[17:22:09] <hypermagic> N1njaneer, will it kill? ^^
[17:22:18] <N1njaneer> hmm?
[17:22:23] <hypermagic> the arm
[17:22:30] <N1njaneer> Meaning?
[17:22:42] <hypermagic> on a drone or thing like that? :)
[17:23:01] <N1njaneer> It's for something that flies (technically) but no. It runs a lot of LEDs. :)
[17:23:18] <hypermagic> oh if it flies it probably will be able to kill
[17:23:31] <hypermagic> sharpen the blades
[17:25:44] <hypermagic> N1njaneer, you know, everything will be made to kill eventually ;) first it flies, then it has camera... then it has minigun
[17:27:12] <N1njaneer> This would be an interesting application to see that kind of twist of fate happen to :)
[17:27:21] <N1njaneer> Like some horror movie of nightmare fuel.
[17:28:06] <hypermagic> btw li-po batteries are explosives
[17:28:21] <LeoNerd> Some are
[17:28:22] <N1njaneer> Yep, which is why we can't use anything lithium for this application.
[17:28:28] <LeoNerd> I have a LiFePO4 cell here.. which is quite safe
[17:28:36] <hypermagic> well, that has lithium
[17:28:46] <hypermagic> though it is not that dangerous
[17:29:11] <LeoNerd> It's dangerous if the cell suffers physical damage
[17:29:25] <hypermagic> N1njaneer, you can push a nail through an A12 cell without it exploding...
[17:29:33] <LeoNerd> But it can't explode from mere electrical upsets like overcharge/short/overdepletion
[17:30:54] <Xark> LeoNerd: Yeah, I am really liking LiFePO4. Great fro 3.3v electronics without regulator (and high current - like LEDs etc.).
[17:30:56] <hypermagic> N1njaneer, https://www.youtube.com/watch?v=rb_J2QQ0k-4 A123 penetration testing
[17:31:21] * Xark got this little charger which works great https://www.tindie.com/products/xorbit/lifepo4weredusb/
[17:31:25] <hypermagic> Xark, hmm, i was thinking about using an LDO regulator for them
[17:31:40] <hypermagic> 3.6-3.8V fully charged
[17:31:47] <LeoNerd> Xark: Yup.. loving mine. I got the very same
[17:31:53] <Xark> hypermagic: If you need precise voltage, then go ahead, but they have very steady power due to chemistry (but starts at ~3.4V).
[17:32:05] <LeoNerd> I just ordered a batch of them specially without the cell holder soldered on, because it'll fit better in my cases
[17:32:19] <Xark> hypermagic: For AVR part, no need for regulator (AFAICT).
[17:32:28] <hypermagic> hmm
[17:32:40] <LeoNerd> Ohballs. I forgot to think about charging voltage
[17:32:45] <hypermagic> but the arm parts like 3v3
[17:32:49] * LeoNerd finds nRF24 DS
[17:33:02] <Xark> hypermagic: I suspect it is "close enough" to 3.3v for most uses...
[17:33:12] <hypermagic> ok but charging
[17:33:15] <LeoNerd> nRF24L01+ says "absolute max" Vdd of 3.6V
[17:33:18] <hypermagic> 3.6-3.8V
[17:33:32] <Xark> LiFoPO4 is 3.2V to 3.6V
[17:33:46] <hypermagic> oh and 10A charge rate normally for the 2.2Ah cell ;)
[17:33:48] <LeoNerd> Yeah, but ~3.6-3.8V to charge
[17:33:49] <Xark> However, I haven't seen more than 3.4 fully charged on mine...
[17:33:50] <N1njaneer> hypermagic: We use NiMh because of established safety standards that have to be adhered to from our client :)
[17:34:06] <Xark> LeoNerd: Yeah, that could be an issue.
[17:34:11] <LeoNerd> Balls :/
[17:34:44] <hypermagic> ofc you can use a continuous mode charger and set it to 3.47V
[17:34:46] <hypermagic> :P
[17:35:13] <hypermagic> 3.6-3.8V is only for cyclic charging
[17:35:50] <Xark> LeoNerd: Hmm, that page says "...3.2V nominal voltage with 3.6V max during charge..."
[17:35:51] <hypermagic> A123 can be used as backup battery kept constantly at 3.47V
[17:36:11] <LeoNerd> Xark: Hrm.. which part are you reading?
[17:36:31] <Xark> LeoNerd: Last paragraph on https://www.tindie.com/products/xorbit/lifepo4weredusb/
[17:36:58] <LeoNerd> Ahh
[17:36:59] <LeoNerd> hmmm
[17:37:05] <LeoNerd> I suppose I could measure it ;)
[17:37:18] <Xark> LeoNerd: I tested voltage on mine while charging, and never saw > 3.4 IIRC
[17:37:25] <LeoNerd> OK
[17:37:38] <Xark> But yes, test it. :)
[17:37:40] <hypermagic> because it peaks at 3.6-3.8V only
[17:37:55] <hypermagic> then terminates the charging, and then voltage falls back below 3.5V
[17:38:39] <Xark> I was powering ATtiny85 LED project (which would be totally happy with 5v), so I wasn't too concerned.
[17:38:40] <hypermagic> well it is almost perfect as 3v3 power supply
[17:38:49] <hypermagic> but it can be depleted to 2v5
[17:38:51] <hypermagic> :/
[17:39:36] <hypermagic> 3.3V +-5% sound fine
[17:39:50] <Xark> hypermagic: I have heard not "great" to totally deplete these batteries. So of course I tried it (left blinky to die - took several days even with 4 bright LEDs). Seems OK (but maybe max charge is less or something).
[17:40:42] <hypermagic> A123 can survive a 0V condition
[17:40:47] <hypermagic> and 12V overcharge
[17:41:01] <hypermagic> it is probably not comfortable to it
[17:41:12] * N1njaneer is writing nice wrappers around the SPI bus peripherals on the SAM4E right now - so far so good. :)
[17:42:03] <hypermagic> LeoNerd, i'd think it is a wise thing to use an LDO regulator and a transient suppressor diode for protecting the mcu
[17:42:14] <hypermagic> but ofc optional
[17:42:27] <hypermagic> if it is just a toy
[17:47:26] <N1njaneer> Hooray, chip select firing correctly now. :)
[17:47:39] <N1njaneer> Now to get flash ID to make sure it's really reading it.
[17:50:03] <hypermagic> sooo, channel busy? ;>
[17:50:41] <N1njaneer> Hooray, it does!
[17:51:20] <N1njaneer> Now to fill in the last part, that reads the file contents off the SDCard and dumps them in to the flash chip. So just copy "FPGA.bin" to the SDCard, and the firmware update automatically.
[17:51:33] <hypermagic> :)
[17:51:42] <hypermagic> you program fpga with arm?
[17:51:55] <N1njaneer> For update of the image, yes.
[17:52:13] <N1njaneer> The FPGA pulls the working image out of a SPI flash chip on reset, though.
[17:52:21] <hypermagic> sux that fpga does not have internal flash
[17:52:27] <N1njaneer> Most don't.
[17:52:36] <hypermagic> the good ones dont
[17:53:01] <N1njaneer> No, it's just a difference in series. Xilinx has some non-volatile parts, the densities are generally just lower.
[17:53:32] <hypermagic> yes, tiny parts have flash
[17:53:51] <N1njaneer> Even some decent sized parts do as well.
[17:54:07] <hypermagic> from xilinx? that must be something new
[17:54:29] <hypermagic> new as newer than 3 years?
[17:54:47] <N1njaneer> Spartan3 does
[17:54:52] <N1njaneer> I am not sure on S6
[18:20:18] <Bundestrojaner> what happens if a few pins of a port are configured as RX and TX and you set the whole port (PORTD=0x00;)
[18:23:39] <xrlk> avr
[18:23:51] <malinus> avrrr
[18:31:22] <N1njaneer> Bundestrojaner: If the peripheral is enabled, it will take precidence over the GPIO, so PORTD=0x00 will set all other bits to 0 but will not affect the TX/RX pins
[18:33:53] <ferdna> Tom_itx, can i priv msg?
[18:40:46] <Bundestrojaner> N1njaneer: thx! So i can just set the whole port. i guess it's faster than PORTD |=... and PORTD &= ...
[19:20:09] <cxrlk> this is the place to be for avr
[19:24:14] <Bundestrojaner> do chrystal oscillators work in breadboards?
[19:24:25] <malinus> yes
[19:25:38] <Bundestrojaner> so i will finally get my 16MHz clock :)
[19:29:57] <malinus> yes
[19:30:07] <Lambda_Aurigae> crystal oscillators, oscillator crystals, and ceramic resonators all work in breadboards.
[19:30:32] <Lambda_Aurigae> often times, with an oscillator crystal, you don't even need to associated caps...the breadboard has plenty of capacitance to spare.
[19:30:35] <malinus> also astable vibrators
[19:31:06] <malinus> I've heard avr's work on breadboards too, sometines
[19:31:53] <Lambda_Aurigae> that they do.
[19:31:55] <Lambda_Aurigae> quite often.
[19:36:32] <brotatos> Hi, I'm trying to get serial comms working with my arduino in arch linux. How should I go about this?
[19:37:28] <Lambda_Aurigae> first, you should probably ask in #arduino
[19:39:16] <brotatos> Lambda_Aurigae: they told me to come here.
[19:39:31] <Lambda_Aurigae> this is #avr
[19:39:45] <Lambda_Aurigae> you are asking about an arduino which may or may not be based on avr
[19:40:08] <brotatos> Lambda_Aurigae: ah, it uses an atmega328p
[19:40:43] <timemage> brotatos, if you mean what rootB said, i don't think that was directed at you. one actually. just forgot the /
[19:40:45] <Lambda_Aurigae> so you connect the atmega328p through a level converter to the serial port on your computer....or, you connect through some usb-rs232 adapter.
[19:41:39] <brotatos> timemage: oh woops
[19:41:41] * brotatos heads out
[19:41:43] <Lambda_Aurigae> then you run a terminal program on the computer
[19:41:56] <Lambda_Aurigae> or, you go back to #arduino I guess.
[19:43:10] <Bundestrojaner> Lambda_Aurigae: i feared problems because of the capacitance, that's why i've asked
[19:43:34] <Lambda_Aurigae> mostly the startup times might be a bit longer due to the extra capacitance.
[19:43:51] <Lambda_Aurigae> and you might run into some speed limits due to crappy breadboards.
[19:44:00] <Lambda_Aurigae> I regularly run at 16 and 20 MHz.
[19:44:13] <Lambda_Aurigae> have had some issues with some devices at 33MHz on some boards.
[19:44:41] <Bundestrojaner> atmega8 is for 16MHz anyways, are there faster ATMegas than 20MHz?
[19:44:48] <Lambda_Aurigae> no...
[19:44:53] <Lambda_Aurigae> fastest official is 20MHz.
[19:44:56] <Bundestrojaner> ATXMega is smd-only
[19:44:59] <Lambda_Aurigae> I've run some at 24MHz
[19:45:16] <Lambda_Aurigae> but I do play with some 8052 chips that run faster.
[19:45:18] <Bundestrojaner> k, i read they are nice to overclock^^
[19:45:56] <Lambda_Aurigae> I've run atmega32 at 20MHz and atmega1284p at 24MHz...only thing I had any problems with in doing that was the ADC.
[19:45:59] <Bundestrojaner> i have some stm32f0 and f4, but they are too much for most simple projects
[19:46:59] <Bundestrojaner> but i'm happy as long as i don't have to use Pics :p
[19:47:34] <Lambda_Aurigae> I like pic32 chips.
[19:48:02] <Bundestrojaner> i had to use Pic18F in school, i hated them
[19:48:16] <Lambda_Aurigae> yeah...not a big fan of pic18.
[19:48:21] <Lambda_Aurigae> pic32 is a mips4K core though.
[19:48:27] <Lambda_Aurigae> not a real pic core.
[19:48:38] <Bundestrojaner> k
[19:48:58] <Bundestrojaner> the stm32' Cortex M-Core is very nice
[19:49:13] <xrlk> i have arm mcus sitting in their boxes
[19:49:32] <Bundestrojaner> the problem is the shitload of mighty periphery^^
[19:49:46] <Lambda_Aurigae> the pic32mx270f256b is a 50MHz/83DMIPS 32bit mips core with 256K of flash and 64K of sram in a 28pin dip package...
[19:49:55] <Bundestrojaner> timers with >10 config-registers can be quite difficult
[19:51:11] <Bundestrojaner> the package is nice, the stm32 are quite hard to solder without reflow
[19:51:25] <Lambda_Aurigae> yeah.
[19:51:43] <Lambda_Aurigae> I tend to stick to through hole stuff...but I mostly do hobby stuff for the fun of it.
[19:52:05] <Bundestrojaner> on the other hand, so many IOs and multiple UARTS are very nice
[19:52:26] <Lambda_Aurigae> just wish AVR had hardware usb in a dip package....
[19:52:45] <Bundestrojaner> i love smd, 0805 fits perfectly on those boards with holes
[19:53:35] <xrlk> http://microscheme.org/
[19:54:02] <Lambda_Aurigae> aahh scheme.
[19:54:34] <Bundestrojaner> oh, it's very late here
[19:54:37] <Bundestrojaner> bye