#avr | Logs for 2015-01-24

Back
[04:46:02] <neionz> I've noticed something. If you put more load on a 9V battery in series, the 9V are proportionally (to the loads resistance) spread over all the components, almost no matter how many loads you put up. If you however do the same over a loaded component (you put something over it as if it was a battery), it just drops in voltage (while a battery doesn't).
[06:41:38] <neionz> You can have infinitely large negative charge in a copper current, but the positive one is limited (since an atom only have so many protons)?
[10:16:04] <NicoHood> I currently uploaded some instructions on how to get the newest avr-gcc 4.8.1 for raspberry pi and install arduino IDE 1.6 if anyone is interested (last 3 posts): https://nicohood.wordpress.com/category/electronics/raspberry/
[10:16:38] <Lambda_Aurigae> NicoHood, you sadist!
[10:16:54] <NicoHood> Lambda_Aurigae: hm?
[10:17:07] <Lambda_Aurigae> ardweeny on an rPI?!?!
[10:17:18] <NicoHood> nah, thts slow
[10:17:20] <Lambda_Aurigae> that's just...horrid!
[10:17:21] <NicoHood> that was for the fun
[10:17:33] <NicoHood> but i needed the avr-gcc 4.8.1 on my pi
[10:17:50] <NicoHood> not the currently avilable 4.7.2
[10:17:53] <Lambda_Aurigae> mine is powered down at the moment..not sure what version it has on it.
[10:17:58] <Lambda_Aurigae> whatever is in the repositories.
[10:18:03] <NicoHood> 4.7.2
[10:18:18] <NicoHood> ia m using my raspi to compile lufa firmwares
[10:18:43] <hypermagic> neionz, get a pc power supply, or an usb charger and you have 5V.
[10:18:45] <NicoHood> since compiling under windows is... nearly impossible to me :D
[10:19:05] <Tom_itx> you know what else? my programmer works under raspi too
[10:19:16] <Lambda_Aurigae> Tom_itx yes it does
[10:19:19] <Lambda_Aurigae> I've used it.
[10:19:22] <Tom_itx> heh
[10:19:25] <neionz> hypermagic: do I dare? It's like hundreds of volts in my socket. What if i Accidentally short circuit it?
[10:19:29] <Tom_itx> just had to toss that in...
[10:19:52] <Tom_itx> neionz, it will melt
[10:20:40] <hypermagic> the pc power supply will give 20+A in good case
[10:20:41] <Lambda_Aurigae> http://makezine.com/projects/computer-power-supply-to-bench-power-supply-adapter/
[10:20:47] <Lambda_Aurigae> there neionz
[10:20:52] <hypermagic> the usb charger 500mA -
[10:20:57] <Lambda_Aurigae> how to turn a pc power supply into a bench supply.
[10:21:19] <neionz> Tom_itx: will my circuit, both or my PSU melt? I didn't get that
[10:21:29] <Tom_itx> http://www.wikihow.com/Convert-a-Computer-ATX-Power-Supply-to-a-Lab-Power-Supply
[10:21:40] <Tom_itx> maybe both?
[10:22:35] <Lambda_Aurigae> or you buy an atx breakout board from seeedstudio.
[10:24:27] <hypermagic> Lambda_Aurigae, good :) tough i have never seen one tiny detail mentioned and accomplished, using the pg signal, because you can destroy the psu if you load it while starting up
[10:25:06] <hypermagic> Tom_itx
[10:26:22] <Tom_itx> ?
[10:27:28] <hypermagic> read?
[10:28:07] <Lambda_Aurigae> read? READ??? I'
[10:28:16] <Lambda_Aurigae> I'm catching up on a week's worth of RSS feeds here!
[10:28:25] <Lambda_Aurigae> over 200 feeds even.
[10:28:39] <hypermagic> haha
[10:28:47] <Lambda_Aurigae> I went offline for a week.
[10:28:52] <Lambda_Aurigae> went on vacation with no tech.
[10:29:07] <hypermagic> and they declared you dead ?
[10:29:13] <Lambda_Aurigae> pretty much.
[10:29:21] <Lambda_Aurigae> haven't had the balls to open my work email yet.
[10:29:42] <hypermagic> you have 666 new messages
[10:29:57] <Lambda_Aurigae> was over 1000 in my rss reader.
[10:30:16] <hypermagic> 90% is spam
[10:30:29] <hypermagic> spam is resurrecting
[10:30:44] <Lambda_Aurigae> only about 20% of this.
[10:30:51] <Lambda_Aurigae> it's mostly webcomics.
[10:31:06] <hypermagic> "you can destroy the psu if you load it while starting up"
[10:31:33] <Lambda_Aurigae> have you looked at the seeedstudio atx breakout board? not sure what it does or doesn't do.
[10:31:38] <hypermagic> so good thing to actually use the power good signal
[10:31:53] <Lambda_Aurigae> so make an active control board for it, eh?
[10:31:58] <Lambda_Aurigae> maybe I'll have to make one up.
[10:32:06] <hypermagic> well a mosfet weill do
[10:33:37] <Lambda_Aurigae> yeah...
[10:33:43] <Lambda_Aurigae> too simple though!
[10:33:52] <Lambda_Aurigae> gotta use the standby power and power good and all somehow!
[10:34:00] <RikusW> I've put some resistive loads on atx psu's while repairing them with no ill effect
[10:34:09] <hypermagic> if it prevents destruction of a perfectly good psu then all good to me
[10:34:45] <RikusW> PG is used to reset the PC afaik
[10:35:22] <hypermagic> since it signals if power is adequate for pc's stabble operation
[10:35:30] <RikusW> yes
[10:36:31] <RikusW> I doubt the psu will be damaged if drawing power without using PG
[10:36:57] <hypermagic> i gave you a hint, i did kill some psus this way.
[10:37:05] <RikusW> atx supplies does have OV/UV/OC protection builtin
[10:37:25] <hypermagic> it is because the startup is unstable in cheap supplies
[10:37:33] <Tom_itx> maybe you should get a bench supply then
[10:37:33] <RikusW> how much current did you draw ?
[10:37:38] <hypermagic> many
[10:37:39] <hypermagic> :)
[10:37:54] <RikusW> 20A ?
[10:38:04] <hypermagic> >60W
[10:38:39] <RikusW> I've tested at 12V 2-3A iirc without trouble
[10:39:25] <hypermagic> they may be able to start up depends on circuit and load.
[10:39:42] <hypermagic> i just don't like surprise smoke
[10:40:23] <hypermagic> also i have simply connected stuff fix to psus and if they get power they were just "working"
[10:40:32] <hypermagic> using them unattended
[10:40:45] <hypermagic> things like this will randomly blow up/burn
[10:45:02] <RikusW> http://en.wikipedia.org/wiki/Power_Good_Signal
[10:46:43] <hypermagic> it may be adequate to switch on heavy load after 1s
[10:47:00] <hypermagic> old psus actually did wire pg to a 5v
[12:21:56] <Jartza> evening
[12:25:18] <Lambda_Aurigae> morning
[12:50:15] <Lambda_Aurigae> http://www.seeedstudio.com/depot/ATX-breakout-board-bench-power-supply-p-1222.html for your atx power supply conversion conversation
[12:51:22] <tpw_rules> what's the bigass resistor for?
[12:51:33] <Lambda_Aurigae> load resistor if your power supply requires it.
[12:51:35] <tpw_rules> oh yeah, to fake it turning on
[12:51:43] <Lambda_Aurigae> they come with the resistor but it's not soldered on the board.
[12:52:01] <Lambda_Aurigae> a lot of modern power supplies don't need it if you have some small load connected, like, LEDs...
[12:52:03] <tpw_rules> i see. i'm getting a lot of mileage out of their touchscreen
[12:52:25] <Lambda_Aurigae> I might get a couple of those atx boards for the bench.
[12:52:31] <Lambda_Aurigae> having the LEDs on there is nice..
[12:52:43] <Lambda_Aurigae> or I might just build one or three myself.
[12:52:48] <tpw_rules> i splurged and bought a very many hundred dollar BK precision
[12:53:16] <Lambda_Aurigae> spending 60 dollars on an rPI and accessories was like pulling teeth here.
[12:53:22] <tpw_rules> yeah, i understand
[12:53:52] <Lambda_Aurigae> wifley person controls the funds here.
[12:54:03] <Lambda_Aurigae> which is good because I would spend our savings on toys otherwise.
[12:54:15] <tpw_rules> hehe. i have very supportive parents
[12:55:21] <tpw_rules> they take the attitude that spending several hundred dollars on test equipment and such is education, which i'm very thankful for
[12:55:25] <Lambda_Aurigae> this weekend is recovery time from our week long trip to texas.
[12:55:35] <tpw_rules> what's going on down there?
[12:55:35] <Lambda_Aurigae> next weekend is drywall weekend.
[12:55:43] <Lambda_Aurigae> so the next weekend after that I might have time to play.
[12:55:45] <tpw_rules> also fly, it'll be faster :P
[12:55:47] <Lambda_Aurigae> just a vacation.
[12:55:57] <Lambda_Aurigae> we took last week vacation and went to texas from iowa.
[12:56:08] <Lambda_Aurigae> it was warmer down there...went to the beach and went swimming.
[12:56:23] <Lambda_Aurigae> water was freaky cold but I got in several times
[12:56:40] <tpw_rules> hehe. i like my oxygen in an easily processable form
[12:56:52] <Lambda_Aurigae> thankfully we flew back in last night and have the weekend to recover.
[12:57:08] <Lambda_Aurigae> I hate coming back from a long vacation trip only to have to go to work the next day.
[14:53:19] <antto> if you sell a product which is made up of some electronics featuring a microcontroller which includes chunks of GPL'ed codes, does that violate the GPL?
[14:54:01] <Lambda_Aurigae> no
[14:54:25] <Lambda_Aurigae> but depending on the license of the software, you might have to provide source code.
[14:54:36] <Lambda_Aurigae> or at least, parts of it.
[14:55:16] <antto> oh, hi
[14:55:52] <Lambda_Aurigae> which version of GPL are you talking about?
[14:55:58] <antto> GPL3
[14:57:09] <antto> to be specific, it's about the tcp/ip stuff in tuxgraphics.org ... i don't think i'll modify those, but i will surely have additional code in a firmware
[14:57:49] <antto> i mean.. obviously i would make a tcp client firmware with some configuration stored on the eeprom
[14:58:21] <antto> thus my firmware will be calling functions from the tcp/ip code which is GPL3
[14:58:54] <Lambda_Aurigae> But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.
[14:59:14] <antto> uhm
[14:59:29] <Lambda_Aurigae> if you include their code verbatim and not modify it, you don't have to release your code.
[14:59:47] <Lambda_Aurigae> like, if you use their library unmodified, then you don't have to release the code for your software.
[14:59:57] <antto> i don't think i'll modify that code.. what do i know about tcp/ip
[15:00:02] <Lambda_Aurigae> if, however, you modify their library, then you have to release the modifications to the library.
[15:00:08] <antto> i surely don't want to touch/break that ;]
[15:00:15] <Lambda_Aurigae> but not necessarily your software that uses that library.
[15:00:30] <antto> ah, so i can use it then?
[15:00:44] <antto> as long as i don't modify it
[15:00:59] <Lambda_Aurigae> the difference between using it on an avr vs on a linux box is a bit odd, however...on a linux box you can dynamically link it...so keep the lib as a separate file..
[15:01:07] <Lambda_Aurigae> not so on a microcontroller generally.
[15:01:14] <antto> yes, exactly
[15:01:20] <antto> here it's not really a "lib"
[15:01:42] <antto> it's a .h/.c files which get glued with your own code in the hex
[15:01:59] <Lambda_Aurigae> it's still a library...
[15:02:14] <Lambda_Aurigae> unfortunately, I'm not a lawyer/licensing expert.
[15:02:26] <antto> then it's equivalent to what... static linkage?
[15:02:32] <Lambda_Aurigae> looking.
[15:05:20] <Xark> Hmm, I don't think "library" or not matters with GPL (2 or 3). If it was LGPL, then not modifying the library matters, but with GPL if you incorporate its code (modified or not), your entire app is GPL (and you must release source code if you distribute it).
[15:05:36] <Lambda_Aurigae> thanks Xark
[15:05:38] <Lambda_Aurigae> was looking for that.
[15:05:54] <Xark> This site may be helpful -> https://tldrlegal.com/
[15:07:00] <Xark> However, no problem selling the device (but you need to give the source out).
[15:07:10] <Lambda_Aurigae> so it seems.
[15:07:16] <Lambda_Aurigae> https://tldrlegal.com/license/gnu-general-public-license-v3-%28gpl-3%29
[15:07:46] <Lambda_Aurigae> so, ultimately, yes, you can use gpl-3 code in your program and sell the microcontroller running said program but you must make available the code for said program.
[15:08:08] <antto> the whole firmware?
[15:08:14] <Lambda_Aurigae> so it seems.
[15:08:16] <Xark> antto: Yes
[15:08:23] <Lambda_Aurigae> If you distribute this library in an executable, you must disclose your source code by providing it either alongside your distribution or list an accessible way (URL, physical copy) to obtain the source for 3 years. Does not apply if you serve through a web portal.
[15:08:48] <Lambda_Aurigae> now,,,I think I could come up with a way around it kindasorta.
[15:08:54] <antto> executable==hex?
[15:09:02] <Lambda_Aurigae> yes
[15:09:05] <antto> i won't
[15:09:07] <Xark> antto: The "goal" is to allow someone else to recompile the code and make their own device with their own hardware (or modify the code in yours).
[15:09:46] <Lambda_Aurigae> if you put all the library in a bootloader and release the bootloader code you are covered...then load a program to main memory that only "links" over to the bootloader section then you technically wouldn't have to release that main code.
[15:10:11] <Lambda_Aurigae> but that's kind of hacking on a technicality.
[15:10:12] <antto> ah, nifty hack ;]
[15:10:18] <Xark> Lambda_Aurigae: I am not sure that is correct.
[15:10:54] <antto> well that thing would be sepparated in the boot sector
[15:10:54] <Lambda_Aurigae> Xark, if it is technically linking over and a separate program, like in linux using a dynamically linked library file,,,maybe.
[15:11:05] <antto> the user could really reflash it, no?
[15:11:09] <Lambda_Aurigae> it would be an iffy legal issue at best.
[15:11:34] <Xark> Lambda_Aurigae: Yes, linking is problematic. If you just "shell out" to other code, it is more of a grey area (and may be allowed legally - consult your lawyer).
[15:11:46] <antto> thing is.. i'd need a big atmega to fit the whole tcp/ip stuff in the boot sector
[15:11:59] <Lambda_Aurigae> make the bootloader program up with a full API and publish said API.
[15:12:17] <Lambda_Aurigae> antto, yeah....didn't say it was a good solution,,just one possible.
[15:12:38] <Xark> antto: I don't really think it could work for that. Also if your code requires the code in the boot sector, I think it could be argued it is just part of your code (all in same address space etc.)
[15:13:06] <Lambda_Aurigae> I have put a tuxgraphics bootloader on an atmega328...did have to cut a lot out of it to make a simple bootloader but it worked.
[15:13:24] <Xark> antto: Best thing is to not "be a jerk" and honor the GPL license if you use GPL code. :)
[15:13:40] <antto> yeah, that's what imma do anyway
[15:13:55] <antto> i haven't called functions from the other sector
[15:13:57] <antto> x_x
[15:14:27] <antto> the craziest thing i did was to enable interrupts in the bootloader, and that was not fun till i get it to work
[15:14:50] <Lambda_Aurigae> you setup your machine so the bootloader has a separate interrupt table..
[15:15:04] <Lambda_Aurigae> and when the bootloader jumps to the main it switches them out.
[15:16:12] <antto> i'll just release the whole firmware source codez.. don't wanna do crazy gymnastics just to jump over GPL
[15:16:28] <antto> gpl winz again ;P~
[15:16:46] <Lambda_Aurigae> antto, or, learn tcp/ip and write your own stack..
[15:16:58] <antto> rrrright ;]
[15:17:24] <Lambda_Aurigae> igor did that with both usb and tcp stacks and wrote his own...bitbanged both on the avr in fact....
[15:17:27] <antto> why not also learn rocket science and make my own microcontroller ;P~
[15:17:43] <Lambda_Aurigae> igor's bitbanged usb was the first, before v-usb...in fact, I think v-usb built on his work.
[15:18:18] <antto> i would if i had any idea how this whole ethernet stuff worked
[15:18:39] <antto> unfortunately i don't, and from what i've seen it's a whole pile of protocols x_x
[15:19:35] <Lambda_Aurigae> http://www.cesko.host.sk/IgorPlugUDP/IgorPlug-UDP%20%28AVR%29_eng.htm
[15:19:37] <Lambda_Aurigae> check that one out.
[15:19:54] <Lambda_Aurigae> an atmel AVR bitbanged UDP ethernet transmitter.
[15:20:37] <Lambda_Aurigae> can not receive data and doesn't support TCP, which requires two way comms...but does do UDP packet sends..
[15:23:43] <antto> i need tcp in and out ;P~
[15:24:28] <Lambda_Aurigae> http://www.contiki-os.org/license.html
[15:24:34] <Lambda_Aurigae> you can use contiki also.
[15:25:15] <antto> that's the first thing i found, but it makes my head hurt when i look at it
[15:25:29] <Lambda_Aurigae> https://code.google.com/p/avr-uip/
[15:27:35] <antto> yes, that's the other thing i found yesterday
[15:27:55] <Lambda_Aurigae> same base ip stack as contiki uses..in fact, I think they bought it from the guy who wrote it.
[15:28:09] <Lambda_Aurigae> then uses stang's enc28j60 lib...
[15:28:23] <Lambda_Aurigae> pascal stang did some really nice work back in the day but then he moved on to arm.
[15:30:29] <antto> wouldn't this avr-uip be gpl as well?
[15:30:44] <Lambda_Aurigae> not sure...look at the licensing in the files.
[15:30:45] <antto> given that it's taken from the tuxgraphics code
[15:30:54] <Lambda_Aurigae> I think different pieces of it have different licenses.
[15:31:26] <Lambda_Aurigae> where do you see it is taken from tuxgraphics?
[15:31:35] <Lambda_Aurigae> there is a port that runs on the tuxgraphics boards.
[15:31:53] <Lambda_Aurigae> but the project is taken from Adam Dunkels uIP stack
[15:32:02] <antto> oh
[15:32:13] <Lambda_Aurigae> and the enc28j60 driver comes from pascal stang.
[15:32:18] <Lambda_Aurigae> not sure what the license is on that one.
[15:35:14] <antto> well, in /drivers/ there are "enc28j60" and "enc28j60.tux"
[15:35:29] <antto> the second one mentions pascal stang, and is gpl2
[15:35:29] <Lambda_Aurigae> that is because the tux boards are kind of odd in places.
[15:36:12] <Lambda_Aurigae> I don't see any licensing info in the regular one.
[15:36:28] <antto> me too
[15:37:38] <Lambda_Aurigae> and the uip code specifically states that you can redistribute binary with no code
[15:38:00] <antto> so, unlike contiki, this is not a whole OS, right?
[15:38:19] <antto> i mean, it's not as hairy as an OS
[15:38:36] <Lambda_Aurigae> correct.
[15:38:50] <antto> okay.. so this might work then
[15:39:09] <Lambda_Aurigae> it is modular in that you can put your own driver in there for the enc28j60 if you like.
[15:39:16] <Lambda_Aurigae> look at the example projects.
[15:40:06] <Lambda_Aurigae> I might have to play with this one myself.
[15:40:19] <Lambda_Aurigae> they have a bunch of other hardware libs in there for funzie stuff.
[15:41:35] <Lambda_Aurigae> I should rebuild my ethernet bootloader with this.
[15:59:22] <hypermagic> gpl is rape of free software
[16:00:01] <hypermagic> here is the proper free software license: http://en.wikipedia.org/wiki/WTFPL
[16:14:32] <Lambda_Aurigae> I like the Beer or Pizza license
[16:14:43] <Lambda_Aurigae> if you like my software, next time we meet you buy me a beer or a pizza.
[16:45:30] <Jartza> coolest
[16:45:56] <The_Coolest> ?
[16:45:57] <Jartza> got my interrupt-based tx-only uart working at 460800bps on Attiny84 clocked at 16MHz
[16:46:14] <Jartza> The_Coolest: heh, nice nick you have :D
[16:46:24] <The_Coolest> lol
[16:46:36] <Jartza> I just made this as an exercise, to learn avr assembler
[16:46:41] <Jartza> first-ever avr-asm I wrote.
[16:46:51] <Jartza> the ISR part only, though
[16:46:51] <The_Coolest> Nice
[16:46:54] <Jartza> https://github.com/Jartza/attiny-uart-test
[16:46:59] <Jartza> if someone wants to look :P
[16:47:10] <The_Coolest> I can't really read avr asm
[16:47:23] <Jartza> adding some prescalers it would of course work with multiple other speeds too
[16:47:46] <Jartza> and I guess I'm going to use C version in the end anyway. but I just wanted to see if it's possible :D
[16:48:02] <Jartza> I knew without interrupts it would be easy to get 460800bps with 16MHz
[16:50:47] <Jartza> The_Coolest: well. it takes time to learn that. I've been coding asm before, just not avr version of it
[16:51:16] <Jartza> so I wanted to start from something simple
[16:51:24] <The_Coolest> I have done a little bit of x86 asm, but realy uber simple stuff for school/college
[16:52:39] <Jartza> x86 asm is much harder than avr
[16:52:45] <Jartza> avr asm reminds me of the commodore 64 times
[16:56:21] <Jartza> I don't really need 460800bps for anything, but just had to try
[17:49:21] <anonnumberanon> I'm finding LectureNotesForEmbeddedControllers.pdf to be super useful.
[17:55:41] <Jartza> anonnumberanon: url?
[17:56:49] <anonnumberanon> http://www2.mvcc.edu/~jfiore/Micro/LectureNotesForEmbeddedControllers.pdf
[18:00:34] <Jartza> thanks
[18:00:49] <Jartza> that might provide to be useful for my avr workshops
[18:05:21] <rue_shop2> anyone know how fast a mega88 runs out of the box no crystal or fuse clipping?
[18:05:25] <rue_shop2> flipping
[18:06:28] <Jartza> 1MHz
[18:09:53] <rue_shop2> your answer is correct!
[18:10:44] <anonnumberanon> Jartza, and the lab book one: http://www2.mvcc.edu/~jfiore/Micro/labs/LaboratoryManualForEmbeddedControllers.pdf
[18:16:10] <Jartza> mmkay, thanks
[18:33:46] <anonnumberanon> I'm gonna put an atmega328p on a breadboard to use it as an arduino but (hopefully) without the arduino bootloader and arduino functions, should I and if so, when, be careful about the micro's fuses?
[18:34:06] <anonnumberanon> I got 6 chips so I can burn a few but I'd rather burn none at all.
[18:34:18] <anonnumberanon> (burn as in bricking the chip)
[18:36:36] <Xark> anonnumberanon: If you have a (decent) programmer the fuses are generally easy to fix (the exception being if you make RESET a GPIO or similar).
[18:37:47] <anonnumberanon> I see, I'm using the USB to TTL $2 programmer.
[18:37:56] <anonnumberanon> No idea how it works for now.
[18:38:29] <Xark> anonnumberanon: They tend to come with CLKDIV8 fuse set (so divide clock rate by 8), usually you won't want this etc. I suggest check out an online AVR fuse calculato -> http://www.engbedded.com/fusecalc/
[18:39:30] <anonnumberanon> First I kind of need to know what a fuse is. Is there some literature about that, that isn't the actual micro's datasheet?
[18:39:35] <Lambda_Aurigae> anonnumberanon, avrisp based programmer?
[18:39:46] <Lambda_Aurigae> have you read the datasheet of the microcontroller?
[18:40:15] <anonnumberanon> It's very big and used as a reference, I'll refer to it when I need to I think.
[18:40:21] <Lambda_Aurigae> the name fuse is a holdover...it's basically the CMOS settings for the microcontroller...flash implemented settings that can not be changed from within the program..
[18:40:46] <Lambda_Aurigae> read it..cover to cover...front to back...every word...it will answer 95% of your questions you might have I would bet.
[18:41:34] <Lambda_Aurigae> in the olden days of early avr microcontrollers your fuses were implemented as actual fuses that got burned open to set things up on the chip....these days they are implemented as flash so you can erase and reprogram them.
[18:41:51] <anonnumberanon> I see.
[18:41:56] <Lambda_Aurigae> fuses, like the program flash in the chip, are erased to all ones and programmed to 0.
[18:42:22] <Lambda_Aurigae> this is all, every bit, in the datasheet,,,under memory programming
[18:45:09] <Lambda_Aurigae> that datasheet should be your bible, reference, and fulltime companion when working with an avr microcontroller.
[18:46:21] <anonnumberanon> Yeah I got it, I see it is quite non-trivial to program it. Arduino is one click but what I want to do will be quite a lot harder.
[18:46:23] <Lambda_Aurigae> I teach kids how to work with microcontrollers and electronics. I require them to have that datasheet up on the computer at all times when doing coding or design work of any kind. If they ask me a question that I know is in the datasheet I make them look there to try to find it before I answer.
[18:46:42] <Lambda_Aurigae> arduino abstracts the programmer from the real underlying system.
[18:46:50] <anonnumberanon> >teaching kids to program micros
[18:46:55] <anonnumberanon> man you're like a hero
[18:47:17] <Lambda_Aurigae> with arduino, you don't have to know what the chip is capable of, just what the arduino software is capable of, which is about half of what that chip can actually do.
[18:47:35] <Lambda_Aurigae> I teach them to learn...how to learn, how to like learning, how to figure things out.
[18:47:52] <Lambda_Aurigae> microcontroller development just happens to be a simple platform for teaching this.
[18:48:04] <Xark> Lambda_Aurigae: Often with a "tad" of overhead on Arduino too. I like this comparison I did -> http://pastebin.com/dSRSxgax
[18:48:15] <anonnumberanon> How good is the best of them? Can they do neat things or is it hard for them to grab concepts like PWM, state machines..
[18:48:21] <Lambda_Aurigae> Xark, tad? ardweeny overhead is HORRID!
[18:48:41] <Xark> Lambda_Aurigae: Did you see the link, I was being sarcastic. :)
[18:48:56] <Lambda_Aurigae> Xark, yeah, i know...hehe...have it open now.
[18:49:44] <Lambda_Aurigae> anonnumberanon, I work with 10 to 16 year olds, boys and girls. The younger girls who want to learn actually do better than the older kids of either gender. Our last project last summer was making a solar panel that tracked the sun.
[18:50:10] <Lambda_Aurigae> each of 6 kids made their own..developed the tracking hardware and software themselves with minimal assistance from me.
[18:50:28] <Lambda_Aurigae> I give them the tools and they come up with some awesome ideas.
[18:50:45] <Lambda_Aurigae> then I help them implement those ideas.
[18:50:54] <Lambda_Aurigae> I did the same project myself along with them.
[18:50:57] <anonnumberanon> Nice.
[18:51:14] <Lambda_Aurigae> took us three sessions, two hours each, to come up with working models.
[18:51:22] <anonnumberanon> Okay I'll get back to reading this book now, I'm timing myself so I don't lose focus.
[18:52:07] <Lambda_Aurigae> mine was a bit different from theirs as I did mine analog rather than with a microcontroller just to show them a different way of thinking.
[18:54:18] <Lambda_Aurigae> I used CDS photocells and a couple of balanced motor drive circuits that would run a motor one way or the other depending on a disparity in light shining on the cells.
[18:54:51] <Lambda_Aurigae> one set for azimuth and one for elevation
[18:57:30] <malinus> Xark: lol
[18:58:32] <Xark> malinus: You noticed the "tad" of overhead also, I see. :)
[19:01:06] <hetii> HI :)
[19:01:30] <Lambda_Aurigae> Time to watch
[19:01:33] <Lambda_Aurigae> The Muppet Movie
[19:01:34] <Lambda_Aurigae> !!!
[19:01:38] <Lambda_Aurigae> original from 1979.
[19:02:54] <hetii> I wonder if this idea of touch button will works also for avr: http://pastebin.com/vaPJ29z8
[19:03:17] <hetii> its taken from http://www.lpcware.com/content/nxpfile/an11023-capacitive-touch-sensing-using-lpc11xx-software-v10
[19:03:35] <Lambda_Aurigae> it should.
[19:03:42] <Lambda_Aurigae> you could use the cap sense hardware.
[19:03:52] <Lambda_Aurigae> most modern AVRs have multiple cap sense channels.
[19:04:55] <Lambda_Aurigae> http://tuomasnylund.fi/drupal6/content/capacitive-touch-sensing-avr-and-single-adc-pin
[19:04:56] <hetii> will need play with it a while some days and compare with dedicated IC
[19:05:16] <Lambda_Aurigae> atmel integrated the qtouch technology right into the avr microcontrollers
[19:05:38] <Lambda_Aurigae> qtouch used to be a separate chip...I think it's still available as a separate chip from atmel even...atmel bought qtouch for it.
[19:06:08] <Lambda_Aurigae> hmm.
[19:06:17] <Lambda_Aurigae> that link I posted is like your post.
[19:07:07] <Lambda_Aurigae> http://www.avrfreaks.net/forum/qtouch-library-tutorial
[19:07:10] <Lambda_Aurigae> qtouch stuff.
[19:07:35] <Lambda_Aurigae> http://www.atmel.com/products/TouchSolutions/touchsoftware/default.aspx
[19:08:55] <hetii> Hmm Wonder why they close this library
[19:10:09] <Lambda_Aurigae> dunno...downloading the library now myself.
[19:10:59] <Lambda_Aurigae> gawd but I do love the muppets.
[19:12:01] <Lambda_Aurigae> first movie was an all star cast too.
[19:16:49] <rue_shop2> serial is working
[19:17:15] <rue_shop2> the encoder is working
[19:17:23] <Lambda_Aurigae> rue_shop2, nice.
[19:17:33] <rue_shop2> just for the oven stuff now
[19:17:39] <rue_shop2> temp and element control
[19:17:45] <hypermagic> hax! :) http://en.wikipedia.org/wiki/Hot_Box_%28appliance%29
[19:17:45] <Lambda_Aurigae> aahh.
[19:17:47] <rue_shop2> then I just have to write all the control code in the middle
[19:18:42] <rue_shop2> and here I thought a hotbox was just a regular box that had been stolen
[19:19:08] <Lambda_Aurigae> if(temp < melting_point) temp=temp+1000degF
[19:19:44] <rue_shop2> heh
[19:20:02] <Lambda_Aurigae> if(temp > fusion_point) initiate nuclear reaction
[19:20:27] <rue_shop2> the code for toms oven wont be hard to recreate
[19:20:41] <Lambda_Aurigae> making a reflow oven?
[19:21:00] <rue_shop2> yup, with programmable profiles, so I can use it to soften pvc pipe too
[19:21:08] <rue_shop2> and maybe make noodles
[19:21:12] <rue_shop2> (different hardware)
[19:21:38] <Lambda_Aurigae> looked at the code from sparkfun's oven?
[19:21:41] <Tom_itx> http://i.imgur.com/lx3lint.jpg
[19:21:47] <Tom_itx> don't let that happen to you
[19:21:58] <rue_shop2> ...well crap
[19:22:05] <Lambda_Aurigae> oops
[19:22:20] <rue_shop2> Tom_itx, not yours I hope
[19:22:26] <Tom_itx> no no
[19:23:02] <rue_shop2> "yea, service? I need a new one of these"
[19:23:32] <Tom_itx> will you print me one?
[19:24:02] <Lambda_Aurigae> give me 10 minutes to breed my tig welder with my 3d printer and we will get started.
[19:24:39] <rue_shop2> "Step aside I'm canadian, i can fix it in less than 1 minute"
[19:24:49] * rue_shop2 pulls 4' of duct tape off a roll
[19:25:39] <rue_shop2> "OH GOD, IT DONT STICK TO ICE!!!"
[19:26:03] <Lambda_Aurigae> get it wet first.
[19:26:08] <Lambda_Aurigae> then it will stick to the ice.
[19:26:40] * rue_shop2 glances around to make sure nobody is looking and pulls out a roll of Tuck tape
[19:27:07] <rue_shop2> #define ADC_TEMP(x) ((x)+447)
[19:27:08] <rue_shop2> #define REAL_TEMP(x) ((x)-447)
[19:27:21] <rue_shop2> ^^ the simplicity of these lines makes me doubt their accuracy
[19:38:34] <inflex> heh
[19:38:48] <inflex> rue_shop2: all about a small range of compliancy
[19:43:26] <rue_shop2> hmm
[19:43:34] <rue_shop2> its probably a curve isn't it?
[19:43:54] <rue_shop2> did you make the origional software?
[19:44:41] <rue_shop2> I dont have time working yet
[19:45:10] <rue_shop2> I dont know if that offset results in C or F
[19:45:31] <rue_shop2> must be c
[19:48:59] <rue_shop2> I wanted to make my upgrade compatible with toms
[19:49:57] <inflex> Is this for the reflow oven?
[19:50:13] <rue_shop2> yes
[19:50:44] <inflex> hahaha, I must have written that
[19:51:12] <rue_shop2> do you keep a stock of serial lcd's ?
[19:51:17] <inflex> no
[19:51:22] <rue_shop2> seems odd to me to use a serial port for the lcd
[19:51:59] <Lambda_Aurigae> I use i2c for lcd.
[19:52:01] <inflex> At the time I was fabbing the PCBs myself, so it was easier to do a LCD-by-serial
[19:52:47] <rue_shop2> huh, I hooked the lcd up direct and am gonna use the serial for reconfiguring
[19:52:48] <inflex> Oh, I know why, I was trying to cram it in to a smaller AVR, so I just made my own serial LCD
[19:53:02] <rue_shop2> ah, that explains the second avr for the lcd
[19:53:06] <Lambda_Aurigae> a combinatino of a pcf8574 chip for the digital i/o and an i2c interfaced digital pot for the contrast.
[19:53:14] <rue_shop2> I'm just about maxing out the M88
[19:53:38] <inflex> ja, I did the reflow oven on the M48
[19:53:39] <rue_shop2> I have a mod for my lcd library that lets me use a 74ls595
[19:53:49] <inflex> nice, always amusing to see that "hack"
[19:54:00] <rue_shop2> I'll post my code if I ever get it working
[19:54:09] <Lambda_Aurigae> rue_shop2, I have a mod for peter fleury's lcd lib for the pcf8574 chip.
[19:54:28] <rue_shop2> inflex, disconnect the heater and have it try a cycle, let it sit for a few hours and watch the clock :)
[19:54:54] <rue_shop2> Author: Brajer Vlado
[19:55:01] <rue_shop2> I'm using a mod of his library
[19:55:04] <inflex> rue_shop2: biggest snare I encountered was that the oven enclosure basically was an awful thing to try control
[19:55:19] <rue_shop2> I'm wondering how thats gonna go
[19:55:36] <inflex> I remember when I started out trying to do PWM'ing of the mains... that was an EMF disaster even with zero-crossing... then I tried bang-bang, then I realised, there's no need at all
[19:56:05] <rue_shop2> I like controlling the temp in the irq
[19:57:00] <rue_shop2> I like the 8 sample averaging
[19:57:07] <rue_shop2> not the delay it uses in the irq..
[19:57:20] * rue_shop2 types
[20:01:41] <rue_shop2> drat, no life from the temp sensor
[20:05:10] <inflex> heh
[20:05:13] <inflex> what sensor are you using?
[20:06:50] <rue_shop2> pt100
[20:08:10] <rue_shop2> its the db9 cable, its parallel, but they skipped pins they didn't wan to bother with
[20:08:48] <inflex> oh that's always fun
[20:08:57] <inflex> I ended up changing to PT1000 sensors
[20:11:18] <rue_shop2> 25!
[20:11:22] <rue_shop2> its ball park correct!
[20:12:39] <Lambda_Aurigae> between absolute zero and the temperature of the surface the sun...ballpark.
[20:14:28] <rue_shop2> right now I'm happy with orders of magnitude
[20:15:01] <rue_shop2> inflex, so tell more about why you changed it?
[20:15:42] <Tom_itx> it had more zeros after the PT
[20:16:36] <rue_shop2> 460 counts at 27c
[20:16:51] <rue_shop2> but about 1 count/c
[20:17:11] <Tom_itx> they are quite linear
[20:17:27] <rue_shop2> with a coltage divider like that?
[20:21:27] <rue_shop2> I'm gonna use an unsigned int for time, it start of cycle can reset it, if a cycle is longer than 18 hours..... it can crash
[20:21:50] <rue_shop2> know anything that is cooked and takes more than 18 hours?
[20:22:06] <Tom_itx> rue pot stew
[20:22:09] <rue_shop2> unsigned long seconds is crazy
[20:22:13] <Lambda_Aurigae> a 6 year old rooster.
[20:22:16] <rue_shop2> how long you cook it for?
[20:22:26] <rue_shop2> I dont make stew
[20:22:57] <Lambda_Aurigae> until it is tender....normal chicken is butchered at 8 weeks or so...6 year old rooster would be super tough.
[20:23:03] <hypermagic> rue_bed, do you have air circulator ?
[20:23:16] <rue_shop2> no
[20:23:35] <hypermagic> it will not work fine without :/
[20:23:36] <rue_shop2> I'm gonna rely that its 90% IR
[20:23:43] <hypermagic> top will burn
[20:24:00] <rue_shop2> toms dosn't
[20:24:13] <hypermagic> you need to circulate inside air with a centrifugal fan for example
[20:24:29] <Tom_itx> this is not a convection oven
[20:24:31] <inflex> rue_shop2: only changed to PT1000 just to drop the current a bit
[20:24:53] <hypermagic> http://www.electro-motor.com/en/firin-fan-ve-so%C4%9Futma-motorlari
[20:24:56] <hypermagic> thing like this
[20:25:04] <hypermagic> Tom_itx, :) it is even worse ;)
[20:25:16] * inflex basically just ended up with 3 stages, preheat, reflow, cooldown.
[20:25:16] <hypermagic> tried it, carbonized the top layer of my cookies
[20:25:18] <Tom_itx> it works better than you can imagine
[20:25:34] <hypermagic> while the cookie's bottom was cool
[20:25:39] * Tom_itx blames the chef
[20:25:44] <hypermagic> oh my imagination is all right
[20:25:51] <inflex> for cooldown I recommend some sort of door opener
[20:26:07] <hypermagic> 90% IR ?
[20:26:13] <hypermagic> i doubt it strongly
[20:26:23] <rue_shop2> that 90% of the heating is caused by IR
[20:26:31] <rue_shop2> I think you would be surprised
[20:26:39] <hypermagic> i wouldnt
[20:26:39] <rue_shop2> I learned some things with my boiler
[20:26:50] <inflex> at the end of the day, for home/hobby/small-jobs, hack job pizza ovens do great :p
[20:27:01] <hypermagic> i tried 100% IR heating btw
[20:27:09] <hypermagic> bleted PCBs in 30 seconds
[20:27:11] <hypermagic> melted
[20:27:38] <Tom_itx> you sound like a dangerous fellow to be around
[20:27:52] <hypermagic> hmm, well possible you use less power than me
[20:28:34] <hypermagic> still, cookie is good insulator material, so air circulation is must
[20:28:42] <hypermagic> especially when using IR lamp ;)
[20:28:53] <hypermagic> conventionally, they will less likely carbonize.
[20:29:16] <Lambda_Aurigae> carbonize..
[20:29:25] <hypermagic> so, top layer dehydrates, and separates from the cookie, and traps even more IR, and carbonizes
[20:29:28] <Lambda_Aurigae> is that how they stored Han Solo?
[20:29:37] <Lambda_Aurigae> dipped him in cookie dough and carbonized it!
[20:30:28] <rue_shop2> sweet, the clock is working
[20:30:35] <hypermagic> https://icydaylight.files.wordpress.com/2010/10/dsc01919.jpg
[20:30:44] <hypermagic> that is carbonized cookie :)
[20:30:49] <rue_shop2> if inflexs timer code is about right
[20:31:01] <rue_shop2> the time looks plausable
[20:31:07] <Lambda_Aurigae> who did you encase in carbonite hypermagic ?
[20:31:37] <rue_shop2> now, how can I made the adc a rolling average
[20:32:02] <Tom_itx> start at the top of a hill
[20:32:22] <rue_shop2> it occurs to me that I dont want a 1 second rolling average on temp...
[20:32:34] <hypermagic> use weighted average function?
[20:32:47] <rue_shop2> 60/40?
[20:32:54] <rue_shop2> 80/20?
[20:33:29] <hypermagic> i needed one too and i developed one
[20:33:39] <hypermagic> void weightedavg_d( double_t* avg, double_t weight, double_t sample )
[20:33:39] <hypermagic> {
[20:33:39] <hypermagic> *avg = ( ( (*avg) * weight + sample ) / ( weight + 1 ) );
[20:33:39] <hypermagic> }
[20:33:57] <rue_shop2> hmmm
[20:34:14] <hypermagic> this does not need an array of elements.
[20:34:29] <hypermagic> that is your plan B
[20:36:55] <rue_shop2> I just have to test the element outputs
[20:37:27] <rue_shop2> then all the hardware is working
[20:39:06] <hypermagic> http://91.190.232.206:8080/predmet/inostr/sukhiedrozhi/Composite%20bread%20dough.pdf
[20:39:32] <hypermagic> so dough thermal conductivity is low, especially if fluffy and light as we like
[20:40:08] <hypermagic> IR will penetrate into deeper layers but outside layer will burn if given enough power
[20:41:36] <hypermagic> Effect of Temperature and Composition on Thermal Conductivity of dough http://www.agriculturejournals.cz/publicFiles/50561.pdf
[22:32:55] <Roklobotomy> cool new jtag unit. http://www.fuckit3.com/