#avr | Logs for 2014-07-14

Back
[01:07:20] <rue_house> hackvana, tobbor has been down for years
[01:07:32] <rue_house> due to a freenode change regarding registration
[01:07:47] <rue_house> I been meaning to fix it
[01:09:53] <hackvana> I see
[01:12:45] <Casper> rue_house: what kind of change?
[01:22:42] <rue_house> registration method,there is a new software base for tobbor, but I had upgraded all the modules and recoding them to the new base has been a challange
[09:07:14] <aczid> hi
[09:41:36] <ivanshmakov> Just finished translating https://en.wikiversity.org/wiki/AVR_programming_introduction/Simplistic_program. Comments, anyone?
[09:49:55] <kline> ivanshmakov: looks good, but the arduinos use a 16M xtal rather than 20M. also, is there any reason why you chose exactly 2.718s for your delay?
[09:50:24] <kline> it seems like a magic number but theres no explanation and that might confuse people
[10:01:23] <ivanshmakov> kline: I guess I’ve confused the maximum frequency for ATmega328P with the one actually used. As for 2.718, – it isn’t in any way magic, except that it’s the Euler’s number truncated to that number of digits.
[10:04:05] <myself> ivanshmakov: Right, but is there a *reason* to use e seconds?
[10:04:23] <myself> like, what would happen if it were 2.0 instead?
[10:05:43] <ivanshmakov> myself: Well, the idea is that this task will /prompt/ the student to check it out him- or herself. But yes, this attracts too much attention for that simple purpose, which I agree is a problem.
[10:05:46] <kline> ivanshmakov: then its probably worth documenteing you used eulers number "just for fon" is all
[10:05:51] <kline> fun*
[10:06:22] <ivanshmakov> kline: I guess I can do better; wait a moment…
[10:06:23] <kline> but otherwise this is a pretty good intro covering everything from blinking led through to building through to programming
[10:07:09] <ivanshmakov> kline: It’s not the whole intro: I haven’t ended writing it yet, – why, not even translating the parts I already have written!
[10:13:04] <ivanshmakov> kline: I hope I’ve (kind of) dealt with the magic issue. https://en.wikiversity.org/wiki/Special:Diff/1203771
[10:18:34] <ivanshmakov> … And the frequency issue, too. https://en.wikiversity.org/wiki/Special:Diff/1203777.
[10:19:34] <kline> alright, looks good :)
[10:22:16] <ivanshmakov> I hope to translate a couple more tasks in the next day or two. The list is “up the tree” (https://en.wikiversity.org/wiki/AVR_programming_introduction), so don’t hesitate to suggest which one I should do first.
[10:23:13] <ivanshmakov> (Either here or on the respective discussion pages.)
[10:30:24] <kline> ivanshmakov: are you xlating these *to* english from other languages, from *from* english into other langs?
[11:04:40] <ivanshmakov> kline: /To/ English, from the (one) language I’ve initially written them in.
[11:21:45] <kline> ivanshmakov: would you be ok if i helped translate? english is my only language but between the source code and google translate i think i could give it a good bash
[11:28:03] <ivanshmakov> kline: On one hand, I do not generally object anyone’s participation in what’s intended to be a community project. On the other, – I do not believe in machine translation, so I’d rather prefer for someone who actually /does/ know Russian to some extent to join in.
[11:30:07] <ivanshmakov> Besides, I hope that I /do/ account for the differences between the languages, by more or less writing the sentences anew, trying to convey the meaning, while not sticking to the original text much. One of the results is that the emphasis, etc. may somewhat differ between the versions.
[11:32:39] <ivanshmakov> kline: Anyway, the link is right there (look for “Русский” on the “top” page), so you can give it a try. Just start with one or two tasks, and check for my edits to them afterwards.
[11:43:09] <ivanshmakov> kline: BTW, just in case you’re familiar with any schematic drawing software that’s able to produce nice (as in: specific circuit, not whole “sheet,” etc.) SVGs, – could you please draw the few circuits that I refer to? For now, I mostly resort to listing the connections.
[11:58:05] <Tom_itx> eagle will do that nicely
[12:04:54] <ivanshmakov> Tom_itx: Isn’t Eagle non-free? If so, it’s out of consideration for me.
[12:05:11] <Tom_itx> there is a free version yes
[12:07:44] <kline> ivanshmakov: free as in beer or speech?
[12:07:56] <ivanshmakov> kline: The latter.
[12:07:58] <kline> i can grab a copy of kicad if you want foss
[12:08:00] <kline> ok
[12:08:39] <Tom_itx> eagle produces nice clear .png for documents
[12:09:57] <ivanshmakov> kline: Well, I didn’t mean to restrict anyone else to use free software; AIUI, Commons is full of images done with non-free software. But for myself, I will not consider a non-free tool when there’s a free software alternative. (What’s the cloak I carry, anyway?)
[12:10:47] <kline> heh, fair
[12:11:09] <kline> anyway, im just getting out of work. back later
[12:25:52] <ivanshmakov> BTW, what’s the meaning of the “cc” part in “Vcc”?
[12:26:01] <N1njaneer> "collector-collector"
[12:26:14] <N1njaneer> Vee = emitter-emitter, etc
[12:26:50] <N1njaneer> Kind of a weird convention for referring to power rails, but someone decided on it once upon a time and it kind of stuck :)
[12:30:24] <ivanshmakov> N1njaneer: ACK, thanks.
[12:59:33] <wondiws> I just tried my code in Atmel Studio, there it doesn't compile. Is c++11 not enabled by default then?
[13:00:42] <aczid> lol
[13:01:02] <kline> wondiws, i dont even think C++11 is supported
[13:01:23] <aczid> c99 works for me :)
[13:01:50] <wondiws> I use the avr-g++ from my Debian distribution, and I've been using c++11 features for more than a year now I think
[13:01:50] <aczid> I didn't know c++ was even an option (but I'm a bit of an AVR noob :))
[13:02:10] <kline> not sure then, sorry
[13:02:35] <aczid> I joined here because I started my internship working with AVRs today(!) playing with the Atmel automotive stuff
[13:02:44] <kline> might be worth checking the compiler version bundle with AS
[13:02:51] <aczid> I'm not sure if that's NDA but I'm sure you guys can keep it a secret ;)
[13:02:54] <wondiws> But clearly there is not "official" way to enable c++11 in AS, so I'll just add the flag by hand
[13:04:28] <wondiws> yups, added -std-c++11 and it compiles, so kline, you can use c++11
[13:04:33] <aczid> cool!
[13:04:53] <aczid> btw, I also worked on some small crypto for AVR last year, thought maybe you guys would get a kick out of my 128-bit cipher in <300 bytes of code? https://github.com/aczid/ru_crypto_engineering
[13:05:19] <aczid> less people here than I expected btw
[13:06:07] <wondiws> I do get 2 warnings "ignoring packed attribute" although I didn't define the packed attribute for those classes :S but nevermind that
[13:06:33] <aczid> maybe some AVR stuff tries to pack structures as an optimization step? or -Os?
[13:07:17] <wondiws> I think -O1 is what is set now, I didn't change the optimization myself anyway
[13:07:40] <kline> wondiws, nice, worth knowing
[13:08:22] <aczid> yeah very useful since I'm starting a rather large AVR project
[13:08:52] <wondiws> I used constexpr occasionaly
[13:09:03] <wondiws> I really hate the preprocessor
[13:09:38] <aczid> macros are really handy though
[13:09:49] <wondiws> sure, use constexpr ;)
[13:09:57] <aczid> I have no idea what that is :D
[13:10:10] <aczid> so it's macros in c++?
[13:10:19] <wondiws> I think you can say that
[13:10:27] <aczid> nifty, that sounds useful yeah
[13:10:37] <aczid> types and generics and all?
[13:10:52] <wondiws> generics? You mean templates?
[13:11:07] <aczid> uh I mean abstract types I think
[13:11:40] <wondiws> I think you are talking about pure virtual functions
[13:11:53] <wondiws> that's a C++ term
[13:11:56] <aczid> no, generics is the term from java
[13:12:04] <aczid> and yes I think that's about it then
[13:12:57] <aczid> but isn't pure virtual used for interfaces? or is that what you call templates in c++? :)
[13:13:18] <wondiws> pure virtual is used for interfaces yes
[13:13:23] <aczid> check
[13:13:27] <wondiws> or for "abstract classes"
[13:13:36] <aczid> right
[13:13:37] <N1njaneer> I would agree with that statemen,
[13:13:40] <N1njaneer> +statement
[13:13:44] <wondiws> I also used Java and (unfortunately) C#
[13:13:48] <aczid> I remember "pure virtual" as fully abstract
[13:13:57] <wondiws> there they use different terms ;)
[13:14:10] <N1njaneer> And yes, I would stay away from preprocessor directives unless absolutely required. Especially #defines, as they clutter the namespace horribly.
[13:14:26] <wondiws> Generics in C#, for that I use templates in C++
[13:14:31] <N1njaneer> Though for very short, 1-2 file projects for AVR I find them acceptable for those uses :)
[13:14:49] <aczid> I'm pretty happy with C defines for unrolling and glueing together code
[13:15:01] <aczid> it gets pretty hairy though I have to admit :P
[13:15:15] <N1njaneer> aczid: More specifically, a class which contains at least one "pure virtual" function by definition makes the class abstract and non-instantiable.
[13:15:28] <aczid> so the constexpr has generic (abstract) types and typechecking, right?
[13:15:38] <aczid> N1njaneer: makes good sense
[13:15:40] <wondiws> you can get ambiguities as well because of the preprocessor, and then you get misleading errors...
[13:15:52] <wondiws> that's another issue with the preprocessor I had
[13:15:57] <aczid> yes that is the stuff of nightmares
[13:16:23] <aczid> pages and pages of errors leading you to one missing comma
[13:16:25] <N1njaneer> wondiws: Yes, if you are using the preprocessor for things like macros, you can inadventantly produce very difficult to debug problems.
[13:17:22] <wondiws> with C++ if things like constexpr are encapsulated in classes or namespaces you can use the :: operator if there happens to be an ambiguity
[13:19:09] <aczid> so everything can get checked at compile time, which is the advantage and the reason to avoid preprocessor macros in c++. yes?
[13:19:19] <N1njaneer> If you do something like "#define returnMax(A, B) (a>b)?a:b" and then call "returnMax(x++, y);" for instance, the preprocessor expands the macro to read "(x++ > y)?x++:b" which would inadvertantly increment x TWICE provided x was greater than y, etc.
[13:19:48] <aczid> man I had an issue the other day where extra(!) parenthesis made it break
[13:19:57] <aczid> a real headscratcher :)
[13:21:51] <N1njaneer> wondiws: Yes, I will generally use things like enums specifically in a class namespace if they are values that are intended to be used with functions in said class. So things like "apple.setValue(Fruit::MAX_RIPENESS);" or something of that style, where 'apple' is an instance of 'Fruit'. Rather than doing an #define of MAX_RIPENESS -- that can lead to namespace collissions that are very hard to
[13:21:51] <N1njaneer> reconcile in large projects, if two different classes #define the same word.
[13:23:09] <N1njaneer> Usually happens when generic terms are used, like MAX_SIZE or BUFFER_SIZE or similar -- things that mean different things in different classes but might be called the same by the coder :)
[13:25:47] <wondiws> pity though that items in enum's are global in a way: you can't have Car::Honda and Bike::Honda :S
[13:30:00] <nullset> classes? what are those
[13:30:02] <nullset> *ducks*
[13:30:13] <nullset> why are you guys always post incrementing C?
[13:33:07] <nullset> Rule1: All macros shall be named with ALLCAPS
[13:33:14] <nullset> Rule2: Do not pass ANYTHIGN with side effects to a macro
[13:33:47] <nullset> Rule3: Each macro should only reference its arguments once. If it needs to reference them more than once, protect it with a do { } while(0) and assign it to a temporary
[13:34:30] <nullset> (eg #define MYFUNC(a) do { int myfunc_a = a;do_stuff_with_myfunc_a } while(0)
[13:35:21] <N1njaneer> nullset: And in a perfect world, no one would ever make any mistakes in programming :)
[13:35:30] <jonored> eh... with good inlining, I'm not sure you get a lot from macros /unless/ you're doing some odd syntax extension thing...
[13:37:43] <N1njaneer> nullset: But yes, I agree with you. Though I just try to avoid them wherever possible anyhow, especially if classes are involved :)
[13:39:16] <N1njaneer> nullset: Rule2 also cannot always be followed if you aren't the one who wrote the code. If you are passing some sort of a complicated class object to the macro, you can't always be assured of what it is doing behind the scenes. You may not be able to make a copy of it, or there may be deeper side-effects to it.
[13:42:26] <nullset> i use macros extensively but only if a const won't do
[13:42:32] <nullset> or an inline function
[13:42:42] <nullset> i do not, under any circumstances, use goto's, though
[13:43:02] <nullset> classes shouldn't be passed in to macros
[13:43:06] <nullset> solved :)
[13:48:20] <N1njaneer> Whatever works for you! Again, it's easier to manage if you are using your own code and can adhere to all the guidelines.
[13:52:31] <nullset> of course, i just avoid C++ for embedded applications
[13:52:41] <nullset> i don't think it's a paradigm that fits very well
[13:53:01] <ivanshmakov> jonored: Seconded. (The “inlining” part, that is.)
[13:54:00] <N1njaneer> I find C++ very useful for embedded programing for organizational purposes for complex things. It just makes cleaner code. You just have some restrictions you have to adhere to - most notably generally not having a heap, so objects are usually either statically defined, or in-place defined in a smaller memory pool you need to manage yourself.
[13:55:07] <N1njaneer> But when I have to develop complex APIs that I then have to hand off to a customer for them to write again hardware we've designed for them, it's incredibly useful to have some basic C++ functionality for keeping the entire API contained inside of a single class instance.
[13:55:16] <N1njaneer> +against
[13:57:53] <nullset> if someone handed me C++ code for an AVR i'd be pretty damn annoyed :)
[13:58:12] <nullset> embedded linux or something like that, sure....but not for an 8 bit platform
[13:58:19] <nullset> but to each their own
[13:58:52] <nullset> MBED uses C++ mainly, and I don't hate it. ( www.mbed.org )
[13:59:45] <N1njaneer> I use it on AVR occasionally for helping to wrap code I've written for serial ports, radios, SDCard file systems, etc. It's nice to be able to bind interfaces together with a single function call. Composition is key in keeping code clean and versatile.
[14:00:44] <nullset> I tend to name things ModuleFunc()
[14:00:48] <nullset> keeps things clean enough for me
[14:00:49] <N1njaneer> For ARM stuff that starts to get more complex, it's almost necessary to start keeping things managable. It's true that you CAN code most things in straight C just fine, but there's often just not a compelling reason to if you take away significant advantages from doing it in C++
[14:00:52] <nullset> for example, GpsInit()
[14:00:56] <nullset> but some people hate camel case
[14:01:20] <nullset> i dislike C++ being used when C would be simpler and cleaner
[14:01:32] <nullset> but certainly if C++ makes a cleaner solution then it should be used
[14:01:46] <nullset> but some people try to fit abstraction over things that should be simple, and the results are often terrible
[14:02:34] <N1njaneer> I use camel case for everything, however all class and object type names are capitalized, and all instatiated objects and function calls are lowercase. i.e. class name is "Vehicle", object is "car". "car.openDoors()"
[14:03:09] <wondiws> people always think I'm crazy when I'm hacking away at terminals, but I'm ever more convinced it's actually easier than those bloated GUI's/IDE's...
[14:03:09] <N1njaneer> This way you can always identify what is a definition, and what is an object. Mostly a preference, but it's a class style we agreed on here, and it's good to keep consistency when developing code that has hundreds of classes in it.
[14:03:25] <nullset> wondiws: i use gvim and make :)
[14:03:44] <wondiws> right now with Atmel Studio: the very helpful error message "Value should be 6 instead of 2" or something :S
[14:04:20] <N1njaneer> wondiws: Depends on whatever makes you more productive. When you are debugging projects that have hundreds or thousands of classes, IDEs are worth their weight in gold for getting things written reliably and solved quickly.
[14:04:23] <wondiws> after going through all the settings I saw I had yet to select ISP or HVPP for interface for this particular project....
[14:04:46] <N1njaneer> wondiws: Atmel Studio returns all messages from gcc - don't shoot the messenger, which is the IDE in this case :)
[14:05:12] <wondiws> this was the programmer, not gcc ;)
[14:05:14] <N1njaneer> Well okay, in that case it's coming from the command line tool, then :)
[14:05:37] <wondiws> they could have made a check for missing settings in the GUI though ;)
[14:05:41] <wondiws> details...
[14:06:57] <N1njaneer> Haven't ever seen that one.
[14:10:09] <N1njaneer> Regardless, it all comes down to what personally allows you to work most quickly and get things finished reliably. And when it's more than just a hobby, the stakes go up significantly in ensuring you can get things done on time for your demanding clients. :)
[14:11:51] <N1njaneer> The great thing is that there's no one "best" answer to any of this. The worst part is that there's also no one "best" answer to any of this. Just what works best for YOU.
[14:12:44] * nullset is a professional embedded developer....
[14:12:45] <wondiws> that's a lot better attitude than those people saying "CLI old-fashion, GUI new" ;)
[14:12:51] <nullset> right now i'm developing on PIC and AVR at the same time
[14:12:57] <nullset> because someone hates me ;)
[14:13:15] <N1njaneer> But also useful to dissect what many other people have found useful to them with regard to coding style, techniques, tricks, etc, and then pick and choose which to implement yourself. Just best to work to understand why one technique might work better for your particular scenario than another :)
[14:13:22] <nullset> hardware design is my hobby..... :)
[14:13:26] <wondiws> I also have a few PIC's lying around, but never got round to really use them
[14:13:31] <N1njaneer> nullset: So then you know what I mean on a lot of this! :D
[14:13:45] <nullset> well, i tend to avoid systems with hundreds of classes :)
[14:13:55] <N1njaneer> Another sympathetic ear to the woes of embedded development for (sometimes) fun and profit!
[14:14:10] <nullset> ever follow Jack Ganssle? He is a god among embedded engineers
[14:14:11] <wondiws> it might not even work, hundreds of classes on an AVR8 ;)
[14:14:29] <nullset> i'm still trying to decide if it's worth it to move my hobby projects to xmega
[14:14:36] <nullset> for higher pin counts they're so much cheaper than the megas
[14:14:40] <nullset> and it doesn't really make sense
[14:14:51] <nullset> http://gerblook.org/pcb/p26jA5ABi3jSnkLTiWduCB#front ( one of the two pcbs i'm waiting on)
[14:18:56] <N1njaneer> null: I would look at the Atmel SAM ARM stuff instead of XMEGA. Atmel is focusing all future development efforts over to ARM stuff, and the parts are pretty comparable in price. In fact a lot of the M0+ stuff is actually cheaper than AVR devices.
[14:19:23] <N1njaneer> And you get a hell of a lot more capability, peripherals, and speed.
[14:20:19] <N1njaneer> AVR32 and XMEGA were kind of stop-gap part series, but they are kind of "dead end" lines as far as future expansion.
[14:21:20] <nullset> an interesting viewpoint
[14:22:27] <N1njaneer> nullset: Well, that's basically straight from our regional Atmel FAE. A while back I started looking at those parts series and he steered me very firmly over to the SAM stuff for that exact reason. And it's held sway in the intervening years as the SAM series has started to explode as of recent.
[14:23:17] <nullset> have you ever looked at mbed? i love it for quick stuff
[14:23:23] <nullset> it's arm based
[14:25:35] <N1njaneer> nullset: Jack Ganssle -- just looked up his page, good stuff on there. I've been wanting to author similar articles on this stuff for quite a while now, just have to figure out the best way to go about it. So out of touch with web stuff these days!
[14:25:58] <nullset> he's a VERY good resource. he's also been doing this longer than some of us have been alive :)
[14:26:24] <nullset> he coding standards are a pretty good starting point for C
[14:27:18] <N1njaneer> I've been doing this professionally for about 15 years now. We're a small shop, but very capable. Full in-house SMT line, full hardware/software design for embedded FPGAs through real-time Windows app development. Just added a brand new CNC mill next week since we need to machine chassis and can't afford the 3-4 week overhead for prototyping :)
[14:27:29] <nullset> nice
[14:27:41] <N1njaneer> I'm definately going to check out his page more tonight - thanks for the reference!
[14:27:41] <nullset> i work for a small company that does temp/pressure/humidity monitoring
[14:27:59] <nullset> they're based in a small town, but i work from home in a much more reasonable city :)
[14:28:37] <N1njaneer> We're just south of Cleveland, OH in a valley, about the most geographically interesting feature in the northern part of the state :)
[14:28:46] <nullset> i'm in atlanta
[14:29:56] <N1njaneer> Whereabouts? I've been in Alpharetta quite a bit as I had relatives that used to live there :)
[14:30:03] <nullset> i live in midtown
[14:30:12] <nullset> smack dab in the middle of actual atlanta :)
[14:30:37] <N1njaneer> Bunch of company offices in Alpharetta as well that we've worked with, like Fischer who makes medical-grade connectors
[14:30:43] <N1njaneer> Nice!
[14:30:50] <nullset> i used to work in alpharetta
[14:30:53] <nullset> for a company named terhaop
[14:30:56] <nullset> terahop
[14:31:15] <nullset> i left a few months before the "CEO" was indicted for fraud.... :)
[14:31:39] <N1njaneer> nullset: Reason #455 why I love being at a small company -->https://www.dropbox.com/s/yq6ymvsw0o9nlzc/ProductionHelper.jpg
[14:32:00] <nullset> haha
[14:32:05] <nullset> my girlfriend would be very jealous
[14:32:17] <nullset> she wants goats, but i'm pretty sure our condo association would not approve :)
[14:32:22] <nullset> her: we can put some grass on the patio for him to eat!
[14:34:19] <N1njaneer> Yeah, we have three pygmies - two were bottle-raised, which meant we had them running around here at the office for the first two months of their lives. The FedEx and UPS drivers loved stopping in, as did all of our regional reps. It's funny when OSRAM visits and gets their pictures taken holding baby goats. :D
[14:37:13] <Jartza> hmmh
[14:37:51] <N1njaneer> But yeah, they're really fun pets. Certainly unconventional, but a big hit with all of the neighbors. I need to get some nice outdoor IP cameras so I can just stream them on the net :)
[14:38:28] <Jartza> I need to try if the toner reactive foil could be used for solder mask :o
[14:38:38] <Jartza> at least it's green :)
[14:39:09] <Jartza> it seems that even 0.15mm traces work just fine
[14:40:07] <Jartza> which I guess is something around 0.006"
[14:40:23] <N1njaneer> Jartza: Solder your board and spray with conformal coating! :D
[14:40:38] <Jartza> yeah
[14:41:55] <ivanshmakov> And here comes another one. https://en.wikiversity.org/wiki/AVR_programming_introduction/Serial_Peripheral_Interface
[14:46:37] <Jartza> just wanted to try something
[14:46:45] <Jartza> also the liquid tin didn't arrinve :(
[14:47:33] <Jartza> customs didn't approve the chemicals
[14:50:44] <kline> ivanshmakov, between getting home and dinner, i got a little held up. is this what you were looking for? http://pulham.info/static/img/schematic.svg
[14:50:51] <Tom_itx> Jartza, can't say i blame em
[14:50:55] <kline> kicad+inkscape, should be free enough ;)
[14:50:56] <Tom_itx> they're kinda nasty
[14:56:15] <ivanshmakov> kline: Alas, not quite. First and foremost, I actually already have a connection diagram for this specific circuit, which is at https://commons.wikimedia.org/wiki/File:Atmega_28-pin_on_a_breadboard,_arduino-like_circuit.svg.
[14:56:40] <kline> ohh, you want breadboard layouts
[14:56:41] <ivanshmakov> (Even though it’s rather poor in parts.)
[14:57:03] <ivanshmakov> kline: Not at all, – the breadboard layout is what I /already/ have.
[14:57:55] <kline> so, what do you want? a schematic copy of the breadboard layouts?
[14:59:19] <ivanshmakov> kline: What I’d appreciate is the schematics of what lies /outside/ of that “base” device. Check the SPI task link above, for instance, – it has a list of connections, and it certainly would be nice to have those connections shown on some diagram.
[14:59:46] <Tom_itx> ivanshmakov, look thru these pages. I did a tutorial for avr and used eagle to generate the schematics for it
[15:00:01] <Tom_itx> along with good pics of the breadboard
[15:00:16] <ivanshmakov> Tom_itx: Which pages?
[15:00:39] <Tom_itx> http://tom-itx.no-ip.biz:81/~webpage/how_to/atmega168/mega168_howto_main_index.php
[15:00:48] <Tom_itx> i guess it might help to include the link :)
[15:01:52] <Tom_itx> sry i haven't had a chance to see what it is you're working on just yet...
[15:01:53] <ivanshmakov> Tom_itx: Well, as I’ve said before, it might help to actually move the contents itself to Wikiversity. For one thing, this would eliminate this “port 81” issue. (Though at a certain price.)
[15:04:46] <kline> ivanshmakov, so do you want 1) a breadboard layouts 2) a schematic? and i guess when youre talking about the list of connections, its the "Before you begin" section of the SPI page, for example?
[15:06:55] <kline> i want to help, im just not sure what you need done most :)
[15:09:32] <ivanshmakov> kline: Surely it’s #2. Doesn’t an introduction into electronics look somewhat foolish without a single schematics, anyway?
[15:10:03] <kline> i was just wondering when you instead linked a breadboard layout
[15:11:11] <ivanshmakov> kline: Because I was able to draw one, and I guess it more or less covers this particular task.
[15:11:22] <ivanshmakov> Breadboard layouts /may/ get handy, but they’re hardly compulsory for the goal as I see it.
[15:12:13] <Tom_itx> i found for a complete NOOB it was quite helpful
[15:12:47] <ivanshmakov> Tom_itx: That’s exactly why I bothered to draw one for the first task.
[15:18:49] <ivanshmakov> kline: As to your specific schematics, I see a few issues with it. Specifically: a. I believe it’s reasonable (assuming a novice reader) either not to show all the MCU pins, or to show them as they look on the DIP case pinout; b. wouldn’t the color interfere with the B/W printing?
[15:19:36] <kline> ivanshmakov, color vs. b/w is the sort of stuff i was expecting to talk about. as for hidden pins, im not sure if kicad offers that out the box but i can probably trim them in inkscape
[15:19:51] <kline> i would probably leave as is, personally
[15:21:04] <ivanshmakov> c. it lacks both the reset button and a crystal (for consistency, all my tasks assume a 7.3728 MHz one); d. it doesn’t show the USB to serial adapter, either (which is used to communicate with the bootloader), or at least a connector for one (5-pin, for Vcc, /Reset-via-a-capacitor, RxD, TxD, Ground.)
[15:22:33] <ivanshmakov> kline: I’m not that familiar with KiCad, either. Personally, I’ve planned to draw the required schematics more or less “by hand” rather than by relying on a specialized tool.
[15:23:15] <ivanshmakov> kline: BTW, Inkscape is known to put all the sort of gratuitous stuff into the SVG, which some consider quite an issue.
[15:24:00] <kline> what else would you suggest? normally i use eagle with png export but i know commons isnt a fan of closed software and also not so hot on PNG where SVG can be used.
[15:25:20] <vsync> totally. google for best practises
[15:25:32] <vsync> take five years to begin, so you won't screw anything up
[15:25:40] <vsync> then, screw if all up because you're a fucking googloid
[15:25:45] <vsync> and start all over
[15:25:54] <vsync> circle of lif... internet people
[15:28:02] <N1njaneer> vsync: Hah, good call
[15:28:15] <ivanshmakov> kline: The Commons as a whole object mainly to proprietary /formats,/ not /software,/ so that’d be fine with them (why, they even have a category for SVGs created with Corel.) But presonally, I have some reservations when it comes to using PNG for what could naturally be expressed in the vector graphics’ terms.
[15:29:29] <ivanshmakov> For one thing, the typical display resolutions are around 100 dpi, while those when printing are starting with 600 dpi, so printing a PNG has implications.
[15:29:35] <ivanshmakov> Still better than nothing, though.
[15:37:02] <vsync> I think it would be a requirement for everone getting in the electronics business to start with high voltage ac
[15:37:26] <vsync> some sort of natural selection is in order to be preserved
[15:37:54] <vsync> and whilst you take this test, google is not available
[15:38:41] <vsync> i think a few kilovolts should do the trick. just to be on the safe side
[15:39:12] <vsync> shit. would=should
[15:45:04] <myself> I like this plan
[16:02:14] <vsync> i just re-read my messages and seems my motorics isn't what they used to be at this stage of the evening. I think I got the point delivered in any case
[21:34:09] <N1njaneer> Time to make more footprints!
[21:35:33] <Valen> new kicad ftw?
[21:35:43] <N1njaneer> mmm?
[21:38:48] <Valen> http://hackaday.com/2014/07/14/cern-shows-off-new-kicad-module-editor/
[21:39:01] <Valen> dunno if its anywhere you can use yet but still
[21:39:54] <N1njaneer> If only everyone would bloody embrace JEDEC standards we could get past this waste of time having to recreate footprints from datasheets :D
[21:40:28] <Valen> if only the datasheets had info in them so you could easily create footprints
[21:40:31] <N1njaneer> At least for more of the common stuff. This one is a super-heavy-duty USB-A bulkhead.
[21:41:05] <N1njaneer> Valen: Generally all of them that I've seen do. It just takes time to copy everything over by hand :)
[21:41:21] <Valen> i mean most of them don't give you the actual numbers you want
[21:41:29] <Valen> you need to calculate everything
[21:41:53] <Valen> I mean if they just gave you offsets for each pad from some datum and simple dimensions for the pad
[21:41:57] <Valen> that would do the job
[21:42:10] <N1njaneer> Some things, yes. Though if your software is versatile enough most times you don't have to do many calculations. I can move the origin around easily from pad to pad if things are all shows as deltas.
[21:42:14] <Valen> we are putting a footprint in, not CnC milling it
[21:42:31] <Valen> its still screwing around
[21:42:36] <N1njaneer> Yeah, you can tell which datasheets were written by MechEng's and which ones by CompEng's :D
[21:42:43] <Valen> pads are square or round and have a center
[21:42:52] <Valen> and they have width and length
[21:43:15] <Valen> if your datasheet had those listed then boom
[21:43:16] <N1njaneer> Now I can appreciate both, since I'm having to now learn the new CNC mill that showed up last week. Fun times, though. Need a new challenge!
[21:43:26] <Valen> I am a CnC person
[21:43:33] <Valen> but its horses for courses
[21:43:42] <N1njaneer> Brand new Haas here
[21:43:52] <Valen> if you are specifying your camera mount, then an engineering drawing
[21:43:52] <N1njaneer> Haven't managed to break it yet, which is good.
[21:43:58] <Valen> you will ;->
[21:44:02] <Valen> or at least some tools
[21:44:12] <N1njaneer> Broke an end-mill so far - a tiny one
[21:44:33] <N1njaneer> And then accidentally banged up the carbides on a face-mill, but indexable so just rotated them and away it went.
[21:44:53] <N1njaneer> Then I started checking everything with the rapids set to 5% and SINGLE BLOCK mode running :D
[21:45:11] <Valen> lol
[21:45:15] <Valen> simulate first
[21:45:20] <N1njaneer> The couple times I made a mistake were because of a missing digit after the decimal -- like .550 rather than .055
[21:45:31] <Valen> also watch out for screws as hold downs
[21:45:57] <Valen> nfi what it is, but a cutter that'll cut through steel will shatter if it hits a screw holding down a bit of wood
[21:45:58] <N1njaneer> Eh, just screwing around in IPS right now, so not much simulation to help. Going to go with HSMWorks for tool-pathing
[21:46:36] <N1njaneer> Then it will be easier since you can automatically do work holder avoidances.
[21:46:53] <N1njaneer> But yeah, fun stuff to learn and play with.
[21:47:31] <Valen> http://www.cnczone.com/forums/general-metal-working-machines/118358-phenolic-basalt-head-hm45.html is ours
[21:48:51] <N1njaneer> https://www.dropbox.com/s/q0is2ush10n0y0w/SMM2.jpg here
[21:49:04] <Valen> I do hate you just a little
[21:49:19] <N1njaneer> Had to slide one of the pick and places over to bring the tow-motor in. Needing a lot more space already X.x
[21:49:58] <N1njaneer> At this point I can guarantee you know how to do a lot more on yours than I do on mine!
[21:50:33] <N1njaneer> Mostly got it because we can't afford to keep waiting 3-4 weeks for job shops to get us prototypes when we could go do it in an hour or two, then revision.
[21:51:21] <N1njaneer> Just charged coolant on it Saturday night. That was a fun (and slightly messy) endeavour.
[21:51:48] <Valen> keep an eye on it
[21:51:53] <Valen> it can go off
[21:51:58] <Valen> bacterial infection
[21:52:03] <Valen> stinky ass sludge
[21:55:07] <N1njaneer> Harder to get bacterial growth on the newer coolant formulations, but we have distilled water on-hand to keep it topped off, and it gets refractometer-checked every Monday.
[21:55:19] <N1njaneer> It's exactly spot-on at 7% right now.
[21:56:20] <N1njaneer> Or should I say it WILL get checked, since we just started :)
[21:57:35] <Valen> .... we use rain water and add more oil when it looks funny
[21:58:46] <N1njaneer> Whatever works!
[22:01:16] <N1njaneer> If you guys need coolant, check out Koolrite 2290 -- www.koolrite.com -- they'll send you a 5 gallon complimentary bucket for free
[22:08:46] <N1njaneer> Still there, Valen?
[22:15:31] <Valen> yeah
[22:15:43] <Valen> back
[22:15:49] <N1njaneer> Sorry, IRC disconnected. Wanted to make sure my message got through :D
[22:15:54] <N1njaneer> About three free coolant
[22:15:57] <N1njaneer> +the
[22:15:59] <Valen> they probably wont send it to australia
[22:16:23] <N1njaneer> Hmmm, yeah, not sure if they ship internationally.
[22:16:47] <Valen> heh 5 gallons would be pretty spendy to post
[22:16:57] <N1njaneer> Lots of envelopes!
[22:17:00] <Valen> paticularly with americans only knowing about ultra fast couriers
[22:19:56] <N1njaneer> Here there's generally just either "fast" or "unreliably" -- i.e. US Postal Service
[22:20:02] <N1njaneer> +unreliable
[22:22:28] <Valen> i only ever order stuff usps from usa
[22:22:37] <Valen> couriers are stupidly expensive
[22:25:42] <N1njaneer> They can be, yeah