#avr | Logs for 2014-10-29

Back
[03:55:18] <malinus> haha that abcminuser tweet to FTDI
[04:42:56] <Jartza> does anyone here have weller soldering iron that uses ES-tips?
[04:43:17] <Jartza> sorry, ET-tips that is
[06:47:14] <abcminiuser> Well you're all a lively bunch today
[06:47:54] <malinus> abcminiuser: nice tweet to FTDI, made me laugh
[06:47:56] <Roklobsta> still debugging the lightbulb? ;)
[06:48:14] <abcminiuser> malinus, I was a bit shocked they're destory their own company like that
[06:48:22] <abcminiuser> Literally couldn't do a better job of it if I tried myself
[06:48:31] <abcminiuser> Roklobsta, for now. Know anyone hiring in Melbourne?
[06:50:47] <LeoNerd> malinus: link?
[06:52:44] <malinus> LeoNerd: http://arstechnica.com/information-technology/2014/10/ftdis-anti-counterfeiting-efforts-sit-between-a-rock-and-a-hard-place/
[06:56:40] <LeoNerd> Ohyes, that one
[06:59:37] <twnqx> abcminiuser: i would say they are right
[07:00:05] <twnqx> why not make sure people stop buying fakes
[07:01:04] <abcminiuser> twnqx, seriously?
[07:01:12] <twnqx> xyes, seriously
[07:01:35] <abcminiuser> "Hey random person who bought a new <widget>, sucks to be you that the manufacturer bought fake chips (un)knowningly"
[07:01:38] <twnqx> also, any idea why atmel broke LUFA? :>
[07:01:52] <abcminiuser> How are the end users supposed to know what chip is in their consumer products?
[07:02:01] <twnqx> or rather, "did it knowingly because he knew he couldn't get original chips for that price"
[07:02:23] <abcminiuser> Fakes can make their way into legit supply chains
[07:02:41] <abcminiuser> No real way to know if your supplier bought a bunch off the back of a truck to satisfy demand without telling you
[07:02:47] <abcminiuser> It's not like it has FAKE written on it
[07:02:49] <twnqx> see, even better
[07:03:03] <twnqx> connect one to a windows pc with the right drivers and you'll know
[07:03:10] <twnqx> now you have a genuine check tool.
[07:04:00] <twnqx> not that i bought my ftdis from anywhere but digikey so far
[07:04:19] <twnqx> i would expect that they don't buy from the back of trucks
[07:05:17] <twnqx> also, having fake chips work badly at a customer is also not good for the company's reputation, and everything i read is saying that there are intermittent issues with the fakes
[07:09:25] <twnqx> seems he didn't like that thinking.
[07:16:22] <malinus> also I think that windows should delete your boot partition, if it discovers that either windows, or any of it approved software you are running is not genuine.
[07:17:05] <malinus> twnqx: becaues it's retarded :D
[07:17:37] <twnqx> so you say they should continue to provide support for hardware that's not theirs
[07:17:53] <twnqx> and just suck it up if people complain about bad performance of "their" devices
[07:18:48] <malinus> I think that if you are actually using windows, you shouldn't complain about windows update installing malware on your computer.
[07:18:49] <twnqx> i've even seen people who said that ftdi chips are "unstable crap, never buying that again"
[07:19:06] <malinus> Or at least, don't be fuckin suprised
[07:19:16] <twnqx> no, you shouldn't
[07:19:40] <twnqx> i just wish the detection was open sourced so it coul dget into linux drivers
[07:19:54] <malinus> it is
[07:20:02] <malinus> it was reversed engineered in one hour
[07:20:32] <twnqx> isn't THAT hard, even i have a USB analyzer these days
[07:20:43] <malinus> twnqx: take a look https://lkml.org/lkml/2014/10/23/151
[07:21:14] <twnqx> :/
[07:21:18] <twnqx> i wish it would have gone in
[07:21:27] <malinus> twnqx: also, the current linux drivers, already fixed the bricked devices
[07:21:33] <malinus> all automatically
[07:21:43] <twnqx> sucks
[07:21:56] <twnqx> lets all give active support to sounterfeiters!
[07:22:21] <malinus> let's all just stop using malware OS's!
[07:22:48] <twnqx> it's funny how it is illegal to buy fakes of brand clothing, sunglasses, watches etc
[07:23:01] <malinus> it's not in the EU
[07:23:04] <twnqx> but everyone cries out if badly working fake ics are rendered unusable
[07:23:15] <malinus> it's *not* illegal in most western countries, what are you talking about
[07:23:32] <twnqx> ever tried to get one via online shopping?
[07:23:39] <twnqx> if customs see it -> destroyed
[07:23:48] <twnqx> at least for germany, eu
[07:24:03] <malinus> it's illeal to *sell* fakes in 1st world countries
[07:24:17] <malinus> there is a big difference that neither you, nor FTDI seems to understand
[07:24:39] <twnqx> which is? badly working chips you are blamed for are actually GOOD for your business?
[07:24:56] <malinus> well I'm sure this move was GREAT for their business, hahaha
[07:25:22] <twnqx> if it means forgers stay away from them it will be
[07:25:47] <malinus> nope, their PR is ruined
[07:25:57] <twnqx> because they only have the best chips in the market? lol
[07:26:08] <Thrashbarg> why use an FTDI chip when you can just program an AVR to do the same
[07:26:22] <twnqx> show me the avr that can push 30+MB/s over usb 2.0
[07:26:40] <Thrashbarg> show me a serial port that does the same :P
[07:27:04] <twnqx> yeah, because ftdi's are only serial ports
[07:27:17] <twnqx> ft2232 is a great chip
[07:27:42] <twnqx> simple to use, very high performance, wide software support for about every use case
[07:28:11] <twnqx> regardless if it's the hardware jtag interface or just a high performance parallel bridge
[07:28:39] <twnqx> i just wish they's release a usb 3.0 version with a bit more oomph
[07:28:44] <malinus> only thin wrong with ft2232, is that FTDI made it
[07:28:51] <malinus> who would want to support those shitters
[07:28:56] <twnqx> me.
[07:29:04] <malinus> one of the few I guess
[07:29:13] <twnqx> i wouldn't support the shitters insisting to get support for their crap fakes
[07:29:28] <twnqx> without even paying anything
[07:29:34] <twnqx> i wouldn't work for free
[07:29:37] <twnqx> would you?
[07:29:59] <malinus> ofc. I contribute to free software from time to time.
[07:30:02] <malinus> :)
[07:30:05] <twnqx> me too
[07:30:08] <twnqx> mostly when it breaks on me
[07:30:16] <twnqx> or doesn't have a feature i want
[07:30:17] <Tom_itx> i work to support all the fucking loosers that want a free ride
[07:30:37] <twnqx> which in turn means that i get somehting make: software that suits my needs
[07:30:41] <twnqx> somehting back*
[07:31:08] <twnqx> possibly even without having to maintain it for the rest of my life
[07:31:47] <twnqx> do you randomly work on open source you have zero interest in, just because you can?
[07:32:27] <megal0maniac> Tom_itx: Amen to that
[07:33:23] <STS_Patrik> i like turtles
[07:33:30] <megal0maniac> Also, I'm going to assume that this counterfeit AVR is one which was "thrown out" because it failed QC
[07:37:22] <Thrashbarg> hmm well I think FTDI royally screwed up by trying to attack the counterfeiters through the users. Metallica did something similar with Napster. They could have done it much better...
[07:37:24] * Thrashbarg wanders off
[07:38:42] <twnqx> i might agree that bricking them wasn't nice, and can actually be considered illegal if it's not a side effect of broken firmware on that device
[07:39:05] <twnqx> if it's a side effect that doesn't cause the same change when run identically on their own chips.. tough luck
[07:39:15] <Thrashbarg> yup
[07:40:00] <Thrashbarg> the difference is if it's intentional
[07:40:00] <twnqx> i'd probably have those show up as "unsuuported - counterfeit" in the device manager.
[07:42:40] <malinus> yeah, it's all the driver updated did - brick the unsupported devices
[07:49:54] <Shavik|Work> Been using the ATMega chips for years now but am gettingcurious about the Atmel ARM chips. What is a good starting point to dabble in that world as opposed to the smaller chips that I've been using
[07:53:46] <twnqx> probably forst figure out what you need (programmer, software)
[07:53:49] <twnqx> first*
[07:54:13] <twnqx> i still have one of those super cheap TI arm baords for testing
[07:55:26] <twnqx> those come with an embedded programmer that even works with linux :)
[07:57:29] <LeoNerd> I believe the ARM ones are mostly JTAG
[08:00:26] <malinus> Shavik|Work: embrace the future http://www.ebay.com/itm/STM32F4-DISCOVERY-USB-STM32F407VGT6-STM32-ARM-Cortex-M4-Development-Board-/151247113759?pt=LH_DefaultDomain_0&hash=item233707ce1f
[08:00:30] <malinus> (past)
[08:00:56] <malinus> no need for programmer, all free development chain
[08:01:10] <malinus> enjoy your freedom and 180Mhz
[08:02:22] <Shavik|Work> Well like I said twnqx, I currently use atmel studio w/ avr isp mk2 and have a few devices under my belt
[08:02:36] <Shavik|Work> Primarily the 328 and UC3
[08:04:23] <twnqx> i don't think the isp mk2 can program their arms
[08:05:05] <twnqx> malinus: how do you program the naked chip on your own pcb?
[08:05:29] <twnqx> i was looking for an answer to that and only found proprietary programmers and st's windows software
[08:07:28] <twnqx> other than that, http://www.ti.com/ww/en/launchpad/launchpads-connected.html are like the same
[08:07:36] <twnqx> no need for extra hardware
[08:07:43] <malinus> twnqx: I just got that kit, so I'm no expert. But as far as I know, all the STM chips come with the STMLINK boolatader on it.
[08:07:49] <twnqx> ah
[08:07:49] <malinus> *bootloader
[08:10:11] <Shavik|Work> Yea, I'd probably need another programmer. I think one of our engineers here uses the dragon I think. doesn't that do the ARM's? I know it was $100+
[08:10:50] <twnqx> i doubt it, personally
[08:10:55] <twnqx> the jtagice can do it afaik
[08:11:16] <twnqx> but don't nail me on it, i haven't dealt with atmel's arms (yet)
[08:12:05] <malinus> Shavik|Work: not if you follow my advice...
[08:12:30] <Shavik|Work> Was looking for an Atmel option malinus
[08:12:39] <malinus> oh okay. May I ask why?
[08:12:55] <Shavik|Work> You aren't exactly going to be a fan of the answer I'm afraid
[08:13:05] <Shavik|Work> Preference
[08:13:27] <Shavik|Work> I'm designing medical devices
[08:13:32] <Shavik|Work> so I'm not trying to stray tooo far
[08:13:37] <Shavik|Work> if that makes any logical sense heh
[08:13:43] <Shavik|Work> Outside my own comfort zone that is
[08:13:55] <twnqx> might want to look into TI's lockstep arms, then :P
[08:14:13] <twnqx> there is no similarity between atmel's avrs and arms, if you ask me
[08:14:15] <malinus> I don't think you will feel more familiar with the 32-bit avr chips. But idk. haven't tried them
[08:14:17] <twnqx> except maybe AS...
[08:14:25] <malinus> oh, even twnqx agrees
[08:14:28] <twnqx> oh, 32bit avr?
[08:14:38] <twnqx> i thought you were looking for atmel's arms
[08:14:58] <Shavik|Work> I was looking for atmel arms yes
[08:14:58] <malinus> Shavik|Work: what kind of medical device?
[08:15:01] <twnqx> still, from the datasheets not too similar
[08:15:07] <malinus> ^
[08:15:17] <twnqx> as it "not at all" :P
[08:15:47] <Shavik|Work> malinus, class 2
[08:15:54] <malinus> yeah, imho. don't lock yourself into that kind of thinking. Just look at their specs and choose which one fits the best.
[08:15:59] <malinus> Shavik|Work: what is "class "?
[08:16:04] <Shavik|Work> FDA classification
[08:16:08] <Shavik|Work> one level under life support
[08:16:11] <Shavik|Work> not ventilator
[08:16:19] <Shavik|Work> but what those plug into
[08:16:20] <malinus> you can't say anything more?
[08:16:25] <Shavik|Work> I'd rather not
[08:16:34] <malinus> rather not? so you are not under any NDA?
[08:16:42] <Shavik|Work> I am somewhat yes
[08:17:41] <Shavik|Work> required to meet UL1069
[08:17:47] <Shavik|Work> That pretty much gives it away
[08:18:01] <Shavik|Work> So just as long as we have heartbeat's etc
[08:18:04] <Shavik|Work> we're covered
[08:18:10] <Shavik|Work> don't really need lockstep error detection
[08:18:14] <Shavik|Work> lol
[08:18:30] <Shavik|Work> Not designing a launch vehicle
[08:18:46] <malinus> heh
[08:19:06] <malinus> Shavik|Work: what is your position?
[08:19:33] <Shavik|Work> My position is an interested irc chatter :)
[08:19:43] <malinus> Shavik|Work: also, will you do the SW yourself too?
[08:20:00] <Shavik|Work> I am
[08:20:11] <Shavik|Work> So far I've done the PCB's and I'm writing SW as we speak
[08:20:13] <malinus> Shavik|Work: I'm asking because I hope to get a job in EE too one day. So I like to hear how a job can look like.
[08:20:26] <Shavik|Work> I am technically "senior developer"
[08:20:32] <Shavik|Work> but pretty much in charge of the systems design
[08:20:48] <Shavik|Work> from the linux servers at the top. all the way to the pcb schematics
[08:20:53] <malinus> Just wondering what kind of position allows you to both do some "real EE", but also some SW.
[08:21:02] <Shavik|Work> I started here when we had 6 people
[08:21:03] <Shavik|Work> just doing Perl
[08:21:09] <malinus> Shavik|Work: which country?
[08:21:12] <Shavik|Work> USA
[08:21:14] <malinus> aww
[08:21:16] <Shavik|Work> We have around 30 now
[08:21:25] <Shavik|Work> Been here almost 4 years
[08:21:41] <malinus> embedded+linux+SW+HW, that's my dream!
[08:21:47] <Shavik|Work> Mine too :)
[08:21:56] <Shavik|Work> I've pretty much forged my way in
[08:22:02] <Shavik|Work> 3 years of CS degree I worked on
[08:22:10] <Shavik|Work> didn't finish as I had a job opportunity I couldn't turn down
[08:22:20] <Shavik|Work> Took a year off work, made a huge project that got me the job here since I didn't have adegree
[08:22:33] <Shavik|Work> and i've pushed for us to expand into embedded systems which I of course pioneered here :)
[08:22:49] <Shavik|Work> Just all about making things happen
[08:22:53] <Shavik|Work> Anyway
[08:22:57] <Shavik|Work> Way off topic of atmel arms :P
[08:22:57] <malinus> what kind of project could get you into a job without a degree?
[08:23:07] <malinus> I really want to know :D
[08:23:10] <Shavik|Work> Just all about being able to back up what you speak
[08:23:48] <Shavik|Work> I spent a year building a online restaurant ordering system. I made everything from the website, to in store kiosk with app that printed recipts, etc. full touch screen with android app for delivery drivers
[08:24:03] <Shavik|Work> took around 11 months that I worked with no job building everyday, 15 hours a day
[08:24:29] <Shavik|Work> In my interview
[08:24:39] <Shavik|Work> I had the manager, place an order and I got the delivery notification on my phone ;)
[08:24:46] <Shavik|Work> He said, when can you start
[08:25:07] <Shavik|Work> College moved way too slow for me
[08:25:25] <malinus> Shavik|Work: interesting story. Thanks for sharing.
[08:25:35] <Shavik|Work> No problem
[08:25:39] <Shavik|Work> Hope I didn't spam too much
[08:26:13] <malinus> nah, we already spammed a page about FTDIgate ;P
[08:26:27] <megal0maniac> Hahaha FTDIgate
[08:26:28] <Shavik|Work> I find being observant and not missing opportunities is the same thing or better than being lucky
[08:26:57] <Shavik|Work> taking that leap and really not knowing if it'll work out.
[08:27:00] <Shavik|Work> Just work hard and it usually does
[08:27:09] <megal0maniac> Shavik|Work: Reading the scrollback, I agree
[08:27:12] <Shavik|Work> I'm only 25
[08:29:17] <Shavik|Work> Anyway, malinus, I'll check out that ARM you linked
[08:29:37] <Shavik|Work> I've gotta make a device that is powered by POE and can talk over ethernet networks
[08:29:44] <Shavik|Work> but needs to be very small and purpose built
[08:30:06] <twnqx> not sure if PoE can ever be small :P
[08:30:08] <malinus> well check it out. But also check out others ofc.
[08:30:37] <Shavik|Work> We've gotten it pretty small on other products. We just use ethernet modules on those. I was thinking about integrating all those parts into a single board
[08:32:00] <twnqx> modern arms with integrated ethernet should be able to make it a bit smaller
[08:32:21] <twnqx> espeically if the phy is embedded as well
[08:43:19] <Jartza> more pointers to pcb-assembly-houses needed!
[08:45:29] <LeoNerd> Assembly, as in SMTs on board?
[08:46:35] * twnqx points at solder iron
[08:53:33] <Jartza> LeoNerd: well... currently through-hole, but I can also design the board to use as much smd as possible
[08:54:01] <Jartza> the lcd is still only available as TH and I guess I would like to use TH audio jack and battery clip
[08:54:08] <Jartza> just for rigidity
[08:55:08] <LeoNerd> It was more a question of: are you looking for people to make the board itself, or to put components on it?
[08:55:28] <Jartza> well, either
[08:55:31] <Jartza> or both
[08:55:43] <Jartza> I mean, put components in it, but they can also make the board
[08:56:01] <LeoNerd> Board fab. is simple enough; lots of places do that. but total assembly is harder to arrange. And a lot more expensive.
[08:56:05] <LeoNerd> What kind of run size are you looking for?
[08:56:20] <Jartza> although I'm happy with hackvana boards, so I can use them too :)
[08:56:42] <Jartza> LeoNerd: around 200-500 at the moment, no idea actually
[08:56:53] <Jartza> might need more too.
[08:56:57] <LeoNerd> Ah.. probably enough to justify it then. and likely too much for doing it by hand :)
[08:57:04] <Jartza> yes :)
[08:57:16] <Shavik|Work> Been using Sunstone / Screaming Circuits
[08:57:19] <Jartza> I promised to solder 100 myself
[08:57:25] <Jartza> but not more than that
[08:57:29] <Shavik|Work> Great experience so far. Not the cheapest though
[08:57:42] <Shavik|Work> Interested to try oshpark and/or hackvana
[08:57:50] <Shavik|Work> but then again, I need assembly a lot of times
[08:59:24] <Jartza> I'm very happy with hackvana boards
[08:59:32] <Jartza> but he doesn't provide assembly
[09:18:39] <Shavik|Work> http://en.wikipedia.org/wiki/MIL-STD-1553
[09:18:44] <Shavik|Work> Thats an interesting standard
[09:27:56] <hackvana> Shavik|Work: Hi.
[09:28:14] <Shavik|Work> Hi hackvana
[09:28:15] <hackvana> I see Jartza's been talking about me.
[09:28:39] <Shavik|Work> Yea, someone was talking about you before. I autojoin your channel at home. Just hadn't done that here at the office
[09:30:30] <hackvana> I thought I recognised you. Would be good to hear you more in #hackvana, you've been too quiet :-)
[10:30:22] <Jartza> hackvana: I try to mention you whenever possible ;)
[10:30:40] <Jartza> just because I've been satisfied with the srvice and the product
[10:33:11] <hackvana> Jartza: Deeply appreciate it. Word of mouth is why I keep growing.
[11:19:38] <aczid> how were the device definitions for jtag/dw used in avarice recovered? I want to add a new device type and I have it working in atmel studio 6 (but not in older versions)
[11:29:37] <day> i like how they simply kicked out atmega8 support
[11:33:14] <aczid> hmm looking at the code it looks doable. but I don't have a full datasheet for my device :(
[15:06:11] <Shavik> so while I'm in no shortage of ideas of new boards to make at work. I'm struggling to come up with some good ideas / reasons to make some pcb's for my personal use. Anyone got any ideas or how do you (or do you) get ideas for personal projects
[15:08:03] <Tom_itx> christmas tree controller
[15:08:08] <Tom_itx> pumpkin flasher
[15:09:35] <Tom_itx> LIDAR
[15:09:50] <Shavik> One of those is not like the others
[15:10:53] <RikusW> having the technical knowhow is one thing, being creative is another....
[15:11:02] <Shavik> Yea. I'm struggling with creativity
[15:11:10] <Shavik> So practice my technical
[15:11:12] <Shavik> to*
[15:11:22] <megal0maniac> +1 RikusW
[15:11:33] <RikusW> look for a problem and come up with a solution
[15:11:50] <Shavik> It's easy at work. Managers bring me problems.
[15:11:57] <Shavik> I guess I need to practice finding problems
[15:12:36] <RikusW> megal0maniac: I'm considering doing a LCR meter for the U2S, will have to do some research into its feasibility
[15:13:19] <RikusW> Shavik: how about building some of your own tools ?
[15:13:41] <RikusW> I made -> http://sites.google.com/site/megau2s/
[15:14:04] <megal0maniac> Interesting idea. I thought about something like that too, but current/voltage/resistance. Just a simple multimeter
[15:14:05] <Shavik> Thats a good idea. I thought about making my own "dev board" for the atmega1284p
[15:14:30] <Shavik> Basically midground between arduino and arduino 2560
[15:14:53] <RikusW> megal0maniac: VILCR then ;)
[15:14:56] <Shavik> no arduino code of course. all avr there but easier to use platform for building semi-permanent projects
[15:15:03] <megal0maniac> Lolol
[15:15:08] <RikusW> but m32u2 doesn't have adc... :(
[15:15:18] <megal0maniac> I have an SPI ADC :)
[15:15:20] <Tom_itx> u4 does
[15:15:23] <megal0maniac> And a current sensor
[15:15:29] <megal0maniac> Tom_itx: Even my dodgy u4s
[15:15:31] <RikusW> megal0maniac: part nr ?
[15:15:49] <megal0maniac> Uhhh.. it's microchip something. One sec
[15:16:33] <RikusW> megal0maniac: you can actually modify U2S code to go on m32u4, the only mod is the usb code, and that is done in my altera usb blaster clone...
[15:17:15] <megal0maniac> Nifty
[15:17:32] <megal0maniac> I've got 3 u4 dev boards from ebay
[15:17:32] <RikusW> its a very small mod too..
[15:17:48] <RikusW> basically usb init code
[15:17:56] <megal0maniac> One of them won't drive SCK :P So either they're clones or they failed QC and were "thrown away"
[15:18:15] <megal0maniac> MCP4812
[15:18:50] <RikusW> thanks
[15:19:35] <megal0maniac> It's a cheap little thing. 10bit, 2 channel
[15:19:42] <megal0maniac> 8pin
[15:19:53] <RikusW> got it from mantech ?
[15:20:00] <megal0maniac> My AVR programming knowledge has basically doubled in the last week
[15:20:13] <megal0maniac> RS I think. Lecturer bought a bunch of them
[15:24:25] <RikusW> 4812 is a DAC..
[15:26:30] <megal0maniac> Oh damn
[15:26:41] <megal0maniac> My bad
[15:29:17] <RikusW> get the 4812 in MSOP :-D
[15:29:32] <RikusW> I can actually solder that, same pitch as the GTL2000
[15:29:37] <megal0maniac> Haha! I have it in PDIP
[15:29:43] <megal0maniac> I've done TQFP64 now
[15:30:10] <RikusW> using iron or hot air ?
[15:30:19] <RikusW> and .8 or .5 pitch ?
[15:31:07] <RikusW> 4812 DAC can be usefull too :)
[15:32:25] <megal0maniac> Iron. And I think .5, the u2 is .8 right?
[15:32:44] <RikusW> u2 is .8 yes
[15:32:50] <RikusW> which kind of tip ?
[15:33:04] <RikusW> there is .65 too
[15:33:37] <megal0maniac> EW-305
[15:34:29] <megal0maniac> Yeah it's .5
[15:34:49] <RikusW> and some solder braid ?
[15:34:59] <megal0maniac> Nope
[15:35:27] <RikusW> didn't it make solder bridges ?
[15:36:15] <megal0maniac> Tinned the pads, flux everywhere, then put the chip in place, applied pressure to 2 pins opposite each other to hold it, then pressed down on about 3 pins at a time until the solder melted and the pins sank in
[15:36:31] <megal0maniac> Worked nicely
[15:36:36] <RikusW> and got a EW-103 or EW-105 tip yet ? you'll be amazed how easily that solders smd ics
[15:36:47] <megal0maniac> No :( Keep forgetting
[15:37:07] <RikusW> if the board is hasl I don't tin the pads
[15:37:18] <RikusW> it makes placing the ic more difficult
[15:37:22] <megal0maniac> Cheap ebay board so I don't know :P
[15:37:42] <RikusW> was the pads already grey ? or copper ?
[15:38:06] <megal0maniac> Silver/grey
[15:38:25] <RikusW> probably tinned already
[15:38:38] <RikusW> flux makes all the difference
[15:38:46] <RikusW> can't have too much :-P
[15:39:19] * RikusW came across -> http://www.medicaljane.com/2014/10/16/south-carolina-girl-gets-first-dose-of-cbd-oil-to-help-treat-her-seizures/ seems to be a hot topic these days...
[15:41:33] <megal0maniac> Even in SA government :P
[15:42:21] <RikusW> seems so, but still illegal here...
[15:42:31] <megal0maniac> \o/
[15:42:39] <megal0maniac> Everything is working :D
[15:42:40] <megal0maniac> For now
[15:43:22] <megal0maniac> It's amazing how big your program can get if you have UART debug information. Strings are expensive...
[15:43:31] <RikusW> heh
[15:43:45] <RikusW> just make sure its in flash, not ram...
[15:44:00] <RikusW> gcc has the nasty habit of placing it in ram by default :/
[15:44:15] <RikusW> actually loading from flash to ram at init
[15:44:20] <megal0maniac> Yeah, you have to set up progmem
[15:44:33] <megal0maniac> I don't mind though. I'm using 30% of the RAM maybe
[15:44:38] <megal0maniac> And it's just for debug
[15:44:51] <megal0maniac> Plus I'm using sprintf so my strings are dynamically generated
[15:48:07] <RikusW> http://en.wikipedia.org/wiki/Osmotic_power
[15:54:01] <megal0maniac> That's pretty cool
[15:55:05] <megal0maniac> Ooh, a challenge
[15:56:04] <megal0maniac> I'm receiving a packet. The packet is 8bytes, which I know means 4 bytes of data or 2 channels (start byte, end byte, ID for each channel and 2 bytes of data)
[15:57:28] <RikusW> I'd say the id is redundant...
[15:57:40] <megal0maniac> I need to put this into the expected format to be transmitted over serial, which is a string. If I use sprintf to build the string, then the string is a static length and can't vary depending on the number of channels
[15:58:00] <megal0maniac> The ID is the type (maybe that's a better word for it) and determines how the data should be interpreted
[15:58:09] <RikusW> ah
[16:21:21] <thomasqbrady> Anybody here use AVR Dragon on a Mac?
[16:21:26] <megal0maniac> Eh. I just split it up, realised I don't have to transmit everything all at once
[16:22:44] <Tom_itx> thomasqbrady you could with avrdude
[16:28:25] <thomasqbrady> Yeah, I'm trying to use avrdude, but my dragon doesn't seem to be recognized on my Mac
[16:28:31] <thomasqbrady> Getting: avrdude: usbdev_open(): did not find any USB device "usb"
[16:28:46] <thomasqbrady> it's not showing up anywhere in /dev
[16:31:04] <Tom_itx> did you install crosspack?
[16:31:32] <Tom_itx> http://www.obdev.at/products/crosspack/download.html
[16:40:50] <thomasqbrady> Yeah, I tried that. Prefer avrdude via Homebrew
[16:41:33] <thomasqbrady> Oh, just got it working! So, it's not showing up in /dev at all... but I was specifying the wrong programmer via the -c flag (didn't realize it because I'm running a bash script, and was looking at the wrong line)
[16:41:52] <Tom_itx> heh
[16:42:30] <Tom_itx> if you read the avrdude docs you can address dragon more than one way iirc
[16:42:42] <Tom_itx> depending what you want to do
[17:08:39] <megal0maniac> I'm getting a very strange problem
[17:09:00] <megal0maniac> I only get the value for the first conversion that the ADC performs after powerup
[17:09:40] <megal0maniac> ADCL and ADCH don't change even if I initiate a new conversion and the interrupt flag goes high, indicating completion
[17:11:45] <megal0maniac> Also, my minimum value is 3 and my max is 1017 instead of 0 and 1023
[18:35:49] <megal0maniac> abcminiuser: Hey, have you got a minute?
[18:36:15] <megal0maniac> Or anyone else who might know and is awake
[18:36:36] <Lambda_Aurigae> know what and awake is a relative term.
[18:36:47] <megal0maniac> I'm getting there ;)
[18:37:19] <megal0maniac> My ADC data registers are only set once after power up. Never again, until the chip is reset.
[18:38:49] <megal0maniac> Even if I set the ADSC (start conversion) bit explicitly (not the convert function which contains it)
[18:39:05] <megal0maniac> And it manages to get out of while(!(ADCSRA & (1 << ADIF)));
[18:40:08] <megal0maniac> The ADC does work because it samples the value on powerup
[18:40:21] <megal0maniac> I've swapped chips with the same result
[18:40:24] <abcminiuser> (Was on a conf call, working from home today had three hours sleep)
[18:41:01] <Tom_itx> abcminiuser, what's this i hear about studio breaking LUFA?
[18:41:39] <abcminiuser> Wha?
[18:41:46] <megal0maniac> Any ideas anyone?
[18:41:53] <Tom_itx> that's what i'm hearing
[18:42:10] <megal0maniac> 13:42 < twnqx> also, any idea why atmel broke LUFA? :>
[18:42:49] <Tom_itx> <twnqx> Tom_itx: i had a discussion yesterday
[18:42:49] <Tom_itx> <twnqx> with a friend of mine, whining about as 6.2
[18:42:50] <Tom_itx> <twnqx> they changed the protocol
[18:42:50] <Tom_itx> <twnqx> compared to 6.0
[18:42:50] <Tom_itx> <twnqx> AS6.0: 0x01 0x03 0x03 0x03 0x03
[18:42:50] <Tom_itx> <twnqx> AS6.2: 0x01 0x31 "CMD_LEAVE_PROGMODE_HVSP"
[18:42:50] <Tom_itx> <twnqx> etc etc etc
[18:43:09] <Tom_itx> abcminiuser, know anything about that?
[18:43:53] <Tom_itx> i'm not doing HVSP though... some are trying to
[18:45:13] <abcminiuser> megal0maniac, you should perform a couple of conversions to flush the ADC pipeline
[18:45:30] <abcminiuser> IIRC there's a note in the manual about it, the first few conversions after init are junk
[18:45:42] <Tom_itx> yeah i've heard that as well
[18:45:57] <Tom_itx> true of just about any adc i think
[18:46:00] <abcminiuser> Tom_itx: wha?
[18:46:03] <abcminiuser> Hrm
[18:46:17] <Tom_itx> any ideas?
[18:46:18] <abcminiuser> I did test with 6.2 here a month back, worked fine
[18:46:18] <megal0maniac> abcminiuser: I get exactly the same value every single time. Doesn't matter how many conversions.
[18:46:39] <abcminiuser> megal0maniac, got to be a setup issue then, that doesn't sound very ADC'y
[18:46:43] <Tom_itx> 6.2 works fine here too although i don't have the latest patches
[18:46:53] <megal0maniac> It really doesn't
[18:47:05] <megal0maniac> I'm just at a loss for what to look for now
[18:47:31] <abcminiuser> Tom_itx, I installed the latest patches the other day, I'll re-test tonight
[18:47:41] <abcminiuser> That said, LEAVE_HVSP isn't valid for an AVRISP-MKII
[18:48:12] <Tom_itx> well i think some guys are messin with HVSP HVPP programmer code
[18:48:44] <Tom_itx> i personally haven't experienced any problems
[18:52:07] <megal0maniac> This is ridiculous
[18:53:02] <N1njaneer> megal0maniac: What is your prescaler division for the ADC set to?
[18:54:50] <megal0maniac> N1njaneer: 128, which gives 125khz with F_CPU at 16M
[18:54:59] <megal0maniac> Which is less than 200khz
[18:55:05] <twnqx> good morning *yawn*
[18:55:17] <megal0maniac> And it was working without a prescalar (well, /2 which is default) before
[18:56:09] <megal0maniac> I'm going to make a blank project which reads the value and spits it out over serial
[18:56:28] <megal0maniac> I *need* to finish this tonight. And it's 01:36 already
[18:57:33] <N1njaneer> megal0maniac: Okay, wanted to check. Running the ADC too fast will give wonky results. Got bit by that before.
[18:58:05] <megal0maniac> Yeah, I tried hitting the prescalar hard when I started having this problem
[18:58:07] <megal0maniac> But no joy
[18:58:46] <megal0maniac> Also, curiously, my min value is 3 and max is 1017
[18:58:48] * abcminiuser shower, back in 10
[18:58:59] <megal0maniac> When connecting the pin directly to VCC/GND
[18:59:18] <megal0maniac> And I could reliably get 0-1023 when it was workin
[18:59:19] <megal0maniac> g
[19:00:37] <twnqx> you blew the ADC? :X
[19:00:46] <megal0maniac> twnqx: Same thing on another chip
[19:00:51] <twnqx> hm ok
[19:00:54] <megal0maniac> It converts. But only once
[19:01:14] <N1njaneer> megal0maniac: Are you running it in free-run mode and/or have you tried it in free-running mode?
[19:01:31] <N1njaneer> I've always had a bit of fiddling to get the ADC set up, but then it always works correctly.
[19:01:46] <megal0maniac> N1njaneer: I did try that with no luck. Busy putting together a new project though, should eliminate any conflicts
[19:03:50] <N1njaneer> megal0maniac: Dump your code to a pastebin if the new project doesn't help fix it and I can help you look at the ADC setup if you like :)
[19:04:10] <megal0maniac> Will do, thanks
[19:16:55] <megal0maniac> Okay I give up http://pastebin.com/NwmkUnje
[19:19:21] <N1njaneer> Mega: Which AVR?
[19:19:28] <megal0maniac> 32u4
[19:21:22] <N1njaneer> So confirming (as I read the setup) --
[19:21:43] <N1njaneer> Using AVCC with exteral cap on the AREF pin?
[19:22:10] <N1njaneer> So AVCC is attached to VCC (or some voltage) and there is a cap attached to AREF to ground?
[19:22:42] <megal0maniac> Correct
[19:22:53] <N1njaneer> Are you are attempting to read from ADC6?
[19:23:07] <megal0maniac> That was the last one I tried
[19:23:17] <megal0maniac> Also 11 and 4
[19:25:04] <N1njaneer> Okay, ADC enabled and 128 prescalar set
[19:25:59] <N1njaneer> megal0maniac: Have you tried turning off High Speed mode? I've never personally used it.
[19:26:19] <megal0maniac> Yip, it was off before.
[19:26:20] <malinus> just remember, it has to be like max 200khz or so
[19:26:28] <malinus> (the adc speed)
[19:26:31] <megal0maniac> malinus: Yip, it's at 125khz
[19:26:38] <megal0maniac> Well actually 0hz
[19:26:49] <malinus> that's too slow :D
[19:27:16] <megal0maniac> I know!
[19:27:25] <megal0maniac> I don't what the issue is :/
[19:34:26] * N1njaneer slaps abcminiuser around a bit with a large trout
[19:34:44] <N1njaneer> Oops! What button was that? mIRC, you crazy.
[19:34:57] <N1njaneer> megal0maniac: Hold on, still looking. Time-division multiplexing here.
[19:37:41] <N1njaneer> megal0maniac: Are you using free-running mode?
[19:37:43] <megal0maniac> No rush. I'm busy with the frontend for the time being
[19:37:48] <megal0maniac> No
[19:38:09] <N1njaneer> Then why are you setting it as such in ADCSRB?
[19:39:12] <megal0maniac> I don't see it. I've only set ADHSM in that register
[19:39:16] <N1njaneer> Also, is there a reason in your application NOT to use it?
[19:39:44] <megal0maniac> Actually no
[19:39:59] <N1njaneer> megal0maniac: Yes, since you are only setting ADHSM, ADTS0 thru ADTS3 are all zero, which specifies free running mode.
[19:40:01] <megal0maniac> But switching on DATE didn't help
[19:40:31] <megal0maniac> Free-running mode also requires DATE. Without it, it's just a regular, manually triggered ADC
[19:40:47] <N1njaneer> You need to set ADATE and ADSC to get it moving
[19:41:02] <N1njaneer> I always just use free-running mode with auto-triggering.
[19:41:22] <N1njaneer> Only time it gets a bit more complex is if you have to change the mux, since you have a delay before reading another channel.
[19:41:36] <N1njaneer> But if free-running is set, you can just read ADC(H/L) any time.
[19:42:03] <N1njaneer> Also, you CAN just read ADC as a 16-bit number w/o splitting in to high/low if that helps :)
[19:43:48] <N1njaneer> megal0maniac: Also -- I think I may have found your problem
[19:44:17] <N1njaneer> while(!(ADCSRA & (1 << ADIF))); -- this will wait while ADIF is ZERO, you want it to wait while ADIF is ONE, so try dropping the !
[19:44:38] <megal0maniac> Do I?
[19:44:41] <N1njaneer> 24.9.2 -- "ADSC will read as one as long as a conversion is in progress. When the conversion is complete,
[19:44:41] <N1njaneer> it returns to zero"
[19:44:56] <megal0maniac> ADIF != ADSC though
[19:45:10] <megal0maniac> And everything else works so it isn't getting stuck
[19:45:14] <N1njaneer> Or, sorry.
[19:45:25] <N1njaneer> Oh, sorry -- try making the while wait on ADSC
[19:45:35] <N1njaneer> You aren't using interrupts.
[19:45:43] <megal0maniac> I did :( But I'll try again
[19:45:49] <megal0maniac> Yeah, was just making use of the flag
[19:45:56] <N1njaneer> ADSC is the bit you want to check for conversion being finished.
[19:46:18] <N1njaneer> You set ADSC to start the conversio, then wait for ADSC to become zero when conversion is finished.
[19:47:02] <N1njaneer> ADIF is only cleared when the interrupt fires OR you specifically write a 1 to it to clear it.
[19:47:33] <megal0maniac> Uh... okay? The chip is stuck now. Presumably in that while loop :/
[19:47:35] <N1njaneer> So you MIGHT be able to use it how you are thinking, but you would have to specifically clear ADIF by writing it to a one in order to reset it. Better to just use the ADSC I would think.
[19:47:51] <N1njaneer> Does it still have the ! in there?
[19:47:55] <megal0maniac> Nope
[19:48:01] <megal0maniac> while(ADCSRA & (1 << ADSC));
[19:49:27] <megal0maniac> Okay, another approach
[19:49:47] <N1njaneer> Honestly I would just let it free-run, and read "ADC" whenever you need the value.
[19:49:49] <megal0maniac> I'll set ADATE in config function, and ADSC at the end
[19:49:59] <megal0maniac> And a 10uS delay just because
[19:50:16] <N1njaneer> If it's auto-running, you don't have to do ANYTHING other than read the ADC data register.
[19:51:07] <megal0maniac> I have no idea why I didn't use free-running before :/
[19:51:27] <hackvana> Twiddle the PARKOUR bit
[19:51:32] <N1njaneer> Also, worth setting DIDR0/DIDR2 on the pins you are using for ADC inputs
[19:52:04] <Tom_itx> http://tom-itx.ddns01.com:81/~webpage/how_to/atmega168/mega168_adc_index.php
[19:52:12] <Tom_itx> that's how i did it
[19:52:19] <N1njaneer> megal0maniac: Other question worth asking... Are you using JTAG?
[19:52:34] <N1njaneer> If you are NOT using JTAG, have you *disabled* JTAG? As it overlaps ADC4-7
[19:52:51] <megal0maniac> Yes, it's disabled
[19:52:54] <Tom_itx> ADCSRA |= (1<<ADSC);
[19:52:56] <Tom_itx> while(ADCSRA & (1<<ADSC));
[19:52:58] <N1njaneer> If you haven't turned it off, the ADCs won't work no matter what you do :)
[19:54:33] <N1njaneer> Beyond that, your setup and code looks fine.
[19:54:53] <megal0maniac> Uhhhhh....
[19:54:56] <megal0maniac> It's working
[19:54:58] <megal0maniac> BUT
[19:55:11] <megal0maniac> it takes about 5 seconds to update
[19:55:29] <megal0maniac> Imma kill those prescalars and see what happens
[19:55:41] <N1njaneer> It shouldn't.
[19:56:19] <N1njaneer> Check your application code that's receiving the packets you are sending out?
[20:00:36] <megal0maniac> It's weirdly slow to update, and it wasn't before
[20:01:35] <megal0maniac> I'm getting the transmitter to print to serial and it's consistent with the receiver. I've connected a pot and there's easily a 1s delay
[20:02:09] <N1njaneer> Is it like a buffered delay, though?
[20:02:22] <N1njaneer> So if you start turning the pot, then stop, you see it start, then stop, delayed?
[20:02:33] <megal0maniac> No
[20:02:44] <megal0maniac> I see it go from 500 to 900 in a single jump
[20:03:47] <megal0maniac> Earlier I had for(i=0; i < ADCH; i++) UARTTX('=');
[20:03:58] <megal0maniac> And I was making nice waves with the pot
[20:04:11] <megal0maniac> (with a new line after the loop)
[20:04:21] <N1njaneer> The ADC shouldn't be delaying like that.
[20:04:35] <N1njaneer> What does the rest of your code look like? SENDPACKETVAR() and such?
[20:04:47] <megal0maniac> There's a lot
[20:04:47] <N1njaneer> I don't see any port or pin configs, etc
[20:04:49] <megal0maniac> And it's dirty
[20:05:00] <N1njaneer> Do you have any debugging LEDs?
[20:05:12] <megal0maniac> I do
[20:05:40] <N1njaneer> I would comment out all of the packet code, and add a quick software PWM routine
[20:06:06] <N1njaneer> basically do a counter that is constrained to 10 bits, then if(ADC > counter) then LED ON, else LED OFF
[20:06:42] <N1njaneer> Run that, move your pot, see if you can see an immediate "brightness" change in the LED from duty cycle.
[20:06:58] <N1njaneer> Also, I assume your pot is wired as a voltage divider between VCC and GND?
[20:07:49] <N1njaneer> Like, not set up as a rheostat just to VCC or whatever
[20:08:55] <megal0maniac> Yip, voltage divider
[20:09:14] <megal0maniac> I haven't touched PWM before, so I'd rather not do that
[20:09:20] <megal0maniac> I'm trying a known good chip though
[20:09:25] <N1njaneer> You aren't using hardware PWM
[20:09:37] <N1njaneer> You are providing a single line of code that will vary the LED based on the ADC value
[20:10:12] <N1njaneer> Else just set the LED if the ADC value is >512, else off.
[20:10:25] <N1njaneer> Then move the pot over the threshold and observe it to react instantly, etc.
[20:17:40] <N1njaneer> Any luck?
[20:18:59] <megal0maniac> Was just about to comment on the erratic behaviour of the LED, but count is 8 bit and ADC is 10
[20:20:23] <megal0maniac> Okay it's mapped weirdly but it's responsive
[20:20:35] <megal0maniac> And the known-good chip is doing the same thing
[20:21:20] <N1njaneer> Are you getting instantaneous responses? The point here is to narrow down the criteria of where the problem could be.
[20:21:28] <megal0maniac> Yes, I am
[20:21:49] <N1njaneer> Okay, so the delay problem would seem to be in your packet transmitting code?
[20:28:00] <megal0maniac> Looks like it. I'm playing with delays and seeing where the congestion might be
[20:28:24] <megal0maniac> One weird thing, though. My values range from 31-992 and not 0-1023. Any thoughts?
[20:28:53] <learath> that's normal
[20:29:01] <megal0maniac> learath: Oh?
[20:29:23] <N1njaneer> The ADC isn't ideally perfect, nor is your pot.
[20:29:25] <megal0maniac> Like if I connect the ADC pin to GND or VCC directly, I still get those values
[20:29:43] <learath> 31-992 isn't great, but it's a cheap ADC :P
[20:29:52] <N1njaneer> Read over the sections about the ADC versus linearity and accuracy.
[20:31:53] <megal0maniac> Earlier today I was getting 0-1023 with this setup
[20:32:47] <N1njaneer> Prescalar still at 128?
[20:33:06] <N1njaneer> Also, try disabling high-speed mode?
[20:38:05] <Tom_itx> are you reading the high low or the full 16bit value?
[20:38:34] <N1njaneer> He's reading the full 10-bit value
[20:39:55] <Casper> question: how does oversampling work? due to noise? or there is some darker stuff behind that?
[20:40:38] <Casper> atmel claim that they can get 16 bits of resolution with the 10 bits adc with oversampling for their qtouch stuff...
[20:40:49] <Casper> which I fail to visualise how that can be done
[20:41:08] <N1njaneer> I assume possibly by just averaging.
[20:42:20] <megal0maniac> Sorry, dodgy internet
[20:42:25] <megal0maniac> zlog
[20:42:45] <Casper> yeah, but 63.2 would always read 63 no? any averaging of reading will always give the integer? or is the magic is noise?
[20:43:14] <megal0maniac> The wireless link is now 8x the speed :P
[20:43:27] <megal0maniac> Still choppy but it's hard to pin-point where
[20:44:28] <N1njaneer> Casper: One idea would be to shift the 10-bit result left by six bits, then average successive samples, etc. Then you can in theory average out noise, etc to get a finer resolution result.
[20:44:41] <N1njaneer> Assuming the sample is slow-moving
[20:44:47] <N1njaneer> er signal
[20:46:13] <Casper> N1njaneer: so the magic there is noise... so if you have a clean signal and adc then oversampling won't work then
[20:46:54] <N1njaneer> Well the ADC architecture on the Atmel is a successive approximation type if I recall correctly, so it may have inherent error.
[20:47:34] <megal0maniac> I've taken out all delays, the transmitter waits for ACK before it transmits again so it shouldn't be necessary
[20:47:43] <megal0maniac> And now it seems to be better
[20:48:08] <megal0maniac> And moving from 250kbps to 2mbps helped a little. Less than I would have thought
[20:48:20] <N1njaneer> There as differings kinds of ADC/DAC architectures. Whole reason why you can use a delta-sig to convert two and from a 24-bit number without a problem, but you are significantly limited in sample rate -- usually to about 200Khz, and you have a massive amount of out-of-band noise filtering that needs to be done.
[20:48:56] <N1njaneer> Other architectures like R2R can go up to billions of samples per second, but usually not better than 8 bits or depth or so.
[20:49:04] <N1njaneer> All trade-offs.
[20:49:34] <N1njaneer> Have to understand the requirements of your application, and the strengths and weaknesses of different architecture choices.
[20:50:25] <Casper> k
[20:50:51] <Casper> bbl
[20:51:09] <megal0maniac> N1njaneer: Thanks for the guidance. I think it's as good as it will get now. Ideally I should switch to interrupt-driven for this but time is not on my side
[20:52:22] <N1njaneer> Avoid interrupts if you can. They can be convenient, but introduce other problems. Don't use interrupts just for the sake of using interrupts :)
[20:52:53] <megal0maniac> N1njaneer: Really? I thought they were the way to go
[20:53:03] <N1njaneer> Again, depends on the needs.
[20:53:10] <megal0maniac> I'm polling for daaaaaays, so I figured I could save some processing time
[20:53:37] <N1njaneer> Interrupts can introduce non-deterministic behavior and add the additional overhead of needing to look at synchronization.
[20:53:58] <megal0maniac> Wouldn't be an issue for this project, at least
[20:54:10] <N1njaneer> They're great for infrequent events on AVR, but if you have them firing at a high rate of speed they can waste a lot of clock cycles in the overhead handler.
[20:54:47] <N1njaneer> And then needing to make sure you are making appropriate use of critical sections, volatiles, and/or semaphores for data exchance, since they introduce asynchronicity.
[20:54:52] <megal0maniac> Ah, hence the non-deterministic behaviour
[20:55:23] <N1njaneer> Unfortunatly AVR's instruction set has no atomic test-and-set instructions, so it's up to you to handle that.
[20:56:28] <megal0maniac> Doesn't avr-libc handle atomicity?
[20:56:36] <megal0maniac> I know you can make atomic blocks
[20:57:16] <N1njaneer> Certainly.
[20:57:30] <Duality> compiling on my old laptop gets it hot :)
[20:57:32] <N1njaneer> It's just move instruction overhead :)
[20:57:35] <N1njaneer> +more
[20:57:42] <megal0maniac> Ah, I see
[20:57:53] <megal0maniac> Haha it's nearly 4am
[20:57:55] <N1njaneer> My whole statement was just that AVR has no atomic test-and-set instructions :)
[20:57:57] <megal0maniac> fml
[20:58:03] <megal0maniac> Yes, true
[20:58:18] <megal0maniac> Although I haven't dealt with interrupts much. Just basic stuff
[20:58:19] <N1njaneer> Other architectures do, for exactly helping with these kind of synchronization challenges :)
[20:58:24] <Tom_itx> it's no where near 4AM!
[20:58:33] <megal0maniac> Tom_itx: You're in the wrong country my friend
[20:58:37] <Tom_itx> hah
[20:58:51] <megal0maniac> Yeah, we're friends now. That happened
[20:58:58] <N1njaneer> There's not much to them, however usage is always the trick because they can introduce split operations in code behaviour that are nearly impossible to track down unless you can look at them from an abstract sense.
[21:00:29] <megal0maniac> Well my next challenge (NOT part of this project) is I2C
[21:00:46] <megal0maniac> So that should be a reasonable primer to slightly more complicated stuff
[21:00:56] <Tom_itx> master or slave?
[21:01:10] <megal0maniac> Master
[21:01:23] <N1njaneer> megal0maniac: Use SPI if you can avoid I2C.
[21:01:39] <megal0maniac> I know SPI well, but I'm doing this to learn :)
[21:01:44] <N1njaneer> WAY easier to use and debug, much faster, many more devices out there that can use it.
[21:01:46] <Tom_itx> http://tom-itx.ddns01.com:81/~webpage/avr/i2c/
[21:01:49] <Tom_itx> read over that
[21:02:02] <N1njaneer> I2C is... painful... without a logic analyzer or digital scope.
[21:02:06] <Tom_itx> dallas clock code
[21:02:16] <megal0maniac> I've got my faithful saleae
[21:02:23] <Tom_itx> mmmm saleae!
[21:03:01] <N1njaneer> Saleae is excellent for I2C debug. Go forth, then!
[21:03:37] <Tom_itx> too bad their updates don't work on my linux
[21:03:40] <N1njaneer> I2C is just a nightmare to debug if you don't have something that will let capture the transactions, let alone decode them.
[21:04:59] <Duality> Saleae rules :) just so bad they cost so much .. but they are worth thier money
[21:05:13] <megal0maniac> The new ones are way cool
[21:05:22] <Tom_itx> are they out now?
[21:05:45] <megal0maniac> And they used to do student discounts, they might still do. I got $50 off mine
[21:05:55] <megal0maniac> Not sure
[21:43:55] <Shavik> Anyone know of some nice latching toggle switches that aren't say more than $10?
[21:44:05] <Shavik> Seems all the nice ones are like $50-250 or even higher
[21:52:23] <Tom_itx> size? voltage? current?