#avr | Logs for 2013-01-16

Back
[03:01:38] <tzanger> wow charging a 600CCA lead-acid car battery will draw a shitload of current
[03:02:15] <tzanger> they bench supply I'm using goes into current limit and drops the voltage down to about 17V for the charge duration
[03:03:09] <RikusW> 24V ?
[03:13:47] <tzanger> my source supply (wall power) is 15-36VDC or VAC
[03:14:13] <RikusW> and the battery ?
[03:14:15] <tzanger> my internal "12V" rail is actually 14.5ish
[03:14:17] <RikusW> 12 or 24 ?
[03:14:20] <tzanger> battery's a standard 12V car battery
[03:14:40] <RikusW> shouldn't that charge at constant voltage 13v8 ?
[03:16:03] <tzanger> well the ideal lead-acid battery charge is apparently a constant-voltage charge up to 2.4ishV/cell followed by a lower voltage charge until the current draw drops, then a float charge for maintenance
[03:16:42] <tzanger> I'm doing a constant-votlage 14.5ishV "pulse" charge (60s on, 30s off) whenever the battery is <12V
[03:16:59] <tzanger> I might add a current sensor to the design but it's not really necessary
[03:17:30] <tzanger> my pulse charge pretty much covers the first and last charge cycles
[03:18:07] <tzanger> I'll have to adjust my threshold voltage but this is just more to prove out the charge subcircuit
[03:18:30] <tzanger> it never fails to impress me just how much current DPAK mosfets will handle without much of a heatsink
[03:18:40] <RikusW> how much current ? 10A ?
[03:20:50] <tzanger> well right now I'm limited by my bench supply, but 40mil 2oz copper is good for what, 2A if I want to keep the board traces from rising more than 10C
[03:23:00] <tzanger> the FET is rated just over 7A with a modest gate drive (85mohm) and 25C ambient
[03:23:19] <tzanger> it's not the most efficient out there but it's cheap and plentiful (DMP4051 and its cousins)
[03:24:14] <tzanger> I can go to 3A if I'm willing to let the trace go 25C over ambient
[03:24:27] <tzanger> oh wait I'm looking at internal layer calculations
[03:24:43] <tzanger> 4A on external layers at 40mil/2oz
[03:24:47] <tzanger> with a 10C rise
[03:25:00] <tzanger> 6A with a 25C rise
[03:26:33] <RikusW> solder on some copper wire ;)
[03:26:38] <tzanger> heh
[03:27:17] <tzanger> nah I might shorten the pulse time a little, I have to experiment. Right now the phoenix connectors I'm using limit the current too, and I've got a 10A fuse in the way too in case something goes wrong on the board
[03:27:27] <tzanger> a car battery would make short work of any circuit board traces
[03:28:43] <OndraSter> hehe
[03:28:46] <tzanger> I was nervous wiring up a 12V motor to pull the battery down over a few days so I could test the charge circuit
[03:28:53] <OndraSter> 600+A short current on car battery
[03:29:02] <tzanger> I don't have any readily-available big loads
[03:29:05] <RikusW> nice big sparks :-P
[03:29:23] <tzanger> yeah considerably more than 600A, that's the cold crank capacity. this battery is at 25C not -20C :-)
[03:29:26] <RikusW> don't leave it discharged for long, it will sulphate...
[03:29:49] <tzanger> I've never had the pleasure of dropping a wrench across the terminals, don't particularly want it either
[03:30:08] <tzanger> and I taped all the wires in such a way as they'd fail "safe" and not bridge in case the motor moved or the wires otherwise vibrated
[03:30:28] * RikusW have shorted batteries :-D
[03:30:33] <tzanger> RikusW: yeah. this battery is the old one out of my car, it has a fairly high self-discharge and is probably already sulfated to a certain degree
[03:30:53] <tzanger> I'm experimenting with how long this battery will be able to keep the magnetic lock engaged
[03:30:56] <tzanger> shit
[03:30:56] <tzanger> there's my 12V load
[03:31:00] <RikusW> build and test a desulphating circuit ?
[03:31:01] <tzanger> never thought of that
[03:31:09] <tzanger> RikusW: I was thinking about it
[03:31:26] <tzanger> 120VDC capacitor bank discharged into the battery is all they really are
[03:31:38] <RikusW> in pulses ?
[03:31:42] <tzanger> yes
[03:31:59] <tzanger> basically charge bank, dump across battery. lather, rinse, repeat
[03:32:16] <RikusW> do you know how many times ?
[03:32:21] <tzanger> high voltage, high current capability is what breaks down the crystals
[03:32:26] <RikusW> and what capacitance ?
[03:32:30] <tzanger> until it's happy :-)
[03:32:37] <tzanger> there's a lot of snake oil online about this
[03:32:42] <tzanger> I tend to trust battery university
[03:32:54] <RikusW> I've built an inductive self desulphating circuit
[03:33:02] <RikusW> not sure about its effectiveness
[03:33:35] <tzanger> I have a pile of sealed lead acid batteries that won't charge. they draw a whopping 100mA when you hit them with 14.5V and charge to about 1V
[03:33:42] <tzanger> I could try desulfating those
[03:33:58] <RikusW> unless they have a shorted cell ;)
[03:34:09] <RikusW> I've seen car batteries with shorted cells
[03:34:26] <RikusW> they draw > 10A on a charger...
[03:35:03] <RikusW> usually sulphated batteries draw very little current.
[03:35:11] <RikusW> its like it won't charge at all
[03:36:13] <tzanger> that's what these are doing
[03:36:33] <tzanger> it's also why I dug out the old car battery... I figured it should draw a fair amount. :-)
[04:10:12] <Kevin`> I have to question the value of a 120vdc capacitor bank
[04:10:19] <Kevin`> when you could just connect 120vac to the battery
[04:13:08] <Kevin`> most of the desulfating circuits use a much higher frequency, but the simplicity of the solution makes it interesting anyway
[04:20:32] <theBear> the frequency doesn't matter so much as the alternation, and you should use a lightbulb or something in series if you use the mains, and a diode, AT LEAST, and know what yer doing and measure carefully and not die
[04:20:55] <theBear> after reading a lot of papers a few years back, i like to think of it like waves lapping at a beach, just slowly eroding the sulphate
[04:21:19] <theBear> and sulphated they look like big resistors, so a car battery won't give much current, you need more voltage
[04:21:43] <theBear> and i don't recommend this, do as i say, not as i do :)
[04:54:44] * RikusW connects 380Vac to a car battery :-P BOOM
[05:12:07] <RikusW> how big gap should a solder jumper have ? 5 mil ?
[05:13:14] <theBear> umm, dammit, can't think in mils that small, stupid measurement :) erm, 1/200, erm, bigger than that i think
[05:13:30] <theBear> too small they get tricky to un-do, specially if there isn't room for braid
[05:13:48] <RikusW> ah
[05:14:05] <RikusW> 10mil ?
[05:14:06] <theBear> often in commercial stuff i see them the same size or SLIGHTLY smaller than the smallest resistor/cap/passive, assuming we talking smd here
[05:14:21] <RikusW> 0201 ?
[05:14:22] <RikusW> 0402 ?
[05:14:28] <theBear> umm, 10 mil is 1/100th of a mm right ? oh wait, stupid brain, gimme a second
[05:14:44] <RikusW> 10mil = 250um
[05:15:00] <theBear> 1000mil=25.4mm, not 1mm <grin> lemme consider
[05:15:26] <RikusW> metric is fine too :)
[05:15:33] <theBear> oh, NOW you tell me :)
[05:15:46] <OndraSter> the world prefers metric
[05:15:48] <OndraSter> except the US
[05:15:53] <theBear> so 10mil is .245, if yer tight on space that's probably good, if not .5 is probably easier to work with
[05:15:58] <RikusW> and pcb apps...
[05:16:06] <OndraSter> eagle can work with both mm nd cm
[05:16:07] <OndraSter> and*
[05:16:09] <OndraSter> err
[05:16:10] <OndraSter> mil/mm
[05:16:11] <theBear> yeah, what blows my mind is how they came up with the idea of mils ! what a twisted sick concept
[05:16:24] <OndraSter> well that is why they are supposed to be called thou
[05:17:16] <theBear> even called thou, (which is better in spoken language, cos mils sounds a lot like mm's spoken layman style) they're still just, if yer not gonna be metric, don't start using powers of 10 NOW
[05:17:19] <RikusW> I did some 500um jumpers and it was fairly hard to bridge...
[05:17:27] <theBear> 500um is .5mm ?
[05:17:36] <OndraSter> haha theBear
[05:17:37] <RikusW> yes
[05:17:40] <theBear> dammit, talk in units my eyes can comprehend
[05:17:43] <OndraSter> imperial units are stupid
[05:17:51] <theBear> seriously, .5mm hard to bridge ?
[05:17:52] <OndraSter> metric with powers of 10 ftw
[05:17:55] <RikusW> um is metric ;)
[05:18:04] <OndraSter> ye
[05:18:04] <OndraSter> s
[05:18:10] <theBear> sounds like your personal preference is more around .2-.3mm then
[05:18:34] <OndraSter> FYI, 0201 imperial = 0603 parts metric
[05:18:43] <OndraSter> so 0.3mm is ... SMALL
[05:18:53] <OndraSter> I wouldn't go below 0.5mm for sure
[05:18:54] <theBear> things like smd bridges i find can be tricky 'cos it's hard to get both pads hot, you haven't got anything 3d to get the iron against or force the solder to take the heat to the right place
[05:18:54] <RikusW> .5 can be bridged but it was hard to keep the solder out of the pinheader holes right next to it...
[05:19:02] <OndraSter> oh
[05:19:29] <theBear> and smd land there's seldom room to put your iron 'almost flat'
[05:20:20] <theBear> i wonder, if hotair is an everyday tool for you, a 'dob' of paste probably works very nicely on anything that small (much bigger it will tend to seperate onto the two pads as it melts)
[05:20:30] <RikusW> I had a 0.5mm bridge between my U2S 2.5mm pinheaders..
[05:20:45] <RikusW> I did manage to bridge it without getting solder into the holes
[05:20:48] <RikusW> but it was tricky
[05:20:58] <RikusW> and some holes did get solder anyways
[05:21:07] <theBear> also assuming you have space, it's traditional to put testpoints/bridgepoints as far from other things as possible, just to make them a little less annoying to deal with
[05:21:31] <RikusW> so I found out
[06:48:38] * creep flashes leds on parallel port with linux and C ;>
[06:55:44] <r00t|home> zOMG
[06:56:29] <r00t|home> last thing i did on a serial port on a pc was control a serial-controlled stepper motor driver gutted from a printer
[06:56:49] <creep> yeah now i assemble some stepdir drivers and step some stuff with steppers
[06:57:49] <yunta> creep: why not using usb+avr for that?
[06:58:05] <creep> wanting to make cnc machine
[06:59:11] <creep> if i want usb communication for example, i have to create some advanced magical hardware that can convert a datastream into motion
[06:59:45] <creep> much simpler to stepdir
[07:00:14] <yunta> uh, isn't parallel port the same thing, just with higher chance to fry your mainboard ?
[07:00:19] <creep> no
[07:00:20] <yunta> or driver
[07:00:23] <yunta> stepper
[07:00:52] <creep> i can just switch logic levels of the 8 databits plus the contorl bits
[07:01:05] <creep> this is why it is called parallel port
[07:01:29] <creep> it has a digital latched output
[07:02:45] <yunta> aren't you worried about rt-issues? I mean, getting cpu to switch exactly when you need it.
[07:02:54] <creep> high speed modes are used for data transfer and stobe tells when data is available... compatibility mode is just a latch output
[07:03:09] <yunta> ah, hw sync
[07:03:21] <creep> yunta<< not really, i have RT kernel
[07:03:30] <yunta> wow, ok
[07:04:13] <creep> Linux localhost 3.4.9-rt17 #3 SMP PREEMPT RT Tue Aug 28 09:50:26 CEST 2012 x86_64 GNU/Linux
[07:04:32] <creep> this does pretty well if code is done properly
[07:05:07] <yunta> is this on normal pc?
[07:05:18] <creep> +
[07:06:33] <yunta> interesting
[07:07:07] <creep> you can grab RT patch from kernel.org, then hack together an RT kernel
[07:07:32] <creep> that is low latency
[07:07:48] <yunta> I'll keep that in mind.
[07:08:31] <yunta> Right now I have usb+avr combo that I can control easily, on 1us level, so it's enough for most things.
[07:08:58] <creep> problem is, data transfer latency
[07:09:20] <yunta> true
[07:09:29] <yunta> I buffer shit, but it's not enough for some things.
[07:10:29] <creep> it can be enough, but you need much buffer and stable timebase, more complicated stuff
[07:10:39] <yunta> right
[07:10:49] <creep> like the first cd writers did the buffer underrun protection
[07:11:57] <creep> or go low end and have slow movements
[07:12:13] <creep> by simply stepdir-ing on parallel port
[07:12:37] <yunta> what about hw, how do you build it?
[07:12:39] <yunta> I mean, cnc
[07:13:20] <creep> from junk printers
[07:13:37] <yunta> you mean, you take out more than just motor?
[07:13:50] <creep> sure
[07:14:06] <yunta> nice
[07:14:33] <creep> the silver-steel shafts are nice in them
[07:15:28] <creep> there are limitless possibilities on how to assemble a cnc machine
[07:15:59] <yunta> if you have time, or live in country where shit is easy to get
[07:16:21] <creep> i think i could make a small robotic arm easier than a gantry style 3 axis cnc, but the control is much harder
[07:16:36] <Tom_itx> yunta, do you have schools or businesses in your area?
[07:16:51] <Tom_itx> they discard junk all the time
[07:16:56] <creep> :)
[07:17:07] <yunta> Tom_itx: yes, but they don't work in a way you'd call "business" :D
[07:17:19] <yunta> it's finland
[07:19:35] <yunta> it's actually impressive how little shit they give about things
[07:21:59] <creep> i need to get some fpgas when i'll be bored
[07:23:19] <creep> did anyone build an analog dimmer buffer yet ?
[07:25:44] <RikusW> creep: I do have a dev board with onboard virtual usb serial port
[07:25:54] <RikusW> no usb coding required
[07:26:23] <creep> it is probably good for a plc
[07:26:36] <RikusW> google megau2s
[07:27:01] <RikusW> http://sites.google.com/site/megau2s
[08:56:56] <amee2woof> ... the "video" trigger works on composite video signals, right?
[09:02:01] <amee2woof> i'm trying to trigger on a specific line of a PAL signal, so i set the trigger mode to video, standard to PAL, positive polarity, sync on line, and line number to 1
[09:02:19] <amee2woof> but what do i set the trigger level to now?
[09:02:31] <amee2woof> i can still set a level, and it affects the triggering
[09:02:57] <amee2woof> but slowly sweeping it across the signal, i can't find a spot that gives stable triggering
[09:04:08] <tzanger> I haven't played with a good old parallel port since I was probably 17 or 18
[09:04:10] <amee2woof> even if the trigger indicator lights up, it seems to trigger on random lines, not the configured line
[09:04:16] <tzanger> holy cow, never thought of that
[09:13:36] <r00t|home> amee2woof: lack of context isn't helping...?
[09:15:02] <amee2woof> what context is relevant here? its a PAL setting coming from an embedded ARM board, and i'm having issues setting up the video right. trying to examine the signal to see if the issue is on the monitor end of the connection, or a configuration issue with the board
[09:15:24] <r00t|home> amee2woof: you seem to be talking about some scope or logic analyzer...?
[09:15:40] <amee2woof> yes, a rigol DSO
[09:16:14] <amee2woof> mainly, i want to find out how many of the lines are actually used by displaying a white image and examining the signal. from the distortion i'm suspecting the resolution gets downconverted somewhere
[09:16:18] <r00t|home> i'm afraid i don't have one of those...
[09:16:23] <amee2woof> but i can't tell if it is the video driver or the monitor doing that
[09:16:36] <amee2woof> umm is a generic cheap digital scope
[09:19:05] <jacekowski> amee2woof: i've spent few hours finding out why picture on my brand new tv was shit
[09:19:30] <jacekowski> amee2woof: and it ended up being mix of overscan setting on device sending the signal and the tv
[09:20:28] <amee2woof> how did the overscan settings cause the issue?
[09:20:42] <amee2woof> due to utter lack of documentation regarding the board, i'm not sure i have it set up correctly to produce a usable video signal
[09:21:30] <amee2woof> that, on top of the cheapo composite monitor's physical resolution not being full PAL height, is why i'm stugging to find the cause(s) of the problem
[09:22:12] <jacekowski> amee2woof: TV was set to do some overscan
[09:22:28] <jacekowski> amee2woof: and then device sending the signal was scaling it down to fit it on the screen
[09:22:47] <jacekowski> amee2woof: so 1080p video was scaled down to like 1000p or so
[09:22:57] <amee2woof> eeep
[09:23:05] <jacekowski> amee2woof: and then it was stretched back to 1080p
[09:23:21] <amee2woof> yeah, i see how that'd look like shit
[09:23:22] <jacekowski> samsung TVs do it by default if set to 16:9 mode
[09:23:30] <jacekowski> rather than screen fit mode
[09:23:34] <jacekowski> and 16:9 mode is default
[09:24:21] <amee2woof> the monitor is one of these cheap composite monitors that you'd use for electric door spies or reverse view cameras in cars
[09:25:28] <amee2woof> the physical resolution is 480x234 (and i confirmed that by counting off lines), but it'll stretch the image to fit the screen. so i have to find a setting on the board that yields the physical resolution of the panel so the stretch is 1:1
[09:26:52] <jacekowski> digital?
[09:27:08] <amee2woof> yes, LCD
[09:27:37] <amee2woof> http://img.diytrade.com/cdimg/792326/6873799/0/1265333514/7-inch_stand-aline_TFT_LCD_Monitor.jpg << not that model, but you get the idea
[09:27:48] <amee2woof> but the video driver only gives me 8 configurable parameters, and there is no documentation on these besides the fact they exist: "mode" can be NTSC or PAL/SECAM, "aspect" can be 4:3, 14:9 or 16:9
[09:28:20] <amee2woof> and "framebuffer height/width" as well as "overscan left/right/top/bottom" are all integer values
[09:30:15] <jacekowski> is the signal digital as well?
[09:30:22] <jacekowski> hmm, you said composite
[09:30:25] <amee2woof> no, regular composite video
[09:30:39] <jacekowski> composite is bad for quality
[09:30:59] <amee2woof> all it needs to display is a text terminal
[09:32:10] <jacekowski> thing is, if it's designed for composite it will most likely accept typical PAL resolution
[09:34:02] <amee2woof> mmh yeah, that plus the weird vertical resolution keep confusing me as to how exactly it handles the signal
[09:34:24] <amee2woof> and frankly i don't trust the video driver... or my configuration for it.
[09:35:16] <amee2woof> being stuck for documentation blows real hard :/
[09:42:38] <amee2woof> and yes you can quote that one out of context if you like :P
[09:46:21] <amee2woof> .... i think i got the trigger settings to work
[09:46:37] <amee2woof> it triggers mostly stable if i set it to negative polarity >_<
[09:47:23] <OndraSter_> how the hell can lim (1+1/x) = e if x->+inf?
[09:49:10] <DagoRed> OndraSter_: answer is that e = infinite series.
[09:49:37] <DagoRed> Which comes out to be something around something like 2.71xxxxxx
[09:51:41] <DagoRed> Nope... I apparently stand corrected but that looks familiar as the definition of e
[09:52:01] <_abc_> Hello. Is there some clever way to detect atmega temperature for atmega8a, perhaps by calibrating RC osc against 32kHz xtal running on TOSC / TMR2 ?
[09:52:17] <_abc_> Definition of e? I just joined.
[09:52:35] <_abc_> e as in electron charge or e as in Euler's number?
[09:54:47] <amee2woof> i think euler's number
[09:54:59] <_abc_> https://lists.gnu.org/archive/html/avr-gcc-list/2009-11/msg00054.html nice
[09:55:21] <amee2woof> and it seems like the video driver is doing the downconversion. from what i can tell i'm getting a standard PAL 625 @ 50i signal
[09:57:08] <amee2woof> so that sort of answers the question then i suppose
[10:00:50] <DagoRed> _abc_: I'm sure you can find the internal temperature of an atmel using an oscillator. I question the accuracy of it though.
[10:01:50] <amee2woof> don't some AVRs have a temperature diode on-die and wired to an unexposed ADC input?
[10:04:52] <DagoRed> Hmm... I wonder if one can use a PLL and a free running oscillator through a PLL to get the phase difference which would work as _abc_ described.
[10:10:56] <_abc_> DagoRed: no need to get fancy, wire TOSC1&2 to 32kHz xtal as I have, arrange for TMR2 overflow interrupt, and wire TMR1 to internal RC osc. on 1st interrupt from TMR2 set TMR1 to 0, on 2nd read it.
[10:11:11] <_abc_> Work out the numbers, and apply OSCCAL correction until it is nice
[10:11:36] <DagoRed> that works.
[10:11:38] <_abc_> (insert discussion about races between timer hardware and interrupt drive readout here)
[10:11:46] <_abc_> *driven
[10:18:03] <DagoRed> lol
[10:20:22] <DagoRed> Is there any need in an application _abc_?
[13:48:27] <creep> what is your opinion on resistor ladder dac? http://en.wikipedia.org/wiki/Resistor_ladder
[13:49:13] <specing> inaccurate, bulky, ...
[13:50:12] <creep> so a 1 bit D/A would be much better?
[13:53:05] <specing> no, buy an IC dac
[13:54:42] <creep> http://en.wikipedia.org/wiki/1-bit_DAC
[13:54:48] <creep> sounds simple enough
[14:08:27] <GuShH> creep: depends on your requirements
[14:08:56] <GuShH> you only use a DAC when fidelity / precision / accuracy / etc is required
[14:09:21] <GuShH> a resistor dac on 4 bits with 1% nodes is OK for a lot of applications, think toys for example.
[14:10:30] <GuShH> on 8 bits and up you'll get serious non-linearities and other issues, that's when you need to look into laser etched resistors... individually calibrated for that particular ladder, that's when it doesn't make sense to roll your own.
[14:42:20] <abetusk_w> the atmega328 has a temperature sensor built in?
[14:42:53] <specing> abetusk_w: check the datasheet
[14:43:46] <abetusk_w> specing, I am. Section 23.8 "Temperature Measurement: The temperature measurement is based on an on-chip temperature sensor that is coupled to a singled ended ADC8 channel"
[14:45:34] <abetusk_w> same with the attiny85?
[14:46:17] <specing> well if it says it has one then it will be listed in the adc muc
[14:46:18] <specing> mux
[14:46:28] <abetusk_w> I'm just amazed is all
[14:46:32] <abetusk_w> this is standard practice?
[14:46:35] <abetusk_w> I had no idea...
[14:47:13] <GuShH> abetusk: you can measure temperature with almost anything
[14:47:19] <GuShH> I don't see what's the big deal about it
[14:47:44] <GuShH> I've even seen dev boards where they advertise it as the primary feature (being able to wirelessly transmit "temperature data")
[14:47:52] <GuShH> Are people that narrow minded?
[14:48:16] <GuShH> what was the last one... pinoccio or some-shit
[14:48:21] <abetusk_w> Is that really narrow minded?
[14:48:26] <GuShH> It is.
[14:48:55] <GuShH> Marketing a wireless board like that is a clear sign of a) we want to cater to makers b) we don't really know what we're doing, so we'll cater to makers.
[14:49:28] <abetusk_w> How can you measure temperature with "almost anything"?
[14:49:51] <GuShH> abetusk_w: diodes, transistors, you could even measure wind speed with a piece of wire.
[14:50:38] <GuShH> It's only when you require specific linearity / accuracy / whatever that you would go for expensive sensors.
[14:50:50] <abetusk_w> diodes by measure the voltage drop, transistors by measure the resistance or current...ah, wire by measure resistance due to bending
[14:50:55] <abetusk_w> fair enough
[14:50:57] <GuShH> For instance the temperature reference on your AVR is not going to cut it for other than a rough estimate of room temperature, not accounting for the self-heating of the device.
[14:51:48] <abetusk_w> right. It's always about consistenc, calibration and ultimately some type of conversion to linearity
[14:51:53] <abetusk_w> *consistency
[14:52:06] <GuShH> I'd say it's always about what you need :p
[14:52:29] <GuShH> You may need to measure temperature very accurately over a wide range from freezing temperatures to lead melting temperatures...
[14:52:40] <GuShH> Or you may just want to get an estimate of room temperature
[16:59:17] <edboogie> Hey guys way off topic.. I just got a bachelors in USA and got offered my first firmware programmer job for $71k .. is tgat a very high salary for first job?
[17:00:08] <OndraSter_> $71k?!
[17:00:12] <OndraSter_> per year?
[17:00:29] <OndraSter_> compared to czechs where we do $1k per month it is A LOT
[17:01:23] <edboogie> Well yeah I know eastern Europe is great for hiring cheap hired guns
[17:01:41] <OndraSter_> I am central europe :X
[17:02:03] <OndraSter_> I would work for $71k without any question in embedded systems
[17:02:06] <edboogie> if I owned my own company.. I would open a branch in Russia and hire 10 programmers for same price as one American hacker
[17:02:17] <edboogie> LOL I'm sure you would..
[17:03:11] <edboogie> the job is for C++ on a ARM 9.. I am amateur in c++.. but pro at C in arm cortex.. I hope I can do it..
[17:03:39] <edboogie> I don't wanna get canned within first month. That would suck
[17:03:57] <Tom_itx> if you get tired of doing firmware programming for $71k lemme know
[17:04:04] <Tom_itx> or let them know about me
[17:04:43] <Tom_itx> plus insurance and 401k?
[17:04:47] <edboogie> Lol.. Tom you are eleet though. You don't make $120k+k
[17:05:07] <edboogie> yes of course. It's a fortune 100 company
[17:05:19] <edboogie> I've never had a job ever.. not even McDonalds
[17:05:21] <OndraSter_> I would be fine with $40k too :P
[17:05:22] <Tom_itx> you better pounce on it
[17:05:25] <edboogie> so I'm nervous
[17:05:34] <Tom_itx> even if you don't last there, it's a good one on your resume
[17:05:38] <edboogie> lol.. I will give it my DLL.
[17:05:41] <edboogie> all*
[17:05:44] <OndraSter_> I worked in one world wide company as an IT guy
[17:05:55] <OndraSter_> zero programming (except few powershell scripts)
[17:05:57] <OndraSter_> but IT support
[17:06:03] <OndraSter_> and then in few other companies the same
[17:06:10] <Tom_itx> i'm gonna laugh when they make you work on pics though
[17:06:22] <OndraSter_> haha PICs
[17:06:31] <OndraSter_> ONE REGISTER TO RULE THEM ALL
[17:06:42] <edboogie> No I turned down a military contractor gig because they told me I would be programming in C on pics..
[17:07:07] <Tom_itx> c handles all the register crap for you
[17:07:13] <edboogie> I don't wanna do low level stuff anymore. Arm9 is the minimum.
[17:07:20] <Tom_itx> it wasn't that bad... i used CCS c
[17:07:26] <OndraSter_> anyway
[17:07:32] <OndraSter_> I came from pub, I need to get up in 6 horus
[17:07:36] <OndraSter_> to write an exam
[17:07:38] <OndraSter_> about I know nothing
[17:07:38] <Tom_itx> so?
[17:07:39] <OndraSter_> gn
[17:07:42] <Tom_itx> study for 6 hrs
[17:07:45] <OndraSter_> haha
[17:07:53] <OndraSter_> I am going to see how they mark it etc
[17:07:56] <Tom_itx> then you will surely ace the test
[17:07:56] <OndraSter_> I have got 3 tries in total
[17:08:10] <OndraSter_> 70 definitions and sentences
[17:08:11] <OndraSter_> about math
[17:08:13] <OndraSter_> rules, ..
[17:08:16] <Tom_itx> look for trick questions
[17:08:18] <OndraSter_> all about integrals/..
[17:08:24] <OndraSter_> there are none
[17:08:25] <Tom_itx> those assholes love those
[17:08:52] <OndraSter_> it is always definition + sentence, then one or two math calculations using the sentence
[17:08:53] <OndraSter_> THAT'S IT
[17:08:58] <OndraSter_> 4 or 5 times
[17:09:24] <Tom_itx> you'll do fine
[17:09:40] <Tom_itx> </peptalk>
[17:09:44] <OndraSter_> lol
[17:09:45] <OndraSter_> gn
[17:44:49] <Horologium> Tom_itx, package arrived.
[17:44:57] <Horologium> haven't plugged it in yet but looks good so far.
[17:50:11] <inflex> Tom_itx still making programmers?
[17:50:57] <Horologium> yup.
[19:00:36] <Horologium> looks like I get to play with LUFA this weekend.
[19:02:20] <Horologium> just grabbed the latest avr toolchain from atmel and it seems to be compiling the whole LUFA release ok so far.
[19:03:34] <Horologium> default debian toolchain didn't handle it too well.
[19:03:42] <Horologium> older versions and all that.
[19:05:08] <edboogie> Hey guys.. If I have a huge 16k size ASM project.. that is on some 16 bit x86 and need to translate to ASM on a 32 bit RISC. What is the easiest way to do this? I was thinking to build a cross compiler than translating Lind by line.
[19:05:33] <Horologium> that would probably be the quickest.
[19:05:48] <Horologium> what processor are you translating to?
[19:06:00] <edboogie> anybody else with a lot of experience.. arm cortex m0
[19:06:27] <edboogie> I think the Intel.chip is like a 8080 or somethihg. Not sure about Intel chips
[19:08:14] <edboogie> I took a class in compilers.. I'm thinking of using a compiler compiler like yacc to develop a cross compiler.. anybody do this in practice.. like javacc or yacc
[19:08:59] <edboogie> I don't believe its reasonable to translate line by line
[19:09:53] <Horologium> well, 8080 isn't x86....it is a predecessor, but,,
[19:10:19] <edboogie> Oh you are right.. it is CISC though right?
[19:10:34] <Horologium> do make such a translator you will need to understand the assembly for both processors.
[19:10:47] <Horologium> and, yes, it is considered a CISC processor.
[19:11:06] <edboogie> I'm guessing that's why its not easy .. this change in chips.. CISC to RISC.. and change in word size
[19:11:22] <Horologium> modern x86 processors are actually RISC at the core with an overlay for more complex commands.
[19:12:21] <Horologium> one must understand what RISC and CISC actually mean...and where the difference lies....sometimes the difference is only in what the manufacturer wants to call the chip....but, that's neither here nor there.
[19:12:52] <Horologium> it might be necessary to generate multiple lines of code on one chip to do the same thing that is done on another chip in a single line.
[19:13:05] <edboogie> Well what do you think the difficulty lies?
[19:13:18] <edboogie> Oh so there fore changes in timing
[19:13:39] <Horologium> yes. if your app is very timing critical then you will have some serious issues.
[19:13:48] <edboogie> Danm.
[19:13:58] <edboogie> Yeah that's a nightmare
[19:14:33] <Horologium> but if you are going from a 2MHz 8bit processor that might push half a MIP at best to an 80MHz 32bit processor that pushes 200MIPs, you might as well just about rewrite the app.
[19:14:47] <edboogie> 16k filled with flashm. Say not counting the DATA section.. is probably thousands of lines of code
[19:15:13] <edboogie> yeah I was gonna tell my boss that..
[19:15:14] <Horologium> about 8K lines of code give or take.
[19:16:23] <edboogie> but the product is in production. Sells millions of units.. my boss probably wants a one to one translation. Not a rewrite
[19:16:41] <edboogie> its probably too risky to deploy a rewrite of fb old product
[19:16:53] <Horologium> so, you are going to slow down your arm to 1MHz or so?
[19:17:21] <edboogie> I assume.. to get close to the intrll chip. I assume so
[19:17:48] <Horologium> in the end, probably easier to rewrite it in C if you know what it does.
[19:17:53] <Horologium> or even C++
[19:18:13] <Horologium> getting clock for clock compatibility is going to be the nightmare.
[19:18:30] <Horologium> but, I suppose you could build that into your crosscompiler.
[19:18:38] <edboogie> There is no way to intelligently do this going the cross compiler route?
[19:18:40] <Horologium> adding nop or whatever in the line.
[19:18:46] <edboogie> Yeah.
[19:18:58] <edboogie> I gotta ask some compiler experts
[19:19:04] <Horologium> yeah.
[19:19:10] <edboogie> very few in this world
[19:19:15] <Horologium> not sure who we have here with that kind of expertise.
[19:19:46] <Horologium> I've built basic compilers before and am working on a 6502 to AVR cross compiler for a specific application.
[19:19:50] <edboogie> I'm gonna ask my old professor.. nice thing about going to have gone to a state school.nearby
[19:20:29] <edboogie> yeah I assume knowing how to write cross compilers is very useful skill to have in embedded
[19:21:00] <edboogie> you have written working cross compilers?
[19:21:02] <Horologium> it's a hobby for me mostly.
[19:21:09] <Horologium> until I come up with that million dollar idea.
[19:21:19] <edboogie> Lol.. aren't we all.
[19:22:44] <Horologium> one of the things to take into account too is the fact that the 8080 didn't have any kind of readahead or pipelining.
[19:22:57] <Horologium> where the arm cortex m0 most definitely does.
[19:23:02] <edboogie> I actually started a small embedded systems mdnufscturing company straight out of college.. nothing too ambitious.. long story short.. two years later. It looks like I am going to net $30k.. all that work for such a measley harvest.
[19:23:22] <Horologium> I've started 2 companies over the years.
[19:23:27] <edboogie> Shit do you mean the 8080 is provably taking like 4 cycles per instruction;
[19:23:27] <edboogie> K
[19:23:29] <edboogie> ?
[19:23:46] <Horologium> put myself out of business both times by saturating my area and having nothing else to do.
[19:24:10] <edboogie> What do you mean? Saturating your area?
[19:25:04] <Horologium> The initial specified clock frequency limit was 2 MHz and with common instructions having execution times of 4, 5, 7, 10 or 11 cycles this meant a few hundred thousand instructions per second
[19:25:34] <Horologium> I mean, I sold computers to people, fixed existing computers. then nothing else to fix or sell. or at least, not enough to keep me in business.
[19:25:43] <Horologium> small town and all.
[19:26:38] <Horologium> you sure it is an 8080 and not an 8051?
[19:27:14] <edboogie> I'm sorry I know nothing about Intel chips. Since they are so old.. 80 sonething..
[19:27:20] <edboogie> might be 8051
[19:27:25] <Horologium> makes a big difference.
[19:27:28] <edboogie> I know arm well
[19:27:34] <edboogie> that's why I got hired
[19:28:08] <Horologium> will have to know what processor exactly in order to know what the original code does...have to know what the opcodes do to make a converter.
[19:28:10] <edboogie> I mean those 80-- chips are sooo old..
[19:28:16] <Horologium> bah.
[19:28:21] <Horologium> 8051 chips are still in use today.
[19:28:31] <Horologium> as much as AVR and PIC,,probably more even.
[19:28:35] <Xark> Probably a lot more than 8080. :)
[19:28:48] <edboogie> I know.. but they are around since 80s right?
[19:28:54] <Horologium> I work with 8051/2 chips myself.
[19:28:54] <edboogie> Or 90s?
[19:29:19] <Horologium> 80s.
[19:29:30] <Xark> 6502 and 8080 were 70s
[19:29:44] <edboogie> That's like three centuries ago.. in computer years
[19:29:45] <Horologium> but, hell, I know of satellites still running 8008 processors.
[19:30:01] <Xark> Horologium: A bit tricky to upgrade. :)
[19:30:18] <Horologium> that launched since 2000.
[19:30:40] <Xark> Horologium: That is amazing.
[19:30:48] <Horologium> space rated and hardened.
[19:30:58] <Horologium> modern processors won't last.
[19:31:09] <Horologium> older processors are easier to radiation harden.
[19:31:27] <Xark> Horologium: I could see that, but still 8008? I guess it is a bit better than 1802... :)
[19:31:36] <Horologium> the smaller the gates the easier it is for ionizing radiation to damage them.
[19:32:03] <Horologium> first gps sats had 4004 processors running much of their systems.
[19:35:55] <edboogie> 4004 is a 4 bit micro?
[19:36:01] <edboogie> That's crazy
[19:37:54] <Horologium> it is.
[19:45:07] <edboogie> With the existsnce if cheapo 32 bit micros like arm cortex m0.. is there any incentive to use 8 bit or 16 bit mictos anymore.. other than to reuse old code?
[19:45:57] <edboogie> Does a 32 bit micro of comparable speed use significantly more power than 8 or 16 bit micros?
[19:53:56] <amee2woof> GuShH: https://d.facdn.net/art/kaifox/1291485287.kaifox_tailhugomg.jpg :3
[19:57:36] <GuShH> amee2woof: :|
[20:19:32] <Horologium> edboogie, yes, plenty of reasons. For me at least. Why use a 9 pound sledge when 3 pounder will work?
[20:19:49] <Horologium> also, I like breadboarding things.
[20:20:11] <Horologium> yes, you can do so with bigger processors on carrier boards, but that adds to the price.
[20:21:07] <Horologium> if you are building a controller for a chicken door that opens and closes at set times of the day, why use a 32bit processor when an 8bit attiny26 will do the job?
[20:24:40] <Tom_itx> or a timer from walmart
[21:06:07] <tzanger> edboogie: price (sometimes), power (sometimes), package (sometimes), familiarity, longevity, support...
[21:13:38] <Horologium> and ease of use...that's a big one.
[21:13:57] <Horologium> and, bedtime.