#avr | Logs for 2012-08-17

Back
[01:07:47] <buhman> so if I wanted to connected two megas to the same ISP, all I'd need to do is have seomething like a DPST switch to flip between the two MOSI lines, yes?
[01:08:00] <buhman> but otherwise have everything wired in parallel
[01:08:27] <buhman> when the MOSI goes to one target, both resets are low, so the non-selected target wouldn't speak on the SPI lines at all, yes?
[01:53:42] <Kevin`> buhman: is there no CS equivalent in isp?
[01:54:20] <Kevin`> I don't recall one way or the other, and checking would take a whole 30 seconds or so that I don't want to spend :D
[01:54:49] <buhman> Kevin`: nope
[01:55:00] <buhman> No CS
[05:00:06] * megal0maniac is getting confused by NickServ
[05:04:44] <megal0maniac> I have ordered myself one of RikusW's boards. Cheap shipping was the deal maker :P
[05:06:57] <Corwin> hi OndraSter... have you been fixing motherboards again? :) http://www.rouming.cz/roumingShow.php?file=oprava_desky.jpg
[05:07:37] <OndraSter> hihi
[05:07:55] <OndraSter> wow
[05:07:58] <OndraSter> ESR up the roof
[05:08:00] <CapnKernel> I take my cap off to you.
[05:09:07] <w|zzy> bahahhaa
[05:11:12] <OndraSter> I have recapped one board slightly.. different way though
[05:11:29] <OndraSter> if I ever take the board ever out again I will make photos of it
[05:12:03] <OndraSter> because bloody leads were thicker than originals, just as the caps themselves were bigger :D
[05:28:36] <megal0maniac> Just replaced a PSU on an old 478 board after a power surge killed it. 2 caps bulging and 2 leaking, but it still works perfectly
[05:30:55] <megal0maniac> (should I just replace them?)
[05:35:16] <megal0maniac> http://i.imgur.com/EDyJTl.jpg
[05:39:15] <atmega8> yes
[05:39:34] <megal0maniac> What is their purpose typically?
[05:41:08] <atmega8> This is a StepDown Voltage regulator (Coil, MosFET and a second MosFET or Diode + Caps)
[05:41:57] <megal0maniac> So leaving it would probably result in less-than-smooth or oscillating power
[05:43:22] <atmega8> it is possible that you get a much noise an failure during your PC is running
[05:44:19] <megal0maniac> Hmmm... Okay. Then I suppose it's time for replacement :/
[05:45:11] <atmega8> You must pay 25cent or 50 cent for a good 105°C , Low ESR Cap
[05:46:05] <megal0maniac> I know, they're very cheap. I might even have one or two. It's the labour which is a pain :)
[05:47:34] <atmega8> I use a hot Air gun and a solder iron, this works well
[05:48:00] <specing> Wow somebody has an IRC client running on an atmega8
[05:48:20] <atmega8> :-)
[05:48:27] <megal0maniac> atmega8: thanks for the advice :)
[05:48:41] <specing> We need a megabot
[05:49:13] <specing> that can store random stuff to a 32K spi sram and serve it when needed ;P
[05:49:31] <profil> specing: who?
[05:49:32] <megal0maniac> specing: I almost resorted to running IRC on my router and accessing from my PC via SSH. But then I found Quassel
[05:49:40] <megal0maniac> Might do it anyway though :)
[05:50:13] <specing> router - enc28j60 - atmegaX - SPI SRAM?
[05:50:20] <megal0maniac> eek!
[05:50:35] <megal0maniac> enc28j60 != fun
[05:50:47] <megal0maniac> Granted, I was using Arduino
[05:51:14] <specing> maybe even a SD card to store logs and serve them over HTTP ;)
[05:51:45] <megal0maniac> Router with openwrt can do that all by itself :)
[05:51:49] <Corwin> who not just router-UART-megaX ?
[05:51:55] <Corwin> would be simpler
[05:52:04] <specing> yes
[05:52:28] <megal0maniac> What would the megax do?
[05:52:40] <Corwin> rule the world ?
[05:52:41] <specing> respond :D
[05:52:47] <specing> this is #avr, remember?
[05:52:48] <megal0maniac> Ah
[05:53:23] <megal0maniac> I've put bitlash on a mega328p and used screen to access it through my router over ssh > uart
[05:53:35] <megal0maniac> Over-engineered, but works
[05:53:57] * megal0maniac is confused as to why bitlash isn't more popular
[05:54:29] <specing> bitlash is?
[05:54:57] <megal0maniac> An interpreter, essentially
[05:55:00] <megal0maniac> "Bitlash is an open source interpreted language shell and embedded programming environment."
[05:55:19] <specing> Did it run @ 115200 baud?
[05:55:31] <megal0maniac> 57600
[05:55:38] <specing> No more? shame
[05:55:39] <megal0maniac> Used USB-UART
[05:55:46] <megal0maniac> Haven't tried more ;)
[05:56:21] <specing> Well unless it was written in inline assembler I doubt it co go over 100Kbaud
[05:56:34] <megal0maniac> It's an Arduino sketch :/
[05:56:38] <megal0maniac> But still useful
[05:56:40] <specing> LMAO
[05:56:47] <specing> that should be slow as shit
[05:57:10] <specing> My interpreter does real-time processing in the RX interrupt
[05:57:38] <specing> Well atleast it used to, I went for a packet-based proto since it was a pain in the ass
[06:00:17] <megal0maniac> 115200 works!
[06:00:54] <megal0maniac> http://i.imgur.com/34zBs.png
[06:01:03] <megal0maniac> Help screen included
[06:02:20] <megal0maniac> Has support for sd card and telnet
[06:03:56] <megal0maniac> Achieved 256000 baud
[06:04:29] <megal0maniac> \ o /
[06:05:43] <megal0maniac> How can I test the speed?
[06:10:44] <megal0maniac> specing: Switching a digital pin on and off without delay achieves about 3.6 state changes/ms
[06:10:48] <megal0maniac> At 16mhz clock
[06:11:21] <elektrinis> ??
[06:13:13] <megal0maniac> So approx 278us to switch
[06:13:55] <specing> megal0maniac: it probably uses the rx ringbuffer
[06:14:53] <atmega8> is here somebody who has overclocked an AVR ?
[06:15:16] <specing> yep
[06:15:35] <specing> didn't dean once said he pushed an xmega to 70MHz?
[06:15:39] <atmega8> what is the highest speed you reach?
[06:15:41] <specing> say*
[06:15:46] <jacekowski> with LN cooling
[06:15:55] <specing> lol
[06:16:09] <megal0maniac> Thought xmegas were happy at 64mhz
[06:16:30] <megal0maniac> Or was it 48...
[06:17:15] <megal0maniac> specing: No info on the site as to how it's implemented.
[06:27:33] <jacekowski> iirc internal crystal driver will not run at higher than 25-30MHz
[06:27:40] <jacekowski> so you need external clock source
[06:32:28] <specing> jacekowski: PLLLLLLL :D
[06:33:56] <jacekowski> yeah, external clock
[06:35:41] <atmega8> until now I only use the ATmega Types, no ATxmegas ... so PLL is new for me
[06:39:25] <specing> atmega8: the tinyx5 has a 64MHz pll
[06:41:01] <atmega8> :) what I use must be MEGA !
[06:41:16] <atmega8> but the speed is great
[06:42:31] <atmega8> ... the Core and the Flash are running with 64MHz ?
[06:46:37] <atmega8> oh ... you can use the 64MHz clock for I/O-Modules only
[07:01:13] <megal0maniac> Doesn't the ATtiny85 have PLL?
[07:01:33] <megal0maniac> Can be calibrated to 16.5mhz or something
[07:02:04] <karlp_> ....?
[07:03:53] <megal0maniac> http://www.obdev.at/products/vusb/easylogger.html as an example
[07:05:42] <megal0maniac> In other news, I'm trying to reverse engineer the Picoboard protocol...
[07:07:35] <megal0maniac> Anyone keen to help me? It's for an educational project XD
[07:07:49] <megal0maniac> (Really is, though)
[07:08:12] <megal0maniac> I need someone who understands C and HEX and has a few moments to spare
[07:11:06] <jacekowski> HEX is easy
[07:12:28] <megal0maniac> It's more the C I'm having issues with
[07:12:38] <megal0maniac> Not comfortable with bitwise operators
[07:13:40] <specing> noone is ;P
[07:14:06] <specing> I use bit_is_set(), sbi(), cbi(),... macros
[07:14:59] <megal0maniac> May as well just make this a public affair
[07:15:34] <megal0maniac> What I'm making, is this: www.sparkfun.com/short/10311
[07:15:41] <megal0maniac> Well, I've already made it
[07:16:35] <megal0maniac> A local IT teacher wants to use them as teaching aids for introducing programming to high school learners
[07:17:44] <megal0maniac> But $40+ shipping each is quite hefty for what little hardware you actually get
[07:18:13] <megal0maniac> So I was asked if I could make them locally (and thus for considerably less money)
[07:19:27] <megal0maniac> I've made the hardware. Based it on a Chinese Arduino Nano clone, as it is small and cheap and based on FTDI which helps avoid compatibility issues.
[07:20:47] <megal0maniac> (Or the USB is at least) Now I'm looking at the firmware. It's written in C. So far all I've done is change what sensors are on what pins, which was just a case of changing definitions in the header file.
[07:22:08] <megal0maniac> Now my goal is to decipher the protocol, so I can implement it in Arduino (or create a library)
[07:23:11] <megal0maniac> Then I'll also be able to have software-manipulated sensor values.
[07:24:49] <megal0maniac> So basically, you'll be able to use an Arduino as a picoboard, and use digital sensors, scale or calibrate readings in software, etc.
[07:26:08] <megal0maniac> What I've done so far, is capture the serial output while playing with the sensors. So I have what is known as "scratch packets" in a text file.
[07:26:53] <megal0maniac> All I really need, is for someone to explain what exactly the code does. Just the part which builds the packet.
[07:28:59] <megal0maniac> http://pastebin.com/rpg7pEDF
[07:29:13] <megal0maniac> Lines 163-168. Can anybody help me, please? :)
[07:29:38] * megal0maniac is done rambling.
[07:31:28] <megal0maniac> Whoops
[07:31:29] <specing> megal0ma1iac: it serializes the int
[07:31:36] <specing> and places it into the packet
[07:32:09] <megal0maniac> What do you mean by "serializes"?
[07:32:36] <megal0maniac> fwiw, a packet looks like this:
[07:32:36] <megal0maniac> F8 04 86 0F 8D 78 95 37 9F 7F A0 67 AC 3B B5 4A B8 00
[07:32:49] <megal0maniac> ascii returns garbage
[07:33:03] <megal0maniac> not surprisingly
[07:33:28] <specing> indeed
[07:33:50] <specing> google what serialization does
[07:34:27] <specing> < megal0maniac> In other news, I'm trying to reverse engineer the Picoboard protocol...
[07:34:33] <megal0maniac> I used it in Java once, as a way of storing array data when the program was closed
[07:34:39] <specing> D'oh what you are doing is not RE
[07:35:22] <megal0maniac> Breaking it back down into the concept from which it came?
[07:35:28] * megal0maniac shrugs
[07:35:29] <specing> neither is decyphering
[07:35:41] <specing> also arduino is C++
[07:35:50] <specing> and C++ can #include C code
[07:35:50] <megal0maniac> But the libs are
[07:37:43] <megal0maniac> specing: I'm not really sure what I'm doing, but that's why I'm here :)
[07:48:24] <megal0maniac> Serialization only tells me that the information is being "packaged"
[07:49:43] <megal0maniac> What does char * packet represent?
[07:50:28] <megal0maniac> Channel and value are obvious
[07:50:29] <grummund> that's a pointer to the packet buffer
[07:50:30] <Posterdati> hi
[07:50:31] <tobbor> Posterdati! like, totally tell us about the project!
[07:51:01] <Posterdati> I wrote a little RTOS for atmega2560, but using printf from avrlibc seems to block the scheduler. :) LOL
[07:51:32] <grummund> megal0maniac: really it should be using uint8_t and uint16_t instead of char and int
[07:52:50] <megal0maniac> I didn't write this. But since I only know Java (and am very new to C) I would have probably used char and int as well :P
[07:53:38] <grummund> yeah just saying... so when you look at the code think 8-bit and 16-bit and it may be clearer
[07:53:44] <grummund> or maybe not :p
[07:54:11] <megal0maniac> Not at all :) But if (and hopefully when) I re-write this, I'll keep that in mind
[07:54:24] <megal0maniac> Why do you say that, though?
[07:54:57] <megal0maniac> Should I be looking at the packet in binary instead of hex?
[07:55:29] <grummund> megal0maniac: it's taking 12-bits of data from 'value' along with the 'channel' number, and constructing 2 x 8-bit bytes which are added to the packet buffer.
[07:56:07] <grummund> if you try a worked example it should be clear
[07:57:29] <megal0maniac> What does the value&0x7f (or whatever hexidecimal number) mean?
[07:57:40] <Kevin`> Posterdati: well just use preemptive multithreading then :)
[07:57:53] <jacekowski> megal0maniac: it means value BITWISE AND 0x7f
[07:57:55] <CapnKernel> megal0maniac: It clears the high bit (bit 7)
[07:58:17] <Posterdati> Kevin`: no the scheduling is round robin
[07:58:47] <jacekowski> sounds like getting rid of sign from it
[07:58:56] <jacekowski> but you may just as well cast it
[08:00:55] <megal0maniac> jacekowski: It's being cast to a char
[08:01:33] <megal0maniac> http://pastebin.com/rpg7pEDF lines 164-165
[08:03:16] <blecha> Guys... I broke down and used the arduino bootloader for its libraries
[08:04:34] <blecha> but I have a feeling i can find something similar today
[08:06:03] <blecha> Its a fairly common lcd so it should be too hard.
[08:06:10] <blecha> shouldn't*
[08:06:20] * GuShH mentally bans blecha for life
[08:06:33] <blecha> :(
[08:07:52] <megal0maniac> What's wrong with Arduino? :P
[08:08:05] <megal0maniac> blecha: And what LCD is it?
[08:09:00] <blecha> its the sparkfun graphic 128 x 64 lcd based on the ks0108
[08:09:56] <blecha> glcd looks like it works without the arduino bootloader though
[08:10:03] <blecha> and that was the library i was using
[08:10:37] <Corwin> bootloader is bootloader, it has nothing to do with glcd
[08:10:39] <megal0maniac> I often disect arduino libraries to figure out how stuff works
[08:11:00] <megal0maniac> Arduino IDE, therefore Arduino core
[08:11:25] <megal0maniac> But not bootloader. Unless you have both. But the one doesn't care too much about the other
[08:12:48] <megal0maniac> grummund: Could you please tell me what I need to read up on in order to understand this? I don't know what a packet buffer is, I know I am not "bitwise"
[08:13:03] <megal0maniac> So aside from learning about bitwise :)
[08:13:44] <blecha> mega10maniac maybe you can save me some googling. I was hoping to find hex files and other stuff in the arduino ide. Is there another directory it uses other than the one you run it in?
[08:13:48] <blecha> im on linux btw
[08:14:16] <grummund> megal0maniac: for a strt you need to understand about hex/binary/bits and stuff
[08:14:29] <Corwin> blecha, what "other stuff" ?
[08:14:52] <megal0maniac> grummund: I understand, but my knowledge is full of holes
[08:14:58] <megal0maniac> blecha: what hex files?
[08:15:19] <blecha> also my current wiring of the lcd uses the SPI pins and I noticed programming is slow or buggy even if I turn off or reset the lcd.
[08:15:45] <blecha> mega10maniac doesn't the arduino compile it to hex?
[08:15:54] <blecha> IDE*
[08:16:39] <megal0maniac> blecha: Ah, so you mean the program you compile?
[08:16:59] <blecha> Yeah, i found the .hex files for the unos secondary avr
[08:17:03] <megal0maniac> Just go to options and turn on verbose output during compile. It will print the path somewhere there
[08:17:05] <blecha> I will play with those later :P
[08:17:15] <blecha> cool thanks
[08:17:26] <blecha> Do you have an uno?
[08:17:53] <megal0maniac> Uno, Nano (Chinese fake), and Teensy
[08:18:04] <megal0maniac> But a great fake, I might add
[08:18:44] <grummund> megal0maniac: take an exmaple, say channel=3, value=2000.
[08:18:49] <megal0maniac> If you look in arduino/hardware/boards.txt then you'll see what .hex files it uses to bootload what boards
[08:18:52] <grummund> megal0maniac: what are those values in hex?
[08:19:14] <megal0maniac> 3 is still 3, is it not?
[08:19:34] <blecha> Yeah the uno is the only legit one i have, I have a cheap mega(inside my reprap never played with it), a chinese duemilanove, and my actual uno.
[08:19:34] <grummund> correct ;)
[08:19:58] <blecha> Just fixed the duem the other day when i started programming my first avrs :D
[08:20:17] <megal0maniac> And 2000... I could work it out on paper, but I usually use calculator
[08:20:20] <megal0maniac> 7D0
[08:20:29] <megal0maniac> Because I'm lazy
[08:20:41] <grummund> yay \o/
[08:20:52] <megal0maniac> I understand the concept of, and how to use Oct, Dec, Bin and Hex
[08:20:57] <megal0maniac> (mostly)
[08:21:35] <grummund> ok let's see what the first line of code does
[08:21:52] <megal0maniac> blecha: I got carried away and now have 4 atmega328p chips and 4 attiny85 chips which I haven't actually had a need for :)
[08:22:42] <grummund> logical AND value with 380 hex, and the answer is?
[08:23:05] <megal0maniac> grummund: Now I have no clue
[08:23:16] <grummund> write it in binary then
[08:24:17] <grummund> 07d0 hex is 0000 0111 1101 0000, 0380 hex is 0000 0011 1000 0000.
[08:24:59] * megal0maniac reading http://www.arduino.cc/playground/Code/BitMath#bitwise_and
[08:25:42] <blecha> mega10maniac if you want to learn about bitwise operations why dont you play minecraft?
[08:26:16] <vsync_> nerds today are nowhere near as cool as they used to be
[08:26:27] <blecha> and i have 3 attiny45s I dont have a need for yet, i should have gotten more megas. I think ill get like 4 or 5 to just sit in my parts bin
[08:26:35] <vsync_> minecraft, "wire" :D
[08:26:59] <megal0maniac> 0000 0011 1000 0000
[08:27:38] <blecha> it will teach you shit electrical properties because apparently magical energy is everywhere powering everything
[08:27:44] <megal0maniac> Which is 380
[08:27:48] <blecha> but you can make all your basic logic gates
[08:28:06] <blecha> I liked how avrs used them when i was looking at stuff
[08:28:07] <vsync_> and is idiotic
[08:28:39] <grummund> megal0maniac: do you see that what happened is it "masked" off the unwanted bits leaving only those 3 bits?
[08:28:57] <blecha> |= ((1<<6)|(1<<4))
[08:29:01] <blecha> stuff like that ^
[08:29:03] <megal0maniac> Ah, yes :D
[08:29:47] <grummund> megal0maniac: k, so in the same line of code we have >>7 which means shift all bits right by 7 places.
[08:30:14] <megal0maniac> Which puts those bits at the end of the packet
[08:30:35] <grummund> so what is the final value of upper_data?
[08:30:48] <megal0maniac> (trimmed) 0111
[08:30:54] <grummund> yep
[08:31:24] <grummund> i think you can figure lower_data easily enough... ?
[08:31:32] <megal0maniac> Yes, thank you :)
[08:31:52] <grummund> and? :p
[08:40:01] <megal0maniac> Channel is 0001 1000
[08:40:14] <megal0maniac> Not sure about 1<<7
[08:40:33] <megal0maniac> Unless it's just 1000 0000
[08:40:38] <grummund> it is
[08:41:11] <grummund> the | operator means logical OR.
[08:41:44] <megal0maniac> I know that, but how can something be equal to something OR something else?
[08:41:56] <megal0maniac> Rather, how can something be set to
[08:42:10] <grummund> bitwise OR
[08:42:13] <megal0maniac> Oh but wait
[08:42:17] <megal0maniac> Yes, that one :)
[08:42:19] <megal0maniac> One second
[08:42:25] <vsync_> not that hard:D
[08:43:47] <megal0maniac> 1001 1111
[08:43:59] <megal0maniac> Don't get the *packet++ thing though
[08:44:42] <grummund> that's just C pointers and stuff ;)
[08:45:17] <grummund> packet is a pointer to the next byte in the packet
[08:45:32] <nomis> megal0maniac: read it as *(packet++)
[08:45:33] <grummund> *packet means the actual byte
[08:45:57] <grummund> packet++ means increment the pointer so it points to the next byte
[08:46:20] <grummund> you kinda need to read up on that, no point trying to explain it on irc
[08:46:41] <megal0maniac> I will, just wasn't sure until now what needed reading up on :)
[08:46:48] <grummund> C pointers
[08:47:10] <megal0maniac> So... 1001 1111 0101 0000 is my packet?
[08:47:19] <nomis> the longer I deal with pointers the easier the concept seems to me :)
[08:47:21] <megal0maniac> (for that channel)
[08:47:45] <grummund> megal0maniac: correct
[08:47:46] <nomis> to the point that it becomes hard for me to explain it to someone not familiar with them :)
[08:48:28] <grummund> megal0maniac: do you see how it split the 12-bit value and repackaged with the channel no. as two separate 8-bit values?
[08:49:09] <megal0maniac> I do :)
[08:49:45] <grummund> also the first byte always has bit-7 set, and the 2nd byte always has bit-7 clear.
[08:53:17] <megal0maniac> I am now late, but at least i've learnt something :P
[08:53:47] <blecha> Just explain to whoever you are late for in binary why you were late
[08:53:55] <megal0maniac> I am off, for now. Will return when I'm back home I've got this stuck in my head. Thanks a million, grummund :)
[08:53:55] <blecha> they will give up on listening a couple words in
[08:54:06] <megal0maniac> blecha: I intend to :P
[08:54:11] <grummund> megal0maniac: look at this when you get back - http://codepad.org/d1Obs8NP
[08:54:38] <megal0maniac> Ooh!
[08:54:45] <megal0maniac> I shall do.
[08:54:49] <megal0maniac> Thanks again :)
[08:54:57] * megal0maniac is excited
[08:55:16] <blecha> grummund whats that?
[08:55:22] <blecha> just some learning code?
[08:55:56] <megal0maniac> Example code
[08:55:59] <megal0maniac> Kbye
[08:56:09] <grummund> blecha: the function there is the code that megal0maniac was trying to follow
[08:56:18] <blecha> ah
[08:56:46] <grummund> blecha: line 163 here - http://pastebin.com/rpg7pEDF
[08:56:49] <blecha> I was wondering why it switches to array notation at the bottom but pointer up top
[08:59:46] <blecha> I already tried one library but maybe this one will work https://sites.google.com/site/osamaslab/Home/projects-list/glcd-library#_Toc274067434
[09:10:49] * amee2woof raises his tail at GuShH
[09:10:54] <blecha> I think im going to try to use that library and modify it to use the shift register i have instead
[09:11:02] <amee2woof> reporting for furryness recertification as requested
[09:13:47] <Posterdati> using libc functions like printf, cos, sin, atan2 crashed my rtos, stack issue?
[09:15:25] <karlp_> that would be a likely culprit yes.
[09:15:41] <karlp_> but you haven't exactly said much.
[09:27:15] <blecha> anyone want to help me clear up my understanding of this datasheet? https://09fa4394-a-62cb3a1a-s-sites.googlegroups.com/site/osamaslab/Home/projects-list/glcd-library/KS0108.pdf?attachauth=ANoY7crAt4JWf_0BZB6zMTgBp507FHqj0vBeqzLpYWCG1TA4Lk0FObKjspN7acR-VssM6Uxl4DBSQ4QDXXXOqV4-IPw_nh8zUaWDCKN3__DAhpBoILR6QeEpNbJNUj6GRX4tQxERNyMqJJ2mhpGj1C9DksOiuiiBt9VMw_82aLGzVNkvCb-OfGUaxeYCxEji6tGGuU-OpLFKSW5SVMthrGw7qeSbdzPjNzZS6qtePZb7mCpIQkFpQcH5DO
[09:28:37] <Steffanx> invalid url
[09:28:38] <karlp_> you need a better question man.
[09:28:48] <Posterdati> invalid url
[09:29:49] <blecha> http://www.datasheetarchive.com/dataframe.php?file=DSA-597091.pdf&dir=Datasheets-30&part=KS0108#
[09:29:53] <blecha> what about that one?
[09:30:15] <blecha> I'm trying to work out the timing and everything
[09:30:31] <blecha> fairly noobish stuff
[09:36:52] <blecha> karlp_ i think i got it worked out
[09:46:38] <blecha> karlp_ steffanx Ive got it mostly worked out but im confused about chip select 3, that doesn't have a pin out of the lcd so I assume its taken care of internally
[09:48:46] <OndraSter> CS1B + CS2B = low, CS3 = HIGH
[09:48:48] <OndraSter> soit receives data
[09:48:50] <OndraSter> or outputs data
[09:48:55] <OndraSter> otherwise the data pins go to HiZ
[09:49:04] <blecha> ah ok
[09:49:19] <blecha> and after looking over the timing charts I think i can get it going
[09:50:26] <blecha> also some minor mislabeling on this sheet, this is a KS0108A not 108B.
[09:51:03] <blecha> and they alternate between RES and RS for reset
[10:04:23] <Posterdati> fixed!
[10:04:38] <RikusW> CapnKernel: http://www.sowetanlive.co.za/news/business/2012/06/19/farmers-unite-to-tackle-stock-theft
[10:05:06] <spec_> Anyone know what this assembler error means? "Error: invalid operands (*UND* and *ABS* sections) for `&'"
[10:05:45] <RikusW> CapnKernel: What does stock theft cost the industry annually? In 2010/2011, goats to the value of R36,3 million, sheep to the valueof R85,8 million, and cattle worth R256 million were stolen.
[10:06:43] <OndraSter> spec_, line?
[10:06:56] <RikusW> http://www.farmersweekly.co.za/article.aspx?id=25053&h=Fighting-stock-theft
[10:08:11] <spec_> Line is: lds BufEndH, high8(bufferEnd)
[10:08:24] <spec_> Macro is: #define high8(x) ((x >> 8) & 0xFF)
[10:08:57] <spec_> It worked fine until I upgraded the assembler to 2.22
[10:09:16] <RikusW> try HIGH() again ?
[10:09:56] <Posterdati> my problem was the stack :( so tiny, I need 512B for minimal atan2 functionality
[10:10:17] <Posterdati> my rtos is working!!!!
[10:10:26] <spec_> "Error: garbage at end of line"
[10:10:36] <RikusW> stack overrun can cause difficult to fine bugs.....
[10:11:50] <spec_> Maddening. It shouldn't be this difficult accessing a byte from a 16-bit int.
[10:12:02] <RikusW> spec_: try reading the avr-libc docs, there is some stuff about asm in there too
[10:12:38] <spec_> ok. Got updated docs with new toolchain. Will take a look
[10:12:49] <RikusW> spec_: bufferEnd is a constant value right ?
[10:12:56] <RikusW> it must be....
[10:13:33] <RikusW> and you must use ldi not lds
[10:15:13] <RikusW> lds is used to load the value being pointed too ---> lds r16,buffer lds r17,buffer+1
[10:15:35] <RikusW> to load data from flash use lpm instead
[10:21:16] <spec_> Damn. Connection reset after RikusW said "and you must use  ldi not lds"
[10:21:55] <spec_> bufferEnd is *not* static. It's periodically updated in another ISR
[10:25:40] <spec_> While I read the libc docs, let me ask this: I adapted the makefile from another AVR project. Could one of these flags be messing me up?
[10:25:42] <spec_> avr-gcc -I./ -I/usr/local/CrossPack-AVR/avr/include/ -mmcu=atmega328p -mmcu=atmega328p -Wall -gdwarf-2 -std=gnu99 -DF_CPU=16000000ul -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT pslice.o -MF dep/pslice.o.d -Wa,-gdwarf-2 -c pslice.S
[10:26:03] <jacekowski> what is the problem exactly
[10:26:40] <jacekowski> hmmm
[10:26:53] <jacekowski> can you paste whole thing
[10:27:10] <spec_> I've tried every method under the sun to access the high and low bytes of an int to write into TCNT1L and TCNT1H
[10:27:29] <jacekowski> in asm?
[10:27:30] <jacekowski> or C
[10:27:34] <jacekowski> in C it's easy
[10:27:38] <jacekowski> TCNT1
[10:27:39] <spec_> in assembly. Assembler chokes on everything the docs an the language say are legal.
[10:28:00] <spec_> This particular ISR is in assembly.
[10:28:24] <jacekowski> well, paste the code
[10:28:47] <spec_> I can paste pieces. Code is under an NDA
[10:29:57] * janeUbuntu AVR for monitoring cheap UPS(Battery, volt,amp ...) and support opensource NUT(networkupstools.org) for shutdown pc/server. any project like this concept?
[10:32:35] <spec_> The build stops with an error on this line: " lds BufEndL, lo8(bufferEnd);", error is : "Error: garbage at end of line"
[10:36:30] <spec_> Sanity check: what is sizeof(int) for the AVR?
[10:37:00] <Steffanx> With AVR-GCC .. 16 bits
[10:37:11] <Steffanx> *avr-libc
[10:37:24] <spec_> The newest avr-libc user manual says "The assembler uses integer operations in the host-defined integer size (32 bits or longer) when evaluating expressions."
[10:38:04] <spec_> Could this by why hi8() and lo8() are barfing?
[10:38:17] <spec_> As well as HIGH() and LO()?
[11:14:33] <spec_> RikusW: You were spot on about using ldi over lds. I realize why it was messing me up now.
[11:15:09] <spec_> That and I had to reassign several registers and it build without complaint!
[11:19:26] <specing> spec_: use uint16_t ffs
[11:20:10] <spec_> The assembly file seems to work now, that last part I'm having a problem with is finding a useable solution for bool flags.
[11:20:53] <specing> Oh so you are using bools too?
[11:20:59] <spec_> I tried the solution at http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=57006
[11:21:04] <specing> use GPIORn for that
[11:21:14] <spec_> Yes, in the C part of this project.
[11:21:18] <spec_> Not in the assembly part
[11:22:08] <spec_> Compiler pules on: "typedef struct { bool f0:1; bool f1:1; bool f2:1; bool f3:1; bool f4:1; bool f5:1; bool f6:1; bool f7:1; } PackedBool; "
[11:22:16] <spec_> "error: unknown type name ‘bool’"
[11:22:23] <specing> If you are satisfied with the code generated being crappier than anything, go ahead
[11:22:49] <specing> Hehe, even the compiler is telling you not to use them
[11:23:07] <spec_> I should listen. It's been right so far!
[11:23:31] <specing> And what you are doing over there will not generate what you think it will
[11:23:39] <specing> packedBool will be 16 bits
[11:23:46] <specing> unless you use -mint8
[11:24:03] <specing> use GPIORn for what you are trying to achieve
[11:24:28] <spec_> From within C?
[11:24:35] <specing> yeees
[11:25:23] <specing> Those were designed for event signaling
[11:28:08] <spec_> What do you think of doing it this way: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=48849&start=0
[11:28:35] <spec_> Similar to the first method, uses unsigned char instead of bool.
[11:39:17] <spec_> This seems to be working!
[11:41:27] <spec_> Only error now is in the linker
[11:42:27] <specing> still wrong
[11:42:42] <specing> uint8_t should be used
[11:43:41] <CapnKernel> spec: #include <stdbool.h>
[11:43:49] <spec_> "cannot find crtm328p.o: No such file or directory" I've searched the tool chain path for this file but it does not appear to exist.
[11:44:17] <specing> Where did you get the toolchain from?
[11:46:07] <spec_> Mac Ports.
[11:46:23] <spec_> It's gcc version 4.7.0 (GCC)
[11:46:35] <spec_> And binutils 2.22
[11:47:21] <specing> avr-gcc (GCC) 4.8.0 20120801 (experimental)
[11:47:24] <specing> harhar.
[11:51:47] <CapnKernel> spec_: #include <stdbool.h>
[11:55:06] <spec_> Bloody disconnects.
[12:03:11] <Tom_itx> CapnKernel
[12:05:18] <CapnXorg> ...
[12:05:20] <CapnXorg> ;D
[12:06:48] <CapnKernel> CapnXorg: I see what you did there.
[12:07:49] <OndraSter> :P
[12:07:53] <blecha> wow this data sheet is crazy. so much engrish
[12:08:14] <OndraSter> chinglish*
[12:09:42] <blecha> "But status read is not needed dummy read."
[12:10:59] <OndraSter> lol
[12:16:18] <xata> hi
[12:16:58] <OndraSter> hihi
[12:17:52] <abcminiuser> Quick question y'all
[12:17:52] <OndraSter> ooo
[12:17:58] <OndraSter> he isn't drinking yet
[12:18:06] <OndraSter> hello abcminiuser
[12:18:10] <abcminiuser> HOW THE (&^*&^ DO I PUT A GODDAM MAP MARKER ON GOOGLE MAPS FOR ANDROID
[12:18:17] <OndraSter> heh
[12:18:25] <abcminiuser> OndraSter, I won't be if I can't mark the *&^(*ing pub on the map
[12:18:35] <OndraSter> can't you search for it simply?
[12:18:45] <abcminiuser> No data connection
[12:18:47] <OndraSter> oh
[12:18:53] <abcminiuser> I have the address, I have the map cached
[12:19:09] <xata> linux_kmodule_programming+tty_kernel_api+proc_system = unbelivable cosmic buttsex
[12:19:16] <abcminiuser> But apparently being able to touch a location and say "hey, mark this" is beyond all of Google's capabilities
[12:19:28] <OndraSter> that's why I have WP7 :D
[12:20:04] <OndraSter> no idea really
[12:20:07] <OndraSter> I never liked android myself
[12:20:26] <xata> OndraSter: it already supports more than one kernel on cpu?
[12:20:36] <OndraSter> supports what?
[12:20:54] <xata> threads. i.e. will it utilize 4 cores on tegra3?
[12:21:09] <OndraSter> you said the opposite :)
[12:21:14] <OndraSter> CE7 supports SMP
[12:21:15] <OndraSter> just ifne
[12:21:16] <OndraSter> fine
[12:21:24] <OndraSter> but there won't be any phone
[12:21:31] <xata> yeah. just fine. nothing more
[12:21:32] <OndraSter> WP8 is made for Snapdragon S4 Pro
[12:21:42] <OndraSter> I prefer faster singlecore than slower dual/quad
[12:21:50] <xata> OndraSter: there is already multicore phones
[12:21:55] <OndraSter> so?
[12:22:04] <OndraSter> let alone on android where they haven't learned to do proper multithreading
[12:22:12] <abcminiuser> I love Android, but holy crap
[12:22:27] <abcminiuser> I mean jesus, I can cache the map and explore it offline just fine all over Trondheim
[12:22:32] <xata> OndraSter: proper!=win-way
[12:22:36] <abcminiuser> I can see my location in real time, using the GPS
[12:22:55] <abcminiuser> BUT WHY THE FUCK CAN I NOT MARK A FUCKING PLACE OF INTEREST ON IT ON THE FUCKING CACHED MAP
[12:23:01] <xata> anything proper != way of microsoft
[12:23:12] <OndraSter> abcminiuser, menu key doesn't hide anythin useful?
[12:23:24] <OndraSter> (menu key was one awfulness on android as well, they removed it finally)
[12:24:48] <abcminiuser> No
[12:25:08] <abcminiuser> I can get directions to places I want to go if I don't close the app once I go out of Wifi range
[12:25:20] <abcminiuser> I can point to a location and ask what's nearby and such
[12:25:34] <abcminiuser> But no obious >>>> PUT MARKER HERE <<<<< button
[12:25:51] <OndraSter> eh
[12:26:02] <OndraSter> long tap on that place neither does anything?
[12:27:50] <OndraSter> the only idea I have is to try #android
[12:29:10] <xata> wp7 way: TRY TO CONSULT NEARBY MICROSOFT SERVICE
[12:29:54] <OndraSter> wat
[12:30:19] <abcminiuser> I can long tap and star it apparently, close enough
[12:30:42] <abcminiuser> But fucking hell, it's the first obvious thing I'd want to do with a map app
[12:30:48] <abcminiuser> Anyway, off to the pub, hopefully
[12:31:21] <OndraSter> heh
[12:31:25] <xata> anybody here ever tried to create a linux kernel module for their avr-based device, connected to com-port? maybe somebody already has ready-to-go solution for tty handling
[12:31:32] <OndraSter> abcminiuser, btw, why avr dragon doesn't support old atmega8? :o
[12:31:36] <OndraSter> I have got bunch of them
[12:31:40] <OndraSter> but nothing to programm them with
[12:31:51] <OndraSter> I say wtf :D
[12:32:02] <OndraSter> randomly missing devices support
[12:32:04] <blecha> Use a magnet, a coil of wire, and a steady hand :P
[12:32:25] <blecha> thats how i do all my programming
[12:32:35] <OndraSter> my keyboard has 3 keys
[12:32:35] <xata> OndraSter: serial port programming? gromov-style
[12:32:36] <OndraSter> 0
[12:32:36] <OndraSter> 1
[12:32:37] <OndraSter> RUN
[12:32:48] <OndraSter> xata, I would need serial port first though
[12:33:05] <OndraSter> on the other hand I could just ask my friend to give me back my programmer
[12:33:08] <xata> OndraSter: lpt?
[12:33:24] <CapnKernel> xata: Re: "anybody here ever tried to create a linux kernel module for their avr-based device", what you trying to do?
[12:33:28] <abcminiuser> OndraSter, it's being worked on, it's a long boring story
[12:33:36] <OndraSter> boring?
[12:33:46] <abcminiuser> Technical, ask me tomorrow when I'm home
[12:33:49] <abcminiuser> I'll be back on
[12:33:52] <OndraSter> will do, thanks
[12:33:55] <CapnKernel> Apparently it involves non-cosmic buttse
[12:34:00] <CapnKernel> buttsex even
[12:34:11] <abcminiuser> It's to do with the classes of tools in the AS backend
[12:34:20] <abcminiuser> Anyway talk tomorrow
[12:34:45] <Corwin> <OndraSter> my keyboard has 3 keys ... <- Ctrl + Alt + Del ?
[12:35:00] <blecha> 0,1, and Run
[12:35:05] <blecha> Corwin^
[12:35:20] <xata> CapnKernel: i try to make a kernle module, that reads com-port, parses information and putts according info into according file in /proc
[12:35:56] <xata> and no, no user-space solutions
[12:36:35] <Tom_itx> wow dean is here!
[12:36:39] <Tom_itx> hi abcminiuser
[12:36:40] <CapnKernel> Why not do this in userspace?
[12:36:49] <CapnKernel> You better have a DGI
[12:36:50] <xata> i already have everything working, excep that tty access stuff
[12:36:57] <xata> *except
[12:37:01] <CapnKernel> That doesn't make it a good idea
[12:38:17] <xata> CapnKernel: why no user-space? because it has to be in background only and damn i want to create my own kernel module to look cool.
[12:39:05] <CapnKernel> "in background only": tell me more.
[12:39:09] <CapnKernel> This is what daemons do.
[12:39:14] <xata> i know
[12:39:28] <xata> but i want a kernel module
[12:39:29] <CapnKernel> For example, what you're trying to do is not dissimilar to what UPS monitoring daemons do
[12:39:46] <xata> i want i want i want i want i want
[12:40:06] <CapnKernel> So, no technical reason for it to be a kernel module, except you want to get all sexxy and impress the ladeez
[12:40:48] <xata> CapnKernel: i already have this stuff workin in user-space, but i want do kernel stuff like all the cool guys do
[12:40:54] <xata> CapnKernel: exactly
[12:41:44] <CapnKernel> I have no sympathy. Do it the right way in userspace, and get all wiggy with the kernel writing something else.
[12:42:27] <CapnKernel> The tty code in the kernel is some of the cruftiest stuff eva.
[12:53:42] <blecha> I'm debating on adding an IR led to this thing that started as an alarm clock
[12:53:52] <blecha> its only 1 pin but could control lots of stuff
[13:27:36] <blecha> Actually I probably need a logic analyzer of Oscope before i start playing with that
[13:34:47] <CapnKernel> This air conditioner is crazy. 28C means freeze your tits off, and 29C means you gonna boil. (3xC outside)
[13:35:34] <CapnKernel> So tempted to grab an ATtiny85, a thermistor, and an IR LED, and make my own remote control. Put a PID algorithm in it and do it *right*.
[13:37:50] <blecha> lol CapnKernel i was just reading this http://thebloughs.net/hobbies/electronics/midea_ir/
[13:48:12] <CapnKernel> blecha: Wow, what a sweet project! Thanks!
[13:49:11] <blecha> Yeah i just wish i had the oscope to poke around like that :D
[16:42:15] <megal0maniac> grummund: Any idea why the packet would (seemingly) randomly go between 18 and 19 bytes in size?
[16:43:02] <Tom_itx> missing bytes?
[16:43:10] <Tom_itx> during transfer
[16:43:26] <Posterdati> is there anyone interested in my atmega2560 rtos?
[16:43:30] <Posterdati> lol
[16:43:34] <megal0maniac> It's almost definitely not that
[16:45:00] <megal0maniac> In the one dump, it's 18bytes 52 times out of 54
[16:45:20] <megal0maniac> 19bytes twice
[16:45:33] <Tom_itx> what's it supposed to be?
[16:45:43] <Tom_itx> is this serial or what?
[16:46:16] <OndraSter_> Posterdati, what are its capabilities?
[16:46:26] <megal0maniac> Tom_itx: It
[16:46:39] <Posterdati> I've got 4 tasks running on it
[16:46:42] <megal0maniac> Fail. Yes, serial. "Scratch packets" to be exact
[16:47:03] <megal0maniac> From a Picoboard.
[16:47:10] <Posterdati> OndraSter_: and I'm finish to develop a c++ library to handle atmega2560 hardware
[16:47:24] <specing> uh oh, c++ on avr
[16:47:25] <megal0maniac> Tom_itx: http://pastebin.com/rpg7pEDF
[16:48:09] <megal0maniac> lines 163-174 build and send the packet
[16:48:24] <Posterdati> specing: no troubles...
[16:48:36] <Tom_itx> i would be more interested in how close the crystal matches for the baudrate
[16:49:38] <megal0maniac> 38400 baud, 16mhz resonator, 5V supply (USB)
[16:50:12] <Posterdati> OndraSter_: I've got a 2 kHz tick clock
[16:50:17] <Tom_itx> .2% error
[16:50:20] <Posterdati> OndraSter_: with TIMER2
[16:50:29] <Tom_itx> http://www.wormfood.net/avrbaudcalc.php
[16:51:13] <Tom_itx> which isn't much but it's there
[16:51:38] <Tom_itx> 14.7456 would get you right on
[16:51:52] <megal0maniac> Tom_itx Then it's about as good as it gets :)
[16:51:52] <megal0maniac> Don't have control over the baud or the crystal though, due to the host program.
[16:52:07] <Tom_itx> send a checksum?
[16:54:49] <megal0maniac> Still need to learn how pointers work :/
[16:55:44] <megal0maniac> I'm 99% sure it isn't the serial connection though. It hasn't given issues even at 256000 baud.
[16:55:59] <megal0maniac> It's on an Arduino Nano (FTDI based USB)
[17:00:08] <Tom_itx> too bad you don't have a LA you could capture it
[17:01:27] <megal0maniac> What I would do for my own saelae logic :)
[17:01:40] <megal0maniac> One of the guys at #rockbox uses one
[17:02:29] <Tom_itx> i like mine :)
[17:02:56] <megal0maniac> The code sends a packet every time it receives 0x01. So I'm just using a terminal app with 0x01 on a macro. Can send one at a time, or lots and lots.
[17:02:57] <Tom_itx> what is rockbox about?
[17:03:02] <megal0maniac> Which one do you have?
[17:03:08] <Tom_itx> 8
[17:03:15] <Tom_itx> they didn't have the 16 when i got it
[17:04:04] <megal0maniac> I would only want 8. 16 is too expensive anyway. Rockbox is an open source "jukebox firmware" for media players, if I remember the homepage correctly
[17:04:13] <Tom_itx> ok
[17:04:36] <Tom_itx> get one, you won't regret it
[17:04:38] <megal0maniac> Basically it's alternative firmware for your mp3 player. Which makes crappy-average players do amazing things and be way more useful
[17:04:49] <Tom_itx> you might cry a day or two over lost money but that will pass
[17:04:49] <megal0maniac> I'm a student. :P
[17:05:04] <megal0maniac> I don't have money to lose ;)
[17:05:09] <Tom_itx> college?
[17:05:33] <megal0maniac> Technically only next year, but yes
[17:05:41] <Tom_itx> you are just giving them all your money instead
[17:06:31] <megal0maniac> And amusingly, I seem to be teaching myself most of what I'd be learning there anyway :)
[17:06:47] <Tom_itx> then you will spend the next 10 yrs paying student loans back
[17:07:27] <megal0maniac> But still, would rather be one step ahead. My parents will pay for education, but anything else is on me.
[17:07:40] <grummund> debug the stream and see if you can spot the pattern
[17:07:47] <Tom_itx> lucky bastard
[17:10:30] <megal0maniac> http://pastebin.com/JSc1cFy6
[17:11:27] <grummund> yeah... can you spot the pattern?
[17:12:04] <megal0maniac> From 3 seperate captures, but looks like byte 13 or 14
[17:12:23] <grummund> ok, want a hint? :p
[17:12:41] <megal0maniac> Always open to hints. I suck at patterns :P
[17:13:00] <grummund> you know what the structure of each byte-pair should be.
[17:13:02] <megal0maniac> 0D!
[17:13:20] <grummund> ya got it. ;)
[17:13:50] <megal0maniac> Who the heck is that and what is he doing in my stream? :/
[17:14:06] <grummund> it's only doing what you told it to
[17:14:53] <megal0maniac> Weird. Position seems random. But computers can't be random
[17:15:06] <megal0maniac> Tom_itx: What do you use yours for primarily?
[17:15:23] <grummund> it's not random, look again.
[17:15:49] <Tom_itx> i don't use it alot now but did use it when helping dean debug the TPI program protocol
[17:16:11] <megal0maniac> Aha... He has a friend :)
[17:16:25] <megal0maniac> 0A
[17:16:48] <grummund> do you see any 0A without 0D ?
[17:17:07] <grummund> and what are those two in ascii anyway?
[17:17:33] <Tom_itx> umm CR LF
[17:17:57] <grummund> Tom_itx gets bonus points for doing megal0maniac's homework :p
[17:18:12] <Tom_itx> i've seen those hex values way too much
[17:18:31] <megal0maniac> Whaaat?
[17:18:35] <megal0maniac> Why?
[17:18:45] <grummund> it's only doing what you told it to.
[17:19:20] * megal0maniac has a suspicion
[17:20:23] <Tom_itx> line 129 130?
[17:20:42] <Landon> grummund: doesn't sound tedious enough to be homework
[17:21:32] <megal0maniac> Landon: Learnt practically everything I know about bitwise operators today on this channel. Baby steps ;)
[17:22:16] <Landon> one of the first assignments given in microcontrollers was "Given this assembly listing, translate into machine code and then execute on paper, giving status registers at each step" :<
[17:22:24] <Tom_itx> did you read this? http://tom-itx.dyndns.org:81/~webpage/avr/c_bits/bits_index.php
[17:22:35] <Landon> megal0maniac: high school?
[17:22:40] <grummund> Landon: i know... but still it wouldn't be fun if i just pointed at the bug, right?
[17:23:04] <megal0maniac> Landon: Hobby
[17:23:19] <megal0maniac> Tom_itx: No, I just listened to grummund XD
[17:23:32] <Tom_itx> look it over some time
[17:23:51] <Landon> megal0maniac: more to the point, what is your status in the educational system of your country?
[17:24:23] <megal0maniac> Already looked over a lot of your site :) But will do
[17:24:47] * grummund spots a couple errors already
[17:25:06] <megal0maniac> Landon: It varies. High school offers IT (most of them, anyway) and you either do Java or Delphi.
[17:25:12] <megal0maniac> For 3 years
[17:25:23] <megal0maniac> Starting with "what is an int?"
[17:25:38] <Landon> ok, very directly to the point :P are you in elementary, middle school, high school, college, none of the above?
[17:26:05] <megal0maniac> Somewhere between high school and university
[17:26:19] <megal0maniac> I'm 20
[17:26:34] <Landon> ah ok
[17:27:28] <megal0maniac> grummund: Any idea why one would want to sabotage the code like that? It was written by MIT people...
[17:27:42] <grummund> which line?
[17:28:13] <megal0maniac> (Sabotage, because I don't know why it's there, yet :)) The LF+CR
[17:28:57] <grummund> it's for text mode
[17:29:45] <megal0maniac> But the data is only intended to be read by a program. Or is that some stale copy pasta from generic serial code?
[17:29:52] <grummund> if you do printf("Hello World!\n"); it actually sends "Hello World!\n\r".
[17:30:18] <megal0maniac> More specifically, a program which interprets rather than displays output
[17:30:41] <grummund> you're outputing binary using a function designed for text
[17:30:52] * megal0maniac blames MIT
[17:31:24] <megal0maniac> But it's okay because the program still works. Or it discards the package as garbage. Not sure
[17:31:55] <grummund> you should write your own uart_sendbyte() function and use that instead of printf("%c", ...);
[17:33:14] <megal0maniac> I intend to. Eventually.
[17:33:48] <grummund> nothing to it... use the uart_putchar() as a template.
[17:34:54] * megal0maniac thinks he needs to brush up on C first
[17:35:10] <megal0maniac> It isn't as much like Java as it looked originally :)
[17:41:56] * megal0maniac finds the Windows 7 calculator very handy for hex/bin/dec conversions
[17:45:52] <specing> http://suckless.org/rocks <== looks like I use quite a bit of stuff from there
[17:58:37] <megal0maniac> I use mpd. That's about it.
[18:01:00] <megal0maniac> And I'm now downloading Atmel Studio 4. Apparently this is a good thing
[19:25:27] <jadew> anyone doing double sided PCBs with the toner transfer method?
[19:25:54] <jadew> routing single sided PCBs is a real PITA when you have more than 2 ICs on the board
[19:25:59] <Tom_L> i have but not for a while
[19:26:22] <jadew> how do you pre-heat the pcb?
[19:26:28] <jadew> or you just tape them together?
[19:26:43] <Tom_L> preheat?
[19:26:50] <Tom_L> i use a clothes iron
[19:26:51] <jadew> I usually preheat the pcb and then apply the paper
[19:27:02] <Tom_L> sometimes i do
[19:27:10] <jadew> that way I make sure I don't screw it up, since it instantly sticks together
[19:27:18] <Tom_L> i generally have em made anymore. i'm gettin lazy
[19:27:53] <jadew> wish I had a service around here that did that
[19:28:01] <jadew> altho, I kinda enjoy building my own PCBs
[19:28:03] <Tom_L> where is here?
[19:28:11] <jadew> romania
[19:28:17] <Tom_L> oh
[19:28:21] <OndraSter_> olinex?
[19:28:25] <OndraSter_> oops
[19:28:30] <OndraSter_> that is something else
[19:28:34] <OndraSter_> olimex?
[19:28:42] <Tom_L> http://tom-itx.dyndns.org:81/~webpage/misc_stuff/hood1.jpg
[19:28:47] <Tom_L> that's doublesided
[19:28:57] <jacekowski> jadew: you can fit tracks between pads
[19:29:24] <jacekowski> jadew: + use jumpers
[19:29:36] <Tom_L> http://tom-itx.dyndns.org:81/~webpage/toaster_oven/oven_control1.jpg
[19:29:45] <Tom_L> there's a thru hole under the chip :)
[19:29:59] <jadew> jacekowski, yeah, but sometimes that's not enough, the toner transfer method doesn't allow more than 1 track between an ICs pads
[19:29:59] <jacekowski> how is the plating done
[19:30:05] * Casper needs to hack his second ups...
[19:30:08] <jadew> and I'm tired of soldering jumper wires
[19:30:15] <Casper> or hack up something with an openups...
[19:30:17] <jacekowski> jadew: use low ohm resistors
[19:31:02] <jadew> Tom_L, is that a via under the smd?
[19:31:11] <Tom_L> yes
[19:31:15] <jadew> heh
[19:31:35] <Tom_L> that's my toaster oven control
[19:31:53] <jadew> Casper, what's an openups?
[19:33:01] <Casper> http://www.mini-box.com/OpenUPS
[19:33:46] <OndraSter_> Tom_itx, my toaster oven controller is ready here... but my printer sucks at separation so I had to manually cut the pins on the 0.8mm TQFP :(
[19:34:25] <Casper> almost all of my network and phone gear is 12V (12V 1.50A router, 12V 0.75A modem, 12V 1-2A VoIP (not yet bought)... and 6.5V 0.5A phone base
[19:35:06] <Casper> I was thinking to replace all those wallwarts by one laptop psu, feed that to the openups, which charge the SLA and power all the load... with a small dc-dc or linear for the phone
[19:35:18] <Casper> would be more efficient than all those wallwart too
[19:36:43] <Casper> I was checking to make something equivalent to it, but I can't find anything that I could make at home that get simmilar
[19:37:36] <Casper> 19-13.5V current limited, 10-15V to 12V... in very efficient converters... (synchronious)
[19:39:45] <jacekowski> Casper: bear in mind that some of those devices may rely on current limiting in wallwart
[19:41:06] <Casper> jacekowski: none should do that unless it have battery charging capability, and even then it's a bad design
[19:42:16] <jacekowski> it's cheap chinese stuff
[19:42:19] <jacekowski> what do you expect
[19:42:57] <Casper> I'm mostly sure that I could connect all directly to the battery, but I do not know how well their buck is designed
[19:47:19] <Casper> there is one small missing feature of this ups... sadly... it do not restart the charge after a certain time, and do not maintain the absorbtion voltage for a certain time...
[19:47:27] <Casper> which do not make it suited for flooded batts