#avr | Logs for 2012-02-02

Back
[00:01:06] <rue_mohr> 100 cycles for an isr?
[00:01:11] <rue_mohr> what are you doing?
[00:02:55] <skorket> pwm on four channels, some debounce logic and incrementing/decrementing some counters
[00:02:58] <skorket> it's a lot
[00:03:09] <skorket> 100 cycles is a bit too much I take it?
[00:27:38] <ziph> skorket: It depends what else is running on the IC.
[00:28:27] <ziph> skorket: I personally don't subscribe to the view that ISR's must be as small as possible.
[00:29:41] <skorket> ziph, most of the rest of the code is just some state changes, nothing too major, I don't think. The main focus is on the pwm and that's the most important thing to get right, else the servo's go all whacky
[00:30:17] <ziph> skorket: Are any other interrupt enabled?
[00:30:40] <skorket> no
[00:30:57] <ziph> Sounds fine to me then.
[00:31:41] <skorket> I have a version of the code written in C and the ISR is probably even larger in that one, and it runs fine
[00:31:41] <ziph> Just be careful that your ISR doesn't run so long that by the time it finishes it will re-fire immediately, otherwise the non-ISR code will never run. ;)
[00:31:56] <skorket> So I know it's possible...I'm more concerned with what's best practice
[00:32:22] <skorket> yes, of course. I'm well within that because of cap on 100 cycles, but I understand
[00:39:37] <ziph> I did an entire NMEA parser in interrupts once.
[00:41:02] <ziph> It used a special FSM done in automatically generated assembler so that the total RAM use was 20 bytes and the peak cycle count was 20-30.
[00:41:13] <ziph> So I'm not sure that counts as exorbitant.
[00:41:23] <skorket> wow, seems pretty good
[00:41:35] <ziph> (The average cycle count was much lower, 5-10 or so).
[00:42:58] <ziph> That was a fun project, the more code I wrote the smaller the binary got. ;)
[00:43:48] <ziph> It went from 100K to 30K and gained about three times as much functionality.
[00:47:38] <skorket> I'm still debugging my code but I went from just shy of 1K for a C version to just over 500bytes for an assembly version
[04:40:25] <Studioeng> my t85 usbtiny programmer is not buggered :D
[04:40:41] <Studioeng> its just not communicating with the t2313
[04:40:43] <Studioeng> :(
[04:44:44] <amee2k> hrm
[04:44:59] <amee2k> when writing an ISR in assembly, do i need to declare it as ISR somewhere?
[04:45:25] <OndraSter> nope
[04:45:32] <amee2k> when i inspect my compiled code, the IVT is all <__bad_interrupt> and i can't find any reference to my ISR anywhere
[04:45:33] <OndraSter> just .org SOMEOFFSET
[04:45:36] <OndraSter> JMP SOMEADDRESS
[04:46:07] <amee2k> i'm compiling just the ISR in a file, then link it together with a pile of C code
[04:46:15] <OndraSter> oh
[04:46:16] <OndraSter> hmm
[04:47:19] <amee2k> http://www.nongnu.org/avr-libc/user-manual/group__asmdemo.html << someone linked me to this a few days ago. i think i'm doing it the same way that page does it, but no cookie yet
[04:47:29] <amee2k> i must be missing something here
[04:48:08] <Tom_itx> amee2k, i list them at least
[04:48:19] <Tom_itx> http://tom-itx.dyndns.org:81/~webpage/avr/tiny10/test/
[04:48:29] <Tom_itx> look at tn10_pwm_test.asm
[04:48:54] <Tom_itx> i use the studio .inc headers
[04:49:08] <amee2k> "list them"?
[04:49:20] <Tom_itx> ; ---------- SYSTEM INTERRUPT VECTORS ----------
[04:49:21] <Tom_itx> .cseg ; code segment
[04:49:21] <Tom_itx> .org 0x0000 ; the specified procedure start address
[04:49:21] <Tom_itx> rjmp main ; RESET
[04:49:21] <Tom_itx> reti ; INT0
[04:49:22] <Tom_itx> reti ; PCINT0 (pin change)
[04:49:22] <Tom_itx> reti ; TIM0_CAPT
[04:49:23] <Tom_itx> reti ; TIM0_OVF
[04:49:23] <Tom_itx> reti ; TIM0_COMPA
[04:49:24] <Tom_itx> reti ; TIM0_COMPB
[04:49:24] <Tom_itx> reti ; ANA_COMP
[04:49:24] <Tom_itx> reti ; WDT
[04:49:25] <Tom_itx> reti ; LVM
[04:49:26] <Tom_itx> rjmp adcService ; ADC
[04:49:39] * amee2k points out that this is his first time messing with more than just a piece of inline assembly
[04:50:15] <amee2k> o.O
[04:50:20] <amee2k> what does that do?
[04:50:45] <OndraSter> on all unset vectors (= all except RESET vector) it jumps out from the routine
[04:50:56] <Tom_itx> like i said, i list them so i know what is available
[04:51:21] <amee2k> the compiler already creates an IVT, i'm not sure if i can make a second one in assembly
[04:52:10] <Tom_itx> i didn't make a new one
[04:52:19] <amee2k> you didn't?
[04:52:37] <Tom_itx> i used the ones i needed
[04:52:42] <Tom_itx> and accounted for the others
[04:53:02] <amee2k> yeah, but you declared a complete IVT there, no?
[04:53:14] <Tom_itx> ie, in c you would jmp to a dummy for unused ones
[04:53:46] <amee2k> yeah, thats the one that the compiler generates for me already. now i want to add my assembly ISR to that
[04:54:13] <amee2k> i have a hunch there is some magic symbol name i need to use but i can't figure out out from that nognu.org example right now
[04:54:26] <Tom_itx> so make a label for it and stuff some code in it
[04:54:38] <Tom_itx> and then jmp to that 'address'
[04:55:30] <amee2k> i don't get it. lemme pastebin some code
[04:56:46] <Tom_itx> http://tom-itx.dyndns.org:81/~webpage/avr/atmega32U4/asm/rs232test/
[04:56:59] <Tom_itx> they are commented out in that code. like i said i just list them for my benefit
[04:57:09] <Tom_itx> just make use of the ones you need
[04:57:12] <amee2k> http://paste.debian.net/154449/ << assembler file, ISR is unfinished and only has a bunch of PUSHs and POPs in it but it compiles. the issue is i don't see it added to the IVT in the final output
[04:57:33] <amee2k> http://paste.debian.net/154450/ << one of the C files it is being linked to, includes definitions for the encoder__* variables
[04:57:42] <amee2k> http://paste.debian.net/154451/ << makefile i'm using
[04:57:42] <amee2k> ^^
[04:58:33] <amee2k> http://paste.debian.net/154452/ << IVT that is being generated, disassembled from final linked output
[04:58:52] <amee2k> before i had an RJMP to something like <__vector14> in there
[04:59:09] <amee2k> i mean, when the ISR was still in C
[04:59:28] <Tom_itx> you're mixing it with c there though
[04:59:44] <amee2k> yes, i said that before
[05:00:07] <Tom_itx> http://www.nongnu.org/avr-libc/user-manual/inline_asm.html
[05:00:19] * amee2k facepalms
[05:00:35] <amee2k> i want to rewrite the entire ISR in C
[05:00:55] <Tom_itx> that's it?
[05:01:27] <amee2k> the C code sucks because the compiler for some reason ends up taking ages to push and pop like 20 registers when i wrote it in C
[05:01:33] <Tom_itx> then if it's not included in the output code, maybe you spelled the isr wrong
[05:01:53] <Tom_itx> oh
[05:02:00] <Tom_itx> i dunno then
[05:02:03] <amee2k> i used the same label name as the example on nognu.org
[05:02:14] <amee2k> TIM0_COMPA_vect
[05:02:19] <Tom_itx> check the .h file though for the part
[05:02:29] <Tom_itx> that looks right though
[05:02:34] <amee2k> which one?
[05:02:39] <amee2k> io.h?
[05:02:45] <Tom_itx> it may be TIMER0_COMPA_vect
[05:02:46] <Tom_itx> i dunno
[05:02:57] <Tom_itx> io.h just leads to the real one
[05:02:59] <amee2k> i tried that at first because i used that one in C but it didn't work
[05:03:03] <Tom_itx> look for it
[05:03:08] <amee2k> then i noticed that the other example uses TIM0
[05:03:12] <Tom_itx> what part is it?
[05:03:16] <amee2k> mega88
[05:04:56] <Tom_itx> #define TIMER0_OVF_vect _VECTOR(9)
[05:04:56] <Tom_itx> #define SIG_OVERFLOW0 _VECTOR(9)
[05:04:57] <amee2k> iom88
[05:05:03] <Tom_itx> that's all that is defined sir
[05:05:22] <amee2k> hrm
[05:05:31] <Tom_itx> #include <avr/iomx8.h>
[05:05:35] <Tom_itx> for the isr list
[05:05:43] <Tom_itx> that's in the 88 .h file
[05:05:52] <Tom_itx> so look at iom8.h
[05:06:24] <Tom_itx> it's not included because it's not defined
[05:07:12] <amee2k> ooh
[05:07:52] <amee2k> cool, it works! now i get vector_16 in the IVT
[05:08:31] <Tom_itx> that's the analog compar vector
[05:08:41] <amee2k> what??
[05:08:51] <Tom_itx> #define ANA_COMP_vect _VECTOR(16)
[05:08:51] <Tom_itx> #define SIG_COMPARATOR _VECTOR(16)
[05:09:12] <amee2k> my header file begs to differ?
[05:09:21] <amee2k> #define TIMER0_OVF_vect _VECTOR(16)
[05:09:27] <Tom_itx> that is iom8.h from avrgcc
[05:09:40] <amee2k> iomx8.h
[05:09:51] <amee2k> which is included by iom88.h
[05:09:56] <amee2k> which is included by io.h
[05:10:10] <Tom_itx> my bad
[05:10:11] <Tom_itx> sry
[05:10:13] <amee2k> >_>
[05:10:38] <Tom_itx> i knew it was a spelling error
[05:11:01] <amee2k> mmh what was?
[05:11:43] <Tom_itx> TIM0_COMPA_vect instead of TIMER0_COMPA_vect
[05:12:16] <amee2k> http://www.nongnu.org/avr-libc/examples/asmdemo/isrs.S << interresting that this dude is using it here and it seems to work
[05:12:28] <amee2k> well, provided he actually tried to compile that example. but maybe not >_>
[05:12:38] <Tom_itx> :)
[05:12:48] * Tom_itx wanders off
[05:13:06] <amee2k> or whoever is in charge of the attiny series header files just had a different naming convention lol
[05:13:35] <amee2k> anyway, seems to work now. thanks Tom_itx! :)
[05:15:47] <karlp> lots of periphs have different names on different series parts,
[05:15:52] <karlp> it's a little annoying,
[05:16:01] <karlp> but it does help remind you that the periphs aren't always the same.
[05:17:08] <amee2k> hmm
[05:33:23] <amee2k> hmm... is there a "Branch if Bit in Register is Set" instruction?
[05:34:00] <karlp> brbs?
[05:35:11] <amee2k> that is "branch if bit in SREG is set"
[05:46:23] <OndraSter> SBRC?
[05:46:30] <OndraSter> that is skip
[05:46:32] <OndraSter> so you do
[05:46:37] <OndraSter> SBRC somereg, somebit
[05:46:40] <OndraSter> JMP someaddr
[05:46:47] <OndraSter> if the bit is set, it will skip the JMP
[05:47:20] <RikusW> if clear it will skip...
[05:47:21] <amee2k> mmh, i just managed to fake it with an ANDI and a BRNE because i don't need the value in the register anymore
[05:47:27] <RikusW> you're thinking of sbrs
[05:47:51] <OndraSter> yeah sorry
[05:47:58] <amee2k> RikusW: exactly, but with branch instead of skip
[05:48:43] <amee2k> also, how do you declare the kind of local symbol thingies in an assembler file that you'd use for a jump target and that isn't supposed to show up in the final object file??
[05:49:08] <amee2k> like, for an "if" kind of construct or a loop
[05:49:26] <RikusW> andi destroys register contents sbrs don't
[05:49:46] <RikusW> label:
[05:49:52] <RikusW> rjmp label
[05:49:54] <amee2k> in the DOS times it used to be starting the symbol name with a dot i think
[05:50:42] <amee2k> http://paste.debian.net/154456/ << well that works, but then my ISR looks chopped up like this in the output
[05:50:52] <amee2k> the C-generated functions don't seem to do that
[05:51:15] <amee2k> and i'm pooping local symbols all over the symbol table this way
[05:52:10] <RikusW> don't know if there is another way
[05:52:11] * amee2k . o O ( wow, i'm SO not into assembler anymore... )
[05:52:39] <RikusW> I used a prefix on the locals...
[05:52:55] <RikusW> SomeFunctionName: SNFnext: SFNret: etc
[05:53:16] <RikusW> otherwise it will become a mess
[05:53:33] <RikusW> especially at 5000 lines of asm
[05:53:40] <amee2k> yeah >_>
[05:54:03] <amee2k> i remember that some assembler... i think nasm or something used to have a kind of local symbols
[05:54:46] <RikusW> AS4's asm don't
[05:54:50] <amee2k> when a label starts with a dot, it would only be valid from the nearest previous normal label to the nearest following label
[05:54:55] <RikusW> not that I know of
[05:55:15] <amee2k> and these local labels wouldn't end up in the symbol table after compilation either
[05:55:29] <amee2k> sort of like a static global var in C, but local >_>
[05:57:47] <amee2k> ooh, i found it!
[05:58:29] <amee2k> apparently the labels can only be numeric and you use it like
[05:58:34] <amee2k> 11:
[05:58:45] <amee2k> BRNE 11f
[05:58:50] <amee2k> ^^
[05:59:09] <RikusW> ugh
[05:59:15] <amee2k> my thought exactly
[05:59:17] <RikusW> on avra ?
[05:59:25] <RikusW> avr-as ?
[05:59:31] <amee2k> avrgcc
[05:59:50] <amee2k> if you mean the assembler i'm using
[05:59:59] <RikusW> yes
[06:00:03] <RikusW> so the builtin one ?
[06:00:46] <amee2k> how do i check?
[06:01:08] <amee2k> i only have avr-gcc and matching binutils installed though, so it pretty much has to be that
[06:01:53] <RikusW> yes
[06:02:05] <RikusW> and at+t syntax ?
[06:02:11] <RikusW> at&t
[06:02:18] <RikusW> thats yucky...
[06:02:25] <amee2k> yeah >_<
[06:02:41] <amee2k> well, i think
[06:02:45] <RikusW> or shall we say gnuooey ? ;)
[06:02:59] <amee2k> whatever syntax avr-as uses anyway
[06:03:16] <RikusW> mov %%eax,%%ebx vs intel mov ebx,eax
[06:03:19] <amee2k> my assembler days are a few years back by now but it looks kinda intel-ish to me too
[06:03:48] <amee2k> http://paste.debian.net/154457/ << thats my assembler file
[06:03:53] * RikusW dislike at&t style
[06:05:53] <amee2k> i SO hope this is going to work lol
[06:06:08] * amee2k fires up the scope
[06:08:04] <RikusW> is encoder__timer_counter a variable or tcnt1 ?
[06:23:22] <OndraSter> so
[06:23:26] <OndraSter> I've got here some CD player
[06:23:26] <OndraSter> well
[06:23:35] <OndraSter> it is rackmount CD player
[06:23:39] <OndraSter> it is supposed to have control unit
[06:23:41] <OndraSter> which I don't have
[06:23:49] <OndraSter> the audio output goes directly from this box though
[06:23:51] <OndraSter> but
[06:23:59] <OndraSter> without the control unit, I can only open and close the tray
[06:24:01] <OndraSter> so I opened it up
[06:24:04] <OndraSter> there is 8052 core CPU
[06:24:08] <OndraSter> per each CD tray
[06:24:22] <OndraSter> and there is 3pin header that connects each board to the master control unit
[06:24:29] <OndraSter> I was expecting to see it being routed to UART
[06:24:30] <OndraSter> but nope
[06:24:34] <OndraSter> it goes to INT0, INT1 and T0
[06:24:35] <OndraSter> ?!
[06:24:35] <amee2k> RikusW: a variable, uint16_t
[06:24:40] <OndraSter> so I say wtf, SPI?
[06:24:51] <amee2k> RikusW: why? am i doing something wrong?
[06:25:47] <amee2k> OndraSter: no ground pin???
[06:25:53] <OndraSter> nope
[06:25:56] <amee2k> wtf
[06:26:00] <OndraSter> the ground is done on the main connector itself
[06:26:06] <amee2k> oh, okay
[06:26:07] <OndraSter> there are two boards in total (two CDs)
[06:26:15] <OndraSter> one baord connects to the other one via this 3pin cable
[06:26:37] <amee2k> are all the pins wired in parallel?
[06:26:38] <OndraSter> and the second board has 9pin plug
[06:26:45] <OndraSter> parallel?
[06:27:11] <amee2k> SPI relies on the clip select lines, which are point to point
[06:27:15] <OndraSter> oh
[06:27:17] <OndraSter> yes
[06:27:25] <OndraSter> each board has its own 3 pins on the 9pin connector
[06:27:30] <OndraSter> plus GND
[06:27:32] <OndraSter> plus one more pin
[06:27:38] <amee2k> if all you have is a multidrop bus with no discernible select lines it is not "classic" SPI
[06:27:50] <OndraSter> nope
[06:27:56] <OndraSter> each controller has its own lines
[06:28:05] <amee2k> can you find any pull-ups?
[06:28:15] <OndraSter> one
[06:28:42] <amee2k> ah, so the single unit with the two cd drives can connect to two control units?
[06:28:58] <OndraSter> ? no
[06:29:01] <amee2k> one for each drive / player board?
[06:29:22] <OndraSter> the output connector has 9 pins
[06:29:22] <OndraSter> each board has its own 3 pins
[06:29:22] <OndraSter> so it must be some kind of SPI/whatever
[06:29:29] <amee2k> aah
[06:29:31] <amee2k> hmm
[06:29:51] <amee2k> that doesn't look like SPI either though. SPI has three lines wired up as multidrop bus
[06:30:00] <amee2k> and one select line from the last to each slave device
[06:30:08] <amee2k> s/last/master/
[06:30:12] <amee2k> lol
[06:30:48] <amee2k> i'd almost suspect I2C and an interrupt line
[06:30:54] <OndraSter> hmm
[06:31:02] <OndraSter> the CPU has no integrated SPI/I2C
[06:31:06] <OndraSter> thus I suspected UART at first
[06:31:11] <amee2k> can you put a scope on the lines and power it up?
[06:31:12] <OndraSter> since that one is built in
[06:31:15] <OndraSter> don't have scope
[06:31:19] <OndraSter> but I can hookup arduino
[06:31:27] <amee2k> maybe the drives send something to detect the control unit on power-up
[06:31:29] <OndraSter> it is 5V signaling (checked the datasheet, it is 5V one)
[06:31:54] <OndraSter> https://skydrive.live.com/redir.aspx?cid=40bf7833586103ab&resid=40BF7833586103AB!370&parid=40BF7833586103AB!111&authkey=!ANb3fbbvk8-EzI8
[06:31:56] <amee2k> maybe you can see a clock signal, or UART style framing
[06:32:11] <OndraSter> https://skydrive.live.com/redir.aspx?cid=40bf7833586103ab&resid=40BF7833586103AB!369&parid=40BF7833586103AB!111&authkey=!AJI0arUBKGTPy-I
[06:32:23] <OndraSter> the 3pin interconnects the two boards
[06:32:26] <OndraSter> this is the "output" board
[06:32:38] <OndraSter> the black box on the first pic on the right is the output actually
[06:33:01] <amee2k> "black box"?
[06:33:03] <amee2k> the IC?
[06:33:05] <OndraSter> connector
[06:33:11] <OndraSter> first pic, on the right bottom
[06:33:15] <amee2k> the connector has a white shell :P
[06:33:20] <OndraSter> wait, maybe I am looking from the wrong side
[06:33:24] <OndraSter> MORE to the right
[06:33:35] <amee2k> there is another shielded jack?
[06:33:36] <OndraSter> there are two circles on the IC
[06:33:43] <OndraSter> the one next to the white 3pin
[06:34:04] <amee2k> the pin-1 mark on the TQFP one? o.O
[06:34:17] <OndraSter> uh?
[06:34:35] <amee2k> or the unpopulated 3-pin header?
[06:34:44] <amee2k> i don't get it
[06:34:53] <OndraSter> the 3 pin header == connects the second board to this one
[06:34:54] <Tom_itx> you need more light on the subject when taking pics
[06:35:07] <amee2k> yeah, i see the white header
[06:35:08] <OndraSter> I need better camera :P
[06:35:12] <OndraSter> next to the right header
[06:35:13] <OndraSter> on the right
[06:35:22] <amee2k> and some shielded jack that looks like a mini-din next to it
[06:35:52] <OndraSter> you connect there the cable to the control unit (= the one I don't have)
[06:35:52] <OndraSter> next to the white header*
[06:35:52] <OndraSter> yes
[06:35:53] <OndraSter> that's the one for the control unit
[06:36:07] <amee2k> ah, i see
[06:37:13] <amee2k> i'd put something to snif the lines on there and try powering it up a couple dimes
[06:37:18] <amee2k> timesÜ
[06:37:22] <amee2k> times* lol
[06:37:32] <amee2k> see if the IC sends anything on its own
[06:37:36] <OndraSter> yeah
[06:37:57] <amee2k> could pretty much be anything at that point, if the transciever is implemented in software
[06:38:50] <amee2k> IMO lack of a CS line means it doesn't look too SPI-ish though. lots of SPI stuff uses a CS line for syncing even if only one slave is present
[06:39:25] <OndraSter> it actually connects to P0.5, P0.6 and P0.7
[06:39:35] <amee2k> you could also try powering it up, then using a 1k resistor or so to connect pins to ground or +5V
[06:39:39] <OndraSter> (I can see bug in datasheet, they have two pins 0.6 :D)
[06:39:46] <OndraSter> there are pullups on each lines
[06:39:48] <OndraSter> or pulldowns
[06:39:58] <amee2k> if you can't pull the pin around with the resistor, there is an output driver inside the IC
[06:40:05] <OndraSter> the thing is, I don't have second power cord for it, gotta steal the one from my amp => can't listen to music while trying it out :( :D
[06:40:10] <amee2k> if you can, then the pin is input and weakly pulled up
[06:40:55] <RikusW> amee2k: when accessing TCNT1 in asm you need to ld low first and st it last....
[06:41:12] <RikusW> but since you're using a variable it doesn't matter
[06:41:17] * RikusW fell asleep
[06:41:19] <amee2k> RikusW: i'm not using timer1 at all
[06:41:31] <OndraSter> I might actually try writing email to Sony if they won't share the datasheet :P
[06:42:00] <amee2k> they'll probably want to sell you a matching control unit :P
[06:42:15] <OndraSter> :D
[06:42:18] <amee2k> would have to make up some story what you need the specs for
[06:42:35] <OndraSter> yeah
[06:42:59] <amee2k> maybe invent a company name that looks like a repair shop or something
[06:43:03] <OndraSter> "we are designing external CD player for PC and we like your blabla model, blabla"
[06:43:04] <OndraSter> haha
[06:43:05] <OndraSter> or that
[06:43:16] <OndraSter> glad to have my own domain
[06:43:26] <amee2k> get a gmail address
[06:43:40] <OndraSter> I have my own domain, it looks better
[06:43:41] <amee2k> people seem to think these look more legitimate
[06:44:09] <amee2k> how about mail.ru?
[06:44:10] * amee2k runs
[06:44:20] <dekroning> anyone using inkscape for final stage before etching a PCB ?
[06:44:21] <OndraSter> ondraster.cz
[06:44:23] <OndraSter> :P
[06:44:31] <OndraSter> mail@ondraster.cz is fwded to my hotmail
[06:44:46] <amee2k> what values are the pull-ups btw?
[06:45:11] <OndraSter> 272
[06:45:14] <OndraSter> 2k7
[06:45:16] <amee2k> if they're like 33k or so, they're probably just to prevent the pin from wagging like a dog tail when floating
[06:45:32] <amee2k> hmm, that would be reasonable for an i2c pullup
[06:45:41] <OndraSter> yap
[06:45:45] <Tom_itx> dekroning, why would you use inkscape for that?
[06:46:14] <amee2k> because it works?
[06:46:19] <amee2k> (presuming that it does)
[06:46:29] <Tom_itx> you don't get any erc with that so it could introduce errors
[06:46:36] <dekroning> i didn't mean etching, but actually using it as final stage before milling (CNC) a PCB
[06:46:56] <dekroning> so my CNC machine will read the vectorized file, and it will use it to mill away the copper layer
[06:47:12] <Tom_itx> but you said etching
[06:47:23] <Tom_itx> makes a _little_ more sense now
[06:47:24] <dekroning> yes indeed, /my bad
[06:47:29] <theBear> doesn't it make more sense to use a standardized cnc format for the cnc machine stage ?
[06:47:59] <amee2k> hmm when loading and storing 10 bit variables in ASM, should i interleave the instructions with a register only instruction?
[06:48:00] * Tom_itx gives theBear a pot of honey and points him back to his bear cave
[06:48:02] <dekroning> theBear: well i'm using "Fritzing" to build the PCB, and it can export to .SVG file,
[06:48:17] <amee2k> or will the pipeline sort out the potential stall by reordering on its own?
[06:48:21] <OndraSter> http://www.ebay.it/itm/Pronomic-CDJ-88-Dual-CD-Player-Doppel-Laufwerk-fur-DJ-Rackeinbau-/380401385898?pt=DE_Elektronik_Computer_Audio_Hi_Fi_CD_Player&hash=item5891b081aa
[06:48:21] <OndraSter> this is the thing I have
[06:48:36] * theBear goes to his cave, but only 'cos tom knows best
[06:48:54] <Tom_itx> i personally don't care for milling pcbs
[06:48:58] <Tom_itx> but to each his own
[06:49:09] <theBear> it does seem an odd idea to me
[06:49:13] <amee2k> 16bit* variables lol
[06:50:14] <dekroning> Tom_itx: you rather just etch it ?
[06:50:30] <Tom_itx> dekroning, you should consider using eagle since i think it has a gcode output ulp
[06:50:31] <amee2k> milling sounds awesome for prototyping
[06:50:35] <Tom_itx> dekroning, yes
[06:50:47] <amee2k> pop in cheap non-photo copperclad, have the board in your hands 10 minutes later
[06:51:05] <Tom_itx> it's rather painless
[06:51:07] <Tom_itx> http://tom-itx.dyndns.org:81/~webpage/etching/etch_index.php
[06:51:09] <dekroning> amee2k: that's also what I think, however not sure what the quality will be when trying SMT
[06:51:21] <dekroning> Tom_itx: but it's such a long process, etching
[06:51:23] <theBear> i liked the idea i first heard here the other night... cnc with a laser as the tool for photographic style etching
[06:51:34] <amee2k> etching is easy if you get toner transfer to work for you
[06:51:45] <Tom_itx> dekroning, not really
[06:52:09] <amee2k> if you think i was too dumb to do it, you're welcome to stop by for pizza and try my toner for a change
[06:52:23] <theBear> i'm in ! which bus do i catch ?
[06:52:35] <amee2k> the one to Salzburg
[06:52:57] <amee2k> i can pick you up at the central station there in 20 minutes
[06:53:21] <Tom_itx> pizza will be cold by then
[06:53:29] <dekroning> amee2k: 8:30 hours drive for me :)
[06:53:32] <Tom_itx> (or gone)
[06:53:36] <amee2k> lol
[06:53:50] <amee2k> there is an italian restaurant around here that makes pretty decent pizzas imo
[06:54:01] <dekroning> Tom_itx: the picture of those etching thank look really nice
[06:54:18] <dekroning> Tom_itx: you also happen to have a step-by-step process description, of the way you do it ?
[06:54:25] <Tom_itx> not really
[06:54:32] <Tom_itx> i figured there were plenty of those out there
[06:54:49] <OndraSter> let's see if the CPU can powerup just from 5V rail
[06:54:53] <dekroning> because that etching tank is only part of the story right ?
[06:55:17] <Tom_itx> you need to experiment with different paper to find what works best for you
[06:55:25] <dekroning> Tom_itx: which piece of software do you use to create the pcb layout?
[06:55:32] <Tom_itx> i've tried probably 2 dozen different ones
[06:55:36] <Tom_itx> i use eagle
[06:56:26] <dekroning> Tom_itx: ah you also used milling I see right ?
[06:56:29] <OndraSter> toner transfer?
[06:56:31] <OndraSter> method
[06:56:35] <Tom_itx> i tried it once
[06:56:51] <dekroning> Tom_itx: where did you get those tiny mills ?
[06:56:55] <Tom_itx> local
[06:56:59] <Tom_itx> $$$$
[06:57:05] <Tom_itx> you can get some on ebay
[06:57:46] <dekroning> what is the diameter of the mill? not the tip (drill/mill) it self
[06:58:02] <Tom_itx> i think the shank was 1/8"
[06:59:04] <Tom_itx> the larger ones may be 5/32"
[06:59:24] <Tom_itx> or maybe 3/16"
[07:05:48] <RikusW> amee2k: simple use ld ld / st st twice
[07:06:02] <RikusW> avr isn't x86 ;)
[07:06:28] <amee2k> using them twice directly after another doesn't cause a stall?
[07:06:29] <amee2k> >_>
[07:06:36] <RikusW> no
[07:06:40] <amee2k> good :)
[07:06:50] <RikusW> but ld / st does take 2 clocks
[07:07:00] <RikusW> check the ds
[07:07:40] <RikusW> only branching stalls the avr pipeline... its only 2 deep
[07:09:43] <amee2k> nice :)
[07:20:16] <dekroning> Tom_itx: how do they call those mill drills? "mill drills" , "mill bits" ?
[07:20:51] <RikusW> bits I think
[07:21:39] <Tom_itx> just mill cutters i guess
[07:21:50] <Tom_itx> center cutting endmills
[07:24:37] <OndraSter> amee2k, all pins are tied to 0
[07:25:09] <OndraSter> two are 60 - 65mV, one is 24mV
[07:25:52] <OndraSter> the 24mV could be "out"
[07:25:52] <OndraSter> and the 60mV could be "in"
[07:26:07] <OndraSter> nvm, it was arduino, all are 65mV
[07:28:47] <karlp> we use a mill for protoypes,
[07:28:49] <karlp> it's awesome.
[07:29:12] <karlp> cut and routed and drilled
[07:29:25] <karlp> only thing we don't get is solder mask and through hole plating on the vias
[07:29:54] <OndraSter> amee2k, can't pull them up with 1k resistor
[07:30:02] <OndraSter> they go to about 200mV
[07:30:34] <amee2k> thh interresting
[07:30:48] <amee2k> then there must be something more on there than just the 2.7k resistors
[07:31:17] <amee2k> i think at this point you're mildly hosed without a scope or LA or something else to visualize what is happening on these lines
[07:31:30] <OndraSter> it might be the fact that I am powering just 5V and GND pins
[07:31:54] <OndraSter> there are also 3V3, -5, 8, PG and 7V
[07:31:54] <OndraSter> I was expecting those to be for opamps and motors only
[07:32:02] <amee2k> it would also be /extremely/ handy if you could borrow a matching control unit for an afternoon or so
[07:32:12] <OndraSter> I got this for free :P
[07:32:25] <OndraSter> I don't know of anybody who can have anything like this
[07:32:38] <amee2k> even if you can identify the signalling and framing of the link, you'd be kind of stuck as to the protocol used
[07:32:59] <amee2k> i don't suppose that microcontroller has a way to pull out the firmware?
[07:33:29] <OndraSter> doubt it
[07:33:35] <OndraSter> it is 8052
[07:33:38] <OndraSter> from... SynCMOS
[07:33:38] <amee2k> me too, but checking can't hurt >_>
[07:33:54] <OndraSter> why everybody uses 8052 :(
[07:33:56] <OndraSter> and not AVR or such
[07:34:01] <RikusW> even external flash could be encrypted...
[07:34:11] <OndraSter> RikusW, there is no external flash
[07:34:21] <RikusW> and avr does have lockbits too...
[07:34:22] <OndraSter> I have got here RFID door unlock, again, it has undumpable 8052
[07:34:27] <amee2k> disecting the firmware with a disassembler could potentially be the only way to reverse engineer the protocol if you can't snif it in-transit
[07:41:52] <amee2k> fuck >_<
[07:41:57] <OndraSter> I wish
[07:42:09] <amee2k> my MCU keeps resetting as soon as i enable interrupts
[07:42:19] <OndraSter> JTAG time :)
[07:43:23] <amee2k> from what i can see its not even entering the ISR
[07:43:34] <amee2k> the first thing i do is pull a debugging pin high
[07:43:50] <amee2k> SBI_SFR_IO_ADDR(PORTB), 4
[07:44:08] <amee2k> err, SBI _SFR_IO_ADDR(PORTB), 4
[07:44:13] <amee2k> it didn't copy the blank >_<
[07:46:34] <OndraSter> amee2k, well if they'd be using PIC or AVR, at least you'd know there is way to reflash it :)
[07:46:45] <OndraSter> but if they are using some chinese 89C51, you are screwed
[07:46:57] <OndraSter> I wrote to the manufacturer
[07:47:05] <OndraSter> doubt I will get any reply
[07:48:04] <amee2k> >_>
[07:48:26] <amee2k> iirc clearing the lock bits on an AVR also wipes the flash clean
[07:48:30] <OndraSter> the input transformer has date code of 2010
[07:48:34] <OndraSter> yes it does
[07:48:39] <RikusW> amee2k: did you put in the right isr ?
[07:48:41] <OndraSter> but you can always reflash it with your firmware in the end
[07:48:41] <amee2k> so you could reflash it but you can't recover the original firmware for inspection
[07:48:45] <OndraSter> nope
[07:48:48] <RikusW> and enable the right bit
[07:48:49] <RikusW> ?
[07:48:50] <OndraSter> still better than nothing really
[07:49:18] <amee2k> RikusW: i didn't change any of the C code, and objdump shows the right address in the IVT
[07:49:46] <RikusW> gcc defaults to reset for irq without isr
[07:49:54] <amee2k> 20: eb c3 rjmp .+2006 ; 0x7f8 <__vector_16>
[07:51:34] <amee2k> byte 0x20 is program address 0x10 is timer0 OVF on mega88
[07:52:24] <RikusW> you didn't enable any other irq by accident ?
[07:52:47] <amee2k> not that i'm aware of. lemme try putting the C ISR in place to double check
[07:54:13] <amee2k> yeah, with the C ISR it works
[07:55:11] <amee2k> the SBI instruction is literally the first instruction in the ISR so the reset must happen before any code is executed
[07:55:20] <RikusW> seems you found the culprit ;) now to find out why...
[07:55:34] <RikusW> not linked properly ?
[07:55:51] <OndraSter> hmmm I am trying to decode the board... there are four main ICs: 8052 core, Sony CD DSP, Sony CD RF SP, and motor driver
[07:56:01] <amee2k> the object file after compilation looks normal at least
[07:56:06] <amee2k> how do i check the HEX file?
[07:56:37] <RikusW> lss + map files ?
[07:56:42] <pepsi> dammit
[07:56:48] <pepsi> time for work again
[07:56:56] <amee2k> "lss"?
[07:57:07] <RikusW> list file
[07:57:14] <amee2k> "list file"?
[07:57:22] <RikusW> you can tell gcc to output map + lss files
[07:57:37] <amee2k> o.O
[07:57:53] <RikusW> in AS4 + AS5 there is a checkbox, but it should be a simple commandline switch
[07:58:14] <RikusW> it tell you exactly whats going on
[08:03:25] <skorket> can someone explain the difference between pm_lo8() and lo8() (respectively, pm_hi8() and hi8()) expression modifiers for avr-as? Specifically, I'm trying to make a jump table and I want to make sure I'm loading the z register properly. Currently I'm using hi8 and lo8...should I be using pm_hi8 and pm_lo8?
[08:14:55] <amee2k> mmh, wheres rikus when you need him >_<
[08:15:35] <amee2k> i checked the HEX file against the disassembler output, and i can see my ISR code at the expected address and the matching jump in the IVT
[08:15:52] <pingec> :>
[08:16:21] <amee2k> can any instructions other than jumps cause a reset too?
[08:16:47] <OndraSter> actually
[08:16:48] <amee2k> and if yet, how do i go about checking the code for places that could cause the reset?
[08:16:58] <OndraSter> if it runs somewhere where it shouldn't
[08:17:10] <OndraSter> and it overflows whole PC
[08:17:12] <OndraSter> then yes
[08:17:20] <OndraSter> happened to me few times already
[08:17:55] <amee2k> the only jumps i have is a BREQ and a BRNE, and these look safe from the disassembler output
[08:18:10] <amee2k> there is a RETI at the end, and my pushs and pops look balanced too
[08:18:30] <amee2k> http://paste.debian.net/154469/
[08:19:24] <amee2k> my assembler rewrite is like half as long as the C generated code lol
[08:20:19] <Steffanx> And twice as slow?
[08:20:50] <amee2k> i can tell you if you tell me where it is resetting so i can fix it and actually run the code >_>
[08:21:10] <Steffanx> Oh, it doesn't even work :P
[08:21:23] <amee2k> since i'm setting the debugging pin in the ISR i don't think it even starts executing the ISR code
[08:21:53] <OndraSter> debugging pin in the ISR?
[08:22:07] <amee2k> or the RJMP instruction that jumps to the ISR crashes lol
[08:22:36] <amee2k> OndraSter: i'm setting PB4 when entering the ISR and resetting it right before returning
[08:22:41] <OndraSter> oh
[08:22:44] <OndraSter> custom debug :)
[08:22:45] <amee2k> the pin output is flatline
[08:23:06] <amee2k> i use the scope set to measure duty cycle to measure CPU load :)
[08:23:27] <amee2k> well, cpu load caused by a specific section of code
[08:25:27] * amee2k scratches head... why doesn't the universe have an errno.h >_<
[08:26:26] <amee2k> if i could pastebin anything that would help, please tell me
[08:26:49] <amee2k> because i'm running out of ideas now
[08:31:38] <Steffanx> I've ideas, but no answers
[08:32:00] <amee2k> sounds like a plan. lets hear the ideas?
[08:32:15] <amee2k> :)
[08:36:23] <amee2k> err
[08:36:54] <amee2k> http://ompldr.org/vY2w4cg/mmap.png << can someone please tell me from the memory map at the bottom what the start and end addresses of the SRAM are?
[08:37:05] <Steffanx> RikusW can
[08:37:19] <amee2k> because from what i can see, the sram would be -1 bytes long for the 512b type
[08:37:40] <amee2k> 0x100 - 0x0FF
[08:40:56] <amee2k> if the 0x100 base address is accurate my sram should be from 0x100 to 0x500. in that case my LD addresses are safe too
[08:41:29] <theBear> it's gotta be a typo, or something like duplicate addresses (+1 bit for > 1/2 range)
[08:41:51] <theBear> err wait
[08:42:28] <theBear> what is the difference between the two differen 1024's ?
[08:42:44] <RikusW> 0x100 sound right
[08:42:44] <amee2k> different flash size only
[08:42:51] <RikusW> older avr's use 0x60
[08:42:57] <theBear> then why do they have different end sizes ?
[08:42:59] <amee2k> my variables are at 0x16A through 0x0x16F apparently, so that should hit within the RAM
[08:43:04] <RikusW> or ones with less io registers
[08:43:27] <theBear> surely the flash isn't inside the sram
[08:43:34] <theBear> logically speaking
[08:43:54] <amee2k> either way, if execution flow entered the ISR, i should see the pin coming up on the scope
[08:44:17] <amee2k> so it can't be something *in* my code, it has to be in the way how i set up the ISR or something
[08:44:17] <theBear> mmm... either way 0x16f is well within all those ranges
[08:45:39] <amee2k> (if you guys are expecting me to pastebin something, please do tell!)
[08:47:40] <theBear> umm, code or at least block/flow diagram might help, all i know is some variable isn't doing something right, apparently
[08:48:24] <amee2k> well, i've got an otherwise c-only project and want to rewrite one ISR in assembly for better performance
[08:49:00] <amee2k> it continues to work fine with the C ISR, but when i link it with the assembler rewrite the MCU keeps resetting as soon as i enable interrupts in main()
[08:49:47] <amee2k> (i've got a delay before sei(); so i know it doesn't happen right from the start)
[08:50:07] <theBear> mmm... if yer sure it's linking right (both syntax from you and generally linking compilerey stuff) then isuppose you must be right
[08:50:22] <theBear> ok, so you must be right... almost definately :) close enough to assume for now...
[08:50:47] <amee2k> i've checked the object file with a disassembler, and it seems to set up everything right
[08:50:56] <amee2k> pastebinning some stuff right now, hang on
[08:50:58] <theBear> so what happens at the start of your routine ? checked what the c-compiled similar routine does at the start of the isr just to check you haven't missed something stupid (that us c-natives don't know about) ?
[08:51:42] <theBear> also if you've got watchdog or anything 'fancy' set you might need to keep an eye on that
[08:52:09] <theBear> i find leds or serial or ANYTHING that's already connected is good for helping with debugging/working out where things get to
[08:52:33] <amee2k> http://paste.debian.net/154476/ << the assembler rewrite of the ISR
[08:52:39] <OndraSter> amee2k, check OUT vs STS instruction, if you are using STS in the <0x60 addresses, it has diff addresses
[08:52:42] <OndraSter> or smth like that
[08:52:44] <OndraSter> hard to think in ocld
[08:52:59] <amee2k> http://paste.debian.net/154478/ << one of my C files, includes definitions for the encoder__* variables and the original C version of the ISR
[08:53:23] <OndraSter> cold*
[08:53:25] <amee2k> http://paste.debian.net/154477/ << excerpt from the disassembler output, covering IVT and the compiled assembler rewrite of the ISR
[08:54:09] <amee2k> theBear: i'm not using the WDT and there shouldn't be any other interrupts enabled. the one timer int is quite timing critical so i want to do everything else in the main loop with polling
[08:54:37] <RikusW> amee2k: why not try making the ISR naked and put the asm right in there ?
[08:55:10] <amee2k> theBear: i'm pulling a pin high first thing in the ISR, and pulling it back low before returning. i'm monitoring that pin with the scope and it stays low all the time when the resetting thing happens
[08:55:20] <amee2k> RikusW: "naked"?
[08:55:41] <amee2k> RikusW: i suck at terminology when it comes to asm stuff >-<
[08:55:43] <amee2k> >_<
[08:57:39] <theBear> if it's resetting obviously something isn't going right with that routine or getting into/out of it... you sure you reset the interrupt properly and all that kinda thing ? do you need to manually jump somewhere after an interrupt return ? (i don't know, never messed with avr interrupts much, letalone in asm)
[08:57:53] <amee2k> OndraSter: hmm i can't find anything about that in the instruction set manual.
[08:58:21] <theBear> there isn't a manual OR automatic (compiler) mistranslation of an address (variable or otherwise) between your routine (compiled/included version) vs the actual compiled program ?
[08:58:37] <OndraSter> amee2k, in the memory register information
[08:58:42] <OndraSter> in the end of the PDF
[08:58:44] <OndraSter> datasheet
[08:58:51] <OndraSter> there are always addresses like $3F (5F)
[08:58:54] <OndraSter> or $3F (1F)
[08:58:57] <amee2k> theBear: disassembler output shows the RJMP in the IVT, and i've even checked the HEX file against the disassembler output to make sure my ISR code appears at the right address
[08:59:22] <OndraSter> one are for STS and the others are for OUT instruction
[08:59:22] <OndraSter> I never know which one is which one
[08:59:39] <amee2k> if execution flow would get past that jump, the next instruction would be the SBI to pull the pin high, which isn't happening
[09:00:47] <amee2k> OndraSter: hmm register summary?
[09:00:50] <OndraSter> yes
[09:00:51] <OndraSter> there
[09:01:28] <amee2k> the only IO reg i'm using is PORTB and the address for that is correct in the disassembler output
[09:01:40] <OndraSter> and are you using OUT or STS instruction?
[09:01:47] <amee2k> no
[09:02:01] <amee2k> only SBI/CBI and LDS/STS
[09:02:11] <amee2k> err, yeah STS but only to store into SRAM
[09:02:11] <OndraSter> so STS it is
[09:02:15] <amee2k> not on registers
[09:02:25] <OndraSter> so how are you writing into that PortB?
[09:02:32] <amee2k> SBI/CBI only
[09:02:36] <OndraSter> ah
[09:02:58] <amee2k> http://paste.debian.net/154477/ << first instruction of the ISR, and the last before the RETI
[09:04:16] <amee2k> RikusW: what do you mean by "naked ISR"?
[09:04:44] <amee2k> i only know C style ISRs and that assembly one i wrote. how much more naked than assembly-only can it get?
[09:10:14] <RikusW> a function without entry/exit code
[09:10:34] <RikusW> there should be a naked attribute, look in the docs
[09:10:42] <RikusW> then put in yout asm
[09:10:48] <RikusW> *your
[09:11:14] <RikusW> naked is c stuff
[09:12:02] <asteve> did someone say naked? http://i.imgur.com/mVoQ7.jpg
[09:12:17] <amee2k> how do i put any assembler in there without a huge pile of inline assembly?
[09:12:46] <amee2k> gcc inline assemlby is exceedingly cumbersome imo
[09:12:51] <rue_mohr> why dont you just write the C that makes the assembler you want
[09:13:07] <amee2k> because C, err, doesn't
[09:13:17] <RikusW> asteve: yes, naked function
[09:13:28] <rue_mohr> it can if you know how to
[09:13:42] <rue_mohr> sometimes gcc can even surprise ya
[09:13:55] <rue_mohr> make something better
[09:14:01] <amee2k> yeah... that reset i'm getting is quite surprising indeed
[09:14:23] <rue_mohr> I (later) can help you tune something if you want
[09:14:51] <amee2k> hmm okay
[09:15:01] <asteve> naked green machine is incredibly tastey
[09:15:10] <rue_mohr> you have C for what you want to do?
[09:15:10] <asteve> i think i'm going to drink a naked every morning for the next few weeks
[09:15:24] <amee2k> yes, but it is pretty slow
[09:15:33] <rue_mohr> ok
[09:15:41] <rue_mohr> into posting it?
[09:16:17] <amee2k> http://paste.debian.net/154478/ << lines 63-81
[09:17:03] <rue_mohr> haha
[09:17:20] <rue_mohr> how about I show you my code for incremental encoders
[09:17:23] <rue_mohr> 3 lines
[09:17:34] <rue_mohr> see what you think
[09:17:35] <amee2k> okay
[09:17:40] <rue_mohr> !assist code/avr
[09:17:47] <rue_mohr> !time
[09:17:58] <amee2k> how about you fix your bot sometime too >_>
[09:17:59] <rue_mohr> damnit, what I gotta restart tobbor every 6 hours!?
[09:18:36] <rue_mohr> !time
[09:18:36] <tobbor> My watch says its 07:14 Thu Feb 02 2012
[09:18:40] <rue_mohr> !assist code/avr
[09:18:40] <tobbor> Possibly http://eds.dyndns.org/~ircjunk/code/avr
[09:18:47] <rue_mohr> see if I can find it
[09:20:52] <rue_mohr> http://eds.dyndns.org/~ircjunk/avr/mega32/encoder-servo1/main.c
[09:20:56] <rue_mohr> updatepos()
[09:22:02] <amee2k> how does that work?
[09:22:04] <rue_mohr> its a state machine ;)
[09:22:25] <rue_mohr> it compares old and new, each are 2 bits
[09:22:49] <rue_mohr> it uses the old and new to make a index for a lookup table
[09:23:01] <rue_mohr> ok, I suppose that dosn't fit my definition of a state machine
[09:23:17] <rue_mohr> 16 entry lookup table
[09:23:48] * amee2k scratches head
[09:23:50] <amee2k> that works?
[09:23:54] <rue_mohr> yes
[09:23:58] <OndraSter> yes
[09:24:00] <rue_mohr> signed char offsets[] = {
[09:24:03] <rue_mohr> see that table?
[09:24:08] <amee2k> yeah
[09:24:23] <rue_mohr> the first two bits are the previous state, and the second two bits are the 'new' state
[09:24:23] <OndraSter> simply looks up in table which way it went
[09:24:26] <OndraSter> that's the way I'd implement it most likely too
[09:24:36] <OndraSter> lookup table
[09:25:02] <rue_mohr> I been doing it that way (almost the exact same code) for over 13 years now
[09:25:53] <amee2k> hmm lemme think about that for a while
[09:26:11] <rue_mohr> start with 00
[09:26:17] <rue_mohr> put that in the left column
[09:26:22] <rue_mohr> say you get 01
[09:26:48] <rue_mohr> so you went from 00 to 01 thats address 1 so we moved +1
[09:27:11] <rue_mohr> next lets go to 11, we went from 01 to 11 thats address 7
[09:27:18] <rue_mohr> so we moved +1
[09:27:57] <rue_mohr> next lets go to 11, we went from 11 to 11 thats address 15 we moved 0
[09:28:19] <rue_mohr> next lets go to 00 we went from 11 to 00 thats error, so, in this case, 0 is returned
[09:29:03] <rue_mohr> (I alternatly return error as 2, since I know I should only get +1 -> -1 from it)
[09:29:48] <rue_mohr> the interrupt code just needs to shuffle the bits around to keep track of the prev state
[09:30:20] <rue_mohr> watch out, the inputs are bits 2 and 3 :)
[09:31:53] <amee2k> my encoder inputs are PC2 and PC3 too
[09:32:07] <amee2k> so i only need to change the register name
[09:32:22] <rue_mohr> in your code, I'll start by ignoring the timing pin code...
[09:32:32] <rue_mohr> amee2k, go for it!
[09:32:47] <amee2k> gtg in ~20min take care of some stuff, i'll rewrite my encoder code when i come back
[09:33:01] <amee2k> and i want to think about this some more
[09:33:02] <rue_mohr> and I needed to leave for work 4 mins ago
[09:33:07] <amee2k> hehe
[09:33:17] <amee2k> thanks for showing your code though :)
[09:33:21] <rue_mohr> np
[09:33:33] <amee2k> just sayin'
[09:33:46] <amee2k> imo nice people don't get thanked enough anymore these days >_>
[09:34:08] <rue_mohr> lookin at your code, happy to help you .. optimize it
[09:34:27] <amee2k> more like rewrite it from scratch i suppose >_>
[09:35:05] <rue_mohr> your code dosn't catch illegal state changes...
[09:35:33] <rue_mohr> good to know your inputs are comming in too fast
[09:35:40] <amee2k> interresting INPUT/OUTPUT constants too. did you see my macros for setting up pins yet?
[09:35:47] <rue_mohr> (that said I did ignore it)
[09:35:55] <amee2k> yeah, i see >_>
[09:36:20] <amee2k> but good pointer. i'll see where i can fit that in since my encoder can go pretty damn fast
[09:36:24] <rue_mohr> I see how you did the phasea/b stuff, that looks ok
[09:37:24] <vectory> i was reading this tutorial bout charlieplexing http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=80961
[09:37:32] <amee2k> "phasea/b"?
[09:37:42] <amee2k> the macros?
[09:37:50] <rue_mohr> is that what you meant?
[09:38:08] <amee2k> mmh, not quite, lemme find the pastebin link
[09:38:18] <vectory> and i wondered, why to sett all pins to output -low, when clearing the leds, not to tristate?
[09:38:39] <vectory> low output, that is
[09:39:32] <rue_mohr> cause other leds would come on that you dont want to
[09:40:59] <vectory> why, when the pin is disconnected, the pin doesnt sink current. i thought it was vice verse, with low ouput other leds would be turned on
[09:41:29] <rue_mohr> I can help you in 9 hours
[09:41:37] <amee2k> meh, expired already
[09:41:44] <vectory> oh wait, in this case, the unused pin disabled afterwards., all good :)
[09:41:49] <rue_mohr> but remind me to etch some temp sensor boards
[09:42:31] <amee2k> rue_mohr: http://paste.debian.net/154493/ << these macros allow setting pins up in any order and allow for better commenting as to what they're used for. example follows the macros. the assembler code at the end is all that the compiler left of the call to setup_pins() at the beginning of main()
[09:43:54] <amee2k> i didn't realize that the optimizer is slurping it all up until i noticed that with my macros the binary output was 10 bytes shorter than with just a bunch of explicit PORTx/DDRx assignments
[09:43:56] <vectory> amee2k: and thats easier to read than asm? %-D
[09:44:57] <amee2k> vectory: if you use comments to explain where all the constant values come from, it isn't any shorter than the normal assignments
[09:46:03] <amee2k> hmm apparently rue left for realz now
[09:46:39] <amee2k> abcmini said i should post the macros on avrfreaks for comments, but haven't gotten around to registering yet
[09:46:57] <vectory> why, do it now :)
[09:47:09] <rue_mohr> hmmm
[09:47:34] <Tom_itx> hmm?
[09:47:41] <vectory> post it in avr-gcc and off you go. maybe with explanation or without so its only readable for the initiated
[09:47:54] <vectory> "if it was hard to code, it should be hard to read"
[09:48:12] <rue_mohr> tom http://paste.debian.net/154493/
[09:48:20] <amee2k> i think i can write up a short introduction as to why i came to come up with these macros
[09:48:26] <rue_mohr> bit heavy on initialization but it makes for readable
[09:48:29] <amee2k> but i gotta run in a few minutes too
[09:48:37] <Tom_itx> what is it?
[09:49:00] <rue_mohr> gotta go!
[09:49:09] <Tom_itx> u r late
[09:49:19] <vectory> let me post it for sweet karma and rep :D
[09:49:32] <amee2k> rue_mohr: it looks heavy, but unless you have anything truely dynamic in there, the optimizer slurps it all up into like 10 assembler instructions
[09:49:33] <vectory> alas, no time either
[10:57:59] <lenngray> I bought a USBASP, but when I plug it into XP, but contrary to all the explanations I can find, no "new hardware" box comes up. Is there some info on how to force new drivers in?
[10:58:54] <Tom_itx> remove it from the hardware list or 'update driver'
[10:59:09] <lenngray> Thx, I'll try.
[11:06:12] <theBear> if you can't find it in the hardware list for some stupid-windows-reason, boot to safe mode and it should appear regardless of if it's currently plugged in OR recognized
[12:27:13] <vanquish> anybody here know basic OrCad Capture usage?
[12:27:59] <awozniak> good luck. Few people can afford to use pricey tools and hang out on IRC all day.
[12:28:13] <keenerd> Used to severl years ago. Then switched to Kicad. Very similar interface, but without the hundreds of bugs.
[12:28:23] <karlp> hudreds of different ones? ;)
[12:29:17] <Steffanx> LOL, KiCAD?!
[12:29:38] <keenerd> Yeah. There were five ways to do everything. Two were read only, one you could change but it was actually read only, one you could change and it would instacrash, and the fifth actually did what you were looking for.
[12:29:58] <Steffanx> Sounds like kicad
[12:30:01] <keenerd> Kicad is awesome. At least six times nicer to use than Orcad.
[12:30:12] <keenerd> Nah, Kicad only has two ways of doing everything and they both work.
[12:30:21] <Steffanx> Until you don't use linux or windows
[12:30:33] <awozniak> does pcbnew autoroute?
[12:30:59] <amee2k> does autoroute ever work?
[12:31:04] <keenerd> Steffanx: Well in that case you can afford to get a second computer just to use a free OS and free software on it ;-)
[12:31:15] <Steffanx> Not really
[12:31:30] <Steffanx> I didn't like kicad anyway :P
[12:31:35] <keenerd> Nah, anyone who can afford to operate a Mac can easily pay for three extra PCs.
[12:32:41] <Steffanx> If you say so :)
[12:33:01] <keenerd> Heck, you can get decent enough PCs for free off the curb when the local uni lets out for the summer :-)
[12:38:31] <karlp> Steffanx: it's been said before, but Steve has already decreed that thou shalt not use osx for pcbs.
[12:39:35] <Tom_itx> i don't need one man telling me what i can and cannot do with hardware i purchased
[12:41:26] * Tom_itx sits down and has a kabob for lunch
[12:46:33] <Steffanx> Agreed Tom_itx :P
[14:08:02] <Tom_itx> abcminiuser, soldered up a new programmer and tried it last night. Everything appears to be working as expected
[14:08:23] <Tom_itx> hardware recovery clock works good as well (4Mhz)
[14:08:31] <abcminiuser> GREETINGS, PROFESSOR FALKEN.
[14:08:39] <abcminiuser> Tom_itx, awesome
[14:08:49] <abcminiuser> I think I'm about ready to push out a new LUFA release then
[14:08:58] <Tom_itx> hopefully i'll have some soldered up in a day or so
[14:09:22] <Tom_itx> put a pic of the new rev up
[14:09:55] <Tom_itx> couple minor changes
[14:15:22] <Tom_itx> abcminiuser, lemme know when you do and i'll zip up an update for this
[14:15:28] <dirty_d> is an xmega any harder to use than a mega?
[14:15:37] <Steffanx> A little maybe
[14:15:43] <Tom_itx> more registers to deal with
[14:15:49] <dirty_d> what if you use C?
[14:16:06] <amee2k> no xmegas in DIP iirc
[14:16:08] <Tom_itx> doesn't change the hardware any
[14:16:12] <dirty_d> oh you mean the special purpose ones
[14:16:18] <amee2k> whereas lots of real megas
[14:16:20] <Tom_itx> they are 3.3v parts too
[14:16:23] <dirty_d> im using tqfp now anyway
[14:16:26] <Steffanx> There are xmega's in dip package amee2k
[14:16:28] <dirty_d> i need to use 33v also
[14:16:29] <Steffanx> Ask abcminiuser :P
[14:16:34] <dirty_d> 3.3
[14:16:45] <amee2k> with an adapter board?
[14:16:49] <abcminiuser> dirty_d, in some ways easier to use actually
[14:16:53] <dirty_d> i think an xmega would have been a better chioce
[14:16:58] <abcminiuser> amee2k, I have 4 DIP XMEGAs
[14:17:04] <dirty_d> amee2k, im making my own, and using a breadboard to test
[14:17:19] <dirty_d> i just ordered all the stuff i need to do UV pcb fab
[14:17:24] <dirty_d> and solder masking
[14:17:40] <dirty_d> I've heard that they have hardware bugs
[14:17:55] <dirty_d> is that no longer a problem?
[14:18:07] <dirty_d> abcminiuser, easier in what ways?
[14:18:21] <amee2k> lol
[14:18:37] <amee2k> everything is DIP given a large enough budget for adapter boards :P
[14:18:54] <Tom_itx> DIP xmegas would probably be hard to locate on the open market
[14:19:11] <Tom_itx> they tend to cater to the mainstream
[14:19:20] <amee2k> lol
[14:19:48] <dirty_d> adapter boards are easy to make
[14:19:53] <abcminiuser> dirty_d, non-U suffix XMEGAs have an older design, quite a bit or errata
[14:20:11] <abcminiuser> New U (USB) XMEGAs are pretty much perfect as far as we know
[14:20:15] <abcminiuser> One or two errata only
[14:20:38] <abcminiuser> Tom_itx, my four DIP XMEGAs are probably a very large percentage of how many there are in the whole world
[14:20:44] <abcminiuser> They were a test batch
[14:21:01] <abcminiuser> ^ dirty_d the XMEGA devives are much more orthogonal
[14:21:18] <abcminiuser> Can't brick then like the MEGAs, since they always start off with a 2MHz clock that you change in software
[14:21:22] <Tom_itx> it must be nice to walk in the clean room and say ' whip me up a batch of dips please '
[14:21:23] <abcminiuser> Much higher max speed
[14:21:37] <dirty_d> abcminiuser, i dont see any xmega models ending in U supported in avrdude
[14:21:39] <abcminiuser> MANY more peripherals, each with a much simpler register layout
[14:21:51] <abcminiuser> Tom_itx, well I got these a few months ago
[14:21:58] <Tom_itx> dirty_d, they are too new
[14:22:08] <Tom_itx> it takes a while for software to catch up
[14:22:09] <abcminiuser> Actually I tell a lie, they're not here but in a shipping container with all my other stuff being shipped here
[14:22:21] <Tom_itx> you hope
[14:22:26] <abcminiuser> dirty_d, you can just treat them like the non-U for the programmers
[14:22:32] <dirty_d> oh really?
[14:22:52] <Tom_itx> abcminiuser, do the U parts have the builtin bootloader like the 8bit ones?
[14:22:53] <abcminiuser> Yes, they're different internally (lots of fixes, USB added) but otherwise appear the same to the host
[14:22:55] <dirty_d> youve already used one?
[14:23:07] <abcminiuser> Tom_itx, one's programmed in at the factory
[14:23:14] <abcminiuser> dirty_d, they've been out for a few months
[14:23:23] <dirty_d> hmm
[14:23:25] <Tom_itx> will they ship with a bootloader?
[14:23:30] <abcminiuser> You can buy the A3BU-XPLAINED with the new USB part on it
[14:23:42] <abcminiuser> Tom_itx, not sure about raw chips, the boards do
[14:24:02] <Tom_itx> i presume the firmware is available somewhere
[14:24:27] <dirty_d> abcminiuser, i dont see any on digikey
[14:24:50] <dirty_d> unless you mean ending in U by -AU etc
[14:25:01] <abcminiuser> Tom_itx, sure is, in the internal Apps SVN ;)
[14:25:10] <abcminiuser> dirty_d, ATXMEGA256A3BU
[14:25:12] <Tom_itx> atmel likes to announce before time dirty_d
[14:25:26] <abcminiuser> Tom_itx, they've been on sale for a month or two at least now
[14:26:05] <Tom_itx> Quantity Available: 0
[14:26:34] <dirty_d> lol
[14:26:38] <dirty_d> oh they only have the kit?
[14:27:05] <Tom_itx> http://www.mouser.com/ProductDetail/Atmel/ATxmega256A3BUAU/?qs=sGAEpiMZZMutVogd4PRSvBegYZJ9yWT%2f
[14:27:15] <Tom_itx> 333
[14:27:20] <Tom_itx> on order: 0
[14:28:02] <abcminiuser> ^ "gay staffer Garry"?
[14:29:23] <Tom_itx> http://www.mouser.com/ProductDetail/Atmel/ATXMEGAA3BU-XPLD/?qs=sGAEpiMZZMv%2fbGM7XKYHKzhZHO60fq2q
[14:29:32] <Tom_itx> estimated delivery 2/13/20112
[14:29:52] <Tom_itx> -100yrs
[14:30:36] <abcminiuser> See? Much sooner than normal for Atmel ;)
[14:31:05] <Tom_itx> is that a coin battery on the left?
[14:31:11] <Tom_itx> if so what's it for?
[14:31:21] <LoRez> Tom_itx: so just 20012?
[14:31:30] <Tom_itx> uh huh
[14:31:34] <Tom_itx> about standard for them
[14:31:47] <abcminiuser> Tom_itx, it's an A3BU
[14:32:01] <dirty_d> wow its $8 not that bad
[14:32:09] <abcminiuser> The "A3B" series has a battery backed RTC module
[14:32:42] <Tom_itx> internal 32Khz ?
[14:33:02] <abcminiuser> IIRC it uses an external crystal for accuracy
[14:33:07] <Tom_itx> we're quizzing you on your product knowledge :)
[14:34:16] <Tom_itx> do the U chips still program via PDI?
[14:35:14] <dirty_d> abcminiuser, is this ATXMEGA32A4U-AU also one of the new U ones?
[14:36:50] <abcminiuser> Yes, U suffix indicates the new "fixed" versions with USB, but they work the same
[14:36:57] <abcminiuser> Just more features, and working existing features :P
[14:37:01] <abcminiuser> Programming is the same
[14:37:08] <abcminiuser> dirty_d, yes
[14:37:08] <dirty_d> its only $5
[14:37:23] <dirty_d> why doesnt everyone use these isntead of megas?
[14:37:26] <abcminiuser> There the family (before the -AU) is A4U
[14:37:39] <abcminiuser> So it's a USB enabled "fixed" A4 series XMEGA, with 32KB flash
[14:37:50] <dirty_d> well i guess they havent been fixed long enough
[14:37:56] <abcminiuser> dirty_d, inertia for one, and the different coding style for the other
[14:38:04] <abcminiuser> They're actually nice, I avoided them for a long time
[14:38:13] <dirty_d> abcminiuser, but its just something to get used to right?
[14:38:15] <abcminiuser> Also, not as popular with the hobbyists due to the package
[14:38:17] <dirty_d> nothing bad about it
[14:38:23] <abcminiuser> dirty_d, yes and you'll love it
[14:38:37] <abcminiuser> "Oh I need a bigger chip" *change device, hit compile* "Ah, there we go"
[14:38:39] <dirty_d> i think i might switch from mega to xmega for this project
[14:38:50] <dirty_d> i think i ran out of room
[14:39:15] <dirty_d> i need to output 4 PWM channels, i can with the 2 8-bit timers, but its not enough resolution i dont think
[14:51:00] <dirty_d> wow, so you can have 16x16bit PWM channels on this thing?
[14:51:10] <Steffanx> Stupid wallops .. :(
[14:51:36] <amee2k> how gay...
[14:53:27] <abcminiuser> dirty_d, there are a crapload of PWMs on it
[14:53:43] <abcminiuser> That's an official marketing term, "a crapload of PWMs".
[14:53:51] <dirty_d> that first one you sent is just faster and has more features?
[14:54:00] <dirty_d> lol
[14:57:09] <dirty_d> hmm, thats wierd i thought it said 66MHz
[15:15:52] <OndraSter> 16x16 PWM... is that AT90PWM series?
[15:16:07] <karlp> you need to read ALL the scroll back OndraSter :)
[15:16:10] <karlp> xmega
[15:16:13] <OndraSter> oh
[15:16:17] <OndraSter> I don't have scrollback
[15:16:18] <OndraSter> I connected :P
[15:16:29] <karlp> ahh, yeah, so you did :)
[15:16:37] <OndraSter> xmega is beast
[15:16:40] <OndraSter> but not cheap (at least here)
[15:16:51] <OndraSter> I prefer ARM over xmega actually
[15:17:09] <karlp> (dont say it too loudly, abcminiuser's here ;)
[15:17:24] <OndraSter> :))
[15:17:38] <OndraSter> they want like 10€+ for 64kB xmegas
[15:17:47] <OndraSter> even more!
[15:18:06] <abcminiuser> karlp, Atmel make ARM devices
[15:18:08] <abcminiuser> ;)
[15:18:12] <OndraSter> yeah
[15:18:19] <OndraSter> (AT91SAM7S series is not cheap either LOL)
[15:18:27] <OndraSter> STM32 is cheap, just as NXP
[15:18:33] <OndraSter> LPC series
[15:18:56] <OndraSter> ARMs have gone really cheap
[15:19:05] <OndraSter> but Atmel didn't notice appearantly
[15:19:08] * specing is a proud owner of an AT91SAM9260
[15:22:17] <Steffanx> Proud?
[15:24:55] <dirty_d> OndraSter, the xmega im lookin at is $5 on mouser
[15:25:17] <OndraSter> mouser = 60€ shipping here
[15:25:18] <OndraSter> or 40€
[15:25:23] <OndraSter> only farnell is fairly accessible
[15:25:26] <OndraSter> 5€ here
[15:25:46] <mrfrenzy> mouser has free shipping if you make a big enough order
[15:25:51] <OndraSter> yes
[15:25:54] <OndraSter> 200$+
[15:25:54] <karlp> no, they just say they do.
[15:25:55] <OndraSter> I think
[15:26:03] <karlp> plenty of countries don't qualify
[15:26:10] <OndraSter> CZE supposedly does
[15:35:35] <amee2k> wtf
[15:35:40] <amee2k> OndraSter: 40EUR??
[15:35:45] <OndraSter> ye
[15:35:49] <OndraSter> wait, that was digikey
[15:35:52] <OndraSter> let me check mouser
[15:35:58] <amee2k> does it come with a hooker on top or what?
[15:36:09] <amee2k> digi wants 18EUR to germany for orders under 65EUR
[15:36:24] <OndraSter> yap 40€ from mouser
[15:36:30] <OndraSter> with fedex
[15:36:34] <OndraSter> UPS wants 80€ :D
[15:36:36] <amee2k> ...
[15:36:41] <amee2k> more like fedup
[15:36:47] <OndraSter> I like fedex
[15:36:52] <OndraSter> USA -> CZE within 30 hours
[15:37:07] <OndraSter> ordered from Texas Instrument USA -> my house -> 36 hours
[15:37:11] <amee2k> i don't give a f--k about 30 hours
[15:37:35] <amee2k> i mean, its cool but i'd never pay that much for shipping
[15:37:49] <OndraSter> I didn't pay it
[15:37:50] <OndraSter> luckily!
[15:39:11] <dirty_d> hmm
[16:31:42] <Tom_itx> OndraSter that's what zlog is for
[16:31:45] <Tom_itx> just ask him
[16:32:06] <Tom_itx> <OndraSter> I don't have scrollback
[16:33:19] <OndraSter> it was "xmega" :P
[16:35:07] <Tom_itx> just saying.. the log is there
[16:47:16] * amee2k facedesks forcefully
[16:47:23] <amee2k> ooouch, my head >_<
[16:47:30] <amee2k> i'm a donkey
[16:49:14] <amee2k> rue_mohr: i just found out why my assembly ISR *probably* crashed... i was using "TIMER0_OVF" for some fucked up reason, instead of "TIMER0_COMPA"
[16:49:41] <Steffanx> Hoops
[16:50:22] <amee2k> also rewrote the C ISR with your lookup table based algorithm and i'm *still* measuring it at around 2.5us execution time
[16:50:36] <amee2k> thats no better than what my grey code algorithm did
[16:51:13] <amee2k> and looking at GCC's assembler output it is still ridiculous because it pushs and pops no less than 10 registers before it gets on with any real work
[16:51:23] <amee2k> mine made do with 4
[16:52:01] <amee2k> with a little luck i can do your algo with 2
[16:52:54] <amee2k> also piles of LDS' instead of cleverly using the registers to not lose any values that are still needed
[16:53:46] <asteve> what's this for?
[16:54:04] <amee2k> tracking the optical quadrature encoder in a servo motor
[16:54:49] <asteve> you're tracking the encoder? to see how accurate it is?
[16:55:02] <amee2k> no, keeping track of its position
[16:55:14] <amee2k> to determine number of rotations passed and the current driveshaft angle
[16:55:23] <asteve> ah, i read that incorrectly sorry
[16:59:07] <amee2k> wtf
[16:59:28] <amee2k> how many cycles does doing "--" take on a uint16_t in C??
[17:00:00] <Casper> probably 1 or 5
[17:00:17] <amee2k> i've only got a single conditional in my ISR now that decrements that variable and it generates an extra execution time of 9 cycles
[17:00:18] <Casper> depend if the variable is in X Y or Z...
[17:00:33] <Casper> or not
[17:00:39] <amee2k> and yes, i measured that >_<
[17:01:49] <karlp> get ye more bits laddy!
[17:03:26] <amee2k> nice thing about 20MHz is setting scope to 50ns/div means one clock per division >_>
[17:03:56] <amee2k> with persistent display you can see on the traces how long different branches take
[17:04:58] <amee2k> http://ompldr.org/vY2xpeQ/conddec0.png
[17:05:21] <amee2k> hmm who was asking about jitter on timer interrupts the other day?
[17:29:58] <amee2k> hmm R1 is always zero in GCC, right?
[17:32:13] <Casper> R1 or R0, I forgot which one
[17:32:26] <Casper> or R15... anyway, one register is always zero
[17:32:35] <amee2k> i remember reading R1 somewhere, but more importantly can i rely on that during an ISR?
[17:33:02] <amee2k> e.g. use it for that without pushing and initializing it
[17:35:13] <grummund> it's in the FAQ, iirc
[17:36:53] <grummund> http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_reg_usage
[17:37:33] <Casper> amee2k: probably
[17:38:05] <grummund> as in, probably not.
[17:38:11] <amee2k> thats bad :(
[17:38:23] <amee2k> there are no free registers
[17:40:08] <grummund> maybe bad for you, but us C coders don't want gcc being inefficient now do we :p
[17:47:16] <dirty_d> hmm, whats the deal with the xmega au manual?
[17:47:38] <dirty_d> the summary says 5 16 bit timers, the 500 page manual doesnt say how many
[17:47:58] <amee2k> thats a buttload of timers 0.0
[17:48:13] <dirty_d> yea iots wonderful
[17:48:26] <amee2k> also, isn't the summary usually just like the first 5 pages of the regular manual?
[17:48:56] <amee2k> with very little actual summarizing action taking place
[17:49:04] <dirty_d> yes
[17:49:15] <dirty_d> which is what is confusing
[17:49:22] <dirty_d> the summary says how many timers, the manual doesnt
[17:49:40] <dirty_d> maybe its because the manual is general to every AU type xmega
[17:49:59] <dirty_d> and the summaries give like how many of each feature the different models have
[17:50:16] <amee2k> my brain is boiling over >_<
[17:50:16] <dirty_d> i think thats it
[17:50:31] <amee2k> i need to take my mind off all that assembler stuff
[17:50:56] <dirty_d> hmm, it would be cool if they made each timer be able to measure the pulse width of a pin on each channel
[17:51:04] <dirty_d> seems like 1 timer can measure 1 pulse
[17:51:15] <dirty_d> so id need 4 timers to measure 4 servo signals
[17:51:18] <amee2k> with the capture register or whats it called?
[17:51:26] <dirty_d> or one timer and 4 pin interrupts and do it myself
[17:51:31] <dirty_d> yea the capture mode
[17:51:40] <amee2k> never used it before >_>
[17:51:56] <dirty_d> its pretty damn cool
[17:52:02] <dirty_d> does a lot more than the regular mega
[17:52:10] <dirty_d> im gonna buy some
[17:52:14] <amee2k> i'm desperately trying ti squeeze my ISR into a 2us window :(
[17:52:33] <dirty_d> whats your clock?
[17:52:38] <amee2k> 20MHz
[17:53:05] <amee2k> that means i've got err 40 clocks or so i think
[17:53:39] <dirty_d> what are you doing in the isr?
[17:54:26] <amee2k> http://paste.debian.net/154564/ << this
[17:55:19] <amee2k> ("#define ENCODER0_PINS (PORTC>>4)")
[17:56:29] <amee2k> i feel like my head is exploding lol
[17:56:44] <amee2k> and i'm out of Quantum Leap episodes
[17:58:15] <dirty_d> im out of xfiles
[17:58:28] <karlp> can you put a shift register in front, and sort of treat it as a half speed encoder maybe?
[17:58:38] <karlp> or, go with your original idea, use a processor just for this.
[17:58:48] <karlp> keep a value in ram of the current status, and read it out via spi from the real master
[17:59:07] <dirty_d> so whats this do>
[18:00:30] <amee2k> hmm xfiles is a neat idea. i could go watch that next
[18:00:48] <amee2k> karlp: thought about the shift register, but i'm worried about losing sync
[18:01:10] <amee2k> in theory the quadrature signal should survive the frequency division, but still
[18:02:01] <amee2k> and if something gets out of phase, i wouldn't just lose a pulse but subsequent readings will go in some random direction (if they're valid transitions at all)
[18:07:02] <amee2k> dirty_d: it tracks the position of an optical encoder in a servo motor
[18:08:35] <amee2k> the problem is the encoder puts out something like +80kHz when the motor drive is opened up all the way so that ISR fires at like 200kHz
[18:09:59] <amee2k> i'm also using that ISR for timing the main loop via the encoder__timer_counter variable, so i can't put in on a pin interrupt either
[18:10:16] <amee2k> anyway, i'm off to bed now
[18:14:29] <grummund> dirty_d: xmega has a manual for each series, and then a datasheet per device
[18:15:36] <karlp> whee! only two documents!
[18:15:47] <karlp> twice as many as avr, half as many as stm32 :)
[18:17:05] <grummund> yep, and /4 as many bits :)
[18:20:16] <grummund> amee2k: mask = 0; is redundant, although the optimiser should deal with that
[18:20:52] <amee2k> yeah
[18:20:58] <grummund> the & 0x0C; is redundant too if you have "#define ENCODER0_PINS (PORTC>>4)"
[18:21:14] <amee2k> not really
[18:21:15] <grummund> and it's any guess whether the optimiser will notice that one
[18:21:22] <amee2k> what about the two topmost bits?
[18:21:46] <amee2k> shifting down by four, up by two means total shift down by two
[18:21:48] <grummund> shift right 4, followed by shift left 2.
[18:21:57] <amee2k> still leaves me with four bits that need to be zeroed
[18:22:18] <grummund> nope.
[18:22:26] <amee2k> even if the compiler generates two discrete shifts for that, the two topmost bits need to be zeroed
[18:22:59] <amee2k> 0x0C = 0b00001100
[18:23:18] <grummund> hmm yeah, although not two topmost bits
[18:23:47] <amee2k> interresting bits are ..XX.... (shift 1) 0000..XX (shift 2) 00..XX00
[18:23:48] <grummund> ((0xff >> 4) << 2) is 0x3c
[18:24:20] <amee2k> well, the two that used to be the topmost ones
[18:24:31] <grummund> ok
[18:25:05] <amee2k> i've been thinking about doing SWAP and rearranging the lookup table so the two states switch positions in the bit pattern
[18:25:13] <grummund> in any case gcc might have trouble with that, worth checking the asm to see what it does with it
[18:26:14] <grummund> i mean it'll give the correct result just maybe not efficiently
[18:26:46] <amee2k> http://paste.debian.net/154567/ << the LDS address in line 5 is "encoder__enc0_last"
[18:27:12] <amee2k> i'm thinking about taking the GCC output as a starting point and optimizing from there
[18:27:32] <amee2k> i'm not sure my assembly skills are good enough to come up with an effective strategy on my own :/
[18:29:30] <grummund> is encoder__enc0_last exported? if not declare it static
[18:29:55] <amee2k> its not static because i'm using it from my assembly ISR
[18:30:09] <grummund> in another file?
[18:30:14] <amee2k> yes
[18:30:17] <grummund> ok
[18:30:26] <amee2k> i have a vague idea there is a way to abuse the indirect addressing modes to streamline the lookup table code
[18:30:29] <grummund> same applies to the other 2 globals
[18:30:46] <amee2k> but i'm too tired to wrap my head around it at half past 1 in the morning
[18:31:04] <grummund> yeah same here
[18:31:07] <grummund> g'night
[18:31:12] <amee2k> nighty :)
[18:31:19] <amee2k> but thanks for your input
[18:31:56] <grummund> check the asm outpur and if it doesn't look the most efficient then try to tweak the C code to make it so
[18:32:19] <grummund> that's always my preference before considering hand coded asm
[18:32:29] <amee2k> what advantage does that have over directly optimizing the assembler code?
[18:32:46] <grummund> readability?
[18:33:04] <amee2k> if i know what changes i want to have, i'd rather make them directly
[18:33:17] <amee2k> that ISR is the only piece of assembly in the entire project so far
[18:33:34] <amee2k> it is also the single most timing-critical section of the project
[18:34:02] <amee2k> everything else i can do in the main loop by polling but that ISR needs to run rock solid
[18:36:01] <grummund> fine, it's your code :D
[18:36:18] <amee2k> i don't think optimizing the C code to yield the desired assembly code is more readable
[18:36:49] <amee2k> i'd be afraid that it may obscure important optimizations that look like innocent refactoring in the C code
[18:37:19] <amee2k> this way someone who wants to mess with it will have to swallow it whole first
[18:37:42] <grummund> sure, if it must be rock solid then as you say...
[18:38:23] <dirty_d> uhhg, it takes forever to buy parts off mouser
[18:40:12] <Jan-> hihi avr peeps
[18:40:13] * Jan- waves
[18:42:00] * grummund waves goodnight
[18:42:34] <Jan-> oh nono
[18:42:38] <Jan-> I just got here :)
[18:43:20] * Jan- sneezes
[18:43:22] <Jan-> I have a cold :/
[18:44:00] * amee2k idly passes his warm orange hi vis winter jacket on to Jan-
[18:44:03] <amee2k> there ya go :)
[18:44:10] <Jan-> Bduh :/
[18:44:23] * Jan- looks awake, but is in fact propped up in the chair with cushions
[18:44:33] <amee2k> aww, whats the long face?
[18:44:34] <Jan-> Aaaand I've had five hours sleep since Tuesday
[18:44:36] <amee2k> its warm
[18:44:39] <Jan-> And I feel ass
[18:44:41] <amee2k> 0.0
[18:44:48] * Jan- allows her head to fall forward onto the keyboard
[18:44:51] <Jan-> (*&#IURBJasdwdq
[18:44:57] <amee2k> >_<
[18:45:07] * Jan- misery :/
[18:45:17] <amee2k> you need a plush keyboard *nod*
[18:45:30] <Jan-> I need a cure for the cobbod code
[18:45:37] <Jan-> Id sucks :(
[18:45:53] <amee2k> http://technabob.com/blog/wp-content/uploads/2008/01/plush_pc.jpg << hahaa XD
[18:45:58] * Jan- blows her nose, with a revolting burbling sound
[18:46:11] <Jan-> OK, I can't see pics, but I think I get the idea :)
[18:46:48] <amee2k> a pillow with a screenshot stitched to the front
[18:47:12] <amee2k> with a smaller pillow next to it for the tower, and a thin pillow with a keyboard-like pattern in front of it
[18:47:23] <Jan-> You know when you get sick, and you drink loads of things to make your throat feel better
[18:47:30] <Jan-> and you end up peeing 135 gallons an hour?
[18:47:35] <amee2k> yeah >_<
[18:47:39] <Jan-> and how after a while that starts to...
[18:47:43] * Jan- shifts uncomfortably
[18:47:45] <Jan-> ...sting?
[18:47:48] <amee2k> i've managed to drink so much that my head starts hurting this way
[18:48:00] <amee2k> well, not really hurt
[18:48:17] <Jan-> You can actually get water toxicity if you stupidly overdo it
[18:48:18] <amee2k> but some kind of weird light-headedness and utter inability to concentrate on anything
[18:48:28] <amee2k> like after some weird drug or something
[18:48:33] <Jan-> Well, I have the concentration problem
[18:48:58] <Jan-> I'm not sure if this is all because of, in spite of, or coincidentally arising alongside another ongoing medical condition I have
[18:49:01] <Jan-> which causes the no sleep
[18:49:07] <amee2k> http://technabob.com/blog/wp-content/uploads/2009/05/furry_keyboard_1.jpg << HAHAA
[18:49:14] <Jan-> but anyway I have a super busy day at work tomorrow, and this is ASS
[18:49:28] <amee2k> yeah, i can see why
[18:49:57] <amee2k> put a large red note on your back "TALK TO ME IF YOU WANT MY COLD"
[18:50:04] <Jan-> ohhhh no
[18:50:04] <amee2k> >_>
[18:50:14] <Jan-> In the morning I have a meeting with potential new clients, which is Super Maximum Importance
[18:50:23] <amee2k> ouch
[18:50:26] <amee2k> sounds kinky
[18:50:30] <Jan-> and in the afternoon I have to supervise actual new clients on their first visit, which is Super Ultra Maximal Importance
[18:50:49] <Jan-> And I'll feel like a boiled rabbit, and have had no sleep. My life sucks :(
[18:51:02] <amee2k> noone else who can cover for you?
[18:51:16] <Jan-> It's my responsibility if this gets screwed up
[18:51:27] <amee2k> if its this important you people should have a plan B... do you? >_>
[18:51:32] <Jan-> Haaaaa.
[18:51:48] <Jan-> I'm not sure I'd ever feel comfortable delegating this, even if I worked with humans.
[18:51:59] * Jan- thinks for a moment about the people she'd have to delegate it to
[18:52:00] <amee2k> noone can blame you for having a cold doesn't mean they can't try though >_<
[18:52:03] * Jan- shudders reflexively
[18:52:39] <Jan-> Er
[18:52:42] <Jan-> Amy is a girl's name
[18:53:01] <amee2k> yep
[18:53:07] <amee2k> thats why mine is "amee" >_>
[18:53:09] <Jan-> But you're a boy.
[18:53:19] <Jan-> But it's PRONOUNCED "amy"
[18:53:44] <Tom_itx> Jan-, why can't you see pics?
[18:53:48] <amee2k> >_>
[18:54:01] <amee2k> its a reference to a cheap sci fi movie actually
[18:54:02] <Jan-> I thought we talked about this, Tom_itx
[18:54:08] <Jan-> amee2k: the one on mars?
[18:54:10] <Tom_itx> i must have missed that part
[18:54:15] <amee2k> yep
[18:54:25] <Tom_itx> and the txt to speech thing too
[18:54:28] <Jan-> Tom_itx: I'm blind, I lost my sight in a car accident in 1998.
[18:54:29] <amee2k> well, there are several cheap sci fi movies set on mars, but still
[18:54:35] <Tom_itx> ahh ok
[18:54:39] <Jan-> amee2k: Ghosts of Mars!
[18:54:48] <amee2k> mmh, nope
[18:54:58] <amee2k> but ghosts of mars is a cool one too :)
[18:55:02] <Jan-> it's got Pam Grier
[18:55:10] <Jan-> as a martian cop
[18:55:16] <amee2k> is that edible?
[18:55:17] <amee2k> o.O
[18:55:52] <amee2k> mmh, want the solution?
[18:56:14] <Jan-> Tom_itx: well, I've called it other things than "OK" :)
[18:56:21] <karlp> ghosts of mars is awesome!
[18:56:26] <karlp> it's got icecube!
[18:56:43] <amee2k> the reference is to the robot character by that name from the movie Red Planet
[18:56:49] <Landon> hah karlp, that was my first dvd
[18:57:38] <Jan-> doesn't that have Val Kilmer
[18:57:42] <amee2k> yep
[18:57:49] <amee2k> and the chick from Matrix
[18:58:00] <amee2k> i don't remember actor names
[18:58:18] <amee2k> and when i do by accident i can rarely remember the movies they were in
[18:59:01] <Jan-> Val Kilmer played a blind guy once
[18:59:04] <Jan-> he was weird
[18:59:44] <amee2k> so did the dude from Quantum Leap. only that when he leapt in he wasn't and had to pretend to make everone else believe he still was
[18:59:57] <Jan-> still was what, blind?
[19:00:04] <amee2k> yeah
[19:00:11] <amee2k> you know quantum leap? the tv show?
[19:00:18] <Jan-> sure
[19:00:28] <keenerd> Sounds like a rip off of Sliders.
[19:00:30] <Jan-> I don't know but I guess it'd be hard to act blind
[19:00:44] <Jan-> I can't really tell but Phil says people don't often get it right
[19:00:59] <amee2k> yeah, so when he leaps into someone else, he is usually mostly himself. i.e. he can for example still walk even if the character he is stuck in has a disability
[19:01:09] <Jan-> I know what you mean
[19:01:09] <keenerd> Oh, nevermind.
[19:01:20] <Jan-> I saw one where he was a vietnam vet with no legs, or something
[19:01:26] <amee2k> yeah
[19:01:43] <amee2k> one time he leaps into a blind star pianist and has to pretend to be blind all the time
[19:01:59] <amee2k> until someone catches him read the text on the dog food can >_<
[19:02:21] <Jan-> some people get really annoyed when they cast actors who don't have disabilities to play people who do
[19:02:31] <amee2k> keenerd: the show is actually pretty hilarious imo
[19:02:33] <Jan-> but frankly I've seen a few disabled actors who suck ass
[19:02:36] <Jan-> so
[19:03:01] <amee2k> well, just in that case he didn't play a blind dude
[19:03:05] <Jan-> Oh, honorable exception: the guy who played the recruiting sergeant in Starship Troopers, he's awesome
[19:03:14] <amee2k> he played a non-blind dude who had to pass for blind >_>
[19:03:22] <Jan-> Yeah, I get what you mean
[19:03:36] <amee2k> ooh, yeah. starship troopers is awesome in general
[19:03:41] <Jan-> Oh yes.
[19:03:43] <Jan-> Full of win.
[19:03:48] <Jan-> GO MOBILE INFANTRY
[19:03:49] <karlp> 2 and 3 not so much, but still funny.
[19:03:58] <karlp> it's a fantastic book by the way
[19:04:04] <Jan-> I couldn't get on with the book
[19:04:07] <karlp> I nkow that sounds like literature wankery
[19:04:08] <amee2k> i think most people don't get that it is actually quite socially critical in a subtle way
[19:04:10] <Jan-> the thing is that Heinlein was actually SERIOUS
[19:04:12] <keenerd> This is going to sound crazy, but the cartoon series did the book better justice than than movie.
[19:04:28] <amee2k> 2 was meh and 3 was pretty fail imo
[19:04:34] <karlp> but the book takes all the subtle bits of societal commentary and fleshes it out a bit more
[19:04:40] <karlp> I was surprised just how old the book was
[19:04:47] <karlp> I thought late 70s or something, not 50s
[19:05:13] <Jan-> But hey, the real USA now seems to be going directly for that society, so he won in the end!
[19:05:31] <amee2k> well, the shot where they pass live ammo and assault rifles around at a primary school or something was kinda graphic IMO
[19:05:39] <keenerd> Not really, considering how poorly the US treats its vets...
[19:05:50] <Jan-> keenerd: try being in the military here :(
[19:06:15] <Jan-> one airport that was used for a bunch of troops coming home wouldn't let them into the terminal in uniform in case they scared people :(
[19:06:46] <karlp> trying to dodge any specific US aspects, I thought heinlein really got across a good message about the futility of war and the absurdity of blind obedience
[19:07:13] <Jan-> I thought Heinlein was actually supporting ultra right wing politics!
[19:07:15] <karlp> whether he meant it or not?!
[19:07:34] <Jan-> hehe
[19:08:14] <amee2k> the thing about these messages is ... its not the speaking part thats the problem, its the listening
[19:08:33] <Jan-> which messages
[19:08:34] <amee2k> (5 pizza points you get the reference)
[19:08:54] <amee2k> messages like futility of war and what not
[19:09:03] <Jan-> oh hm
[19:09:32] <amee2k> the reference on that line is actually to a tv show with some very interresting messages too
[19:12:11] <karlp> doctor who?
[19:12:16] <Jan-> aaargh
[19:12:21] <amee2k> nope
[19:12:32] * Jan- doesn't like doctor who
[19:12:43] <karlp> feel familiar, but can't pull it out of my brane right now
[19:13:46] <amee2k> want the answer?
[19:13:52] <karlp> yes please :)
[19:13:54] <amee2k> the "its not the speaking thats the problem" line is from Babylon 5... londo's attache Vir Cotto, if i recall correctly referring to some of the other embassadors' attitude during the narn-centauri war
[19:14:07] <karlp> oh, haven't watched babylon 5 in a long time.
[19:14:14] <amee2k> awesome show
[19:14:34] <amee2k> last season is a bit slow and politics-heavy IMO, but still awesome
[19:14:45] <karlp> lots of shows fall apart in their last seasons.
[19:15:01] <amee2k> yeah
[19:15:06] <karlp> better than shows that have a good season, and immediately go to crap when they realise they didn't actually have any more story
[19:15:09] <keenerd> Meh, been too busy reading Alastair Reynolds lately to watch stuff :-)
[19:15:28] <amee2k> what i find more annoying is the ones that i found fell apart before they got a chance to prove themselves
[19:15:39] <karlp> heh, I was just chatting to someone else that I only read on planes these days. (And that I should catch planes more, I miss reading)
[19:16:00] <karlp> amee2k: how many episodes should a show be given to "prove itself" ?
[19:16:03] <keenerd> (He does a surprisingly not-depressing version of the future without FTL travel.)
[19:16:27] <karlp> I don't think I've read any alastair reynolds, any recommendations to start?
[19:16:30] <amee2k> karlp: at least two seasons i'd say. and B5 is a pretty good example of why IMO
[19:16:40] <karlp> two seasons is a massssssive investment.
[19:16:55] <karlp> if people aren't asking for a second season before the first season is half way through, you failed
[19:17:07] <karlp> even for short modern seasons of 10-15 episodes.
[19:17:25] <amee2k> compared to movies which are kind of a one-off, a show has a much more extensive and detailed setting that takes a while to introduce appropriately
[19:17:46] <keenerd> karlp: His Revelation Space series is really good. But the published order does not match the chronology, so there is some debate as to where to start.
[19:18:12] <amee2k> the first season of B5 is kinda boring but three more seasons later you realize that with only one exception i think you've seen all the major players in the first season already
[19:18:17] <karlp> is the revelation series the one that has the intelligent dust thing? the little motes that arrange themselves and observe and so on?
[19:18:32] <dirty_d> amee2k, just ordered 2 of the new xmegas and like 2000 resistors caps and transistors, lol
[19:18:36] <amee2k> and what looks like stand-alone episodes is actually the beginning of massive story arcs
[19:18:37] <karlp> amee2k: b5 would never be made today.
[19:18:43] <karlp> hell, citizen kane would never be made today
[19:18:53] <amee2k> karlp: exactly. and that is a very sad thing, really
[19:18:56] <karlp> (citizen kane is a terrible movie if you're not a film student)
[19:19:24] <karlp> (really, I don't care what innovative techniques it introduced, it's a boring movie that's about 60 minutes longer than it needs to be.)
[19:19:28] <keenerd> karlp: Probably not. Very little nanotech in that universe due to convenient circumstances.
[19:19:50] <amee2k> but there are also quite a lot of shows that i think got killed while they still had a decent chance
[19:20:13] <amee2k> Defying Gravity comes to mind... Jericho... Jeremiah
[19:20:32] <karlp> keenerd: sorry, was thinking of fire upon the deep, by vernor vinge.
[19:20:36] <amee2k> maybe Odyssey Five
[19:21:13] <karlp> I read http://blog.regehr.org to remind me to never trust my own brane when it comes to signed/unsigned and integers, and he sometimes talks about sci-fi books
[19:21:17] * Jan- wants Starship Troopers style powered body armor
[19:21:21] * Jan- wonders if AVRs could be involved
[19:21:59] <karlp> jericho, deadwood, (don't know defying gravity sorry) the one about the pie shop, the one about the reapers,
[19:22:06] <karlp> there's plenty of interesting shows with cult appeal,
[19:22:16] <karlp> but it takes a lot of money to keep a show on the air
[19:22:34] <karlp> even outside america where the figures are closer to actual costs
[19:22:44] <amee2k> the way Farscape got killed weirded me out too... everyone liked it apparently including the execs
[19:22:55] <Jan-> farscape was cheap
[19:23:02] <Jan-> I know people who worked on it
[19:23:05] <Jan-> they were all really pissed
[19:23:12] <amee2k> cheap, but huge fun
[19:23:16] <amee2k> i really loved it
[19:23:30] <jadew> is farscape the one with the astronaut?
[19:23:33] <amee2k> yep
[19:23:50] <amee2k> and the space nazis and lots of puppet aliens
[19:23:51] <karlp> the one astronaut and the living ship rightÐ?
[19:24:03] <karlp> the made in australia one
[19:24:05] <karlp> it was cool!
[19:24:07] <Jan-> The guy I knew was a sketch guy in the art department
[19:24:13] <amee2k> iirc the special effects are the same comp that does the muppets
[19:24:18] <Jan-> but he ended up hooking up with the girl who got painted white every day
[19:24:21] <Jan-> it was kind of hilarious
[19:24:27] <amee2k> ooh, err
[19:24:37] <amee2k> whats the name again
[19:24:43] <Jan-> I don't know the character name
[19:24:54] <amee2k> with the weirded out hair
[19:25:03] <jadew> was she hot?
[19:25:12] <amee2k> who is something between anarchist and hippie or so
[19:25:13] <Jan-> the only reason I remember is that she apparently always tasted of makeup.
[19:25:24] <amee2k> LOL
[19:25:28] <jadew> heh
[19:25:43] <Jan-> I should point out that's almost absurdly lucky, by the way
[19:25:46] <amee2k> Chiana!
[19:25:49] <Jan-> crew always want to hook up with the cute young cast
[19:25:59] <karlp> (crew often does)
[19:26:01] <amee2k> "Chiana, played by Gigi Edgley, is a street-smart, savvy, and mercurial type of character who is willing to scam or steal for an adventure and risk her life for the people she loves"
[19:26:11] <karlp> (at least when cast visits iceland)
[19:26:45] <Jan-> karlp: usually crew and cast don't talk much, at least on features
[19:26:50] <jadew> oh yeah, she's doable: http://photos.lucywho.com/gigi-edgley-photos-t31167.html
[19:26:51] <karlp> sure they do :)
[19:26:52] <Jan-> I've never worked on a series
[19:27:09] <karlp> ok, true. I have more to do with serieses
[19:27:15] <Jan-> ooh, which oneses?
[19:27:18] <amee2k> hmm what else comes to mind... on the cheap end of the "could have made it" scale is probably Earth 2 and Outcasts
[19:27:25] <karlp> not allowed to talk until they air :)
[19:27:30] <karlp> also, not me, my girlfriend.
[19:27:39] <karlp> I work with avrs, not film :)
[19:27:47] <Jan-> I suspect there's more money in the microchips
[19:27:48] <amee2k> probably everything but cheap but Stargate Universe was a pretty interresting candidate too IMO
[19:28:08] <karlp> well, we're going on holidays for 7 weeks soon, and yeah, I'm paying, not the film industry :)
[19:28:19] <jadew> stargate universe sucked/sucks in comparison with the other 2
[19:28:19] <Jan-> lucky you
[19:28:27] <karlp> not luck.
[19:28:28] <Jan-> but yeah
[19:28:35] <karlp> I worked. I'm taking holidays.
[19:28:38] <Jan-> just painting a girl white and calling that an alien makeup is sorta cheap
[19:28:40] <amee2k> Space: Above and Beyond... ooh how in heaven's name could i have forgotten Firefly *facepalm*
[19:28:55] <Jan-> yay FIREFLY!
[19:28:58] <jadew> firefly was awesome
[19:29:09] <amee2k> Jan-: well, in that show its the thought that counts really. if you don't have any imagination you wouldn't like farscape either way i think
[19:29:10] <jadew> no clue why that was canceled
[19:29:22] <karlp> same reason as farscape.
[19:29:25] <karlp> not _enough_ appeal
[19:29:35] <jadew> firefly had a lot of appeal
[19:29:37] <Jan-> apparently some of the farscape paint jobs were very, er, "striking" was the term used most often
[19:29:51] <jadew> I have tons of friends who wish it had more seasons
[19:29:52] <karlp> didn't matter, story was good enough
[19:30:04] <karlp> go and watch season one of DS9 or xfiles
[19:30:09] <karlp> incredibly cheap
[19:30:17] <karlp> hell, look at season one of CSI!
[19:30:20] <Jan-> on the other hand, voyager was expensive
[19:30:22] <Jan-> but ass
[19:30:34] * Jan- is revealing herself as a terrible nerd here
[19:30:36] <karlp> voyager was alright
[19:30:38] <rue_mohr> anyone want to built an avr oscilloscope with me?
[19:30:39] <karlp> I liked voyager
[19:30:40] <amee2k> DS9 is like a cheap family soap when it starts lol
[19:30:44] <karlp> better than enterprise :)
[19:31:34] <amee2k> voyager was awesome from day one... enterprise was screwing around for seasons on end... the show isn't really a loss, but the concept of it kinda was
[19:31:46] <amee2k> ooh, Caprica!
[19:31:48] <Jan-> voyager was just wave-or-particle-o-the-week
[19:31:51] <keenerd> Roddenberry had some good stuff that was never filmed until after his death. Of course he only wrote the first season for those shows, so they went downhill fast.
[19:31:51] <Jan-> it was so badly written
[19:32:06] <karlp> keenerd: did you see that roddenberry one with the hercules guy?
[19:32:19] <amee2k> Jan-: pretty much all the star trek shows before that were pretty "monster of the week" style
[19:32:22] <karlp> they were stuck in a blackhole's event horizon or something?
[19:32:35] <keenerd> karlp: Yeah. That was Andromedia. The other was 'Earth Final Conflict'.
[19:32:48] <amee2k> EFC was awesome
[19:33:06] <karlp> yeah, andromeda was interesting, interesting, good, good, oh hey, the credits list changed, terrible, terrible, terrible terrible
[19:33:11] <amee2k> Andromeda was some fun action, but they should have renamed it for the last season
[19:33:22] <Jan-> andromeda was the super cheesy one, right?
[19:33:22] <amee2k> "The Trance Gemeni Feature Show"
[19:33:24] <karlp> it only lasted so long because the hercules guy was one of the exec producers/money guys
[19:33:44] <karlp> also, crap, wine's finished.
[19:34:05] <amee2k> mmh, i've got another one in mind right now but can't put my finger on it >_<
[19:34:35] <amee2k> Space: Above and Beyond too, but thats not the one i meant
[19:34:49] <karlp> deadwood!
[19:34:53] <Jan-> My heart belongs to Starship Troopers
[19:35:14] <amee2k> not deadwood
[19:35:18] <karlp> not just space! cocksuckers are also deserving of merit!
[19:35:24] <amee2k> lol
[19:35:35] <amee2k> how about cocksucking in space?
[19:35:40] <Jan-> aliens, too!
[19:35:46] * Jan- field-strips her M-41A pulse rifle
[19:35:50] <Jan-> *clink* *snikt*
[19:35:50] <amee2k> i bet there are lots of unique positions in zero-gee
[19:35:51] <amee2k> >_>
[19:35:53] <Valen> 2 of my fave things
[19:36:11] <vectory> what? im in the right place at the wrong time
[19:36:12] * Valen is male and a boner fide space scientist
[19:36:21] <keenerd> amee2k: I seem to recall Heinlein claiming that was not the case.
[19:36:28] * amee2k idly notes that noone apparently liked Caprica
[19:36:42] <amee2k> keenerd: did he try?
[19:37:42] <keenerd> amee2k: No, it was just more simple physics. You can't even use a bathroom in zero G without being strapped in. I don't see more vigorous activities really working out.
[19:37:58] <karlp> caprica was the virtual worlds and the girl who died and got uploaded into the net?
[19:38:00] <Jan-> what sort of space science?
[19:38:10] <amee2k> i'd say it depends mainly on how creative you are... and kinky >_>
[19:38:19] <karlp> and then back into the protocylon or something?
[19:38:37] <karlp> I just thought it was too simplistic. too many holes.
[19:38:39] <Valen> just a "bachelor of space sciences"
[19:38:41] <amee2k> karlp: yep... was advertised as BSG prequel but didn't have much to do with it
[19:38:44] <karlp> the vr worlds were cool.
[19:38:45] <Valen> anyway i gotta go to work
[19:39:00] <karlp> my gf actually downloaded that to watch for herself, and she isn't normally a scifi person
[19:39:06] <karlp> both of us gave up on it pretty quickly.
[19:39:18] <jadew> on caprica?
[19:39:21] <amee2k> i found the effects pretty sweet for a show
[19:39:32] <karlp> man, CSI has great effects.
[19:39:40] <karlp> it doesn't meant shit at the end of the day
[19:39:41] <jadew> is it as hot as battlestar gallactica?
[19:39:56] <amee2k> agreed that the story was kinda flaccid but i think they could have made more out of if they want to (and given the chance)
[19:40:07] <karlp> they had a chance, they didn't use it.
[19:40:19] <karlp> they occasionaly gave a hint of more
[19:40:24] <karlp> so I stayed with it for a whiel,
[19:40:26] <amee2k> i know
[19:40:36] <amee2k> but they didn't get far enough to follow up on it
[19:41:01] <amee2k> which makes it one of the cases that leave me with this subtly uneasy feeling that it could have turned out great
[19:41:07] <karlp> no.
[19:41:19] <karlp> they took far too long to convey basic info.
[19:41:36] <karlp> and instead of building on it, they kept introducing new characters
[19:41:56] <amee2k> yeah, pretty large setting but B5 has that too
[19:42:03] <karlp> now, for a sidetrack, how about someone makes a tv series out of the red mars, green mars, blue mars triology?
[19:42:16] <amee2k> they did a better job at introducing it quickly and going into details later though
[19:42:22] <karlp> (back to the beginning, mars baby, mars!)
[19:42:42] <amee2k> didn't see it >_>
[19:42:50] <karlp> it doesn't exist yet. :)
[19:42:58] <amee2k> lol
[19:42:59] <amee2k> ooh
[19:43:03] * amee2k facepalms again
[19:43:04] <keenerd> RGB Mars would have to be 100% CG though. 9.8m/s/s would ruin too much.
[19:43:06] <amee2k> LEXX!
[19:43:13] <karlp> keenerd: absolutely :)
[19:43:24] <karlp> but plenty of portions are not gravity constrained.
[19:43:48] <karlp> so, I guess,.... not absolutely... :|
[19:44:02] <amee2k> karlp: no, i meant i didn't see RGB mars
[19:44:12] <karlp> no-one's seen it.
[19:44:21] <karlp> it's a book trilogy
[19:44:26] <karlp> unless I missed it :)
[19:44:31] <amee2k> lol
[19:44:39] <amee2k> i didn't see the books either >_>
[19:44:44] <amee2k> so statement still holds
[19:45:11] <karlp> you're german right? do you guys use the german word for "see" to mean having heard of the book/read the book?
[19:45:14] <amee2k> mmh no reactions to lexx?
[19:45:32] <Jan-> heard of it
[19:45:33] <karlp> it doesn't quite come across to my australian english at least.
[19:45:34] <Jan-> never saw it
[19:45:44] <Jan-> Australians speak English
[19:45:46] <amee2k> karlp: LOL, no, but i have never seen the books, as in looked at the cover
[19:45:47] <Jan-> ??
[19:45:49] * Jan- runs away
[19:46:09] <amee2k> LEXX is a borderline porn but quite hilarous one
[19:46:21] <amee2k> and it is CHEAP!
[19:46:46] <amee2k> the pretty cool thing is that they don't try to pretend otherwise and just erm, deal with it
[19:46:59] <Jan-> they're not still making LEXX, surely?
[19:47:23] <karlp> wikip says 4 seasons, 97-2002
[19:47:26] <amee2k> no, it was like late 90s and ran for four seasons
[19:47:40] <amee2k> pretty 90s-ish CG sequences
[19:47:53] <jadew> lexx was cool
[19:48:01] * karlp doesn't remember it
[19:48:11] <karlp> sounds like a weird cross of red dward and something else
[19:48:13] <jadew> it was with a fat chick witch got turned hot
[19:48:20] <amee2k> yep
[19:48:28] <Jan-> Red dwarf! Win.
[19:48:42] <amee2k> and the robot head with an instant crush on the chick
[19:48:46] <karlp> whee lexx was filmed in iceland!
[19:48:49] <jadew> lol
[19:49:00] <jadew> yeah, that robot head was hilareous
[19:49:04] <amee2k> and the chick had a crush on the undead assassin of the evil empire kind of dude
[19:49:21] <amee2k> and the main dude had a crush on the chick but she couldn't care less
[19:49:26] <karlp> so seriously, I've never watched this, is it really worth getting?
[19:49:37] <karlp> or just a, "this was cool in 97" sort of thing?
[19:50:01] <jadew> if I knew about it when I was a teen, I would have deffinitely watched it
[19:50:16] <jadew> as I watched xena (for the hot moments)
[19:50:35] <amee2k> karlp: i don't think you'd want to spend a lot of money without taking a peek first
[19:50:44] <karlp> money? what's that?
[19:50:52] <karlp> starts with piratebay and ends with .se?
[19:51:01] <amee2k> download some and check it out
[19:51:13] <amee2k> if you like dirty humour, theres a good chance you will though
[19:51:41] <amee2k> and don't mind ultra super cheap sets... like, 5$ chinese ATX PSUs would look expensive
[19:51:51] <karlp> I have a strange feeling that I have downloaded this before though...
[19:52:11] <karlp> so, is this something I should.... "give a chance for two seasons" ? :)
[19:52:39] <amee2k> well, the show is already through so you can watch as much as you want >_>
[19:52:55] <amee2k> the first season is only three or four movies anyway i think
[19:53:08] <amee2k> and the setting isn't really complicated to introduce
[19:53:26] <amee2k> no more complicated than Red Dwarf or so
[19:54:18] <amee2k> i meant the "two seasons" as a minimum standard for shows who want to have any kind of more elaborate arcs or at least characters that go deeper than down the pants
[19:54:33] <Jan-> You guys have seen Red Dwarf, right?
[19:54:39] <amee2k> not all of it
[19:55:45] <Jan-> Is hilarious
[19:55:49] <amee2k> in an entirely different direction... what would be kinda cool is a live action show based on "Initial D" that picks up on the atmosphere of the anime show
[19:55:53] <jadew> I haven't
[19:56:12] <amee2k> not like the shitty live action movie that had all the characters upside down and screwed up upstairs
[19:56:14] <Jan-> I want live action Appleseed
[19:56:15] <Jan-> with decent actors
[19:56:25] <Jan-> I don't care if it's live action, I can't see it anyway
[19:56:30] <Jan-> but anime always has such shitty actors
[19:56:40] <amee2k> hehe
[19:57:06] <amee2k> iirc Initial D is fan-dubbed anyway in english
[19:57:32] <Jan-> Ewww
[19:57:35] <Jan-> how well can THAT work
[19:57:56] <amee2k> the music is pretty shit, but the voice acting isn't too bad imo
[19:58:17] <Jan-> shame they can't get hold of the M&Es
[19:58:58] <ziph> .leave #tv
[19:59:07] <karlp> spoilsport :)
[19:59:11] <ziph> :)
[19:59:22] <karlp> don't drink and #avr?
[19:59:28] <amee2k> mmh what kind of goes along the same lines as Lexx is "Cleopatra 2525"
[20:00:25] <amee2k> "When complications arise during her breast augmentation surgery, 20th-century exotic dancer Cleo (Jennifer Sky) is put into suspended animation. Waking 525 years in the future, Cleo joins two women in their fight against [...] armed flying machines"
[20:00:30] <amee2k> XD
[20:00:53] <Jan-> how the hell do you walk into a meeting full of men in suits in a big glass office building in los angeles, and pitch THAT.
[20:01:13] <ziph> By having a lunch outing at a strip club.
[20:01:17] <amee2k> LOL
[20:01:36] <karlp> the keyword in you rsentence was "men" jan
[20:01:43] <amee2k> exactly
[20:01:46] <karlp> we is not clevahh
[20:01:54] <amee2k> sorry if that paste was any embarrassing for you :)
[20:02:06] <ziph> We are clever, in one of our two brains.
[20:02:25] <karlp> sometimes, some of us, if we're lucky :)
[20:02:33] <amee2k> linear accelerator ftw
[20:02:38] <amee2k> erm
[20:02:44] <amee2k> i didn't say that out loud, did i?
[20:03:08] <karlp> make the tiny things hit the other tiny things! faster! faster! kill kill pussycat!
[20:03:19] <amee2k> 0.0
[20:03:21] <karlp> linear accelerators are still cool
[20:04:30] <amee2k> I'M OFF TO BED!!!111
[20:04:43] <amee2k> (which i wanted to be like two hours ago >_<)
[20:04:50] <amee2k> FER REALZ
[20:13:44] <karlp> yeah, me too.
[20:13:59] <karlp> two more days of work before holidays! yaya
[20:14:17] <karlp> (if you _really_ wanted to go to bed, you would have gone)
[20:19:07] <Jan-> I should try to sleep
[20:19:09] <Jan-> but it won't work
[20:19:14] * Jan- is pretty cheesed off
[20:22:04] <Tom_itx> take some drugs
[20:23:04] <Jan-> long past that point
[20:23:18] <karlp> cheesed off about bad tv or avrs or something else?
[20:23:25] <Jan-> *sigh*
[20:23:33] <Jan-> will you guys be wierded out if I mention some cripple-related stuff
[20:23:38] <karlp> if you're past the point where drugs can help, youðre broken!
[20:23:44] <Jan-> oh i'm broken beyond repair
[20:26:41] <Tom_itx> we've tolerated flyback so i doubt what you might say would bother us
[20:26:49] <Jan-> ha
[20:26:55] <LoRez> we have the technology! we can repair Jan!
[20:26:59] <Jan-> he's, er. A character
[20:27:11] <Jan-> anyone who's from #electronics will have heard this anyway
[20:27:16] <ziph> What happened to flyback?
[20:27:26] <Tom_itx> i think i kicked him out
[20:27:37] <Jan-> thank god for that
[20:28:56] <karlp> he's still in stm32, but from what I've inferred from other people, he's being remarkably restrained over there
[20:29:06] <karlp> (with more #'s)
[20:29:43] <Tom_itx> maybe he's healed now
[20:29:51] <Jan-> he's mentally ill, I assume
[20:30:10] <Jan-> I get the impression he's on and off his meds, which is why he segues from nuts to kind of tolerable
[20:41:09] * Jan- sneezes
[21:11:57] <Jan-> bahhh
[21:12:01] * Jan- kicks at a pebble dejectedly
[21:21:08] <keenerd> People are here, just being shy and quiet.
[21:21:43] <ziph> They're all waiting to hear about your cripple related stuff.
[21:25:07] <Tom_itx> naw, i'm soldering parts
[21:26:46] <Jan-> problem is now after all this I'll end up sounding like a whiny little loser
[21:33:24] <Essobi> Ouch.
[21:33:55] <Jan-> where does it hurt?
[21:35:13] <Essobi> Nah, we don't talk here.
[21:35:25] <Essobi> We wait for someone to say arduino then jump all over their shit.
[21:35:29] <Essobi> *kidding*
[21:35:40] <Jan-> oh I noticed that :/
[21:35:50] <Essobi> luls... I don't jump peoples shit.
[21:36:03] <Essobi> I started programming on an Apple IIe. I got no room to talk. :D
[21:36:27] <Jan-> wow
[21:36:33] * Jan- carbon-dates Essobi
[21:37:14] <keenerd> You don't have to be old to claim that. I was dirt poor as a kid and that was all my school had.
[21:37:15] <Casper> Essobi: I started on a romar II!
[21:38:20] <keenerd> Lucked out tremendously and got to work with Lego Logo though. It was like Mindstorms but with a great 40 wire cable going back to the Apple IIe.
[21:38:50] <Jan-> we had BBC micros
[21:38:57] <Jan-> basically acorn electrons with more ram
[21:42:30] <Essobi> keenerd: That's what we had at school too... 1st grade. :D
[21:43:48] <Essobi> My first program in first grade consisted of 10 flash; 20 print FUCK ; 30 goto 10 ; run .... then run like hell.
[21:50:07] <Jan-> very....
[21:50:10] <Jan-> ...imaginative..
[22:17:58] <Essobi> jan-: I was 5. :P
[22:18:03] <Essobi> Oh.. she's gone.
[22:18:51] <rue_mohr> keenerd, geez, I only got to look at the pics
[22:19:05] <rue_mohr> I translated the logo book to python
[22:19:10] <rue_mohr> !assist
[22:19:10] <tobbor> Possibly http://eds.dyndns.org/~ircjunk/(null)
[22:19:43] <rue_mohr> http://eds.dyndns.org/~ircjunk/tutorials/prog/python/learn_py.html
[22:20:12] <rue_mohr> its almost a 1:1 of the apple II book
[22:25:00] <keenerd> I fogot Python had a turtle module! :-)
[22:25:09] <rue_mohr> yea, sweet eh?
[22:25:53] <keenerd> I think I had the same book too.
[22:26:01] <rue_mohr> prolly
[22:40:41] <theBear> it does ? frickin awesome !
[22:41:02] <theBear> that was the only reason i learned logo, to play with a turtle :)
[23:18:00] <pepsi> !seen abcminiuser
[23:18:01] <tobbor> abcminiuser was last seen in #avr on Feb 02 13:48 2012
[23:18:18] <Tom_itx> he's on Norway time