#avr | Logs for 2012-08-06

Back
[01:09:49] <OndraSter_> Tom_itx, you around?
[01:09:50] <OndraSter_> http://img06.allegroimg.pl/photos/oryginal/25/30/28/23/2530282307
[01:09:56] <OndraSter_> does it look good for reflow oven? :P
[01:10:00] <OndraSter_> (as in the cavity)
[03:33:50] <PlastyGrove> what is the assembly instruction to move 3 steps backward? Something like brne 3b
[03:34:13] <PlastyGrove> i.e. check if not equal and branch 3 steps backward
[03:36:18] <Xark> PlastyGrove: The b means backwards, to the previous "3:" label (it is not distance).
[03:39:56] <jacekowski> PlastyGrove: you need a label at that point
[03:40:01] <Xark> PlastyGrove: If you want, you can do something like "BRNE .-3" to branch relative to current location (but you have to count the bytes yourself, so a label is preferable).
[03:40:03] <jacekowski> PlastyGrove: and then just to brne label
[03:40:17] <jacekowski> PlastyGrove: counting bytes is bad idea
[03:41:16] <PlastyGrove> jacekowski: Yea, I'm doing it with the label right now, it's working fine, needed to know how to branch relative to current location since I see it used in some examples
[03:41:27] <PlastyGrove> xark: thanks - I thought that was number of steps backward
[03:41:36] <PlastyGrove> bytes might be a bit tricky to count
[03:41:37] <jacekowski> PlastyGrove: http://www.atmel.com/Images/doc0856.pdf
[03:41:47] <jacekowski> PlastyGrove: all branch instructions are relative
[03:41:50] <jacekowski> on avr
[03:42:17] <PlastyGrove> jacekowski: I'm looking at that sheet already, they just use labels for all the branch examples
[03:42:18] <jacekowski> i mean, br**
[03:45:29] <PlastyGrove> thanks guys - it's compiling fine now, but not sure if it's working as expected :)
[03:49:33] <PlastyGrove> another noob question - I see several instances where there are 2 instructions to achieve the same thing, but one of them is marked relative. Which should I use where?
[03:49:40] <PlastyGrove> Example: jmp and rjmp
[03:49:58] <PlastyGrove> any performance loss with jmp?
[03:50:25] <PlastyGrove> ah okay - 1 extra cycle
[03:50:30] <PlastyGrove> with jmp i.e.
[03:50:48] <PlastyGrove> also 1 extra word
[03:53:15] <Xark> PlastyGrove: Also non-relative jump can be even slower on parts > 64K I believe.
[03:54:15] <PlastyGrove> Xark: True, but if that's what I've got to use, that's what I'll have to use
[03:54:44] <PlastyGrove> For the silly blinky programs I'm writing rjmp does the trick though :D
[03:54:57] <Xark> PlastyGrove: Sure. I only mention it because it can be an additional hazard if you are "counting bytes" (and your code may be on several AVR CPU types).
[03:56:58] <PlastyGrove> Xark: thanks. I thought it was counting instructions. Counting bytes is way too tricky where I am at the moment, Mom always told me to write working code before trying to optimize it :D
[03:57:51] <jacekowski> that's bad idea
[03:57:51] <Xark> PlastyGrove: Indeed. You can almost always use temporary labels anyways (like 1:, then can be redefined over and over).
[03:58:03] <jacekowski> you shouldn't write crap code just because you can optimise it later
[03:59:45] <PlastyGrove> Xark: I can reuse the same labels in teh code?
[04:00:13] <PlastyGrove> jacekowski: I don't know enough yet to decide whether it's crap or not, I'll get there soon :)
[04:00:39] <jacekowski> PlastyGrove: what do you mean
[04:00:49] <jacekowski> PlastyGrove: you can jump to one label from different places
[04:00:55] <jacekowski> but label can only be defined once
[04:01:52] <PlastyGrove> jacekowski: Xark said I can use a temp label like 1: and then redefine it over and over - wondering if that means I can reuse the label
[04:02:18] <Xark> The labels in the form of number-colon (i.e "1:", "2:" etc.) can be redefined over and over. You use them by following them with a "b" for backwards or "f" for forwards (so it is never ambiguous which one you want to call).
[04:03:15] <jacekowski> PlastyGrove: it's a bad idea
[04:03:30] <jacekowski> PlastyGrove: not all assemblers allow it
[04:03:43] <jacekowski> PlastyGrove: and generally it's better to use permanent labels
[04:03:50] <jacekowski> PlastyGrove: just in case you have to move some code
[04:03:54] <jacekowski> or add something in between
[04:04:40] <Xark> To each his own, but I find it extremely handy (since you tend to need a lot of trivial labels in asm).
[04:04:51] <PlastyGrove> Xark: Really? That's very interesting, that's exactly what's being done in delay_basic.h pointed out by specing yesterday
[04:05:03] <PlastyGrove> "1: sbiw %0,1" "\n\t"
[04:05:05] <PlastyGrove> "brne 1b"
[04:05:15] <PlastyGrove> I was wondering what it meant
[04:05:34] <Xark> PlastyGrove: Exactly. Very handy and there won't be an error if that is used twice (macro or #define or whatever).
[04:05:45] <PlastyGrove> jacekowski: probly will use it rarely, but helps to learn - apparently even the library authors use it :|
[04:06:33] <jacekowski> and well, 1b is bad idea in my opinion
[04:06:52] <PlastyGrove> Xark: thanks, that was helpful
[04:07:02] <jacekowski> as in some places that may mean 1
[04:07:04] <jacekowski> as in, number 1
[04:07:23] <PlastyGrove> Making slow and steady progress with asm now, one blinky in the pocket and I'm ready to conquer the world B-)
[04:07:40] <PlastyGrove> Bring on I2C!
[04:09:04] <jacekowski> i2c is messy
[04:10:22] <PlastyGrove> I know, took me 3 days to get it to work using C
[04:32:56] <Tom_itx> OndraSter_, that oven should work ok. You just want something that will give even heat distribution.
[05:58:08] <R0b0t1> A low pincount part like a tiny85 can still self-program if the reset pin is utilized as IO, right?
[06:02:11] <theos> the fuses decide what the pin is used for i think
[06:09:09] <specing> yep, t45 has spm
[06:44:58] <OndraSter_> g'day mates
[06:45:01] <OndraSter_> thanks Tom_itx :)
[06:45:15] <OndraSter_> R0b0t1, yes
[06:45:22] <OndraSter_> and it can be reset by HVSP
[06:52:34] <R0b0t1> Thanks all.
[06:52:47] <R0b0t1> (I mean, figured you could, but every now and then...)
[07:00:10] <R0b0t1> Hey so, I've been trying to work through if this would work and I think I'm at the part where I need to test it
[07:00:32] <R0b0t1> using TCNT1 on a tiny*5 and the PLL, you can output some pretty high frequencies
[07:00:39] <R0b0t1> AND
[07:00:51] <R0b0t1> using the osccal register, you can modulate those frequencies...
[07:01:36] <R0b0t1> I was wondering if it'd be possible to get 27MHz (RC toys) from the 32MHz high-speed mode TCNT1, and modulate that to send data if you had a way to smooth it and amplify it a bit
[07:02:03] <R0b0t1> TCNT1 has some extra registers so I'm pretty sure you could trim the 32MHz down to 27 decently
[07:15:09] <OndraSter_> sure
[07:15:19] <OndraSter_> on ovf set value of TCNT to something
[07:15:31] <OndraSter_> make the math to what
[07:15:35] <OndraSter_> actually
[07:15:38] <OndraSter_> you want to slow it down?
[07:15:49] <OndraSter_> higher prescaler and do that ^
[07:41:48] <OndraSter_> http://www.walmart.com/ip/Rival-4-Slice-Toaster-Oven-White/14978076?findingMethod=rr
[07:41:50] <OndraSter_> damn that's cheap
[07:41:56] <OndraSter_> I should go and see if there is something as cheap as well
[08:13:51] <KidBeta> I just have a quick and most likely very stupid question, Is it possible to change the value of a timer you are using to blast off a interrupt whilst the interrupt is firing so i can change the length between interrupts depending on some variable.
[08:14:31] <KidBeta> timer register*
[08:20:19] <Casper> KidBeta: I never tried, but yes you can change the timer value
[08:20:34] <KidBeta> oh cool
[08:20:35] <KidBeta> thanks
[08:20:41] <KidBeta> that makes life alot easier
[08:41:07] -cameron.freenode.net:#avr- [freenode-info] why register and identify? your IRC nick is how people know you. http://freenode.net/faq.shtml#nicksetup
[08:48:04] <OndraSter_> optimizations in gcc are a bi*ch :)
[08:48:07] <OndraSter_> they often break stuff
[08:48:56] <Steffanx> Says the one who never uses GCC :P
[08:50:04] <OndraSter_> I do use gcc
[08:50:08] <OndraSter_> in atmel studio
[08:50:08] <OndraSter_> ..
[08:54:32] <KidBeta> OndraSter_: exactly where im using it. Never had problem with plain gcc but the atmel ones a bit more, unique with the optimisations turned on.
[08:54:54] <OndraSter_> it buggers up during optimalizations quite often
[08:55:07] <OndraSter_> there is problem in LUFA that when you switch to -Os it stops working :D
[08:55:09] <OndraSter_> like I said
[08:55:11] <OndraSter_> it is buggered
[08:55:28] <Steffanx> You mean pebkec-ed?
[08:55:32] <Steffanx> *kac
[08:55:37] <OndraSter_> no?
[08:55:40] <OndraSter_> in -O2 it works
[08:55:43] <OndraSter_> in -Os it does not
[08:56:46] <KidBeta> -O1 borks mine
[08:59:53] <Steffanx> And what exactly gets borked?
[09:00:34] <KidBeta> i have code that checks a global variable then branches based on that, inside the branch the variable gets switch from -1 to 0, with 01+ it just straight out skips it.
[09:00:50] <specing> OndraSter_: use inline asm you fool
[09:01:11] <OndraSter_> :D
[09:01:12] <specing> I puke every time I look at void main() {} assembly
[09:01:45] <Steffanx> KidBeta, modifiying it inside an interrupt?
[09:01:52] <KidBeta> maybe
[09:02:01] <specing> gcc spews a fuckton of LDS/STS for SEQUENTIAL MEMORY CELLS even after giving it -Os
[09:02:29] <Steffanx> KidBeta, that was a question KidBeta .. if you modify that global var inside your interrupt
[09:02:36] <KidBeta> i am
[09:02:48] <specing> OndraSter_: I though LUFA is full of inline asm, no?
[09:02:54] <OndraSter_> no
[09:02:54] <specing> thought*
[09:02:56] <OndraSter_> that is V-USB
[09:03:02] <Steffanx> And the variable is declared volatile? KidBeta ?
[09:03:05] <specing> I guess Dean failed
[09:03:12] <Steffanx> If not perhaps this is useful http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=97382
[09:03:24] <specing> OndraSter_: Now I just wonder why V-USB programmers do 3/4 the speed of LUFA ones...
[09:03:33] <Steffanx> specing, no lufa is not 'full' of inline asm
[09:03:47] <KidBeta> Steffanx: it is now
[09:03:49] <Steffanx> Only people like you would do that
[09:03:50] <OndraSter_> specing, because V-USB is much harder to do :)
[09:03:50] <KidBeta> that went right over my head
[09:04:34] <specing> "GCC is an optimizing C compiler."
[09:04:38] <specing> Huahahahaha
[09:04:57] <Steffanx> blablabla specing
[09:05:06] <w|zzy> OndraSter_: Is that bug (-O2 vs -Os) in gcc aswell?
[09:05:16] <OndraSter_> it IS in gcc
[09:05:20] <OndraSter_> it happens with LUFA
[09:05:22] <OndraSter_> but not all of them I suppose
[09:05:26] <OndraSter_> somebody here reported it
[11:16:19] <PlastyGrove> in asm, how do we work with numbers bigger than 2^16?
[11:16:27] <PlastyGrove> Ex: F_CPU = 16000000
[11:17:08] <theBear> you don't really need a number anywhere near that big to achieve the same result
[11:17:23] <theBear> oh wait, depends what yer using it for
[11:17:28] <theBear> it's late, i'll just shutup :)
[11:17:43] <theBear> you don't even wanna know what i was gonna say next :)
[11:18:35] <PlastyGrove> theBear: Now you've got me curious ;)
[11:18:41] <PlastyGrove> theBear: Well, I'm trying to implement USART using asm, I'm sure I can do it without using the big number, but just want to know how to go about if I wanted to
[11:20:13] <theBear> oh, if it's just for usart you only need maybe a byte or two set... and i'm WAAAAY outta practice in asm land... and tired and drunk.... i can think of how you might get around maths on big numbers, but can't for the life of me remember how you would represent the number itself outside of manually lining it up in a few bytes somewhere, maybe that's the answer ?
[11:21:40] <PlastyGrove> theBear: Hmm, maybe this is a general asm problem not just for avr, I think what you're hinting at might be the right way, let me google it for a bit
[11:22:35] <PlastyGrove> theBear: Dam, just realized x86 has 32 bit registers, so this isn't an issue at all
[11:23:04] * PlastyGrove realises that they should then have 64 bit problems, goes back to google
[11:27:22] <theBear> it's a general asm problem in <=16bit land
[11:27:44] <theBear> also the compiler comes into it a lot, back in the day asm/machine code didn't look nearly as 'nice' as it does these days :)
[11:36:12] <OndraSter_> ohgodx86asmgodsaveusall
[12:19:40] <jadew> any impressions on bus pirate v4?
[12:20:18] <jadew> I don't know if I should get the v4 or go for v3
[12:20:57] <jadew> if they won't change the hardware, v4 is the logical choice tho
[12:24:17] <specing> bpirate is PIC afaik
[12:24:31] <RikusW> the opposition :-P
[12:24:41] <specing> fuck PICs ;P
[12:24:42] <LoRez> v4 is a hardware change from v3
[12:24:57] <jadew> doesn't matter :P it gets the job done
[12:25:13] <specing> yeah but still ... PICs
[12:25:25] <LoRez> it also doesn't have near the software support yet that v3 has.
[12:25:35] * RikusW still have a few 16F627's and a 16F877....
[12:25:39] <rue_house> heh, but you can code for pics in C now, and it does the code memory page managment for you, so you will almost never notice
[12:25:46] <jadew> LoRez, I'm sure that will come in time
[12:26:04] <LoRez> it will, but if you want it to be usable _now_, v3 is still the way to go
[12:26:15] <rue_house> and I think they will even give you a FREE C compiler
[12:26:29] <RikusW> PIC paging + accumulator suck...
[12:27:02] <rue_house> but they divide the cpu clock by 4!
[12:27:04] <RikusW> 32 registers is much better
[12:27:16] <RikusW> that too...
[12:27:21] <rue_house> dont you want your cpu clck divided by 4?
[12:27:35] <RikusW> no
[12:27:46] <rue_house> that means you can get almost 5 mips out of a 20Mhz pic!
[12:27:52] <RikusW> so 20MHz AVR == 80MHz PIC...
[12:28:36] <RikusW> And AVR32 will give 30 mips for 20MHz
[12:30:12] <jadew> damn it, I always decide on buying the bus pirate and then I change my mind
[12:30:16] <jadew> now I want to make my own
[12:30:26] <RikusW> with AVR ?
[12:30:30] <jadew> yeah
[12:30:54] <jadew> the bus pirate makes sense out of comodity
[12:30:58] <RikusW> If you use AT32UC3A3xxx you can get hi-speed usb too
[12:31:04] <jadew> cuz it has all that crap already in the firmware
[12:31:14] <RikusW> or get its xplain board for $29
[12:31:35] <jadew> I'm gonna make mine for under $10 :D
[12:31:51] <jadew> I won't analyze high speed buses anyway
[12:31:57] <RikusW> what does the buspirate cost ?
[12:32:21] <jadew> 37 euro for v4
[12:32:32] <jadew> 25 for v3
[12:32:35] <RikusW> and v3 ?
[12:32:41] <jadew> quite cheap really
[12:32:55] <RikusW> about the same price as my board
[12:33:07] <jadew> what board
[12:33:08] <jadew> ?
[12:33:12] <RikusW> http://sites.google.com/site/megau2s/home
[12:33:33] <RikusW> multi purpose for prototyping
[12:33:55] <jadew> nice
[12:34:09] <RikusW> thanks
[12:34:53] <RikusW> I get about 70KB/s using 32byte usb buffers
[12:35:12] <RikusW> using 64 byte buffers might make it faster
[12:35:16] <RikusW> *should
[12:36:17] <RikusW> however, transferring byte by byte and flushing each byte, results in 1KB/s due to USB design....
[12:36:33] <jadew> yeah, it needs to query the device
[12:36:51] <RikusW> USB latency is BAD
[12:37:08] <RikusW> hi-speed should be considerably better than full-speed
[12:37:38] <RikusW> still, block transfers is preferred for speed
[12:37:45] <jadew> how much does that chip costs?
[12:37:54] <RikusW> the m32u2 ?
[12:37:58] <jadew> yeah
[12:38:14] <RikusW> about 4Euro
[12:38:28] <RikusW> or more depending on supplier
[12:38:38] <jadew> hmm, not that expensive, not cheap either
[12:38:39] <RikusW> and quantity taken
[12:38:59] <RikusW> it does need a pcb, its only available as tqfp or qfn
[12:40:16] <RikusW> And the programmer firmware I put on there took more time than expected to develop
[12:40:26] <RikusW> Initially I didn't even plan to add jtag...
[12:41:02] <RikusW> so sort of a mini dragon
[12:41:13] <jadew> heh
[12:41:29] <jadew> you need HVP and it's the full package :)
[12:41:34] <RikusW> it can do ISP HVPP HVSP mega JTAG
[12:41:50] <RikusW> for HV it does need some extra parts
[12:41:51] <jadew> oh, nice
[12:41:57] <RikusW> its documented on the site
[12:42:22] <grummund> PDI next?
[12:42:46] <RikusW> and if you really want PDI or TPI load the LUFA AVRISP mkII
[12:43:42] <RikusW> and then there is the bootloader for custom firmware too, it doesn't disturb the programmer firmware either (its loaded high in flash)
[12:44:13] <RikusW> oh and there is a USB -> serial fw module too ;)
[12:44:23] <RikusW> so 4 in one
[12:50:59] <grummund> maybe i should mod up a bumbleb with that, might come in handy.
[13:48:44] <tomatto> hi
[13:48:45] <tobbor> tomatto! like, totally tell us about the project!
[13:50:38] <tomatto> i am trying to do step-down dc-dc converter. but i am failed with controlling timer's OCR1A according to ADC measured value. can you help me or direct me to somewhere usefull?
[13:50:55] <tomatto> useful
[13:51:30] <OndraSter_> tomatto, tobbor is a bot and he randomly asks for that :D
[13:52:27] <tomatto> OndraSter_: but i need to help with what i wrote
[13:52:34] <OndraSter_> :)
[13:52:44] <OndraSter_> grab the ADC measured value
[13:52:51] <OndraSter_> and adjust OCR1A value based on ADC
[13:52:52] <OndraSter_> :D
[13:53:33] <tomatto> OndraSter_: i am doing it
[13:53:49] <OndraSter_> well you haven't told us the issue yet
[13:54:01] <tomatto> but i got zero or power supply in output
[13:54:10] <OndraSter_> is it switching?
[13:54:25] <tomatto> OndraSter_: i think i did
[13:54:55] <tomatto> OndraSter_: yeah, it is switching. i used timer because of it
[13:55:14] <OndraSter_> show us your circuit diagram
[13:55:15] <OndraSter_> and code
[13:56:35] <tomatto> circuit is from appnote AVR450
[13:56:46] <OndraSter_> hmm
[13:57:06] <tomatto> very inspired :D
[13:57:10] <OndraSter_> and code?
[13:57:32] <tomatto> what part do you want to see?
[13:57:49] <OndraSter_> all the DC-DC stuff
[13:59:56] <tomatto> OndraSter_: main part of it is in timer interrupt http://pastebin.blesmrt.net/2618/
[14:00:13] <OndraSter_> " OCR1A"
[14:00:18] <OndraSter_> OCR1A
[14:00:20] <OndraSter_> whoops
[14:00:26] <OndraSter_> TIMER2_OVF_vect
[14:00:34] <OndraSter_> you are using TIMER2 but OCR1?
[14:01:24] <OndraSter_> are you ABSOLUTELY sure that the circuit is switching?
[14:02:21] <tomatto> timer2 is for time constant and OCR1 setting duty cycle
[14:02:53] <tomatto> OndraSter_: why are you asking over and over? i am 100% sure!
[14:03:24] <tomatto> there is coil btw.
[14:03:27] <OndraSter_> because the code looks weird, what is the if(OCR1A) about?
[14:04:16] <OndraSter_> because if OCR1A == 0 then it is set to 0 again
[14:04:17] <OndraSter_> and again
[14:04:19] <OndraSter_> and again
[14:04:30] <OndraSter_> and CS11 is set to 0 again and again and again
[14:04:35] <OndraSter_> same for DDR1
[14:04:37] <OndraSter_> DDRB1*
[14:05:46] <tomatto> can you show me how do it right?
[14:06:22] <tomatto> when OCR1A is 0, then i switch off output
[14:06:45] <OndraSter_> and how do you turn it back on?
[14:06:49] <OndraSter_> that is missing in the code
[14:08:56] <tomatto> OndraSter_: in pwm[0] is desired 8bit value of desired current
[14:09:15] <OndraSter_> ok
[14:09:53] <OndraSter_> do you have a scope to see what is happening througout the circuit?
[14:10:42] <tomatto> i have old russian one
[14:10:59] <OndraSter_> better than nothing
[14:13:18] <tomatto> OndraSter_: can you tell me, how do you imagine this function/interrupt service?
[14:14:26] <OndraSter_> if(voltage < required) OCR++; else if (voltage > required) OCR--; if(current > allowed) OCR = OCR*0.8;
[14:14:55] <OndraSter_> you shouldn't need to touch the DDR or TCCR registers at all
[14:15:04] <OndraSter_> just put the OCR value to the minimum so it doesn't come up at all
[14:15:41] <OndraSter_> and run this at TIMER1 ovf
[14:15:48] <OndraSter_> one timer to rule it
[14:17:22] <tomatto> OndraSter_: when timer1 is activated and OCR = 0, output isn't totaly zero. did you know that?
[14:17:47] <OndraSter_> it is 0,0nothing
[14:18:44] <tomatto> OndraSter_: when i connect led to timer's output, it lights, very low, but lights
[14:19:16] <OndraSter_> oh appnote 450 is battery charger
[14:22:36] <tomatto> OndraSter_: but with 16bit timer is output higher than zero
[14:23:21] <tomatto> it is reason why i am disabling output
[14:23:47] <OndraSter_> if I find my mega328..
[14:24:21] <specing> spoon_feeding();
[14:25:11] <tomatto> i am using mega8
[14:44:48] <OndraSter_> wait what
[14:44:52] <OndraSter_> Dragon can not ISP mega8?!
[14:44:53] <OndraSter_> since when
[14:47:05] <specing> since you switched MOSI and MISO
[14:47:40] <OndraSter_> no
[14:47:46] <OndraSter_> since it is written in atmel studio 6 release note
[15:03:03] <amee2k> http://www.youtube.com/watch?v=Xyx5ck-Dcpk&feature=relmfu <<< YES! this one. so hard. SO FUCKING HARD, DUDE.
[15:03:09] <amee2k> (includes somewhat nsfw language)
[16:32:36] <OndraSter_> abc
[16:32:38] <OndraSter_> where is he!
[16:32:49] <kline> out at sea
[16:38:32] <jadew> I suppose atmel has not released the debugWire protocol while I wasn't paying attention, isn't it?
[16:50:15] <rue_shop4> they seem to keep the protocol stuff misfiled in the bottom of file cabinets lost in the the darkest corners of basement storage rooms where all the lights are burnt out
[16:50:37] <rue_shop4> call them up and ask WTF
[16:50:51] <jadew> yeah, kinda sad they do that
[16:51:37] <jadew> everything would be so much easier (especially for those who use home built programmers)
[16:52:04] <jadew> either that, or they should put a bit more effort in the documentation
[16:52:15] <jadew> the USI docs are pure garbage
[19:16:39] <OndraSter_> wow
[19:16:46] <OndraSter_> I have found a battery made in january 99
[19:16:49] <OndraSter_> it is LR40
[19:16:52] <OndraSter_> huge big ass battery
[19:17:01] <OndraSter_> LR40 says
[19:17:02] <OndraSter_> Energizer
[19:17:06] <OndraSter_> and it STILL has 1.53V
[19:17:08] <OndraSter_> REmARKABLE!
[19:17:22] <OndraSter_> LR20*
[19:17:31] <OndraSter_> aka D cell
[19:17:43] <OndraSter_> 12000 - 18000 mAh
[19:33:44] <specing> OndraSter_: 18Ah from '99?
[19:33:49] <specing> Impossiburu
[19:34:45] <OndraSter_> well nowadays LR20 is specced at 18Ah
[19:34:47] <OndraSter_> http://en.wikipedia.org/wiki/D_battery
[19:34:59] <OndraSter_> no idea how much is this one
[19:35:02] <OndraSter_> it is not written on it
[20:11:07] <tmpvar> is there a way to reset an avr8 chip and trick it into thinking that it has been hardware reset (read: EXTRF)?
[20:11:58] <tmpvar> *from userland
[20:13:48] <Phantom> tmpvar: connect reset to a gpio pin
[20:14:15] <Phantom> the other way is to use the watchdog timer, but that's not the same reset
[20:14:56] <tmpvar> Phantom, makes sense, I'm using a watchdog timer now. Doesn't the watchdog set its own reset flag?
[20:15:08] <Phantom> yes
[20:15:28] <tmpvar> This is sort of a convienience thing. I have a few devices "in the wild" and i want to make it easier to push new firmware
[20:16:29] <tmpvar> I'm guessing it isnt recommended to force a jump into the bootloader from userland
[20:20:50] <Tom_itx> there is a way...
[20:20:58] <Tom_itx> it involves the wdt
[20:23:14] <tmpvar> Tom_itx, oh?
[20:26:03] <Tom_itx> i forget if wdt reset clears all vars or not though
[20:39:40] <Tom_itx> http://www.atmel.com/images/doc2551.pdf