#avr | Logs for 2013-05-26

Back
[00:01:08] <robotustra_> so, you have GND wire anyway...
[00:01:31] <TechIsCool> not right now but I could solder one on
[00:03:10] <robotustra_> ok
[00:04:37] <robotustra_> actually your wiring is just a grid of 2x2 wires
[00:04:46] <robotustra_> that's it
[00:11:35] <robotustra_> go sleep
[02:01:51] <Qantourisc> When using the timer, I wish to obtain 2 uint8_t's, wait I might be lying :p
[02:02:30] <Qantourisc> I should just map th uint8_t to the raw address
[02:03:12] <Qantourisc> hmmm how do I even do this dirty magic, I only know PROPER C :)
[02:35:08] <Qantourisc> What type is used to index the bus ?
[02:36:23] <specing> Qantourisc: it is already mapped to uint8_t's
[02:37:13] <Qantourisc> I know, but most libs read out it as int16 ? But turns out (according to internet) compilers are smart enough to compile uint8_t <<8 to the assemby tricks.
[02:37:53] <specing> << 8 compiles straight to byte access
[02:38:29] <Qantourisc> good, then I don't need tricks
[02:38:41] <Qantourisc> just wondering how fat the addressing pointers are
[02:40:02] <Qantourisc> Or I could rephrase the question, IS: array[1024]; array[ (uint16_t) ]; slower then array[255]; array[ (uint8_t) ]
[02:40:36] <specing> should be faster if array is 256-byte aligned
[02:40:50] <specing> and an array of 8-bit types
[02:41:16] <Qantourisc> ok, then i'll got for an IF + 256 :)
[02:41:33] <Qantourisc> hmmm
[02:41:37] <Qantourisc> how do I allign it :/
[02:41:48] <Qantourisc> I must copy it to ram to be 100% certain correct ?
[02:42:46] <Qantourisc> ow, right I should even copy it to ram, since otherwise when getting it from program-data, the program-data counter has to jump all over the place ?
[02:42:57] <Qantourisc> (which mean no short jumps)
[02:43:02] <Qantourisc> (assuming AVR has those)
[02:45:16] <Qantourisc> C feels a lot dirtier :)
[02:45:30] <Qantourisc> more hacking, and premature optimalizations :)
[03:03:31] <specing> Qantourisc: Yes, C is badly designed
[03:03:58] <specing> unfortunately the world hasn't come up with a proper language yet
[03:04:13] <Qantourisc> hehe :)
[03:04:28] <Qantourisc> specing: well is is messy, but with avr, when on a cycle budget, it's even harder
[03:04:30] <specing> so if you have some time, do it
[03:04:57] <Qantourisc> I should stay witing 200 cylces per loop
[03:05:02] <Qantourisc> less is better :)
[03:12:21] * Qantourisc is looking at a nice sinus now
[03:43:21] <abcminiuser> GOOD MORNING SAIGON!
[03:43:55] <megal0maniac> hello
[03:45:10] <megal0maniac> abcminiuser: Do you ever actively quit irc?
[03:45:45] <abcminiuser> I just leave up on my PC in the background
[03:46:00] <abcminiuser> Need to see what the plebians are saying about me...
[03:46:25] <abcminiuser> Remember, The Internet: Serious Business
[03:47:20] <megal0maniac> Because I only ever see Ping timeout :)
[03:47:31] <abcminiuser> I just sleep my PC :P
[03:47:42] <abcminiuser> In retrospect, I guess I should actually quit
[03:47:45] <abcminiuser> But...one button
[03:48:06] <megal0maniac> I don't run IRC on my PC
[03:48:12] <megal0maniac> It live on my router
[03:48:16] <megal0maniac> *s
[03:48:36] <megal0maniac> So I can sleep my pc, and still monitor the plebians ;)
[03:49:55] <abcminiuser> Wifi only here, and no other PC (or control over the router)
[03:50:22] <megal0maniac> mitm?
[03:52:32] <megal0maniac> That's what I did at uni, when I cracked the WEP key and wanted to share internet without sharing the key :P
[03:52:50] <megal0maniac> What is the point of WEP anyway?
[03:54:08] <megal0maniac> Granted, irssi on the router is a slight pain to set up, but once it's running...
[04:44:10] <Tabaliah> .
[06:21:19] <beaky> hello
[06:21:38] <beaky> my ATmega8515L won't wake up :( what is wrong?
[06:23:31] <RikusW> https://plus.google.com/photos/102342595285863325267/albums/5882180236603215553/5882180241026924130?authkey=CPPmprrvxuzx-QE
[06:24:01] <RikusW> its sleepy :-P
[06:31:47] <beaky> ah
[06:31:55] <beaky> I think it died
[06:36:06] <twnqx> i think you killed it :(
[06:39:39] <beaky> bah why do I always kill my chips
[06:40:27] <beaky> I am so careless
[06:41:23] <RikusW> I've been using AVRs for over 4 years now and only killed one because of a faulty PSU...
[06:41:33] <twnqx> i killed one fpga
[06:41:43] <RikusW> an expensive one ?
[06:41:47] <twnqx> because i designed a connector badly and put 5V on the 2.5V rail
[06:42:00] <RikusW> beaky: I suggest you go read the absolute maximum ratings in the AVR datasheet
[06:42:09] <RikusW> ouch
[06:42:31] <RikusW> I once plugged an ISA card in the wrong way....
[06:42:40] <RikusW> (homebuilt ISA card..)
[06:42:45] <twnqx> the fpga wasn't really expensive
[06:42:48] <twnqx> 10€ or so
[06:42:56] <RikusW> +-12V aren't kind to 74LS chips...
[06:43:29] <twnqx> but altogether... PCBs made in germany (no seeed at that time), level shifters, power supply chips, ...
[06:43:31] <RikusW> iirc I blew the 8088 board and my card
[06:44:23] <beaky> i was using stk500
[06:44:31] <beaky> with 1A 12V supply
[06:44:39] <twnqx> and i won't even attempt to salvage 0.4mm pitch chips
[06:45:48] <RikusW> beaky: the stk500 does have its own regulator, it can even take AC afaik
[06:46:15] <beaky> wow i need to read up on that magical regulator
[06:46:23] <twnqx> Oo
[06:46:25] <twnqx> oO
[06:47:31] <GuShH> o.o
[06:47:43] <RikusW> beaky: there is schematics available for the stk500
[06:47:46] <beaky> so regulators arnt magic?
[06:47:47] <GuShH> diodes are magical?
[06:47:56] <OndraSter_> everything is made of atoms
[06:47:59] <RikusW> I have it on the 2005 library CD
[06:48:21] <GuShH> OndraSter_: as far as you may be able to perceive...
[06:48:23] <twnqx> beaky: i think your problem starts with very basic electronics knowledge
[06:48:24] <RikusW> quatum stuff is magical :-P
[06:48:33] <GuShH> everything is thus also not made of atoms
[06:48:53] <beaky> ah i know nothing about electronics
[06:49:03] <twnqx> exactly.
[06:49:12] <GuShH> stick around #arduino for 10 years and you'll still know nothing about electronics
[06:49:15] <twnqx> and that's where your problem, the smoke and desctruction, starts
[06:49:17] * GuShH hifives theBear
[06:49:33] <beaky> all i know is that there are awesome things called microcontrollers that can turn things on and off
[06:49:56] <GuShH> so can transistors or your fingers
[06:50:08] <twnqx> if you intend to keep it that way, use arduino and prebuilt addons
[06:50:19] <beaky> ah whats arduino
[06:50:37] <GuShH> this is one of those "choose your pill" moment
[06:50:40] <twnqx> google will help you
[06:50:42] <beaky> is it likw a ready-made board?
[06:50:48] <GuShH> except morpheus won't rape you in the end.
[06:50:52] <twnqx> lol
[06:51:18] <GuShH> beaky: it's hard to explain...
[06:51:19] <beaky> but i like avr and i wana learn more about what ggoes on in my boars
[06:51:33] <twnqx> it's more than a board, it's a whole ecosystem for people who want to use µCs without understanding what they do
[06:51:47] <GuShH> if you want to hook up a few -expensive- things, copy&paste and learn nothing, go with it.
[06:51:57] <GuShH> tupperware required.
[06:52:25] <GuShH> twnqx: so really... "artists"
[06:52:34] <GuShH> potheads more like it.
[06:53:07] <beaky> heh
[06:53:13] <twnqx> beaky: you can't understand what's going on without basic electronics knowledge, and we can't teach all that here
[06:53:18] <RikusW> beaky: maybe you should get -> http://ruggedcircuits.com/html/ruggeduino.html
[06:53:37] <GuShH> lawl
[06:54:03] <GuShH> wait, no 380VAC input? no 200A outputs? pffffft. that's not rugged.
[06:54:25] <GuShH> I want to weld with my arduino.
[06:54:39] <beaky> where can i learn basic electronics up until uCs?
[06:54:41] <OndraSter_> hehe
[06:54:49] <OndraSter_> the internet? books?
[06:54:51] <GuShH> books!
[06:55:01] <OndraSter_> what are books? Can you eat it?
[06:55:06] <GuShH> you could
[06:55:08] <twnqx> GuShH: sucks, my power supply works 3.3-27V
[06:55:18] <GuShH> I hear they're good for heating your house too
[06:55:24] <twnqx> for 5V out. i beat the ruggeduino alredy
[06:55:34] <twnqx> sadly i LATER learnt
[06:55:44] <twnqx> that i should be able to withstand 65V for my intended use :(
[06:55:47] <GuShH> actually I would build a true "ruggeduino" capable of stick-welding, just for lulz
[06:56:26] <beaky> ok i will buy an electronics book from amazon
[06:56:27] <twnqx> if only i would have known that before :(
[06:56:30] <twnqx> uh
[06:56:52] <beaky> "Electronics for Dummies(r)" ^^
[06:56:54] <GuShH> twnqx: try automotive applications, often the protection is up to 180V transients in reality, fun eh? you'd think you wouldn't see more than 20v ever...
[06:57:00] <twnqx> EXACTLY
[06:57:12] <twnqx> that particular use.
[06:57:12] <OndraSter_> yeah, automotive is fun
[06:57:25] <OndraSter_> and I like how china has no safety in there
[06:57:38] <GuShH> china supplies you with an LED that saves you gas
[06:57:38] <OndraSter_> one fuse is maybe too much even sometimes
[06:57:40] <GuShH> what else do you want?
[06:57:40] <twnqx> that's why i put in ca. 30V resistance for intended 12V use
[06:57:47] <twnqx> didn't expect THAT high transients
[06:58:28] <GuShH> if you're cheap and you believe in god, use a zener and hope for the best.
[06:58:54] <twnqx> the power supply will work without caring up to ~27V
[06:58:59] <twnqx> if my calculations are right
[06:59:19] <GuShH> if your calculations are anything like mine, they won't be
[06:59:28] <twnqx> and 30V the input mosfets hit critical levels
[06:59:35] <twnqx> at 50V the capacitors explode
[06:59:36] <GuShH> chinese calculations, to obtain the true result divide it by 2.
[06:59:40] <twnqx> or well, go critical
[06:59:53] <GuShH> when does the black hole open up?
[07:00:07] <GuShH> 80-90v
[07:00:08] <twnqx> no, i spent ~2 weeks on those calculations and component selection
[07:00:37] <twnqx> i am sure that 27V don't pose problems, except the smps running in deep DCM mode and the ripple going up :P
[07:00:38] <GuShH> now you'll need to spend another 2 weeks?
[07:00:49] <twnqx> nah
[07:00:56] <twnqx> now i'll start from scratch
[07:01:08] <GuShH> 2 months? >_<
[07:01:13] <twnqx> the regulator chip can't take above 30V anyway
[07:01:31] <GuShH> so have some protection before it all
[07:01:46] <twnqx> in fact i'd just change the input capacitor, the input mosfets, and add TVS diodes
[07:01:49] <GuShH> maybe even a crowbar
[07:01:57] <twnqx> oh, and the diodes
[07:02:03] <twnqx> 40V diodes.
[07:02:43] <GuShH> I can't believe "ruggeduino" exists... as if "arduino" wasn't making you dumb enough
[07:02:58] <GuShH> it opens up a whole new level of stupidity
[07:02:58] <beaky> http://electronics.stackexchange.com/questions/616/basic-electronics-book I found some books on this page; have you guys read any of them? are they good for a noob like me? :D
[07:03:17] <twnqx> sorry, i never read books :X
[07:03:27] <GuShH> twnqx: nazi!
[07:03:37] <twnqx> that was PAST TENSE
[07:04:21] <GuShH> 3 shots of espresso and I still want to sleep...
[07:04:26] <GuShH> halp!
[07:04:36] <beaky> so you can become an eletronics pro without reading books? :D
[07:04:47] <beaky> (but with burning a lot of components...)
[07:04:49] <twnqx> i'm just a hobbyist
[07:04:51] <beaky> ah
[07:05:01] <GuShH> what's an electronics pro?
[07:05:12] <twnqx> someone like tzanger
[07:05:17] <GuShH> who is tzanger
[07:05:23] * GuShH idly scratches his head
[07:06:01] <GuShH> you need a general reference, since I'm not always on this channel (not active anyway) I don't know who he / she is...
[07:06:12] <GuShH> (hopefully a she? you wished)
[07:07:20] <beaky> alright I will order this one: http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957
[07:07:52] <GuShH> is it the latest one?
[07:08:13] <GuShH> keep in mind it's for general electronics and a bit outdated last time I checked.
[07:08:13] <GuShH> good book though
[07:08:22] <twnqx> 100$
[07:08:24] <twnqx> wow.
[07:08:27] <GuShH> but like most old books on the matter, some practices are obsolete
[07:08:54] <twnqx> you can... rent the book?
[07:09:05] <beaky> oh yeah maybe I can get it from a library
[07:10:22] <GuShH> yeah and that's a cheap book actually
[07:10:22] <GuShH> in my country we have import restrictions and we end up paying 3-4 times the price you'd pay in the US
[07:10:22] <GuShH> not sure how renting works, of course I can't use Amazon.
[07:10:26] <beaky> maybe there are better books for beginners
[07:11:22] <beaky> then I will finally understand how to read datasheets
[07:11:28] <GuShh_> :<
[07:12:08] <beaky> so that I may utilize my Atmel ATmega microcontrollers to the best of their abilities, and to learn how to choose one over the other for particular applications
[07:12:17] <beaky> and stop burning chips ^^
[07:13:00] * GuShh_ has never damaged a MCU
[07:14:33] <beaky> I burned the very first MCU I have worked with (an ATMega16A); I fed it 15V by accident
[07:15:06] <GuShh_> heh
[07:15:16] <beaky> at first the air started to smell like magic smoke and the circuit stopped responding; I fingered the chip and it was extremely warm
[07:15:31] <beaky> my lab instructor was pissed
[07:16:05] <OndraSter_> no wonder
[07:16:17] <GuShh_> haha
[07:29:10] <beaky> http://www.allaboutcircuits.com/ this website seems like a nice tutorial, but its way too big for me to chew in an evening; I might spend all summer on that site :(
[07:29:48] <beaky> I think I'll look into the Semiconductor section first
[07:30:34] <GuShh_> beaky: 555
[08:21:15] <Joggl> twnqx, BUH
[09:47:23] <beaky> do you guys use oscilloscopes?
[09:47:28] <beaky> or are they unnecessary?
[09:47:35] <Tom_itx> yup, nope
[09:47:44] <Tom_itx> or LA
[09:47:44] <robotustra> beaky, I use
[09:47:53] <robotustra> but it depends
[09:48:10] <robotustra> LEDs in most of cases are enouph
[09:48:57] <robotustra> oscilloscope is needed when you debug fast processes
[09:49:49] <robotustra> or work with ADC or DACs
[09:50:54] <robotustra> but if you do slow blinking LEDs you don't neet oscilloscope, may be just a mulimeter
[09:54:02] <beaky> ah
[09:56:23] <robotustra> one day you'll understand that you need it
[09:59:22] <beaky> maybe I will find good uses for them once I learn more electronics; now I don't know the difference between an NPN, PNP, and FET transistors
[09:59:32] <beaky> I am the ultimate newbie
[10:02:08] <robotustra> do you know how transistor works?
[10:02:15] <beaky> nope :(
[10:02:27] <robotustra> so you have to start from this
[10:02:42] <beaky> to mey they are these magical devices that make the world go round
[10:02:46] <beaky> to me*
[10:03:36] <robotustra> but I have to warn you, analogue electronict is more complicated then digital electronics
[10:03:53] <robotustra> do you know Ohm' law?
[10:04:04] <robotustra> Ohm's law?
[10:04:33] <robotustra> do you know what is current and what is voltage?
[10:05:38] <beaky> yes
[10:05:47] <twnqx> you still need those few basics to not kill didigtal electronics.
[10:05:57] <beaky> voltage is like an electromotive force; the force to push one electron from a low potential to a high potential
[10:06:04] <beaky> erm, charge*
[10:06:15] <beaky> and the curent is the flow of charge through somewhere
[10:06:48] <robotustra> yep
[10:07:01] <beaky> and my knowledge of electronics stops there :(
[10:07:20] <robotustra> do you want to know more?
[10:07:53] <beaky> yes I want to learn how to make cool stuff, so I think I should learn more about the elementary electronic components
[10:09:02] <beaky> like semiconductors and op-amps
[10:09:41] <robotustra> you can imagine for simplicity that voltage is the difference between pipe's ends, and the current is the steed of liquid in the pipe
[10:10:32] <robotustra> I tell you - OA - is more than one semicondycting element.
[10:10:47] <robotustra> semiconducting*
[10:12:45] <robotustra> http://rayshobby.net/?p=1079
[10:13:00] <robotustra> you can start from this article
[10:13:34] <robotustra> here you'll get the idea about transistors
[10:15:28] <robotustra> but may be you'll need an oscilloscope for this :)
[10:21:52] <robotustra> digital electronics is better to start from ne555 chip
[10:22:25] <robotustra> or NAND gates
[10:23:23] <Tom_itx> beaky, read these: http://bit.ly/I3lYE
[10:28:17] <tzanger> beaky: find a copy of Forrest M Mims getting started in electronics. it was my bible
[10:28:45] <tzanger> art of electronics is a poor book IMO. far too academic
[10:30:00] <robotustra> Tom_itx I don't think he need to know about atoms and electrons, especially because physics still don't have good model to describe resistivity
[10:30:36] <tzanger> Robert grossblatt has a number of very good books as well, but read them after the bible
[10:31:44] <tzanger> atoms and doping? fuck are you trying to turn him off of electronics? there is ZERO need to go anywhere near that at this point in his journey
[10:31:55] <robotustra> Tom_itx: First, it's explained in the book what is electrons, and after one provides simple mechanical analogy with marbles
[10:32:12] <robotustra> But electrons are not classical particles
[10:32:56] <robotustra> and you cannot explain the work of transistor if you'll consider electrons as classical particals
[10:33:24] <beaky> ah
[10:33:30] <robotustra> This book can give more confusion than explanation
[10:33:40] <tzanger> are you doing chip design or really weird design? if not, there is no need to go so low level.
[10:34:23] <robotustra> I'm a physicist, and I did quantum mechanics calculations in my childhood
[10:34:59] <beaky> http://electronics.stackexchange.com/questions/616/basic-electronics-book gives some bad reviews for the Forrest book :(
[10:35:00] <Tom_itx> really?! i thought i was the only one...
[10:35:11] <tzanger> beaky: they're wrong.
[10:35:13] <robotustra> and now I can't read all this bullshit explanations
[10:35:14] <beaky> ah
[10:35:44] <tzanger> grab the torrent or PDF. it's an awesome starter book that'll have you blinking LEDs and making noises
[10:36:07] <robotustra> beaky, how old are you?
[10:36:10] <tzanger> robotustra: that's all fine and dandy but what have you built with this knowledge?
[10:36:23] <beaky> i'm 18
[10:36:32] <robotustra> beaky, It's good
[10:36:46] <robotustra> you are not late then
[10:36:58] <robotustra> do you have physics at school?
[10:37:01] <Tom_itx> 18 but in K for electronics
[10:37:35] <beaky> I did take a couple physics classes and an electric circuits class
[10:37:50] <tzanger> you don't need to know the electron cloud motion model to build a car, and I'd wager that most people caught up in the academics don't do much practical work
[10:37:58] <robotustra> tzanger: do you mean with the knowledge of quantum mechanics?
[10:37:58] <beaky> and a microcontroller programming class
[10:38:13] <beaky> where I was introduced to avr :D
[10:38:32] <Tom_itx> and where you introduced the avr to 15v
[10:38:36] <beaky> lol
[10:39:07] <tzanger> robotustra: I mean you can't stand all the approximation models for electrons and basic rules of thumb for transistor operation.. you know how it REALLY works, but what have you done with that knowledge
[10:40:44] <Tom_itx> you need to know a few laws but then dive in and learn how to make circuits
[10:41:06] <Tom_itx> and you will learn more laws as you progress
[10:41:23] <tzanger> exactly!
[10:41:30] <robotustra> tzanger: I can answer some questions on which most of people have no answers, because I know fundamental things. But for most of practical tasks in common life you don't need to know quantum mechanics models
[10:41:41] * Tom_itx introduces beaky to Mr Ohm
[10:42:37] <beaky> so resistance is the electrical impedance in a DC circuit?
[10:42:53] <robotustra> Tom_itx: Better to say like this: You have to know some laws, but also suspect the existance of other laws.
[10:43:24] <Tom_itx> i don't know all the traffic laws but i learn more of them as i drive :)
[10:43:48] <robotustra> tzanger: but I also have my limits
[10:44:11] <robotustra> beaky: yes
[10:44:40] <robotustra> beaky: but not exactly, because DC - is a model
[10:44:54] <robotustra> it's a model of current
[10:44:56] <beaky> ah
[10:45:15] <beaky> so the DC says that current loops through the circuit in a circle?
[10:45:18] <beaky> the DC model*
[10:45:29] <robotustra> At the moment you turn on DC in the circuit there is a transitional state
[10:46:00] <robotustra> IT'S NOT DC and resistance != inmedance
[10:47:06] <robotustra> no, DC means, that there is no change of current direction and value in every point of circuit
[10:47:12] <beaky> ah
[10:47:48] <robotustra> but when you turn it on or off - there is a short time when it's not true
[10:48:28] <robotustra> And if you have big capacitance or inductance in the circuit - this time can increase dramatically
[10:48:53] <beaky> aha
[10:49:16] <beaky> so if I stick this 600mF capacitor in my traffic-controller circuit bad juju can happen? :D
[10:49:56] <robotustra> it depends where are you going to stick it
[10:50:40] <robotustra> you have learn about capacitors and coils before use them
[10:50:57] <beaky> all I know about capacitors is that they are good for decoupling
[10:51:05] <beaky> and that coils are bad for a circuit
[10:51:21] <robotustra> beaky: coils are not bad
[10:51:34] <robotustra> sometimes we need them
[10:51:42] <tzanger> robotustra: you're only confusing the issue
[10:51:43] <robotustra> to get rid of spikes
[10:51:58] <Tom_itx> or to create spikes
[10:52:47] <Tom_itx> (magneto) is a prime example
[10:52:50] <tzanger> dc is a steady state. no need to talk about models and how it's not really a thing and so on. you're right, but the knowledge does nothing but confuse at this point in the game.
[10:53:38] <tzanger> same way you don't teach about imaginary numbers when someone is first learning about the four basic operators
[10:54:00] <Tom_itx> there are 4?
[10:54:06] <Tom_itx> :(
[10:54:12] <robotustra> tzanger sure, but I teached 1st yeas sdudents in electronics
[10:54:19] <tzanger> in elementary school? yes
[10:54:30] <robotustra> university
[10:54:42] <tzanger> robotustra: if this is how you taught them I would have failed
[10:55:03] <tzanger> actually I skipped uni because of this
[10:55:16] <tzanger> I am not an academic learner, it confuses me
[10:55:17] <robotustra> they were at physics faculty
[10:56:02] <tzanger> I love learning and wish to get a degree maybe
[10:56:07] <robotustra> tzanger: do you know the difference between american and former USSR university?
[10:56:25] <tzanger> no, what is the difference?
[10:56:27] <Tom_itx> seems like alot
[10:56:50] <beaky> is there analog electronics? or is electronics only digital?
[10:57:01] <tzanger> I'm 40 in a couple years, probably won't happen
[10:57:08] <Tom_itx> technically there is only analog
[10:57:09] <tzanger> beaky: tgere isoy
[10:57:17] <tzanger> there is only analog
[10:57:28] <robotustra> in american uni - you just pay and you are admitted, even if you are dumb, but in SU university you have to pass exams, and there is no dumbs even on 1st year, and the study is free
[10:57:30] <tzanger> digital is a set of assumptions
[10:57:32] <Tom_itx> digital is a voltage level chosen that things happen
[10:57:36] <beaky> ah; and discrete is just a simplification of analog?
[10:57:41] <beaky> I mean digital*
[10:57:54] <Tom_itx> look at a data sheet for a basic logic chip
[10:58:08] <Tom_itx> there are switching levels that are accepted levels for a given logic family
[10:58:28] <tzanger> but as digital gets faster it becomes more analog. you have to worry about all kinda of things you never had to worry about when clocks were slower
[10:58:47] <Tom_itx> x volts means a '0' and other x volts means a '1'
[10:59:22] <tzanger> feeding baby and typing left handed on phone. too many typos. I think the autocorrect thinks I'm having a stroke
[10:59:23] <robotustra> Tom_itx: x volts means a '0' and other y volts means a '1', x!=y
[11:01:19] <robotustra> tzanger: I'm about of your ages
[11:02:54] <robotustra> must to think a little how to fit all my PCBs into small space
[11:03:06] <tzanger> there
[11:03:08] <tzanger> finally
[11:03:11] <tzanger> on a real keyboard
[11:05:04] <tzanger> first year electronics in uni is heavy on theory. That may just be how uni is taught but it seems such a waste
[11:05:27] <tzanger> All my friends went to uni in various CS or electronics programmes... I helped them all with their homework
[11:05:48] <tzanger> they could tell me the exact doping properties for a given semiconductor but the couldn't do the electronics equvalent of 6x3
[11:06:53] <tzanger> that's why I am a little upset when I see people talk about how you gotta know all this arcane theory about electron motion and deep theoretical physics to get started in electronics. that's patently wrong. As Tom_itx said... you need E=IR and a couple rules of thumb to get started and that's it
[11:07:18] <tzanger> the rest you pick up as you go, and unless you're doing fab or really weird electronics design, you do not ever need to know the deep physics. ever.
[11:07:19] <beaky> are microcontrollers important in electronics?
[11:07:35] <tzanger> beaky: pretty much, yes. almost everything, even things I"d argue shouldn't, have micros in them
[11:08:21] <tzanger> but they're just simple little computers. there's not much to know about them. If you can write VB or C# you can do microcontroller programming. The rules are the exact same, but the decisions you make are different
[11:09:15] <beaky> I wanna port the turing machine to an avr
[11:09:20] <l9> do i really need three diffrent timers too use three diffrent pwm ports?
[11:09:37] <tzanger> robotustra: we need physicists and we need people who can do the really weird shit and understand at a very fundamental level how the subatomic particles and quantum states work... its people like that who make the breakthroughs who give us all the wonderful toys we have today.
[11:10:06] <tzanger> Without those people we would not have ANY of the cool shit we have today, and without those people we would not have all the things that are on the horizon for tomorrow.
[11:10:24] <twnqx> tzanger: explain this PCB: http://www.youtube.com/watch?feature=player_detailpage&v=1QBFIfKlvHU#t=2291s
[11:10:25] <twnqx> :P
[11:11:05] <tzanger> but none of that matters to someone just getting started in electronics, just like you don't need to have deep and thorough understanding of algorithms, cache design, compiler theory and so on to write basic programs. it's too much too soon
[11:11:12] <twnqx> 20ghz pcb structure capacitors/coils/filters are pretty arcane to me :/
[11:11:17] <tzanger> oh god
[11:11:26] <tzanger> yeah super high frequency design is deep dark juju
[11:11:29] <tzanger> it's amazing
[11:11:50] <twnqx> i have a copy of that "handbook of black magic"
[11:12:04] <twnqx> i understand the prnciples, but are far too long out of uni to understand the maths :X
[11:12:08] <robotustra> tzanger: actualy our students have theory and practice, that's why it's not so difficult to get
[11:12:10] <tzanger> geometry is very important in high speed design
[11:13:30] <tzanger> there are also special pc board materials because FR4 is too lossy at high speed
[11:13:31] <robotustra> tzanger: good 3D imagination is even more important
[11:13:40] <tzanger> god that guy's voice is annoying as hell
[11:13:49] <tzanger> I can't tell if it is his real voice or if he's using it just for show
[11:14:37] <beaky> How do I use input capture to measure the frequency of a signal?
[11:14:49] <beaky> of an incoming signal
[11:15:01] <tzanger> robotustra: yeah, they seem to pick it up eventually but most uni grads I've run against have all the theory but can't do anything beyond the basics without a lot of help
[11:15:10] <tzanger> beaky: what shape is the signal? square wave?
[11:15:18] <robotustra> you have to measure the perioud of signal
[11:15:22] <beaky> yeah it's a square wave
[11:15:30] <beaky> from another avr :)
[11:15:32] <robotustra> in seconds
[11:15:53] <tzanger> beaky: you usually do it with the compare/capture input of one of the timers
[11:16:06] <robotustra> frequency = 1/ perioud
[11:17:09] <l9> I am trying too add a timer prescaled with 64 and interups too this code anyone has a idea on how I could do that? see pastebin http://pastebin.com/2uypESMD
[11:17:14] <tzanger> you get an interrupt when the capture fires, read the value in the timer and wait for the next one, calcualte the difference and that's how many timer ticks the you have between edges
[11:17:16] <beaky> in my timer1 input capture isr, I read from TCNT1, compute the clocks that passed between the prior edge and the current edge, and then I divide my clockspeed by that number of clocks
[11:18:41] <tzanger> yep.
[11:19:27] <beaky> does that mean that there are some signal frequencies that are too high for my avr to measure?
[11:19:36] <Tom_itx> yes
[11:19:51] <beaky> wow how do you deal with that kind of thing?
[11:20:21] <tzanger> beaky: show an error on the display
[11:20:38] <tzanger> beaky: detect that your interrupts are coming too fast and disable them to display the error
[11:20:52] <beaky> ah
[11:21:10] <beaky> btw how do you setup two avrs for communication between each other?
[11:21:21] <beaky> e.g. one controlling a remote, and another controlling a robot car?
[11:21:41] <beaky> should I even use timer1 for that kind of communication?
[11:21:49] <tzanger> beaky: serial port, spi, uart, can, i2c... hell build your own parallel bus...
[11:22:28] <tzanger> oh I said serial port twice. lol
[11:23:25] <beaky> ah
[11:23:32] <beaky> how big of an avr do I need?
[11:23:57] <beaky> maybe I can get by with atmega328
[11:24:49] <tzanger> you need to figureo ut what you need, how many i/os you need and go from there
[11:26:01] <megal0maniac_afk> UART is easiest to begin with. And in terms of flash space, the 328 should be more than enough for most things
[11:28:57] <tzanger> yep when prototyping identify how many I/O and then see how much RAM/ROM you can get in the package :-)
[11:30:13] <beaky> 1k ram and 32k rom ought to be enough for anybody
[11:30:21] <beaky> btw why does avr have such tiny ram?
[11:30:32] <tzanger> beaky: cost
[11:30:34] <beaky> ah
[11:30:41] <beaky> I guess ram is the most expensive bit in those chips
[11:30:44] <tzanger> I have an attiny13a design right now it's coming in under 384 bytes of flash
[11:31:10] <tzanger> and that's written in C still
[11:40:27] <megal0maniac> Does ANYONE have any clue as to how the Scanalogic2 does 20MSPS with a mega168 and software USB?
[11:42:41] <megal0maniac> Or more specifically, how it manages to sample a pin and push the state to SRAM for 4 channels in a single CPU cycle
[11:47:48] <twnqx> sample with 4x serial in? :>
[11:47:57] <twnqx> as in, hardware shift registers
[11:50:03] <megal0maniac> Well it's a logic analyser. So 4 channels simultaneously.
[11:50:16] <megal0maniac> i.e. parallel
[11:50:20] <twnqx> if it had 4x spi you could still do that, but it seems like not
[11:50:51] <megal0maniac> It has 4 sram chips. Different MOSI pins on the same port?
[11:51:35] <twnqx> heh
[11:51:40] <twnqx> what types of rams are those?
[11:52:01] <megal0maniac> Microchip 25K256
[11:52:31] <twnqx> it is kind of obvious then
[11:52:37] <twnqx> read straight to ram
[11:52:56] <megal0maniac> But how?
[11:52:59] <twnqx> if it's like flash... make the mcu send the address
[11:53:14] <twnqx> then switch the LA inputs straight to mosi
[11:53:18] <twnqx> and only apply clock
[11:54:23] <twnqx> possibly use interrupt triggering as well
[11:54:38] <beaky> I love hardware interrupts
[11:55:00] <beaky> What are some caveats to them that a beginner should know?
[11:55:03] <twnqx> that will tell you at which time something happened, which translates to the ram address
[11:55:08] <Badaboom> tri using the SPI on an atting2313:),, oh wait theres no true SPI on the 2313,, oh wait there sort of is
[11:55:16] <megal0maniac> USI doesn't count
[11:55:17] <robotustra> yeah, espesialy if you sleep and there is an fire alarm..
[11:55:37] <twnqx> so, what do you think about that theory, megal0maniac?
[11:55:57] <twnqx> in ram it will probably even just wrap around
[11:56:14] <Badaboom> twnqx: no hangover?
[11:56:23] <twnqx> so you only need to interfere with the sampling to transfer the data up to the host
[11:56:32] <twnqx> Badaboom: i am very rarely drinking too much
[11:56:46] <Badaboom> ahh:)
[11:56:58] <megal0maniac> twnqx: It makes sense. No processing required
[11:57:09] <megal0maniac> I should try implement something like this :)
[11:57:13] <Badaboom> I mentioned last night i will have the datasheets for those displays on tuesday
[11:57:20] <twnqx> yeah, i read that
[11:57:24] <Badaboom> k
[11:57:46] <megal0maniac> twnqx: There's also a "single bus buffer gate with 3-state output" on the clock
[11:57:50] <twnqx> i googled up a chinese company selling lcd/oled/whatever data sheets
[11:57:58] <Badaboom> oh..
[11:59:30] <twnqx> megal0maniac: i don't see a point in that
[11:59:42] <twnqx> except if you want to switch clock between mcu and something else
[11:59:52] <twnqx> which... makes sense
[12:00:00] <megal0maniac> Well there's the uC, SRAM and buffers
[12:00:03] <megal0maniac> Input and output
[12:00:08] <twnqx> you could connect the system clock straight to the ram with it
[12:00:24] <twnqx> while the 168 never will be able to deliver 20mhz spi clock
[12:00:35] <megal0maniac> 400mhz at best
[12:00:38] <megal0maniac> iirc
[12:00:46] <twnqx> wow, 400mhz
[12:00:50] <twnqx> pretty neat RF
[12:00:58] <megal0maniac> But why do anything to the clock? Why not connect directly?
[12:00:59] <twnqx> :>
[12:01:03] <megal0maniac> Whoops typo :)
[12:01:06] <megal0maniac> 400khz
[12:01:12] <twnqx> because you need send commands
[12:01:16] <twnqx> like "write data"
[12:01:23] <twnqx> and start address
[12:01:24] <Badaboom> khz,,mhz,, bah,, same thing
[12:01:31] <Badaboom> lol
[12:01:41] <twnqx> so to send commands you need to disconnect the "sampel clock"
[12:02:01] <twnqx> and use the mega's SPI clock
[12:02:43] <twnqx> in fact that's a nice low cost idea.
[12:02:51] <megal0maniac> Well it is low cost :)
[12:03:09] <megal0maniac> I'm not understanding this 100%, but that's my lack of understanding, not your explanation
[12:03:24] <megal0maniac> So I might repeat myself at some stage in the future. Sorry :)
[12:03:28] <beaky> What things thhat are common in other programming languages should I avoid when writing C for avR?
[12:03:31] <beaky> C or C++
[12:03:37] <twnqx> well, you understand how spi works
[12:03:38] <beaky> what things or practices*
[12:03:39] <Badaboom> heh,, try SPI with a chip that "has it but doesnt have it"
[12:03:43] <beaky> what is SPI?
[12:03:47] <twnqx> you send one command
[12:03:51] <twnqx> like "write data"
[12:03:55] <Badaboom> Serial Perh Interface
[12:03:55] <twnqx> then you send the address
[12:04:27] <megal0maniac> And if the megas SPI clock is running at a 50th of the main clock?
[12:04:28] <twnqx> then you turn off the SPI engine, connect the LA inputs to MOSI lines of the ram, and enable the clock
[12:04:43] <twnqx> BAM, ram "samples" at 20mhz
[12:04:55] <Badaboom> beaky: its a type of communication between two chips:)
[12:05:04] <beaky> ah
[12:05:06] <Badaboom> 3 wires
[12:05:10] <twnqx> when you want access again, turn off clock, deassert CE, rams will stop to sample
[12:05:13] <megal0maniac> Oh, so RAM doesn't need constant "write data, address" for every sample?
[12:05:18] <twnqx> enable your SPI engine, have access to the rams
[12:05:22] <twnqx> nope
[12:05:23] <beaky> I thought you only needed one wire
[12:05:34] <Badaboom> ehh?
[12:05:42] <Badaboom> thats not spi
[12:05:48] <twnqx> that much i know from playing with flash roms, it auto wraps :P
[12:05:50] <megal0maniac> That's uart
[12:05:56] <megal0maniac> Or dallas 1 wire
[12:06:11] <megal0maniac> Or Atmel SWI
[12:06:28] <megal0maniac> twnqx: And obviously auto increments to the next address
[12:06:34] <twnqx> yes.
[12:06:47] <twnqx> but flash roms wrap at block size
[12:06:47] <beaky> I am doing communication using timer1 output compare and input capture
[12:07:02] <beaky> generating frequencies in one avr and receiving signals in the other
[12:07:22] <megal0maniac> That is a pretty neat set up then :)
[12:07:46] <megal0maniac> Okay, now that I've learnt what's going on, I'm back to the university maths you claim to have forgotten :P
[12:07:50] <twnqx> i am assuming here that the ram will wrap around after the last address and keep auto-incrementing indefinitely
[12:08:08] <twnqx> but i don't see why it shouldn't :P
[12:08:10] <megal0maniac> I'll have to check the spec of the RAM, but that makes sense
[12:08:16] <megal0maniac> Thanks for the explanation
[12:08:34] * megal0maniac buggers off to logarithmically differentiate some stuff
[12:08:37] <twnqx> hey, it's just a guess :P
[12:08:42] <Badaboom> hi Rikus,,bye Rikus
[12:08:46] <megal0maniac> It's a good one
[12:08:51] <megal0maniac> Should work
[12:09:27] <Badaboom> i9f you want a display or 2 let me know
[12:09:39] <Badaboom> crap my typing sucks today
[12:09:54] <twnqx> if you meant me: i want the data sheet first :P
[12:10:02] <twnqx> preferably of both the digitizer and the display :P
[12:10:03] <Badaboom> Tue:)
[12:10:12] <Badaboom> itll have both:)
[12:11:01] <Badaboom> Ill send the sheet forst and then we can see what tis thing needs
[12:11:07] <Badaboom> first
[12:11:21] <twnqx> :)
[12:11:38] <Badaboom> oh and im thinking the 644 since theres sample code like it from cornell
[12:11:54] <twnqx> pah, sample code
[12:12:03] <megal0maniac_afk> twnqx: http://ww1.microchip.com/downloads/en/DeviceDoc/22100F.pdf
[12:12:04] <Badaboom> lmao,, knew you were gonna say that
[12:12:08] <megal0maniac_afk> Sequential write mode :)
[12:12:36] <beaky> what is eeprom used for?
[12:12:53] <beaky> I never used it myself in my programs
[12:13:08] <beaky> but it's always there in that avr studio dialogue :(
[12:18:03] <Badaboom> http://www.avrfreaks.net/?name=PNphpBB2&file=viewtopic&t=38417
[12:18:10] <Badaboom> beaky:^^
[12:19:08] <beaky> wow abcminiuser's tutorials are awesome
[12:20:08] <beaky> btw does the performance of the mcu degrade as I write eeprom?
[12:21:44] <Badaboom> no
[12:22:42] <Badaboom> beaky: go thru his site,, it should help you
[12:22:52] <Badaboom> lots to read
[12:26:23] <beaky> How do I make my mcu consume as little energy as possible
[12:26:40] <beaky> I have an ATmega16L
[12:26:50] <beaky> where the L supposedly stands for Low Power
[12:27:03] <robotustra> put the less clock that you need
[12:27:23] <robotustra> the less clock you use the less power you consume
[12:27:25] <beaky> ah
[12:27:50] <beaky> I put it to sleep mode, and have everything done by the timer1 isr, which has a /256 prescaler
[12:28:20] <beaky> so it runs at 8000000/256 = 31.25KHz
[12:30:01] <beaky> I wonder if I can get it to run even slower
[12:30:24] <robotustra> yes you can
[12:30:50] <robotustra> you can put any frequency from 0 to...
[12:31:20] <Badaboom> that chip has 6 sleep modes
[12:31:51] <robotustra> you can use external click to drive xtal
[12:32:07] <Badaboom> – Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby
[12:32:08] <Badaboom> and Extended Standby
[12:32:57] <beaky> which one should I use?
[12:33:05] <beaky> I am currently using the idle
[12:33:42] <robotustra> the power consumption is different in diferent modes
[12:35:06] <robotustra> read manual, usually they give the current consumption in idle modes
[12:35:10] <Badaboom> beaky: the datasheet has a section on all the modes
[12:35:21] <Badaboom> ^
[12:35:50] <robotustra> multiply currend by voltage and you get your wattage
[12:35:55] <Badaboom> read page 33 on the power save mode
[12:36:10] <beaky> wow microcontrollers make life so easy; where would we be without them?
[12:36:25] <Badaboom> smoking crack?
[12:36:31] <Badaboom> jk
[12:36:31] <robotustra> in caves for sure
[12:36:54] <beaky> maybe we would still be in the age of steampunk
[12:37:02] * twnqx doesn't say the point
[12:37:07] <twnqx> see*
[12:37:16] <robotustra> smoking marihujana under palms on the beach
[12:37:17] <twnqx> electronics was around before widespread µC
[12:37:30] <beaky> ah
[12:39:30] <robotustra> yeah, starting from Hertz, etc..
[12:40:07] <robotustra> no, even before
[12:40:17] <robotustra> we are so naive
[12:40:40] <robotustra> may be electroincs was the way long before
[12:41:27] <Badaboom> ok,, now your just making my brain hurt
[12:42:00] <robotustra> why?
[12:42:02] <robotustra> :)
[12:42:28] <robotustra> did you drink your chocolate yesterday night?
[12:42:31] <Badaboom> The egyptians had the pyramids wired for dolby sound?
[12:42:36] <Badaboom> yes:)
[12:42:49] <robotustra> so I heve to do it now!
[12:42:56] <Badaboom> lol
[12:42:57] <robotustra> gonna ask my wife
[12:43:12] <Badaboom> I want swiss choclate
[12:47:41] <robotustra> let me see my frige
[12:48:20] <Badaboom> are u near the mountains?
[12:48:37] <Badaboom> oh wait,,
[12:48:41] <Badaboom> Montreal
[12:49:04] <robotustra> I have Lindt
[12:49:11] <robotustra> swiss
[12:49:31] <robotustra> thank you for remind
[12:49:42] <Badaboom> lmao
[12:49:54] <Badaboom> give me
[12:50:33] <robotustra> 1 sec, I upload the file, prepare your 3D food printer
[12:50:40] <Badaboom> lol
[12:50:53] <Badaboom> I wish
[12:51:08] <Badaboom> might melt it tho
[12:57:10] <robotustra> BTW, may be it's possible to use 3D printer to print some funny chocolate stuff for kids
[12:57:31] <l9> can all four pwm channels be activated from one internal clock on a attiny2313? cant find any tutorials that actually helps pn this
[13:00:02] <Badaboom> hmm
[13:00:20] <Casper> robotustra: chocolate may be hard to print actually due to the strict heating and cooling rate required to make it crystalise just right
[13:00:38] <Badaboom> ^^
[13:00:52] <thetruthisoutthe> hey avr c0ders: how do you know if gcc ran out of memory?
[13:00:52] <robotustra> all plastics has arange
[13:00:52] <Casper> wrong rate and it won't "freeze" right, or will have crystals in it
[13:00:54] <Badaboom> that would be a sticky mess
[13:01:33] <robotustra> and chocolate has narrower range than plastis I'm pretty sure
[13:02:18] <robotustra> Casper: what about anealing after?
[13:02:41] <robotustra> any way, for kids will be fun
[13:02:51] <Badaboom> 19: i believe page 62 of the datasheet might help you:)
[13:03:36] <thetruthisoutthe> Badaboom <= VU stands for visualization :)
[13:03:59] <Badaboom> lol,, u waited all night for that didnt u:)
[13:04:15] <Badaboom> but ty:)
[13:04:34] <thetruthisoutthe> robotustra_> like low frequency filters for red light, mid for yellow and green and hi freq for violet < that is called spectrum analyzer
[13:04:36] <robotustra> If you will deposit 0.039" for one layer - it will solidify pretty fast
[13:05:02] <robotustra> thetruthisoutthe: thank you very much
[13:05:26] <robotustra> thetruthisoutthe: in 1 hour you'll finish to read logs :)
[13:05:27] <beaky> why are dip packages good if they have fewer pins than the QFP packages?
[13:05:50] <robotustra> may be because of size?
[13:06:36] <Badaboom> beaky: ??
[13:06:45] <beaky> ah
[13:07:26] <l9> Badaboom: I am trying too use the internal clock too drive 3 pwm channels with no prescaler, i need the second clock/counter as a interrupt counter...
[13:07:28] <twnqx> i would be tempted to say "because beginners can handle them"
[13:07:53] <Badaboom> 19: rgb?
[13:08:01] <l9> Badaboom: jepp
[13:08:09] <l9> yes
[13:08:13] <Badaboom> lucky guess:)
[13:08:17] <Badaboom> lol
[13:08:20] <Badaboom> one sec
[13:08:36] <Badaboom> do u just want it to do like a mood lamp?
[13:09:01] <beaky> why do avrs have multiple gnd pins
[13:09:09] <l9> hehe yeah :) i am trying too improve the one i have already made :P
[13:09:25] <Badaboom> 19: kk,, one secf,, ill fix u up
[13:11:01] <thetruthisoutthe> robotustra <= hahaha yes
[13:12:33] <thetruthisoutthe> i havea question for all the avr sourcerers: how do you know if gcc ran out of memory?
[13:14:44] <robotustra> may be it does segfault?
[13:14:51] <thetruthisoutthe> no it does not
[13:15:16] <robotustra> on linux or on windows?
[13:15:32] <thetruthisoutthe> hm, anyway, what should do on a 8 bit microcontroller with nothing handling it?
[13:16:10] <twnqx> do you mean on the chip, or while compiling?
[13:16:17] <thetruthisoutthe> on the AVR
[13:16:23] <robotustra> are you talking about compilation or about axecution of the code?
[13:16:30] <twnqx> i look at the size of the sections
[13:16:40] <thetruthisoutthe> you write a firmware, upload, then turn it on
[13:16:43] <twnqx> and i know my own ram usage
[13:17:24] <robotustra> C language does not care about RAM size
[13:17:33] <robotustra> and it shouldn't
[13:17:35] <thetruthisoutthe> twnqx <= so if i ran out of ram bad things will happen
[13:17:39] <twnqx> yes
[13:17:43] <twnqx> i managed to :P
[13:17:50] <thetruthisoutthe> i think i did it multiple times :(
[13:18:06] <thetruthisoutthe> had no idea i used that much ram
[13:18:10] <twnqx> there's a 32kB extra ram on my build for a reason
[13:18:40] <twnqx> if you use malloc/free you can declare the heap size towards the linker
[13:18:46] <twnqx> then you can have malloc failures :P
[13:18:48] <thetruthisoutthe> hehe
[13:19:31] <thetruthisoutthe> i had use my text strings to pgmspace
[13:19:35] <thetruthisoutthe> from
[13:19:48] <thetruthisoutthe> otherwise gcc eats my ram
[13:19:57] <twnqx> no, not gcc
[13:19:59] <twnqx> YOU do
[13:20:04] <thetruthisoutthe> ;>
[13:20:07] <thetruthisoutthe> but...
[13:20:28] <twnqx> but i'll agree, the linker should explode when it realizes you use more ram than the chip has
[13:20:52] <robotustra> gcc is like knife - you can sharpen the pencil, or cut off you head...
[13:21:28] <thetruthisoutthe> gcc can be like a bomb, you have to find the wire to cut for disarming
[13:22:22] <thetruthisoutthe> (end echelon trigger)
[13:24:30] <Xark> ...and g++ like an electric knife (with blades in the handle too). :)
[13:24:52] <thetruthisoutthe> :)
[13:25:11] <twnqx> thetruthisoutthe: i am not sure you can't modify the linker settings in a way to tell him how much ram you have
[13:25:28] <twnqx> hm
[13:25:49] <thetruthisoutthe> twnqx <= okey, i think it will be enough if i don't fill it with useless textstrings
[13:25:59] <thetruthisoutthe> 1024 byte sram...
[13:26:08] <twnqx> i have a pretty large table
[13:26:20] <twnqx> so my AVR could handle EVERY SPI nor flash out there
[13:26:21] <thetruthisoutthe> pgmspace
[13:26:46] <twnqx> i just reduced it to the point where i left the two chips in that i soldered to my boards
[13:27:14] <Xark> twnqx: If you don't specially declare data you want to live "read only" in flash on AVR, it will be copied to RAM on boot (like arrays and strings).
[13:27:14] <twnqx> and yeah, i have 128kB flash, ogmspace would work :P
[13:28:21] <thetruthisoutthe> Xark <= it is good to know what the compiler does when you declare various things
[13:29:12] <Badaboom> {im Hungry}
[13:29:17] <Xark> thetruthisoutthe: Indeed. Especially on AVR (where limited RAM and the Harvard architecture come together). :)
[13:29:20] <twnqx> {i just had dinner}
[13:29:32] <Badaboom> ahh,, anything good?
[13:29:39] <robotustra> {I'm in process}
[13:29:40] <twnqx> a large salad :]
[13:29:47] <Badaboom> chic food?
[13:29:49] <Badaboom> lmao
[13:29:57] <twnqx> well
[13:30:00] <Badaboom> jk
[13:30:01] <thetruthisoutthe> twnqx <= you know how cool is when gcc runs out of ram, and starts declaring variables and constants in input/output circular ringbuffers? :)
[13:30:04] <twnqx> i have big lunch, normally :>
[13:30:09] <Badaboom> i see:)
[13:30:27] <twnqx> and now... pool billard time
[13:30:30] <twnqx> bbl
[13:47:45] <beaky> i am bored of led + switch projects... what sort of project should i do as a begijnner?
[13:49:15] <robotustra> beaky line running robots
[13:49:26] <beaky> ah whats that?
[13:49:32] <robotustra> 1 sec
[13:50:32] <robotustra> http://www.youtube.com/watch?v=SYaEnzrdXV4
[13:51:33] <beaky> wow that is awesome
[13:51:47] <beaky> i am doing a robot car
[13:51:56] <beaky> but it doesnt follow a line :(
[13:51:56] <robotustra> http://www.youtube.com/watch?v=gEqghokSw9U
[13:52:30] <robotustra> beaky: but everything is about firmware
[13:52:50] <robotustra> this one I like
[13:56:44] <robotustra> beaky: and what does it?
[14:00:15] <theBear> does it throw caravans and enter demolition derbies ?
[14:03:30] <beaky> nah it just bumps
[14:05:02] <beaky> it has a pushbutton on the front. it charges at full speed, hits, then it backpedals, turns 90 degrees clockwise, and charges again
[14:05:45] <beaky> I'll stick a brush at the back and call it a janitor bot :D
[14:05:50] <theBear> hehe, better than nothing i suppose :) i made a combination art project/robot a lot like that in a 'special' course i took during primary school... not short-bus special btw <grin>
[14:06:09] <beaky> wow
[14:06:26] <beaky> so it draws paintings?
[14:06:42] <beaky> would be awesome to have a stepper-motor bot to do calligraphy and stuff
[14:07:41] <theBear> one day i hope to find the guy that ran the course, he was 'local' to here, regularly had several rooms/spaces at the local 'modern' art gallery exhibitions, but i ain't heard of him for 20 years... he made >human sized walking steel petrol powered neon light wearing walking robots and little digital habit forming/life and survival doing mice robots and lots of cool stuff
[14:07:48] <beaky> ah
[14:08:00] <beaky> that
[14:08:24] <beaky> that's awesome I wanna do something creative once I get my stupid "charge and hit something" robot over with :D
[14:08:37] <robotustra> i did a cnc mill for myself, but I bought ready controllers from china
[14:09:02] <theBear> lol nah, it looked a lot like a rustic version of K9 from the outside, and did the same as your bot, for very short periods of time, seems back then i wasn't an expert at things like sensible ground/power arrangements and avoiding static and inductive kicks and stuff... my god, just thinking of the various different battery packs i had to include for combinations of voltage/convenience/power/even battery usage etc etc, i've come a long way
[14:10:15] <robotustra> theBear: can you show a photo of this robot?
[14:17:33] <theBear> i cannot :( tho if you remind me next time i'm at mums i should be able to find either/and a few photos or maybe even the paper-mache 'body'
[14:18:00] <theBear> i didn't much care for 'doing art' as a kid, but a robot was something i was into, i was pretty excited by the whole concept
[14:19:51] <robotustra> if everything will go cool may be next year I start to do abult sized humanoid robot
[14:21:53] <robotustra> if not, just postpone a little
[14:23:18] <robotustra> but I have to do something feasible in my life
[14:35:20] <beaky> hel
[14:35:23] <beaky> help
[15:04:44] <robotustra> beaky: what?
[15:07:38] <wondiws> I've got a ATMega328P, now is it possible to have two waveforms on one timer?
[15:07:45] <wondiws> like OCR0A and OCR0B?
[15:13:24] <theBear> it's been a real long time, but i suspect what you're talking about/referring to is having two compare values/registers running off a single timer... means you can do say, two different %/timer cycle things with the single timer, but not two entirely independant things that would require altering/upsetting the regular/expected operation of the time
[15:13:25] <theBear> r
[15:14:44] <wondiws> I've got OCR1A and OCR1B
[15:14:53] <wondiws> only OCR1A gives a waveform... :S
[15:17:21] <theBear> how do you know ? i might guess that you observe it through a pin, that can be configured to have one of several different functions perhaps ? maybe you gotta set a bit somewhere or other to point the other one at a physical pin
[15:22:08] <wondiws> ok, I think I got it
[15:22:24] <wondiws> but I got the wrong frequency I think for my servo, so I have to fix that
[15:29:11] <theBear> mmm ? all stuck this way or that ?
[15:31:01] <twnqx> theBear: did you read my comment on the PFC idea? :P
[15:33:07] <beaky> should I pick the ATmega328 or the ATmega328p for my robot car?
[15:33:08] <theBear> don't think so, been busy/not on the computer
[15:33:27] <theBear> twnqx, tho i have been thinking about it now and again, had a brief discussion in the electronics channel too
[15:33:29] <Horologium> beaky, go with p version...more toys on it.
[15:34:02] <twnqx> theBear: let me put in this way: parasitic diodes in the mosfet body would create short circuits.
[15:34:25] <twnqx> during both phases.
[15:34:41] <thetruthisoutthe> that is not so cool in terms of efficiency btw
[15:34:57] <twnqx> i guess in fact it would become pretty hot
[15:35:19] <thetruthisoutthe> it is not that bad, it is just nice to have a schottky in parallel
[15:35:54] <twnqx> uh
[15:36:01] <twnqx> those mosfet body diodes
[15:36:07] <twnqx> would the same as
[15:36:14] <twnqx> take two dchottkys
[15:36:20] <twnqx> and but them anitparallel
[15:36:24] <twnqx> between L and N
[15:36:27] <twnqx> put*
[15:36:45] <twnqx> "not that bad" is... something different, if you ask me
[15:37:05] <thetruthisoutthe> for high voltage you can prefer an IGBT
[15:37:18] <theBear> twnqx, oooh, if you had fets with integral diodes that's a damned good point
[15:37:18] <thetruthisoutthe> or some SiC magicfet
[15:37:39] <twnqx> theBear: the diodes are parasitic effects
[15:37:58] <beaky> so the p version just saves more power?
[15:38:13] <thetruthisoutthe> yes
[15:38:35] <theBear> hmmm, i wonder if you could use them 'backwards', that'd probly screw up the simpler gate drive then tho, and you could only do yer pfc/boosting during the part of the cycle the diode wasn't conducting and straight-charging the main caps
[15:38:35] <thetruthisoutthe> and the PA version is cool because it works from 1.8 to 5.5V
[15:38:45] <twnqx> theBear: they are antiprallel
[15:38:54] <twnqx> you'd reverse both => same effect
[15:39:02] <theBear> huh ? in fets ? surely not ?
[15:39:02] <thetruthisoutthe> theBear <= yes, this is how synchronous rectifiers work
[15:39:04] <theBear> what kinda voltage ?
[15:39:31] <twnqx> if you reverse the fets, you reverse the didiodes
[15:40:19] <twnqx> also i feel the ripple would dramatically increase since you only recharge during one half-cycle
[15:42:16] <twnqx> and i'm not sure if synchronous rectification is an answer at 400V
[15:42:29] <thetruthisoutthe> depends on what you are doing
[15:42:56] <twnqx> well, i was comparing voltage drop over RDSon vs. a schottky
[15:43:00] <theBear> mmmm, a little, but ripple on the main filter stage should be LONG gone by the time you get to any outputs, that's kinda the whole reason for regulation in any mains supply, and if i'm not mistaken 110vac 'standard' input switchers run a voltage doubler and therefore half-freq per half-output-voltage cap ?
[15:43:17] <thetruthisoutthe> twnqx <= that is some badass schottky if it can take 400V_RR
[15:43:58] <twnqx> good point, is it even schittky, or just a silicon
[15:44:02] <twnqx> schottky* :P
[15:44:12] <thetruthisoutthe> it is probably not
[15:44:25] <thetruthisoutthe> regular schottky can do 150-200V max
[15:44:41] <theBear> thetruthisoutthe, he was talking/asking about basically synchronous/fet rectifier input for a standard mains switcher and/or active pfc... i got carried away while distracted by something in his circuit/question that upset me technically (mostly subjective :) and created this big crazy low partcount active pfc/booster kinda idea
[15:45:09] <theBear> also for reference most (all?) schottky quickly raise to normal or higher drops once you get past 'trivial' currents
[15:45:15] <thetruthisoutthe> there are already things like that
[15:45:53] <thetruthisoutthe> and for it to actually correct power factor, you have to measure input power
[15:45:54] <twnqx> 1.7V drop
[15:46:04] <twnqx> nah
[15:46:18] <twnqx> you use a step-up regulator
[15:46:35] <thetruthisoutthe> and regulate its power...
[15:46:38] <twnqx> and uses vin as an envelope to switching
[15:46:39] <Horologium> just pull 7.2KV off the power line and deal with it.
[15:46:40] <twnqx> yes
[15:46:50] <thetruthisoutthe> Horologium <= hey
[15:47:15] <thetruthisoutthe> Horologium <= how you like when gcc runs out of memory on your mcu ?
[15:47:31] <Horologium> thetruthisoutthe, happens very seldom....
[15:47:43] <Horologium> as I tend to watch my memory usage.
[15:48:02] <thetruthisoutthe> yeah, 1-2k is not much
[15:48:05] <Horologium> and/or use processors with large ram...like the 16KB in the atmega1284p
[15:49:02] <Horologium> if I need more ram than that I use external SRAM.
[15:49:20] <thetruthisoutthe> hehe, you'd hook up an sram to an atmega168 ?
[15:49:30] <Horologium> either mapped to the processor directly like in the atmega8515 or atmega128
[15:49:44] <Horologium> or just hook up a serial sram and write my own access routines for it.
[15:50:07] <thetruthisoutthe> i just moved my strings from ram to pgmspace ;/
[15:52:01] <Horologium> that helps
[15:52:26] <Horologium> using single bits of a byte for flags rather than an entire byte will save some.
[15:53:13] <thetruthisoutthe> hehe yes, unless you leave it gcc and allocate them dynamically
[15:53:21] <thetruthisoutthe> *to
[15:53:34] <thetruthisoutthe> gcc also can prefer using a register
[15:54:09] <Horologium> also, using the smallest possible size variable for what you need.
[15:54:20] <Horologium> use uint8_t instead of int.
[15:54:22] <thetruthisoutthe> i usually use uint8_t
[15:54:33] <beaky> uint_fast8_t ftw
[15:54:34] <thetruthisoutthe> int is sick
[15:54:52] <Horologium> lots of ways to cut down ram usage.
[15:55:08] <twnqx> what _is_ the size of an avr default int, btw?
[15:55:16] <thetruthisoutthe> sizeof(int) :)
[15:55:20] <Horologium> loops, function calls, etc use stack space which fills up the ram fast.
[15:55:31] <twnqx> deep recursion, yey
[15:56:01] <thetruthisoutthe> Horologium <= recursive functions ;)
[15:56:01] <beaky> ,cc sizeof(int)
[15:56:04] <beaky> :(
[16:00:58] <beaky> I love recursive functions
[16:01:11] <beaky> I write my state machines as mutually recursive functions
[16:01:57] <thetruthisoutthe> don't you just love stack overflow ?
[16:02:08] <Horologium> avoid it at all costs.
[16:02:18] <beaky> thanks to tail-call elimination, no stack overflow :D
[16:02:26] <Horologium> stack and buffer overflows are the cause of many many many MANY security issues.
[16:02:39] <beaky> btw what happens when you overflow the sram on avr?
[16:02:46] <thetruthisoutthe> :)
[16:02:51] <thetruthisoutthe> simple, it overflows
[16:02:53] <thetruthisoutthe> ^^
[16:03:10] <Horologium> heap and stack grow toward each other.
[16:03:16] <Horologium> eventually they meet.
[16:03:32] <beaky> avr has a heap? I thought it was just sram
[16:03:42] <beaky> and malloc would just return NULL all the time
[16:03:48] <Horologium> heap is where variables are stored.
[16:03:49] <thetruthisoutthe> :( it must have stack to be able to push something
[16:03:51] <beaky> ah
[16:03:54] <theBear> err, you can overflow sram ? i thought you could only overflow a counter or maybe an addition/multiply, how do you overflow ram ?
[16:03:55] <Horologium> heap grows from bottom up
[16:03:59] <Horologium> stack grows from top down.
[16:04:21] <twnqx> theBear: the compiler does not enforce any limits
[16:04:32] <twnqx> it will happily let you put 2k variables into a 1kb chip
[16:05:11] <thetruthisoutthe> yeah, all fun
[16:05:12] <Horologium> http://www.nongnu.org/avr-libc/user-manual/malloc.html
[16:05:45] <theBear> ahh, k, so i suppose either the compile system 'blindly' overflows the data, noting that it only has 1kb to put 2kb into, or more likely you just overflow on program, maybe losing the high bit and starting writing from the low end again, or just writing to nowhere
[16:05:49] <twnqx> Horologium: my heap is above my stack.
[16:06:08] <Horologium> twnqx, yes, they can be relocated.
[16:06:14] <twnqx> theBear: the address space is always 64k
[16:06:19] <Horologium> but by default, with avr-gcc, heap starts at bottom, stack starts at top.
[16:06:21] <twnqx> your reads and writes just go into nowhere
[16:06:32] <twnqx> i have the heap in my external 32k
[16:06:40] <thetruthisoutthe> twnqx <= that won't help you :)
[16:06:42] <twnqx> relocated on startup, if the memory is detected :P
[16:06:56] <Horologium> I have seen implementations that create multiple heaps and stacks and switch between them for multitasking OS on an AVR.
[16:07:05] <twnqx> about what, overflowing with variables? no, it won't
[16:07:25] <twnqx> Horologium: do you think multitasking is worth it on avr?
[16:07:26] <thetruthisoutthe> or if stack can underflow
[16:07:34] <twnqx> i thouhg daving 32 regs is a bit too much
[16:07:45] <twnqx> thought saving*
[16:08:01] <beaky> besides signal bounce and latency issues, what are the things I have to beware when using external interrupts?
[16:08:26] <thetruthisoutthe> beaky <= to not apply 230V to pin
[16:08:52] <twnqx> or even just 9.
[16:09:02] <beaky> hah I am guilty of overvolting my components
[16:10:04] <beaky> interrupts are awesome since they map 1-to-1 to state machines
[16:10:14] <beaky> or am I mistaken? :D
[16:10:36] <Horologium> aahh state machines
[16:10:42] <Horologium> the end all be all of programming.
[16:10:50] <Horologium> or so someone I used to know thought.
[16:10:55] <twnqx> lolk
[16:11:35] <Horologium> his software development company went under.
[16:11:52] <twnqx> i am not surprised
[16:12:20] <beaky> when do state-machines fall apart for designing embedded systems?
[16:13:19] <twnqx> whenever you do more that state transitioning
[16:13:34] <beaky> like language parsing?
[16:13:39] <Horologium> when the programmer doesn't fully understand state machines.
[16:13:42] <beaky> ah
[16:13:49] <thetruthisoutthe> http://pastebin.com/BzwPzZnx
[16:13:49] <Horologium> they are awesome for things like menu systems.
[16:13:51] <thetruthisoutthe> ^^
[16:14:02] <thetruthisoutthe> let this be bad example?
[16:14:08] <twnqx> they are good for a lot of things
[16:14:19] <beaky> hahaha I remember that paste
[16:14:55] <beaky> do you have my 1000-line traffic controller "state machine" saved too? :D
[16:15:00] <Horologium> if/then/else and case statements are simple state machines.
[16:15:02] <thetruthisoutthe> no
[16:15:36] <thetruthisoutthe> but that should be an example how windows was written :)
[16:15:48] <Horologium> windows was written by committee.
[16:16:25] <twnqx> oh god
[16:16:34] <Horologium> your god can't help you now.
[16:16:46] <twnqx> there's so many wrongs in this
[16:17:09] <twnqx> this guy never heard of switch statements
[16:17:22] <thetruthisoutthe> and functions, interrupts
[16:17:29] <thetruthisoutthe> arrays
[16:17:34] <thetruthisoutthe> structs
[16:18:28] <twnqx> almost 2500 lines of WTF
[16:18:32] <thetruthisoutthe> :)
[16:18:57] <beaky> I love structs and function pointer
[16:19:14] <Horologium> structs of pointers to functions....aka C++
[16:19:44] <twnqx> stop loving things
[16:19:55] <twnqx> it means you will use them even if they are not the right tool
[16:20:03] <robotustra> love people, yes
[16:20:08] <Horologium> bah
[16:20:10] <Horologium> hate people.
[16:20:18] <thetruthisoutthe> Horologium <= tried calling elements of (array of (pointers to functions)) in C :)
[16:21:34] <robotustra> Horologium: humanism is when you hate every separate person and love humankind as a whole
[16:21:48] <Horologium> I hate everybody equally.
[16:21:57] <Horologium> only love one person other than myself.
[16:22:08] <twnqx> your cat?
[16:22:10] <robotustra> your mom?
[16:22:12] <Horologium> my wife
[16:22:24] <Horologium> my mother is a total psycho nutcase bitch.
[16:22:33] <robotustra> you are one step away from death
[16:22:39] <Horologium> probably.
[16:22:41] <Horologium> have been for years.
[16:22:50] <Horologium> I'm also hellbound 7 ways to sunday.
[16:23:08] <Horologium> being an atheist and rabid anti-christian.
[16:23:44] <twnqx> luckily for you christianity only knows two forms of hell :P
[16:24:16] <robotustra> twnqx: two? I thought only one
[16:24:23] <twnqx> nah
[16:24:36] <twnqx> what they call heaven/paradise only looks like another form of hell to me
[16:24:43] <Horologium> hehe.
[16:24:50] <Horologium> yeah, I hate harp music and am afraid of heights.
[16:24:55] <robotustra> Thanks GOD! He made me an atheist too...
[16:25:32] <twnqx> but this is the wrong place for such a discussion.
[16:25:50] <beaky> so the reason avr is better than other hobbyist mcus like pick is because of the software availability?
[16:25:56] <Tom_itx> yeah we try to keep those diccussions outta here
[16:25:57] <robotustra> ORLY?
[16:26:05] <twnqx> beaky: no
[16:26:11] <twnqx> i do not think any is better
[16:26:42] <twnqx> both big hobbyist lines (PIC and AVR) have all you need available
[16:26:51] <beaky> ah
[16:27:01] <twnqx> maybe avr is spread wider thanks to that arduino stuff
[16:27:05] <robotustra> does somebody ever tried SAM4 boards?
[16:27:07] <Horologium> each has its own strengths and weaknesses.
[16:28:32] <twnqx> i want to try sam3, but scared of them
[16:28:39] <twnqx> since i can't find a linux way to program them :X
[16:28:40] <robotustra> I also do some job with PIC18F87J90
[16:29:12] <robotustra> You mean that only Atmel Studio 6.0 support them?
[16:29:22] <twnqx> no idea if it does
[16:29:37] <robotustra> it does
[16:29:51] <twnqx> and what jtag programmer i need
[16:29:52] <twnqx> etc
[16:29:55] <robotustra> it does SAM3 and SAM4
[16:30:09] <twnqx> i guess the stk600 won't cut it :P
[16:30:33] <robotustra> they have xplained board with built-in programmer on it
[16:31:27] <twnqx> i don't play with these
[16:31:31] <twnqx> my own boards only :P
[16:31:50] <robotustra> how many did you?
[16:32:00] <twnqx> none with ARM yet
[16:32:22] <robotustra> and in total?
[16:32:28] <twnqx> not that it matters, tqfp is tqfp
[16:32:33] <twnqx> 10 or so
[16:32:43] <twnqx> fpga, avr, addon
[16:33:03] <robotustra> oh, you have big experience
[16:33:11] <twnqx> mostly singletons because i have a particular need
[16:33:36] <robotustra> and what fpga do you use?
[16:33:40] <twnqx> spartan
[16:33:44] <robotustra> 6?
[16:33:52] <twnqx> that's on my list
[16:33:55] <twnqx> 3 so far
[16:34:31] <robotustra> how many gates?
[16:34:51] <robotustra> what BRAM size?
[16:34:57] <twnqx> 250e, though 500e would fit
[16:34:57] <robotustra> how many blocks?
[16:35:10] <twnqx> (fit the board)
[16:36:09] <robotustra> and what do you use to write firmware for FPGA?
[16:36:34] <twnqx> ft2232 based board (one port for jtag, one for parallel io)
[16:36:42] <twnqx> parallel io to usb 2.0*
[16:36:50] <twnqx> and xc3sprog
[16:37:07] <twnqx> modified to work with my board
[16:37:07] <robotustra> and what IDE?
[16:37:24] <twnqx> xilinx ISE
[16:37:40] <robotustra> It's expensive?
[16:37:47] <twnqx> no, freeware
[16:37:52] <twnqx> for noncommercial use
[16:37:58] <twnqx> like altera quartus
[16:38:39] <robotustra> I have to try some time
[16:38:55] <beaky> an IDE is a software that integrates an editor, compiler, build-system, and debugger into a single application
[16:39:10] <robotustra> but still, Xilinx costs a lot
[16:39:24] <robotustra> I know
[16:39:27] <twnqx> mh?
[16:39:33] <twnqx> spartan 3 chip are like 10€
[16:39:36] <robotustra> I was on one training in Xilinx
[16:39:59] <twnqx> sure, i linked a 37k$ virtex 7 here once
[16:40:05] <robotustra> no I mean all programmers and other stuff
[16:40:15] <twnqx> so son't use them
[16:40:30] <twnqx> unless you have to, not sure if all chips are covered by xc3sprog
[16:40:48] <twnqx> (i *do* have a xilinx platform cable usb II, too)
[16:41:16] <twnqx> of course that only works with xilinx
[16:41:17] <robotustra> what did you with virtex7?
[16:41:20] <twnqx> nothing
[16:41:21] <twnqx> lol
[16:41:32] <robotustra> 2M gates or more?
[16:41:37] <twnqx> i only linked the chip because of the price :P
[16:41:51] <twnqx> 370000$ for an IC is out of my budget :P
[16:41:58] <Horologium> bah.
[16:42:02] <Horologium> cheap, I'll take two.
[16:42:08] <robotustra> it's resellers price
[16:42:18] <robotustra> We bought them for 1500 only
[16:42:30] <Horologium> oh heck, 4 then.
[16:43:10] <robotustra> actually it was our price, but usually they sell it at 2500
[16:43:16] <twnqx> then you didn't buy the highest end ones
[16:43:32] <robotustra> xilinx put any price from the head
[16:43:41] <robotustra> may be
[16:44:06] <twnqx> cheaptest virtex 7 is 2k4 @ digikey, most expensive 37k
[16:44:08] <robotustra> but now there are Kintex
[16:44:20] <robotustra> it's a chip Virtex
[16:44:29] <robotustra> with the same power
[16:44:34] <beaky> so atmel's biggest market is the hobbyists? or is avr heavily used in industry?
[16:44:49] <Horologium> they are used all over.
[16:45:21] <twnqx> also atmel doesn't only make 8bit avr
[16:45:31] <robotustra> yeah, atmel, pics, st micro
[16:45:58] <timemage> beaky, i've found them in things from logitech wireless mouse receivers up to 8000watt inverters.
[16:46:36] <beaky> wow that's awesome
[16:46:57] <beaky> so maybe my car's ecu is an avr
[16:47:07] <twnqx> which one :P
[16:48:37] <twnqx> int he two i opened i found an infineon tricore tc1796 and a nec 70f series mcu :P
[16:49:02] <theBear> i've worked on $30,000/each-ish disco lights that had oooh, maybe 8 or 10 avr's in them
[16:51:56] <Tom_itx> theBear, you don't use PIC disco lights?
[16:53:46] <twnqx> robotustra: my very first avr board in it's ever since home: http://img211.imageshack.us/img211/105/amp9.jpg
[16:54:30] <twnqx> it emulates a motor-driven input selector towards the control plane of the amp :P
[16:54:53] <timemage> twnqx, is that just a weird looking heatsink up top?
[16:54:54] <robotustra> nice heatsink
[16:55:10] <twnqx> yeah, but that's original
[16:56:17] <thetruthisoutthe> i think i'll get some xilinx XC2Cxx, what do you think?
[16:56:29] <thetruthisoutthe> the alteras are hard to get in europe
[16:56:57] <twnqx> aren't that cplds?
[16:57:06] <thetruthisoutthe> yes, and macrocell based
[16:57:11] <thetruthisoutthe> quite limited
[16:57:23] <twnqx> if that's what you need
[16:57:47] <twnqx> it's funny ordering spartan 3 fpgas from the US
[16:57:55] <twnqx> apparently they are export restricted.
[16:58:11] <thetruthisoutthe> :)
[16:58:23] <twnqx> so you have to promise digikey that you won't ship them on to northkorea or iran
[16:58:27] <thetruthisoutthe> ask them labeled as dogfood
[16:58:34] <robotustra> order from china
[16:58:49] <thetruthisoutthe> hahaha
[16:59:08] <thetruthisoutthe> "i promise i won't sell these to terrorists"
[16:59:17] <robotustra> there is avnet-china
[16:59:22] <beaky> explain to them that they are for "educational purposes"
[16:59:23] <robotustra> they should have
[16:59:56] <twnqx> that was already there initially
[17:02:55] <robotustra> I don't know whether they do FPGA in china
[17:03:13] <robotustra> I know that they do it in US
[17:03:14] <thetruthisoutthe> i think they manufacture it in china like anything else
[17:03:21] <robotustra> no
[17:03:34] <robotustra> I hear that they do something in US
[17:03:44] <thetruthisoutthe> not sure, maybe xilinx?
[17:03:51] <thetruthisoutthe> it is military project
[17:04:06] <robotustra> yes, I'm talking about xilinx
[17:04:20] <thetruthisoutthe> butnalteras are made in china no?
[17:04:25] <thetruthisoutthe> *but alteras
[17:04:33] <twnqx> chips aren't really made in china
[17:04:39] <robotustra> i don't know
[17:04:46] <twnqx> phillippines are pretty big
[17:04:53] <Tom_itx> malasia
[17:05:09] <robotustra> I know Intel have some plants in Israel
[17:05:09] <Tom_itx> usa
[17:05:11] <Tom_itx> norway
[17:05:12] <thetruthisoutthe> oh yea i remember i say some rams assembled in malaysia
[17:05:13] <Tom_itx> all over
[17:05:27] <thetruthisoutthe> *saw
[17:05:41] <twnqx> robotustra: guess how many years between the avr in the last pic and this: http://img407.imageshack.us/img407/4453/fixup.jpg
[17:06:22] <robotustra> Is it your board?
[17:06:37] <twnqx> that's the last i needed for something, yes
[17:07:01] <robotustra> 5?
[17:07:18] <twnqx> more even
[17:07:20] <robotustra> 5 years?
[17:07:22] <thetruthisoutthe> looks autorouted
[17:07:29] <twnqx> nah, 100% manual
[17:07:33] <twnqx> aurorouters don
[17:07:36] <twnqx> 't manage parallel lines
[17:07:56] <thetruthisoutthe> hehe
[17:08:12] <thetruthisoutthe> the accell pcad does that
[17:08:43] <robotustra> I eatched my boards before, now I have a mill a home
[17:08:57] <twnqx> i just order them from seeed
[17:09:03] <twnqx> as long as i am pk with 6mil
[17:09:07] <twnqx> ok*
[17:09:11] <Tom_itx> order from CapnKernel!
[17:09:16] <thetruthisoutthe> what is a price for a board now?
[17:09:17] <twnqx> yeah, next time
[17:09:31] <thetruthisoutthe> like 10cmx10cm doublesided
[17:09:32] <robotustra> 6 mil - it's how much in millimeters?
[17:09:46] <Tom_itx> 6 thousandths
[17:09:52] <twnqx> 0.15
[17:09:54] <Tom_itx> not much
[17:10:07] <robotustra> ah, in inthes
[17:10:09] <robotustra> ok
[17:10:23] <robotustra> it's small
[17:10:48] <twnqx> thetruthisoutthe 25$ + shipping for 10 with standard finish
[17:11:02] <robotustra> I recently resoldered 100 pins chip with 0.5mm
[17:11:05] <twnqx> 45$ + shiiping for ENIG
[17:11:23] <robotustra> hm... and it worked ok
[17:11:33] <twnqx> hot air or infrared?
[17:11:38] <thetruthisoutthe> twnqx <= hmm, not much more than i get my bare boards ;/
[17:11:39] <robotustra> I think 0.5 mm is a limit for me
[17:11:52] <robotustra> hot air to remove
[17:12:07] <robotustra> and just an iron to solder back
[17:12:17] <twnqx> thetruthisoutthe: exactly, if you can wait the ~3 weeks it's all fine
[17:13:12] <thetruthisoutthe> and they a lso do vias for this price?
[17:13:24] <twnqx> all drills and vias inclusive
[17:13:28] <thetruthisoutthe> cool
[17:13:28] <twnqx> down to 0.3mm
[17:13:33] <twnqx> or 0.35
[17:14:09] <robotustra> I just bought this device http://www.ebay.com/itm/Full-Pack-USA-GQ-5200-brand-SMD-Rework-station-2-in-1-hot-air-soldering-Iron-/121115421624?pt=LH_DefaultDomain_0&hash=item1c330aabb8
[17:14:34] <twnqx> i have that with the brand name aoyue (for the hot air only)
[17:14:45] <twnqx> no wait... aoyue? ah well
[17:14:47] <twnqx> same thng anyway
[17:15:12] <robotustra> yep, hot air - is just hot air
[17:15:22] <twnqx> i am still tempted to replace it with infrared :X
[17:15:36] <twnqx> so i can finally dare myself with BGAs
[17:15:47] <robotustra> if you work with BGA
[17:15:56] <robotustra> yep
[17:16:06] <twnqx> either that or reflow oven
[17:16:16] <twnqx> well, there's of course the hackish alternative :P
[17:16:26] <thetruthisoutthe> bgas are evil
[17:16:28] <robotustra> but I think it's enouph for me for 5-100 years
[17:16:31] <robotustra> but I think it's enouph for me for 5-10 years
[17:16:34] <twnqx> to bad the amount of money you can spend on y hobby like this is infinite
[17:17:12] <robotustra> I have a question
[17:17:35] <robotustra> about board varnishing
[17:18:07] * twnqx googles the word
[17:18:10] <thetruthisoutthe> bga is for non-critical consumer use
[17:18:11] <robotustra> how to protect contacts form covering by paint?
[17:18:30] <twnqx> dunno how you do it
[17:18:45] <twnqx> commercial vendors use photo masking
[17:18:50] <thetruthisoutthe> robotustra <= masking ?
[17:18:53] <robotustra> yes
[17:19:18] <robotustra> I'm shitty emigrant and don't know right words
[17:19:20] <twnqx> thetruthisoutthe: BGA is for everything these days
[17:19:42] <thetruthisoutthe> twnqx <= thermal expansion makes your day bad
[17:20:01] <twnqx> only if you're nvidia
[17:20:07] <thetruthisoutthe> :)
[17:20:36] <robotustra> I think it depends on the size of BGA
[17:20:45] <thetruthisoutthe> larger ones suck more ofc
[17:21:10] <robotustra> if it's small - it should be no problem with temperature expansion
[17:21:38] <thetruthisoutthe> yeah, while the balls won't be teared apart in 10 years
[17:21:54] <Horologium> hate it when my balls get teared apart.
[17:22:14] <thetruthisoutthe> you got a key sentence there dude
[17:22:28] <robotustra> but as for me personally BGA is looks like very unrelyable connection
[17:22:46] <Horologium> BGA should all be socketed.
[17:23:20] <thetruthisoutthe> but then connection errors ;<
[17:23:44] <robotustra> soft soldering?
[17:23:53] <thetruthisoutthe> hot swapping cpu is not good idea in middle of operation
[17:24:21] <thetruthisoutthe> robotustra <= well, deadbug style bond wiring would be cool, but only for low frequency
[17:24:32] <Horologium> http://dangerousprototypes.com/2012/10/24/who-says-bga-packages-are-hard-to-solder/
[17:24:33] <thetruthisoutthe> and takes time
[17:24:35] <Horologium> there..
[17:24:39] <Horologium> easy to solder BGA package.
[17:25:02] <twnqx> pf
[17:25:05] <thetruthisoutthe> was thinking something like that hahahah
[17:25:23] <twnqx> i always wanted to try bga soldering with hot plate
[17:25:37] <Horologium> http://dangerousprototypes.com/2012/11/15/fine-pitch-bga-deadbug-soldering/
[17:26:35] <thetruthisoutthe> Horologium <= wow i have not seen any smt breadboards yet, note the board
[17:26:49] <robotustra> good
[17:26:57] <thetruthisoutthe> neat idea
[17:27:06] <robotustra> 0.5 mm is limit for me anyway
[17:27:52] <robotustra> unless I buy a microscope for my daughter :)
[17:27:54] <thetruthisoutthe> 5/5 mil board fixing requires steady hand
[17:28:06] <robotustra> I have
[17:28:24] <twnqx> i don't have a steady hand at all
[17:28:35] <twnqx> but 0.5 is not hard with enough flux and very thin solder
[17:28:53] <robotustra> anyway I usualy use arrangments for fine things
[17:29:21] <Horologium> schmartboard makes a bga board that can be soldered with a regular soldering iron.
[17:29:38] <robotustra> one day I can use CNC mill for fine soldering
[17:30:06] <thetruthisoutthe> a mill is used for milling
[17:30:11] <robotustra> tomorrow will be the day of soldering
[17:30:28] <robotustra> thetruthisoutthe: not always
[17:30:49] <twnqx> nn
[17:31:04] <thetruthisoutthe> well engraving maybe
[17:31:11] <thetruthisoutthe> but that is milling too
[17:31:27] <robotustra> http://www.youtube.com/watch?v=-CqpbsTfVtM
[17:33:30] <thetruthisoutthe> are there good lookin' nude girls on the vid ?
[17:33:30] <tzanger> BGA should be socketed? ew.
[17:34:08] <Horologium> tzanger, humor, attempt at.
[17:34:21] <tzanger> :-)
[17:34:26] <tzanger> they do have BGA sockets
[17:34:31] <robotustra> this is my mill http://www.youtube.com/watch?v=mLQJuMPiDeA
[17:35:51] <tzanger> robotustra: explain your setup? Looks interesting
[17:35:53] <thetruthisoutthe> Horologium <= from your link hahah http://www.chiaki.cc/Pyxis2010/index.htm
[17:36:17] <thetruthisoutthe> cyclon fpga mandelbrot zoomer
[17:36:33] <robotustra> tzanger: do you mean what I have in CNC?
[17:36:42] <tzanger> robotustra: yes, the equipment setup
[17:37:41] <robotustra> stepper motor controller: http://www.ebay.com/itm/CNC-Router-3-Axis-TB6560-3-5A-Stepper-Motor-Driver-Board-For-Engraving-Machine-/271187134909?pt=LH_DefaultDomain_0&hash=item3f240349bd
[17:38:08] <robotustra> motors - NEMA17, resistance 2 Ohm
[17:38:28] <tzanger> wow $50 for a 3-axis 3.5A drive stepper driver, that isn't bad!
[17:38:30] <robotustra> Power supply 12VDC 40 A
[17:38:45] <tzanger> do you know whose drivers they're using?
[17:39:11] <tzanger> looks like better equipment than what they tend to use for reprap 3D printer positioning
[17:39:38] <robotustra> http://www.ebay.com/itm/DC-12V-40A-Switching-Power-Supply-Transformer-Regulated-/120732324732?pt=LH_DefaultDomain_0&hash=item1c1c35137c
[17:39:39] <tzanger> whose spindle motor? I know it's 1.5kW but what's the voltage, the controller ont he back looks like a little VFD
[17:39:43] <robotustra> similar to this
[17:40:00] <robotustra> no, I just use them as is
[17:40:16] <robotustra> I have no problem with them yet
[17:40:38] <robotustra> spindle is chinise
[17:40:47] <robotustra> and inverter is also
[17:41:15] <tzanger> what's the nameplate on the spindle? Do you have it handy?
[17:41:26] <robotustra> http://www.ebay.com/itm/CNC-80MM-ER11-1-5KW-WATER-COOLED-MOTOR-SPINDLE-AND-DRIVE-INVERTER-VFD-/260995057966?pt=LH_DefaultDomain_0&hash=item3cc484892e
[17:41:50] <robotustra> There is no nameplate there
[17:41:55] <robotustra> on spindle
[17:42:03] <robotustra> it's watercooling
[17:42:17] <robotustra> and it gives 24000 rpms
[17:42:18] <tzanger> any special coupling to the chuck/collet?
[17:42:36] <robotustra> ER-11A
[17:42:52] <tzanger> ok 220V
[17:42:56] <tzanger> that's what I was looking for
[17:42:56] <robotustra> yes
[17:43:37] <robotustra> I bought this guy http://www.ebay.com/itm/2000-w-Watt-Voltage-Converter-Regulator-110-220-Volts-/260664296642?pt=Travel_Adapters_Converters&hash=item3cb0cd84c2
[17:43:37] <tzanger> nice, how long have you had it? any specific issues or things you would want to change about your setup?
[17:43:53] <Badaboom> who's using studio?
[17:43:56] <Badaboom> 6.1
[17:44:04] <tzanger> with a drive you really don't need that but it depends on the specific vfd
[17:44:09] <tzanger> (I used to design VFDs)
[17:44:28] <robotustra> vfd is 1.5 kw also
[17:44:44] <robotustra> I took 2 kW just in case
[17:45:10] <tzanger> water cooled setup, that's pretty wild
[17:45:32] <robotustra> so I did this mill in the end of 2011
[17:45:55] <robotustra> but firs spindle was only 300W
[17:46:10] <tzanger> are the axes direct mounted to the steppers? Are you doing anything special to eliminate backlash?
[17:46:21] <robotustra> no
[17:46:51] <robotustra> I have antibacklash nuts
[17:47:14] <robotustra> AMCE 1/2-10
[17:47:21] <robotustra> on threads
[17:47:33] <robotustra> and 1:3 pulleys reduction
[17:47:49] <robotustra> with short timing belts
[17:47:54] <tzanger> I see. Looks good
[17:48:01] <tzanger> T2.5 or something finer?
[17:48:10] <robotustra> 2mm
[17:48:26] <thetruthisoutthe> robotustra <= oh it is open drain and has catch diodes and optoisolation too
[17:48:37] <robotustra> when I bought my steppers they already had pulleys
[17:49:21] <robotustra> thetruthisoutthe: what are you talking about?
[17:49:39] <thetruthisoutthe> the stepper controller
[17:50:02] <robotustra> thetruthisoutthe: and I'm sure it has them
[17:50:16] <thetruthisoutthe> saw them on the image
[17:51:17] <thetruthisoutthe> microstep is a choice to make ;/ you get smoother run, but your pc will be 16x slower
[17:51:41] <thetruthisoutthe> (for 16x microsetepping)
[17:51:47] <tzanger> well it multiplies all the steps by 16, sure
[17:52:00] <tzanger> if your PC is doing all the individual step commands it will slow things down considerably
[17:52:17] * tzanger is grabbing the entire Radio-Electronics torrent archive (1980-92)
[17:52:30] <robotustra> The theoretical resolution of my mill is 1/6000 of inch
[17:52:53] <robotustra> real is about 0.005"
[17:53:06] <robotustra> with a very very slow feed
[17:53:43] <tzanger> yeah 5 thou isn't impressive from a machining point of view but it's still damn fine in my opinion
[17:53:44] <robotustra> usual is about 0.025 mm
[17:54:20] <robotustra> for home use - more than enouph
[17:54:31] <tzanger> yep
[17:54:41] <robotustra> here some photos how I did it
[17:54:54] <robotustra> it's in russian but still http://maholet.livejournal.com/20471.html
[17:54:58] <thetruthisoutthe> http://www.ebay.com/itm/Set-of-3-Remote-Control-Stepper-Motor-Driver-Controller-Step-Motor-Actuator/221199257496?_trksid=p2047675.m2109&_trkparms=aid=555003&algo=PW.CAT&ao=1&asc=142&meid=7939831383540673236&pid=100010&prg=1076&rk=3&sd=160992860573&
[17:55:08] <thetruthisoutthe> hm that is a stepper thing from a cd drive
[17:57:24] <rue_shop3> cute
[17:57:25] <robotustra> thetruthisoutthe: yes, in my last project I use similar ones, I riped them from SONY CD-ROM
[17:57:27] <tzanger> looks like you'd want to pull those leadscrews off
[17:57:43] <rue_shop3> why not use it as a linear actuator?
[17:58:12] <tzanger> rue_shop3: the leadscrews are kind of shit
[17:58:15] <thetruthisoutthe> they are not too accurate...
[17:58:15] <robotustra> they are not so presize
[17:58:25] <thetruthisoutthe> they probably use it in microstepping mode
[17:58:26] <tzanger> those kinds of leadscrews are meant for systems that have a closed loop feedback system
[17:58:32] <rue_shop3> ahahaha IHAVE A LATHE I CAN MAKE LINEAR ACTUATORS! HAHAHAHAHAHA
[17:58:33] <tzanger> so it'll keep moving until it's positioned correctly
[17:58:39] <rue_shop3> SWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEET
[17:59:13] <rue_shop3> I need tube stock
[17:59:24] <rue_shop3> drilling out all the roundstock I have is laborious
[17:59:41] <rue_shop3> not to mention its labour intensive
[17:59:49] <robotustra> rue_shop3: I HAVE A MILL I ALSO CAN MAKE LINEAR ACTUATORS! BUT THEY ARE SHIT
[18:00:00] <thetruthisoutthe> drill out a 7.995mm hole for me, will you ?
[18:00:14] <tzanger> rue_shop3: you've got a lathe. make yourself some nice acme leadscrews
[18:00:19] <rue_shop3> cant, my ream is only 6mm
[18:00:22] <robotustra> are you making a barrel?
[18:00:33] <rue_shop3> I'm not makeing any right now
[18:00:38] <rue_shop3> but I could make small ones
[18:00:51] <tzanger> I have to pick up a nice lathe and mill
[18:01:01] <tzanger> been itching to for years, just lack of time and most times lack of money too
[18:01:49] <rue_shop3> my lathe is a "king" also known as a "grizley" they are an inexpensive lathe that is a bit of a challnage to do fine work on
[18:01:58] <rue_shop3> if you can find a really old lathe
[18:02:11] <rue_shop3> even if its pretty worn it might be better than a new cheap one
[18:02:28] <rue_shop3> dont get me wrong, I love my lathe
[18:02:44] <rue_shop3> I have a box of ideas I made
[18:02:55] <tzanger> yep I have seen them
[18:03:14] <robotustra> rue_shop3: can you show it?
[18:03:31] <rue_shop3> it includes a CV joint, some ball joints, a worm gear
[18:03:33] <tzanger> I *just* missed an opportunity for some real industrial lathes. an aerospace company I did a design for here couldn't give htem away to the local college because the controls were too old, but the mechanicals were top-notch
[18:03:38] <tzanger> ended up scrapping them
[18:03:39] <rue_shop3> !assist projects/lathe/
[18:04:07] <rue_shop3> http://eds.dyndns.org/~ircjunk/projects/lathe/p1040779.jpg
[18:04:19] <thetruthisoutthe> why do somebody would want a 500 line long LGPL library for calculating 3 parity bits with matrix functions ?
[18:04:21] <rue_shop3> snoop the dir for other images
[18:05:14] <rue_shop3> !? cause there is a secret conspiracy to bloat free software
[18:05:25] <rue_shop3> and erase all source documentation
[18:05:35] <rue_shop3> and #ifdef the source to death
[18:06:32] <thetruthisoutthe> wondering ih he can make money of it
[18:06:36] <thetruthisoutthe> *if
[18:07:03] <rue_shop3> hmm electrical pipe is seamless...
[18:09:52] <thetruthisoutthe> http://michael.dipperstein.com/hamming/
[18:09:55] <robotustra> rue_shop3: a lot of yummy things
[18:14:31] <robotustra> rue_shop3: first cnc is total handmade?
[18:14:36] <tzanger> thetruthisoutthe: that's not "just" 3 bit parity, that code implements hamming coding and error correction
[18:14:42] <robotustra> even nuts
[18:14:59] <tzanger> I'd be curious how much smaller you could get it without going either MCU-specific or data-specific.
[18:15:04] <thetruthisoutthe> tzanger <= yes... a little more than 3 parity bits
[18:15:47] <thetruthisoutthe> in std C, things are universal usually
[18:16:11] <robotustra> holy scrap :)
[18:20:13] <thetruthisoutthe> strcpy() is evil too ;/
[18:21:45] <robotustra> rue_shop3: are you from quebec?
[18:26:07] <robotustra> I don't know why but I love to see peoples home/hand made stuff
[18:26:49] <robotustra> all industrial bullshit is quite annoing..
[18:27:26] <robotustra> mass production is awful..
[18:37:01] <robotustra> rue_shop3: c'est cool!
[18:39:48] <jadew> w|zzy, if you're still using it, I just released a new version of the OLSFront, it has searching capabilities now and nicer integration with the annotations
[18:41:08] <w|zzy> Version 630. nice
[18:41:34] <jadew> that's the revision :P
[18:41:46] <w|zzy> Indeed
[18:41:46] <jadew> version 0.2, build 1, revision 630
[18:42:00] <w|zzy> -alpha
[18:42:10] <jadew> yeah :P
[18:42:49] <jadew> you might want to read this: http://dangerousprototypes.com/forum/viewtopic.php?f=57&t=4670&start=30#p52396
[18:42:56] <jadew> it has a bit of info about the search function
[18:43:37] <jadew> there's also an option to change how much it should expand, while you're entering new rows into the filter
[18:44:44] <w|zzy> Cheers
[18:44:55] <jadew> ;)
[18:44:59] <w|zzy> Its going into my "read after exams" pile :P
[18:45:21] <jadew> oh, good luck with that :)
[18:46:22] <robotustra> is it SPI monitor?
[18:46:27] <w|zzy> Thanks mate
[18:46:36] <jadew> robotustra, it's a full blown logic analyzer
[18:46:44] <robotustra> ah
[18:46:52] <tzanger> what's olsfront?
[18:47:06] <jadew> http://dumb.ro/lafront/
[18:47:59] <tzanger> hm, looks like the saleae logic analyzer software
[18:48:16] <jadew> nah, it's better :P
[18:48:32] <tzanger> probably :-)
[18:48:41] <tzanger> I might have a job for you, btw
[18:48:58] <robotustra> jadew: and you are writing software for this device?
[18:49:51] <jadew> robotustra, I wrote the OLSFront, the device is made by the dangerousprototypes guys, it basically provides a stream of bits with the level of the data lines at given intervals
[18:49:56] <jadew> tzanger, what job?
[18:50:20] <tzanger> my brother in law in Bucharest had his second kid and never told us when he was born. My wife's upset and I might have to hire you to go smack him for us. :-)
[18:50:40] <jadew> haha
[18:50:47] <jadew> I can do that
[18:50:54] <Horologium> if he didn't tell you then it was probably for a good reason.
[18:51:28] <robotustra> jadew: very very neat interface
[18:51:37] <jadew> robotustra, thanks
[18:51:58] <tzanger> Horologium: nah, eh told us when his firstborn was born, I think they just forgot his sister who left .ro
[18:52:44] <tzanger> interesting little design, It'd be nice to program a little more brains into the FPGA for triggering
[18:53:11] <jadew> tzanger, it has new triggering, I just haven't got around to implement it
[18:53:20] <tzanger> it wouldn't be too hard to stick an FX3 on that instead of the weenie little PIC and get 320MB/sec transfers out of the FPGA once triggered
[18:53:58] <jadew> besides the fact that I still don't have a firm grasp on the process of setting up the new advanced triggers, they pose some UI issues, since they can be combined in different ways
[18:54:04] <thetruthisoutthe> DVI is fun with FPGA ?
[18:54:25] <tzanger> heh nah, i saw those pages. manual place and route is bullshit :-)
[18:54:35] <tzanger> nice proof of concept and kudos to him for being able to do it in the first place
[18:54:39] <tzanger> but no way man
[18:55:09] <jadew> tzanger, if it had that transfer rate, the buffer memory wouldn't be an issue anymore
[18:56:31] <jadew> the OLS only has 24k RAM, it's enough for most stuff, but I guess I would have been happier with a few Mb
[18:58:59] <tzanger> jadew: well don't use a crappy PIC :-)
[18:59:36] <Horologium> the pic just plays usb interface on that it looks like.
[19:00:07] <jadew> yeah
[19:00:47] <tzanger> yep that's about all it can do
[19:00:52] <tzanger> even an FX2 would have been a better choice
[19:00:57] <tzanger> which is why the saleae/usbee use it
[19:01:21] <jadew> ah, is that the cypress chip?
[19:03:11] <jadew> I think that one can do only 24Mhz sampling speed, if the weather is fine
[19:04:14] <tzanger> ? the FX2 can do 480Mbps if it's just doing a data pipe
[19:04:28] <tzanger> the FX3 can do (I've measured myself) 2.6Gbps
[19:04:34] <jadew> damn
[19:05:01] <tzanger> now the FX3 is BGA only, which is maybe why they wouldn't use it for that design, but FX2LP is no harder to solder than the FPGA itself
[19:05:04] <jadew> but the saleae one can do only 24, were you talking about the newer versions?
[19:05:30] <tzanger> saleae isn't doing just a data pipe from what I gather. it's actually using the 8051 to bridge the I/O and the USB
[19:05:30] <jadew> how much does it cost? maybe that was part of the issue as well
[19:05:47] <tzanger> using the slave FIFO interface the CPU does something between jack and shit, so it's not the limit. :-)
[19:07:06] <tzanger> Digikey says about $15 in onesie-twosie qty
[19:07:23] <jadew> that's cheap
[19:07:30] <jadew> I might get one to play around with it
[19:08:13] <jadew> it's the same chip used in the saleae clones?
[19:08:28] <jadew> maybe I could just buy one of those and overwrite the firmware with my own
[19:08:33] <jadew> see what I can get out of it
[19:11:04] <tzanger> I have one hooked up to a DE0-nano board, I could make that a logic analyzer I think
[19:12:07] <jadew> what kind of memory does it have?
[19:12:17] <jadew> cuz to reach high speeds you need a bit of buffer too
[19:14:30] <Xark> It has 32MB of SDRAM, so should be suitable I would think. I only see DE-2 (etc.) supported "out of the box" with SUMP -> http://www.sump.org/projects/analyzer/
[19:15:15] <jadew> damn, 32MB sounds awesome
[19:16:24] <thetruthisoutthe> can i just read TCNT1H ?
[19:16:33] <thetruthisoutthe> or i must read the whole 16 bits?
[19:21:22] <thetruthisoutthe> apparently i cant
[19:25:38] <Xark> jadew: Yeah, but you do need a SDRAM controller to use it. :) There is also something like 64KB internal block RAM in the FPGA. The BRAM is easy to use.
[19:25:58] <jadew> ah, I see
[19:26:11] <tzanger> jadew: de0 has sdram on it but that's unnecessary
[19:26:16] <Xark> thetruthisoutthe: The AVR chip is clever, it latches the high when you read the low (so you get an atomic 16-bit timer value). This means you must read low to get a new high value.
[19:26:42] <thetruthisoutthe> okey, well i just wanted a low latency high reading, but...
[19:26:57] <thetruthisoutthe> seems like it does not get latched if i just read the high
[19:27:14] <Xark> thetruthisoutthe: Correct, you will get the same value (from the latch) until you read low.
[19:27:33] <tzanger> again, if I want under 400Mbps sample rate no ram is necessary
[19:27:39] <thetruthisoutthe> Xark <= zero :)
[19:28:04] <jadew> tzanger, are you sure you can reach that kind of data rate over usb?
[19:28:24] <Xark> tzanger: I would think you would at least want a FIFO or something...
[19:28:37] <thetruthisoutthe> usb requires 480Mbps <+-500ppm accuracy
[19:28:43] <tzanger> USB 2.0 max is 480, take off some for protocol
[19:29:07] <tzanger> I personally benchmarked an FX3 at 2.63Gbps
[19:29:51] <tzanger> you use the FX ram as FIFO
[19:29:58] <thetruthisoutthe> usb is consumer crap, if you make something better call it other
[19:30:14] <jadew> I think with that kind of data comming in, the only thing you can do on a pc is store it in the memory and hope you're doing it fast enough
[19:30:42] <jadew> on-the-fly decoding is out of the question
[19:30:49] <tzanger> thetruthisoutthe: sure, but it works well enough that it doesn't matter. not cost effective to use something (what?) better
[19:31:17] <tzanger> jadew: what would you want to do? it's a logic analyzer
[19:31:33] <thetruthisoutthe> tzanger <= i'd rather create something not requiring an 500ppmclock
[19:31:35] <thetruthisoutthe> ;/
[19:31:41] <jadew> tzanger, decode it on the fly and trigger on packet contents, rather than on edges and crap like that
[19:32:10] <tzanger> thetruthisoutthe: that's trivial these days. why not use something ubiquitous cheap and proven?
[19:32:25] <tzanger> jadew: that's what the fpga is for
[19:32:35] <jadew> so, while that speed sounds nice, I don't think you can come up with the software (unless it's a dedicated PC) to decode it and trigger fast enough
[19:32:57] <jadew> ah
[19:33:03] <thetruthisoutthe> this works only in hardware... you use DMA for fast transfers
[19:33:10] <tzanger> again you set up trigger conditions in the fpga. pc doesn't do anything but store
[19:33:13] <thetruthisoutthe> and decoding hardware
[19:33:37] <jadew> tzanger, problem with that is that you can't do much in terms of triggering on a fpga
[19:33:42] <tzanger> now you could use the fpga ram to store preteigger data
[19:33:53] <jadew> it's hard to get nice triggering capability out of it
[19:33:59] <tzanger> jadew: you're only limited by the fpga design
[19:34:21] <jadew> while on a PC, you could write a trigger that uses your own parser
[19:34:47] <tzanger> jadew: nonsense. set up a modular system to trigger. look at what signaltap can do. that is all fpga-only
[19:34:48] <jadew> anyway, that kind of sampling speed would be nice
[19:35:29] <thetruthisoutthe> on topic: do you think this is fine? or my hyperfast response got eaten then i got a timeout? http://pastebin.com/rK7HyN5B
[19:35:49] <tzanger> well it'd introduce its own issues. normally you never grab data like that. you use the capability to find glitches
[19:36:14] <tzanger> thetruthisoutthe: what's that? I'm feeding baby and on phone
[19:36:18] <Xark> I have one of these http://www.seeedstudio.com/depot/open-workbench-logic-sniffer-p-612.html which is basically just a Spartan3 FPGA and some RAM. It supports triggering and has a decent client. No doubt you could put the same (basic) code in DE0. However, it doesn't do realtime streaming (as you are talking about).
[19:36:29] <thetruthisoutthe> tzanger <= ps2 raw datalog
[19:36:54] <tzanger> thetruthisoutthe: ok and the specific issue?
[19:37:18] <tzanger> Xark: we were just talking about that. that's what sparked this discussion. :-)
[19:37:22] <thetruthisoutthe> wondering if my second ID byte got eaten because i sent it within 192us
[19:37:26] <thetruthisoutthe> then i got timed out
[19:37:55] <jadew> Xark, that's the one I ahve as well
[19:37:58] <Xark> tzanger: I see, missed that part. :)
[19:38:03] <tzanger> ps2 is a bidirectional bus. you might be contending with the other driver chats the spec say?
[19:38:38] <jadew> Xark, what OS are you using?
[19:39:04] <Xark> jadew: Mostly Win7 in my electronics lab these days (path of least resistance).
[19:39:13] <Xark> Win7-64
[19:39:19] <jadew> and what client are you using for the OLS?
[19:40:14] <Xark> The (former) alternative client. http://www.lxtreme.nl/ols/
[19:40:27] <jadew> did you try mine? http://dumb.ro/lafront/
[19:40:39] <jadew> (that's where the discussion started)
[19:40:54] <jadew> forum topic here: http://dangerousprototypes.com/forum/viewtopic.php?f=57&t=4670
[19:42:57] <Xark> jadew: No, I haven't tried yours at this point. I've been fairly happy with the former alternative client (it worked nicely analyzing UART captures recently).
[19:43:51] <jadew> cool, if you do and you have feedback, please let me know
[19:45:06] <Xark> jadew: Bookmarked. :)
[19:45:18] <jadew> cool
[19:45:38] <jadew> I had some issues with java one, which is why I started developing this one
[19:45:38] <tzanger> anyone interested? magnet:?xt=urn:btih:2f9196bdbb95e7df93b177e196a6dfcb5dad4215&dn=Radio%20Electronics&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337
[19:45:49] <tzanger> that's like 20 years of Radio-Electronics mags
[19:45:50] <jadew> but I guess by now they're fixed
[19:46:45] <Xark> jadew: Yes, the previous couple of iterations did have some significant problems. This version has been pretty stable for a while now (with only a few minor display update issues I am aware of).
[19:47:52] <jadew> tzanger, thanks, downloading now
[19:48:09] <jadew> works with a whooping 70k/s
[19:48:49] <tzanger> it'll speed up, I'm doing 450kBps now
[19:48:52] <tzanger> er kbps
[19:49:03] <tzanger> no I had it right
[20:06:51] <thetruthisoutthe> tzanger <= so, usb is cool with fpga?
[20:15:34] <tzanger> thetruthisoutthe: no
[20:15:51] <tzanger> thetruthisoutthe: the USB state machine is not really something you can synthesize nicely on an FPGA
[20:16:11] <thetruthisoutthe> that was what i'm thinking
[20:16:14] <tzanger> that's why you end up with little micros in the FPGA to do it or chips like the FX2/FX3 which themselves have a micro in them
[20:16:59] <tzanger> tacking an FX2/FX3 on to an FPGA is trivial and gets you some really nice easy ways to transfer a lot of data quickly
[20:17:00] <thetruthisoutthe> you need to hack together for that hacked together thing
[20:17:36] <tzanger> sticking an FX2/FX3 on to an FPGA is trivial
[20:17:41] <tzanger> it's not something I'd consider a hack
[20:18:01] <thetruthisoutthe> how about LVDS ?
[20:18:39] <tzanger> neither the FX2 nor FX3 have LVDS interfaces
[20:18:54] <thetruthisoutthe> but FPGAs have it
[20:19:02] <tzanger> I'm not sure I understand what you're driving at
[20:20:23] <thetruthisoutthe> nothing important, i'm busy analyzing raw datastreams
[20:21:45] <tzanger> There isn't much point in having an LVDS interface that isn't connected to anything :-)
[20:22:17] <tzanger> totally off topic: http://www.afrotechmods.com/cheap/arnoldpad/arnold.htm
[20:24:56] * Xark always enjoys AfroTechMods. :)
[20:28:52] <vectory> glorius, tzanger
[20:33:10] <Xark> FX2 is pretty nice, I just wish it was less expensive than the FPGAs I would like to use it with. :/
[20:38:33] <tzanger> fast ain't cheap
[20:42:41] <Xark> Yeah. Seems other host option MAX3421E isn't too cheap either.
[20:59:45] <thetruthisoutthe> so, pressing button at megahertz rate that has pcint will hog 99.9% resources of the mcu ?:)
[21:01:48] <Horologium> no, it will just trigger the interrupt if it is enabled, and set the input bit if it is set to input.
[21:02:25] <thetruthisoutthe> i mean it will continuously call the interrupt
[21:02:29] <Horologium> now, depending on what the software in the chip is doing, it could take up lots of time.
[21:02:33] <Horologium> no..
[21:02:41] <Horologium> the interrupt triggers once.
[21:02:47] <Horologium> until it gets cleared.
[21:03:05] <thetruthisoutthe> but it gets cleared instantly after it exits
[21:03:09] <Horologium> then you have to press the button again.
[21:03:13] <thetruthisoutthe> another key
[21:03:20] <thetruthisoutthe> in 10ns...
[21:06:20] <Horologium> pin change interrupt triggers on any toggle from high to low or low to high on a pin.
[21:07:02] <thetruthisoutthe> so i can add a digital filter by disabling the pcint in pcint, then reenabling it after n us
[21:07:10] <Horologium> if you keep pressing and releasing real fast, yes, it will keep triggering the interrupt.
[21:07:19] <Horologium> sure.
[21:07:48] <thetruthisoutthe> but i may lose edges then
[21:08:48] <thetruthisoutthe> since the buttons are tied together
[21:10:06] <thetruthisoutthe> or the trigger flag will be set while pcint is disabled, and it will resume ?
[21:13:34] <Horologium> if the interrupt is disabled then it won't trigger.
[21:31:46] <vectory> Horologium: you misunderstood the question, i think. yeah, late to the discussion, evryon moved on
[21:32:49] <vectory> the interupt flag will still be set. but not trigger the isr
[21:33:15] <vectory> under certain conditions which i dont remember atm.
[22:26:40] <thetruthisoutthe> vectory <= ack