#avr | Logs for 2016-04-17

Back
[00:55:40] <anton02> Is this how DMA works? if a memory bit is set to 0 then DMA will repeatedly copy that memory bit to some location. If the cpu happens to change that value in memory at some point in time to a 1, then the value that DMA is copying changes
[01:00:38] <theBear> dma works like the cpu can write or read an address, or a something-else that wants to can write or read the same without cpu intervention, saving the cpu valuable doing tricky things time
[01:01:16] <carabia> ok then
[01:08:50] <anton02> if something attempts to read that memory while the cpu is changing it, i wonder how corruption is prevented
[01:22:49] <theBear> dma mechanism/"protocol" handles that, implementation specific i spose
[02:06:36] <cehteh> morning
[02:06:44] <cehteh> anonnumberanon: depends on your timer configuration
[02:08:51] <cehteh> http://git.pipapo.org/?p=muos;a=blob;f=PLAN.org;h=4b35ade767f01ddfda3ab7b0ad570748158f17f1;hb=refs/heads/doc#l31
[02:09:19] <cehteh> there is a table, timer-ticks is what matters and as you can see, that varies widely
[02:10:30] <anton02> cehteh, whats your opinion on the current group of dma capable mcus
[02:11:03] <cehteh> no idea, havent used that yet
[02:11:17] <anton02> cehteh, have you used any PIC dev boards?
[02:11:27] <cehteh> no, but stm32
[02:11:43] <anton02> what makes you think the two are similar?
[02:11:53] <cehteh> nothing
[02:12:03] <cehteh> but they have DMA and i didnt used it
[02:12:18] <anton02> what is your favourite MCU?
[02:12:26] <cehteh> avr :D ...
[02:12:32] <cehteh> because of simplicity
[02:12:33] <anton02> which one?
[02:12:38] <cehteh> lol
[02:12:44] <anton02> do you mean arduino
[02:12:45] <cehteh> the one which works for the project
[02:12:51] <cehteh> no plain avr
[02:12:53] <anton02> what makes you think AVR is simpler than stm
[02:13:09] <cehteh> wtf interview is that :D
[02:13:29] <cehteh> less feature/capabilities, small lib .. thats easy to learn
[02:14:04] <cehteh> stm comes woth truckloads of features and libraries
[02:14:36] <anton02> avr has low mhz and high price
[02:15:07] <cehteh> depends
[02:15:29] <cehteh> for hobbyist it doesnt matter if a mpu costs $1 or $1.50
[02:15:41] <cehteh> you dont buy 1000000
[02:16:11] <cehteh> there are a lot things you can not do with avr's
[02:16:36] <anton02> do you think there's stm PIC and TI channels on freenode?
[02:16:44] <cehteh> but the easy free toolchain and the simple use beats all competition
[02:16:53] <cehteh> dunno
[02:17:13] <anonnumberanon> yeah anton02
[02:17:20] <anonnumberanon> mp430 for TI
[02:18:07] <anonnumberanon> msp430 i mean
[02:18:35] <cehteh> anonnumberanon: btw the clock queue in mµOS wont be suitable for servo driving, no matter of timer resolution
[02:19:04] <cehteh> thats where one would add a dedicated driver
[02:20:46] <anonnumberanon> cehteh, what is the resoslution of MUOS_CLOCK_MICROSECONDS with "highres"
[02:21:46] <cehteh> MUOS_CLOCK_MICROSECONDS only calculated timer ticks
[02:21:46] <anonnumberanon> Table shows Tick us 0.12 but that is a calculated value that is very far from the real world.
[02:22:17] <cehteh> no that is the value it calculated
[02:22:27] <cehteh> half that with 16mhz
[02:22:53] <anonnumberanon> That's what I said yes. It's calculated, but that's not the same thing as a measurement.
[02:22:56] <cehteh> that does not mean that the clock queue can respond on 65ns events
[02:23:16] <cehteh> these macros have nothing to do with measurements
[02:23:30] <anonnumberanon> I never asked about macros.
[02:23:39] <cehteh> MUOS_CLOCK_MICROSECONDS is a macro
[02:23:56] <cehteh> when you ask about how fast mµOS can schedule jobs
[02:24:07] <cehteh> then thats something completely differen
[02:24:24] <cehteh> (about 20µs at 8Mhz)
[02:24:47] <anonnumberanon> Yes, I wanted to know the resolution of that macro, and that needs to be measured. It gives you the current time in microseconds does it not?
[02:24:51] <cehteh> when you want to measure times precisly then you use the capture unit
[02:25:08] <cehteh> no
[02:25:29] <cehteh> you converts some time to microseconds
[02:25:42] <anonnumberanon> Ah okay.
[02:25:44] <cehteh> timers return ticks always
[02:26:16] <cehteh> so you can say MUOS_CLOCK_MICROSECONDS(muos_clock_now())
[02:26:41] <cehteh> which has some latency of course
[02:27:07] <cehteh> never used it this way, i am always using it the other way around
[02:27:23] <anonnumberanon> So can't use muos for servos?
[02:27:45] <cehteh> that would need a dedicated driver with hard realtime contraints
[02:27:52] <cehteh> the mainloop doesnt do that
[02:28:01] <anonnumberanon> A servo has kind of a deadband of 5us.
[02:28:06] <cehteh> i know
[02:28:10] <anonnumberanon> I thought that's what the main loop was doing.
[02:28:46] <cehteh> no the mainloop is the workhorse for doing non critical tasks
[02:28:56] <anonnumberanon> >>Dealing with time frames.
[02:29:04] <anonnumberanon> Is what I thought it did.
[02:29:09] <cehteh> it does, but not that precise
[02:29:32] <cehteh> you can blink a LED or so
[02:29:45] <cehteh> ring a bell at 8:00 in the morning etc
[02:29:58] <cehteh> where it doesnt matter if the thing is some 100µs off
[02:30:22] <cehteh> if you need very exact timing you need some kinds of drivers, possibly hardware assisted
[02:31:17] <cehteh> (actually the timing is not that shabby in my tests, but its not guaranteed, esp when you put some load on the system)
[02:32:40] <cehteh> the mainloop serves queues .. and interrupt, by definition interrupts these queues. and when something is not in the front of the queue it gets delayed until it is its turn
[02:33:24] <cehteh> scheduling 2 things ar the same time .. one of it will win an be executed first, we dont have a multiprocessor
[02:33:36] <anonnumberanon> ROS
[02:33:50] <cehteh> ROS?
[02:34:14] <anonnumberanon> the robot os
[02:34:20] <cehteh> ah dont know that
[02:34:21] <anonnumberanon> it's free
[02:34:49] <anonnumberanon> i have to test it for shits and giggles, gonna check what kind of hardware it can run on
[02:35:18] <cehteh> sounds rather fat
[02:35:27] <cehteh> not really a os, more libs
[02:35:33] <cehteh> rpi perhaps
[02:36:16] <cehteh> dunno if there is a linux/rt for raspberry pi
[02:36:28] <cehteh> but thats something completely different
[02:42:30] <anonnumberanon> i have an stm32F407 to try it on
[02:45:20] <cehteh> eh?
[02:45:25] <cehteh> ROS?
[02:45:36] <cehteh> looks like it needs a full linux
[02:55:55] <anton02> anonnumberanon, does tiva C have dma
[02:57:56] <anton02> nevermind, it does.
[02:58:19] <anonnumberanon> yeah most likely
[02:58:21] <anton02> Lambda-Aurigae, i think ill use tiva C instead of a pic32 http://www.njneer.com/uncategorized/intro-to-dma/
[03:00:16] <anton02> holy shit, it has 32 separate DMA channels
[03:01:53] <anonnumberanon> lol so?
[03:02:43] <anton02> i thought 4 was good
[03:05:21] <anonnumberanon> How many do you need?
[03:05:31] <anonnumberanon> THAT's the point :)
[03:27:17] <anton02> cehteh, tiva C and it's IDE are better than avr imho
[03:27:23] <anton02> its*
[03:28:21] <anton02> it's called energia
[03:28:49] <anton02> its a bit like arduino
[03:28:50] <cehteh> free software? running on linux?
[03:29:02] <anton02> yep
[03:29:42] <cehteh> and i never considered the arduino ecosystem good .. its simple/easy but it has a lot shortcomings
[03:31:00] <cehteh> eeh energia is based on processing/wireing :D
[03:31:14] <anton02> i mean its easier than TI and pics to program is all i know if that was your concern
[03:31:17] <cehteh> thats just arduino .. but in red :D
[03:31:35] <cehteh> easy yes .. robust, no
[03:32:03] <cehteh> problem with arduino is lack of robustness and lots of bloat
[03:32:12] <cehteh> its made for easy programming
[03:33:06] <anton02> processing is just a language, how can you tell from that
[03:33:44] * inflex still prefers to just use vim + avr-gcc + avrdude on linux
[03:33:55] <inflex> of course, all my projects are under 16K, most are under 1K
[03:38:00] <cehteh> anton02: the whole programming methology on wireing/processing is a bit doubtful and often leads to bad programming practice
[03:38:52] <cehteh> one can write clean programs in it, but then libraries, esp 3rd party sometimes (often) trash that
[03:39:03] <cehteh> its easy to use, ok
[03:40:47] <cehteh> but look at the examples, busy loops, using floats when there is *no* need for it (or even wrongful), on arduino the timer overruns after 43 days or so, iirc that given, not configureabe
[03:40:57] <cehteh> no solid error handling
[03:40:59] <cehteh> and so on
[03:44:12] <inflex> ja, I'm a little dubious of a lot of the 3rd party libs
[03:44:22] <inflex> Some are real cowboy writeups
[03:47:16] <cehteh> even the core libs have issues, they work for what they are intended for, dont get me wrong, but arduions intention was to give some programming to non programmers for making some simple fun projects
[03:47:21] <cehteh> thats completely ok
[03:48:50] <cehteh> but its not meant to make serious products with even moderate critical applications
[03:49:04] <cehteh> (aka home automation)
[03:50:19] <cehteh> i did the oven controller for my epoxy curing oven in arduino, but added a lot precautions if something goes wrong (esp hardware thermal fuse which shuts it down) .. and also software timeouts on heaters etc
[03:51:06] <cehteh> one need to be very careful with that, making a living room thermostat out of arduino, i wont wonder if one day you have a sauna or it stays cold
[03:52:24] <cehteh> doing that as hobbyist for yourself .. mmkay .. selling a product based on that, noway
[06:07:38] <cehteh> chinese internet is a can of Worms :)
[06:11:16] <antto> what are you doing in the chinese part of the internet, if i may ask?
[06:11:37] <cehteh> i dont . worm* does
[06:11:46] <lald> collecting worms for their fishing expedition
[06:12:42] <twnqx> chinese internet is challenging
[06:12:49] <twnqx> especially piercing the big firewall
[06:14:14] <lald> had a very interesting conversation with a chinese gentleman once, wherein he explained that the Great Firewall was to protect them from US mass surveilance.
[06:14:38] <lald> (his notion, not mine)
[06:14:46] <twnqx> if that's what he prefers to believe
[06:15:40] <lald> I tried to poke some holes in that idea but he was pressed for time.
[07:09:28] <liwakura> cehteh: i have some issues with my uart queue thingie...
[07:09:56] <liwakura> while looking at the assembler code i noticed a shitton of push and pops in the RX/TX interrupt routines
[07:10:11] <liwakura> 2 registers for pointer of data, readpos & writepos each
[07:10:38] <cehteh> register saving/restoreing?
[07:10:42] <liwakura> yeah
[07:10:53] <cehteh> thats gcc for you
[07:11:08] <liwakura> nah, my problem with that is
[07:11:11] <Lambda_Aurigae> interrupt routine?
[07:11:15] <liwakura> that its quite many instructions
[07:11:21] <liwakura> in an interrupt
[07:11:25] <cehteh> does that really make a problem?
[07:11:32] <Lambda_Aurigae> it's normal.
[07:11:35] <cehteh> yes
[07:11:41] <Lambda_Aurigae> if you don't like how gcc does it, write your own in assembly.
[07:11:55] <liwakura> better question.
[07:12:00] <liwakura> are there cooler ways to do a queue
[07:12:01] <Lambda_Aurigae> or, compile to assembly and modify it then run the final assembler on it.
[07:12:06] <cehteh> what gcc version? iirc register scheduling improved sometime
[07:12:10] <liwakura> regardless of the language you write it in
[07:12:31] <cehteh> there are lot ways to implement queues, all have their pros and cons
[07:12:32] <Lambda_Aurigae> always cooler things to do anything.
[07:12:33] <liwakura> cehteh: its just what i wrote in my interrupt routine
[07:12:46] <liwakura> im fine on how gcc translates it
[07:12:50] <liwakura> and i see the necessity
[07:13:05] <cehteh> you can use a double linked list, use a mpu when available, ...
[07:13:13] <cehteh> mmu
[07:13:27] <cehteh> dynamic allocated arrays
[07:13:32] <liwakura> but when i use a linked list, i get the same issues with the pointer registers
[07:13:34] <Lambda_Aurigae> I like chips with DMA....that makes for fun feeding of UART
[07:13:34] <cehteh> memcpy things around
[07:13:59] <Lambda_Aurigae> I really should get a couple of xmega chips to play with.
[07:14:10] <cehteh> it always depends on the task you want to do which one is the sufficient (not necessary best) soltution
[07:14:17] <liwakura> hm. imma try to use a GPIOR for the read/write positions
[07:14:34] <liwakura> its just that i write ws2812 data.
[07:15:10] <liwakura> and thats sorta time critical
[07:15:17] <cehteh> UART has relative low priority
[07:15:26] <liwakura> and just disabling interrupts all the time is just..nah
[07:15:51] <cehteh> you may enable interrupts early inside the UART ISR .. depending on your implementation
[07:16:01] <cehteh> i dont, but sometimes thats ok
[07:16:49] <cehteh> and for ws2812 you possibly need to disable interrupts while you bitbang the data out
[07:17:08] <cehteh> which is pita because that can take some time
[07:17:32] <liwakura> its possible to allow interruptions while pushing ws2812 data
[07:17:36] <liwakura> at certain places
[07:17:44] <cehteh> really?
[07:17:45] <liwakura> but there are still tight time contraints
[07:17:48] <cehteh> yes
[07:18:02] <liwakura> the low phases can be extended to up to 5 ms or so
[07:18:06] <cehteh> ah
[07:18:11] <cehteh> thats plenty
[07:18:26] <liwakura> its dirty and i absolutely hate it
[07:18:35] <Lambda_Aurigae> this sounds like a case where 2 chips would be better than 1
[07:18:37] <cehteh> makes the sync a mess
[07:18:49] <liwakura> yeah
[07:19:01] <liwakura> but the thing is, i want to feed uart data into ws2812
[07:19:05] <Lambda_Aurigae> one to do usart comms and buffer the data.
[07:19:05] <cehteh> ws2812 where really not designed with cooperation with other stuff in mind
[07:19:12] <cehteh> drive display and nothing else
[07:19:22] <Lambda_Aurigae> the other can write to the ws2812 and request data from the first when it has time.
[07:19:44] <liwakura> Lambda_Aurigae: maybe via spi or something...
[07:19:45] <Lambda_Aurigae> do a request via i2c or spi even.
[07:19:49] <cehteh> just some tiny85 as ws2812 driver
[07:20:13] <cehteh> well you need to get data into that tiny as well, using USI or so
[07:20:33] <cehteh> or *maybe* one can abuse the usi to do the ws28xx protocoll and do softserial then
[07:21:00] <cehteh> if you are clever you only send updates for the leds over the line, not all data again
[07:21:20] <liwakura> maybe i'll just get rid of the queue and pull the data synchronously
[07:21:48] <cehteh> if thats all you are doing that might be ok
[07:22:07] <cehteh> but dont forget to look for overruns
[07:22:22] <cehteh> that can be cheaper, but ends somewhat in a busy loop
[07:22:26] <liwakura> wouldn't know how to handle them anyways xD
[07:23:00] <cehteh> at least you dont want to send wrong data to the leds, possibly just abort the current transmission and wait for new frames
[07:23:45] <cehteh> whatever error-mode makes most sense, keep old value or turn leds off is certainly better than any random value
[07:24:07] <liwakura> keep
[07:24:16] <liwakura> otherwise you'll get annoying flashes
[07:24:22] <cehteh> yes
[07:24:36] <cehteh> but when you have a overrun then you get random color flashes
[07:58:18] <WormFood> A baby seal walks into a club
[08:01:14] <Lambda-Aurigae> you forgot the dirty horse joke.
[08:01:27] <Lambda-Aurigae> A white horse falls in a mud puddle.
[08:04:28] <WormFood> I have some of the worst jokes.
[08:06:22] <WormFood> What does a pedophone and the tortoise have in common? They're both trying to get there before the hair (hare).
[08:06:43] <WormFood> ug, obvious typo is obvious
[08:09:48] <Lambda-Aurigae> what did K-mart and Michael Jackson have in common?
[08:09:56] <Lambda-Aurigae> They both had boys' pants half off!
[08:09:58] <WormFood> little boys pants 1/2 off
[08:10:27] <Lambda-Aurigae> Children: A 100% terminal sexually transmitted disease.
[08:10:33] <WormFood> After he died, they melted him down, and made him into toys, so that children could play with him, instead of the other way around.
[08:10:49] <Lambda-Aurigae> well, he had enough plastic.
[08:10:53] <Lambda-Aurigae> in him
[08:11:03] <WormFood> Exactly my point.
[08:11:07] <Lambda-Aurigae> or at least, his noses did.
[08:11:32] <Lambda-Aurigae> I still say Michael Jackson and Michelle Jackson were the same person.
[08:12:33] <WormFood> On a totally different random subject, did you ever investigate linoleum? Do you have any idea how old that invention is? It's like 150 years old now.
[08:12:52] <Lambda-Aurigae> never investigated it but I know it's been around a long time.
[08:13:38] <Lambda-Aurigae> hmm...originally made from linseed oil.
[08:14:04] <WormFood> Also, "Linoleum" was the first product name, to become a generic term
[08:14:46] <WormFood> "....he lost the suit, the court opining that even if the name had been registered as a trademark, it was by now so widely used that it had become generic, only 14 years after its invention. It is considered to be the first product name to become a generic term."
[08:15:08] <Lambda-Aurigae> yeah..reading wikipedia article now.
[08:16:38] <Lambda-Aurigae> interesting that it is still made today
[08:16:46] <WormFood> Yep
[08:17:02] <Lambda-Aurigae> considerably more expensive than pvc flooring too I suppose.
[08:17:10] <WormFood> It's interesting, some of the technology that hasn't been improved on.
[08:17:31] <WormFood> Like, for example, the steam turbine. There have been no big improvements in that technology in 150 years.
[08:17:45] <Lambda-Aurigae> yeah.
[08:17:57] <Lambda-Aurigae> once you have something working right, no need to fix what ain't broked.
[08:18:04] <WormFood> Even today, the largest aircraft carriers, are still run by a steam turbine. That nuclear reactor is used to heat water, to make steam, to run the turbine.
[08:18:18] <Lambda-Aurigae> yup yup.
[08:18:21] <WormFood> Well, my point is, they haven't been able to improve much on it's design.
[08:18:29] <Lambda-Aurigae> it was done right the first time.
[08:18:33] <Lambda-Aurigae> more or less.
[08:18:48] <Lambda-Aurigae> they have improved efficiency by changing the shape of the vanes but that's about it.
[08:18:51] <WormFood> The fastest wind powered ship, was in the 1800s.
[08:19:12] <WormFood> They've slightly improved it, but not by much.
[08:19:34] <WormFood> Also, another weird thing, is Jesus stopped making personal appearances.
[08:19:49] <Lambda-Aurigae> yeah..that greek boy went off somewhere else.
[08:19:56] <WormFood> It's well documented, that before cameras, Jesus used to personally visit people, sometimes quite frequently.
[08:19:58] <anton02> i have come across a microcontroller with a whopping 32 DMA channels
[08:20:10] <Lambda-Aurigae> anton02, kewl.
[08:20:14] <WormFood> anton02, do you need a towel?
[08:20:23] <WormFood> You sound really excited about that.
[08:20:56] <anton02> think of the matrices you could drive
[08:21:11] <WormFood> Lambda-Aurigae, he wasn't greek, because he wasn't a real person.
[08:21:36] <Lambda-Aurigae> the name Jesus is a modern derivation of a greek name Jesu.
[08:22:09] <Lambda-Aurigae> the name from the original aramaic writings that is attributed to the person known as Christ or Jesus was Yeshua.
[08:22:13] <WormFood> The biblical jesus wasn't a real person anyways.
[08:22:22] <Lambda-Aurigae> there was no J in the hebrew language, nor the sound for the letter J.
[08:22:34] <WormFood> "Christ" is a title.
[08:22:38] <Lambda-Aurigae> so, there was no Jesus, Joshua, Jehova, John, etc..
[08:22:51] <WormFood> Obviously, those are english translations.
[08:23:07] <WormFood> The bible wasn't even written in English.
[08:23:11] <Lambda-Aurigae> nope.
[08:23:23] <Lambda-Aurigae> the original writings were in aramaic and other ancient languages of the time.
[08:23:24] <WormFood> And, it was translated to benefit the translators.
[08:23:31] <Lambda-Aurigae> then translated to greek
[08:23:42] <WormFood> I'm saying, it wasn't accurately translated
[08:23:59] <Lambda-Aurigae> and the names made more greek because greek scholars didn't think a good greek person would follow someone that didn't have a greek name.
[08:24:02] <WormFood> But, who even cares, what some goat herders said 2-5000 years ago?
[08:24:02] <Lambda-Aurigae> of course.
[08:24:51] <Lambda-Aurigae> aramaic to greek to latin to old english to new english ((and now retranslated to modern english))
[08:25:08] <WormFood> But who even cares anymore?
[08:25:15] <WormFood> Religion is on the decline.
[08:25:17] <Lambda-Aurigae> too many people do.
[08:25:22] <Lambda-Aurigae> not around here it isn't!
[08:25:26] <WormFood> Soon, these books of bullshit, will only exist in museums.
[08:25:52] <WormFood> Worldwide, religion is on the decline. The more education a person has, the less likely they are to be religious.
[08:25:56] <Lambda-Aurigae> I'm the only person in a 5 mile radius who doesn't go to one of the 3 churches in a 5 mile radius to me.
[08:26:49] <WormFood> Why not? Don't you know, that god killed his only son for you. Don't you want god's love?
[08:26:56] <Lambda-Aurigae> nope.
[08:27:07] <WormFood> As long as he doesn't love me like a son
[08:27:09] <WormFood> hahahaha
[08:27:09] <Lambda-Aurigae> any being or creature that demands my worship doesn't deserve it.
[08:27:42] <WormFood> God loves you soooo much, that if you don't love him back, he has a place to torture you forever and ever
[08:28:16] <WormFood> AND, since he knows everything that was going to happen, before he even created the earth, why would he create so much suffering?
[08:28:42] <Lambda-Aurigae> all knowing, all powerful, all good....pick any two.
[08:31:41] <anton02> whats going on in this convo
[08:31:58] <Lambda-Aurigae> we are waiting for someone to ask an avr question.
[08:32:55] <WormFood> Oh, this is the AVR channel?
[08:33:06] <Lambda-Aurigae> All Very Religious
[08:35:26] <Lambda-Aurigae> WormFood, I look at the whole religion/god thing this way....I don't know if there is a god or not. I live my life as best as I can and try not to hurt other people. If there is a god then she better have one hell of a sense of humor or we are all fucked.
[08:36:03] <Lambda-Aurigae> http://www.aliexpress.com/item/Free-Shipping-5-in-1-UNO-R3-Board-Prototype-Shield-Breadboard-Jumper-Wires-400-tie-breadboard/1925885730.html
[08:36:07] <Lambda-Aurigae> interesting cheap bundle.
[08:36:14] <Lambda-Aurigae> might order it just for the raw materials.
[08:36:14] <WormFood> I look at it this way. Religion is pure bullshit. There is no god. There is no one single shred of evidence to support the existence of a god.
[08:36:53] <WormFood> Therefore, I will live my life, the way I feel is right, without the same and guilt trips of religion.
[08:36:56] <anton02> WormFood, who in this channel thinks otherwise
[08:37:00] <WormFood> same=shame
[08:37:30] <Lambda-Aurigae> for that the FSM will flagellate you with his noodlie appendages and the IPU will pierce your soul with it's beautiful horn of destruction.
[08:38:31] <WormFood> And I *know* that science is right, and religion is *wrong*, because of this.... All over the world, different religions are everywhere. Why are there not 2 religions, on opposite sides of the planet, with no connection, come to the same religious conclusion?
[08:39:10] <WormFood> People investigating things using the scientific method, without any contact, will come to the same scientific conclusions.
[08:39:58] <WormFood> If god was real, why do people everywhere have different ideas of what he is.
[08:40:14] <WormFood> And the religious ideas, are used to keep people in line.
[08:40:33] <Lambda-Aurigae> religion is just a mystic government.
[08:40:56] <WormFood> Nothing mystic about it, it's just pure bullshit.
[08:44:39] <anton02> DNA is the biggest reason I don't believe in creationism. The heirarchical tree that you can see when you decode it
[08:45:21] <WormFood> You know what is the stupidest thing I hear, is religious people, claiming that science says we came from monkeys.
[08:45:48] <anton02> i agree. i have more respect for the people that actually stick to their story
[08:46:07] <WormFood> I have asked these religious retards to validate their claim, and show me, where anyone that believes in evolution believes that.
[08:46:41] <WormFood> They hear the most basic statement, and can't even repeat it.
[08:47:03] <WormFood> If you say, "humans and monkeys have a common ancestor", they hear it as "humans came from monkeys"
[08:47:32] <WormFood> Anyone that can't repeat something that simple, then you shouldn't listen to anything they say.
[08:52:30] <WormFood> You just can't reason with religious people, because if you could, then they wouoldn't be religious.
[10:08:30] <WormFood> I have a C quick reference card, from 1985. I was looking over it, and nearly everything on it, is still useful today.
[10:12:14] <Lambda-Aurigae> yup.
[10:12:56] <Lambda-Aurigae> K&R The C Programming Language is still the best book to learn C from in my opinion.
[10:13:19] <Lambda-Aurigae> first edition was published in 1978
[10:13:42] <Lambda-Aurigae> I have one, signed by Kernighan. Never got it signed by Ritchie though.
[10:13:49] <WormFood> Lambda-Aurigae, that's what I learned from. At least, somewhat.
[10:13:53] <WormFood> That's awesome
[10:14:14] <Lambda-Aurigae> had I gotten both signatures it might have been worth quite a bit of money when K dies.
[10:14:48] <WormFood> But I never did learn C++, or any OOP techniques
[10:14:54] <Lambda-Aurigae> I learned them
[10:14:59] <Lambda-Aurigae> don't see much use for them myself.
[10:15:07] <Lambda-Aurigae> they just complicate things in my opinion...
[10:15:13] <Lambda-Aurigae> some people like the whole OOP outlook
[10:15:16] <Lambda-Aurigae> to each their own.
[10:15:26] <WormFood> I can see that it makes a very powerful and flexible system, but it's not always the right tool for the job.
[10:15:42] <Lambda-Aurigae> but, some people like windows too. Doesn't make them bad people, just,,,strange in my opinion.
[10:15:44] <WormFood> For embedded design, I can't see that OOP helps.
[10:15:52] <Lambda-Aurigae> yeah.
[10:15:54] <WormFood> Windows people are braindead
[10:15:59] <Lambda-Aurigae> and that's where I do most of my programming anyhow.
[10:16:02] <WormFood> Windows is for people, that are too stupid to operate a computer.
[10:16:07] <Lambda-Aurigae> except the project I started 2 weeks ago.
[10:16:33] <Lambda-Aurigae> working on a program similar to Kerbal Space Program
[10:16:40] <Lambda-Aurigae> but the plan is to make it open source.
[10:16:56] <WormFood> Interesting.
[10:17:07] <Lambda-Aurigae> I have a graphic artist/3d designer who will help with the models.
[10:17:14] <Lambda-Aurigae> and another programmer.
[10:17:34] <Lambda-Aurigae> I have the orbital dynamics background and programming ability.
[10:18:02] <Lambda-Aurigae> the hardest part will be the construction of ships but I think I have a way to do that too.
[10:20:03] <Lambda_Aurigae> that's better
[10:20:06] <Lambda_Aurigae> there were two of me.
[10:20:17] <WormFood> Double vision
[10:20:37] <Lambda_Aurigae> I had xchat running twice
[10:20:42] <Lambda_Aurigae> but only one icon in the task manager.
[10:20:55] <WormFood> You still use xchat?
[10:20:59] <Lambda_Aurigae> yeah.
[10:21:05] <Lambda_Aurigae> I'm comfortable with it.
[10:21:12] <WormFood> I fairly recently (within the last year) dumped xchat
[10:21:16] <WormFood> for hexchat.
[10:21:33] <WormFood> hexchat is under active development, and is a branch of xchat.
[10:21:41] <Lambda_Aurigae> yeah..looks like xchat.
[10:21:45] <WormFood> xchat, I think it's safe to say, won't get any more updates
[10:21:55] <Lambda_Aurigae> it just works for me.
[10:21:59] <WormFood> it is x-chat, for all intents
[10:22:00] <Lambda_Aurigae> and I have it for linux and windows.
[10:22:11] <WormFood> hexchat is cross platform
[10:22:23] <Lambda_Aurigae> not that I use windows except for at work anymore.
[10:22:35] <WormFood> Seriously, check out hexchat. It's x-chat, updated. You'll feel right at home with it.
[10:22:41] <Lambda_Aurigae> that first line on the hexchat site is a bit misleading.
[10:23:11] <Lambda_Aurigae> xchat was completely free for linux and windows both....there were just some people out there who compiled a windows version and charged for the port.
[10:23:13] <WormFood> Their config files are slightly different, but it can read the x-chat config file, but it may not save things where x-chat can use them.
[10:23:23] <WormFood> not exactly
[10:23:43] <Lambda_Aurigae> I've had xchat for windows, freely available, for about 10 years.
[10:23:51] <WormFood> x-chat is so much x11, it was difficult to port. The original author was charging money, for the Windows version, because it was so much hassle to do and maintain.
[10:23:51] <Lambda_Aurigae> I just compiled it myself under cygwin
[10:24:25] <Lambda_Aurigae> aahh..never looked closely at who was doing the charging for it.
[10:24:25] <WormFood> Sure, that also works, but then you need a whole linux emulated subsystem. Nothing wrong with that. I'm just informing you, that hexchat is more or less the successor to x-chat.
[10:24:39] <Lambda_Aurigae> I'lll grab and play with it..thanks.
[10:24:43] <WormFood> Actually, there were several different people, I believe that did a native port.
[10:25:12] <Lambda_Aurigae> for now, back to roofing the deck.
[10:25:18] <WormFood> I was just a little surprised to hear you're still using x-chat, instead of hexchat. Definitely check it out. Like I said, you'll feel right at home with it, and you won't even notice. It's just x-chat updated.
[10:25:51] <WormFood> Have fun with your deck. I gotta clean my office :(
[10:59:36] <jacekowski> WormFood: irssi FTW
[11:02:52] <antto> mIRC ftw
[11:04:06] <Lambda_Aurigae> mIRC won't run stab on my computer.
[11:04:11] <Lambda_Aurigae> last time I tried it barely loaded.
[11:12:34] <antto> stab?
[11:12:43] <Lambda_Aurigae> huh?
[11:36:56] <Chillum> autocorrect of start?
[12:37:28] <Emil_> Hello
[12:37:50] <Emil_> Can I programmaitcally tell the difference between m644 and m644a and m644pa?
[12:45:52] <WormFood> Emil_, have you investigated their datasheets?
[12:48:09] <WormFood> actually, there should be a document, telling you their differences.
[12:49:23] <jacekowski> you can read part id on some avrs
[12:49:32] <WormFood> I haven't looked at those specific chips, but according to the differences in other similar chips, you can programatically tell their difference.
[12:50:50] <WormFood> For example, the ATmega48/88/168 PB version, has more ports. So unused ports are always zero. Just try to write a one to one of the new ports, and if it comes back as a 1, it's the new variant, and if it comes back as a 0, it's the older style.
[12:51:43] <Emil_> jacekowski: 644 and 644a have the same id. 644p and 644pa have the same id but different from 644
[12:51:52] <Emil_> but they are functionally identical so eh, doesn't matter
[12:52:19] <WormFood> have you looked at their differences?
[12:52:20] <LeoNerd> The A variants are typically tiny little process changes; reductions in power consumption or such.. or maybe extra voltage/temperature range
[12:52:29] <WormFood> Focus on their registers that are different, or act differently.
[12:52:35] <Emil> WormFood: only electrical differences
[12:52:51] <Emil> electrical characteristics differences*
[13:34:37] <WormFood> What the fuckin' fuck! My god damn ISP has decided to block all DNS queries. So, I can no longer test my dns server, or use whatever fuckin' dns server I want. Fuck this shit. When it expires, I'm changing internet companies. Slower is better that totally fuckin' broken.
[13:45:11] <liwakura> WormFood: you are from China, right?
[13:51:12] <Emil> WormFood: lolwut :D
[13:51:13] <WormFood> No!
[13:51:17] <WormFood> I'm from USA
[13:51:22] <WormFood> I'm from Florida, in fact.
[13:51:39] <liwakura> Hm.
[13:51:40] <WormFood> Florida is a good place to be from.
[13:51:41] <Emil> Just tunnel the requests
[13:51:47] <liwakura> Maybe i phrased wrong
[13:51:48] <Emil> if it is only for testing
[13:51:49] <Lambda_Aurigae> ok..this is annoying.
[13:51:53] <Lambda_Aurigae> on hexchat.
[13:52:03] <WormFood> The great firewall of China is very effective at blocking VPNs recently.
[13:52:04] <liwakura> WormFood: is that unnamed ISP in the US or China?
[13:52:06] <Lambda_Aurigae> used to all the chat text starting in the same column.
[13:52:16] <WormFood> It's Topway, in China.
[13:52:21] <liwakura> Ah okay.
[13:52:27] <Lambda_Aurigae> instead it starts right after the left justified nick.
[13:52:32] <WormFood> Lambda_Aurigae, you may need to adjust the settings.
[13:52:41] <Lambda_Aurigae> trying to find that setting now.
[13:52:44] <liwakura> WormFood: im curious how you got to China.
[13:52:57] <Lambda_Aurigae> there
[13:53:01] <Lambda_Aurigae> that should fix it..
[13:53:05] <Lambda_Aurigae> indent nick names was off.
[13:53:19] <WormFood> Being 767
[13:53:31] <liwakura> WormFood: -.-
[13:53:32] <Lambda_Aurigae> as opposed to a Boeing 767
[13:53:38] <Lambda_Aurigae> which is something totally the same only different.
[13:53:39] <liwakura> i meant, like Job or Wife or.. how?
[13:53:48] <liwakura> I mean, i was living in germany for my whole life
[13:53:58] <liwakura> i could never imagine how i could suddenly end up in china
[13:54:03] <Lambda_Aurigae> liwakura, join the military
[13:54:06] <WormFood> typo
[13:54:08] <Lambda_Aurigae> travel to strange exotic places
[13:54:13] <Lambda_Aurigae> meet strange exotic people
[13:54:16] <Lambda_Aurigae> AND KILL THEM!
[13:54:20] <WormFood> I am unhappy living in usa
[13:54:33] <WormFood> join the reserves, and only kill them on the weekends.
[13:54:48] <liwakura> WormFood: may i ask for main reasons?
[13:55:02] <Lambda_Aurigae> that's how I got to go to australia, japan, south korea, turkey, greece, and germany, and scottland.
[13:55:29] <liwakura> Lambda_Aurigae: you from France?
[13:55:49] <Lambda_Aurigae> liwakura, nope...I'm from another planet but I live on earth, usa, iowa.
[13:56:15] <liwakura> i have no idea where iowa is
[13:56:20] <WormFood> liwakura, There is no "main reason". Just I'm not compatible with USA.
[13:56:23] <Lambda_Aurigae> find new york.
[13:56:24] <liwakura> but i know its better than texas or florida
[13:56:29] <WormFood> Too much "freedom" for me.
[13:56:34] <Lambda_Aurigae> go west halfway to LA
[13:56:39] <liwakura> WormFood: IP rights :D
[13:56:40] <Lambda_Aurigae> that puts you just about in iowa.
[13:57:06] <liwakura> just let me dream about moving somewhere else
[13:57:24] <liwakura> my current situation doesn't suck enough to actually do it
[13:57:36] <Lambda_Aurigae> we are a representative republic whos government keeps forcing democracy on other countries.
[13:57:50] <liwakura> Lambda_Aurigae: with hellfire rockets
[13:58:00] <Lambda_Aurigae> and maverick missiles.
[13:58:03] <liwakura> btw, are the hellfire rockets powered by arm or avr processors?
[13:58:34] <liwakura> i always wondered what kind of hardware such things are running
[13:58:41] <spybert> the hellfire is pretty old, pre avr
[13:58:47] <Lambda_Aurigae> probably 8051
[13:58:56] <liwakura> Lambda_Aurigae: so intel?
[13:58:58] <Lambda_Aurigae> or 4004
[13:59:15] <liwakura> im quite young, i have no idea about that old stuff.
[13:59:19] <Lambda_Aurigae> those both have rad hardened versions.
[13:59:33] <liwakura> but i still know of the Intel Real Mode
[13:59:48] <liwakura> legacy from a time before my creation
[14:00:36] <liwakura> it must feel weird to be old.
[14:00:42] <Lambda_Aurigae> no...
[14:00:50] <WormFood> liwakura, When I went to get a new passport, it took me months. I had problems leaving China, because they refused to return my old passport, after I eventually got my new passport. I actually had to call my congressman's office, and the state department, to get everything fixed (and for the record, I didn't do anything wrong)
[14:00:59] <Lambda_Aurigae> it just feels weird dealing with kids who were born after I graduated high school.
[14:09:20] <WormFood> Any of you guys have experience doing PCB layouts?
[14:13:12] <liwakura> WormFood: sounds like a hassle
[14:13:18] <liwakura> uhm
[14:13:26] <liwakura> i remember making some PCB's
[14:13:31] <liwakura> but only single layered
[14:13:47] <liwakura> with some Eagle software
[14:17:20] <WormFood> I have my internal clock, divided by 256. It should be running about 31.25 KHz. Works fine
[14:18:43] <WormFood> But I can't change my ADC divider to less than /2
[14:20:53] <liwakura> "ADC divider" like 2 external resistors?
[14:28:51] <liwakura> cehteh: i kid you not i actually just forgot the out of bounds checks for my ringbuffer
[14:29:02] <liwakura> exactly what you jokingly warned me about earlier this day
[15:21:36] <eszett> any talk going on here?
[15:21:54] <LeoNerd> From time to time
[15:23:56] <eszett> have no topic to talk about ATM
[15:25:27] <eszett> but yes one thing comes to my mind..
[15:29:58] <liwakura> just experimentally figured out that the ram is kept after reset
[15:30:18] <liwakura> at least at external reset
[15:33:00] <Lambda_Aurigae> liwakura, yup..says so in the datasheet.
[15:33:21] <liwakura> too lazy to look up xD
[15:34:03] <liwakura> currently looking for a method to use the reset button to switch the avr into different application modes
[15:34:34] <liwakura> incrementing some ram pointer for each reset seems to do the job
[15:34:45] <liwakura> also neuter the arduino bootloader because it writes where it want
[15:34:57] <Lambda_Aurigae> aahh.
[15:35:09] <Lambda_Aurigae> was gonna say,,,too lazy to read, must be an ardweenie weenie.
[15:35:33] <liwakura> dude
[15:35:38] <liwakura> datasheets are soo boring
[15:35:45] <liwakura> i only use them as sort of lookup
[15:35:48] <Lambda_Aurigae> no...tv is boring
[15:35:53] <Lambda_Aurigae> datasheets are exciting
[15:36:02] <liwakura> hm
[15:36:11] <liwakura> tv was interesting back when they still had anime
[15:37:17] <liwakura> Lambda_Aurigae: when i want to look how a hardware thingie works, i just go directly into the "Register Description" section and figure it out from those descriptions
[15:37:37] <liwakura> because the actual text has a quite low information density
[15:37:56] <Lambda_Aurigae> to each their own.
[15:38:37] <liwakura> this is considered politically incorrect in some places in the world :D
[15:39:04] <Lambda_Aurigae> like the USA
[15:39:08] <liwakura> no, germany
[15:39:09] <liwakura> http://www.ndr.de/media/buchenwald126_v-zweispaltig.jpg
[15:39:32] <Lambda_Aurigae> I have no clue what that is a picture of
[15:39:39] <liwakura> KZ entry
[15:39:40] <Lambda_Aurigae> looks like military prison maybe
[15:39:48] <Lambda_Aurigae> and, KZ is?
[15:39:54] <Lambda_Aurigae> Kill Zone?
[15:39:56] <liwakura> Concentration Camp
[15:40:01] <liwakura> Nazi Holocaust Thingie
[15:40:05] <Lambda_Aurigae> oh.
[15:40:20] <eszett> Spricht jemand deutsch hier?
[15:40:28] <liwakura> viele
[15:40:29] <liwakura> aber psst
[15:40:39] <liwakura> stay english for fairness
[15:40:40] <Lambda_Aurigae> kezuntight
[15:40:46] <eszett> i didnt expect that :-) liwakura
[17:44:35] <phinxy> Instead of learning how to calculate positions for an analog clock arm i generated the positions in pythong http://ideone.com/patDZd
[17:47:49] <theBear> doesn't that mean you did learn it, just didn't type it into a calcalator ?
[17:52:45] <phinxy> it's better performance, too
[17:57:15] <LeoNerd> Lookup-table is often fastest, yup
[18:03:44] <Valen> lookup is better than calculating trig when embedded as a rule
[22:52:23] <inflex> mmm.. dumb question... why are there different temperature ranges for solder melting even if they're 60/40 ratio?
[22:53:46] <inflex> Perhaps I'm guessing because 60/40 alloy isn't eutectic?
[22:54:35] <Casper> mayve due to the flux used?
[22:55:05] <Casper> or maybe there is other stuff in the solder that dosen't stay (additive) that lower the melting point?
[23:28:02] <theBear> i'll eutectic your face if yer not careful sonny
[23:29:04] <Casper> theBear: do that, and I make sure you have nothing alcoholised for a day! :p
[23:29:07] <theBear> inflex, and err, there aren't afaik, tho melt vs set is a few degrees different.... you will see varying numbers and times in things like smd/wave/bakey soldering specs for various things but that's more about what that component can deal with than the solder itself gettting to/from various states
[23:29:37] <theBear> recently i been falling outta the habit, i miss it, now i gotta consciously remember to go to buy cheap wine and that kinda hassle
[23:30:42] <inflex> I've just been trying to get things ramped up again for production, noticed my 0.56mm solder wire was almost empty, so was picking out a new one... amazing how expensive the stuff is now
[23:30:58] <inflex> on the upside, can now program my Tiny10 chips using cheap USBTiny ISP programmers
[23:31:06] <inflex> (don't need an AVR ISP mkII / STK600
[23:32:09] <inflex> (1 resistor addition on the MISO/MOSI lines out of the ISP header and you've got yourself a TPI programmer, thanks to a software patch in avrdude to bitbash it, even works on the RPi )
[23:32:30] <inflex> ( and yeah,I know, I could use linuxGPIO programmer via the Pi but I prefer my USB based programmer :)