« first day (933 days earlier)      last day (4006 days later) » 

12:27 AM
@rawbrawb Big yawn, probably worth +2 if I wrote the equivalent of a complete book chapter on RIN measurements...
Not that I'm claiming I could write a complete book chapter on RIN measurements or anything.
 
1:02 AM
@ThePhoton Is that just weird way of talking about shot noise from a thermal source or does it also include temporal contribution from speckle?
 
1:21 AM
Yo yo yo!
 
1:39 AM
@rawbrawb Yo!
 
2:06 AM
grEEtz
 
@AnindoGhosh Yo yo yo!
 
@coding_corgi :-)
 
@AnindoGhosh Whatcha doing?
 
@coding_corgi Waking up, so far :-) Catching up on mails from overnight
 
@rawbrawb You mean RIN? Honest I am not sure. I doubt it's anything to do with a thermal source, because the laser is a negative temperature system. I do have books on my desk with chapters about RIN, but they're at work.
The Wikipedia article is crap, but this looks okay, and talks about the sources of RIN:
 
 
2 hours later…
4:16 AM
10 to 12 weeks?! :(
 
@ThePhoton interesting article, Although I'm not sure what they are talking about with regards to a SA being calibrated for sinusoids and not noise ... however, the rest I will read and I had forgotten about squeezed states. Moreover, you've piqued my curiosity, do you have reference for lasers being negative temperature systems?
 
@rawbrawb Because you need a population inversion to achieve laser action, sometimes it's called a "negative temperature" system.
In physics, specifically statistical mechanics, a population inversion occurs when a system (such as a group of atoms or molecules) exists in a state with more members in an excited state than in lower energy states. The concept is of fundamental importance in laser science because the production of a population inversion is a necessary step in the workings of a standard laser. Boltzmann distributions and thermal equilibrium To understand the concept of a population inversion, it is necessary to understand some thermodynamics and the way that light interacts with matter. To do so, it is us...
[[File:ColdnessScale.png|right|thumb|[http://www.bipm.org/en/si/ SI] temperature/coldness (1/kT) scale.]] In physics, certain systems can achieve negative temperature; that is, their thermodynamic temperature can be expressed as a negative quantity on the Kelvin or Rankine scales. In colloquial usage, "negative temperature" may refer to temperatures that are expressed as negative numbers on the more familiar Celsius or Fahrenheit scales, with values that are colder than the zero points of those scales but still warmer than absolute zero. By contrast, a system with a truly negative tempera...
 
4:48 AM
More to the point, when you talk about a laser, you're talking about a system that isn't in thermal equilibrium, so whatever results you have about thermal noise don't apply.
 
5:27 AM
@david-kessner awesome answer to the cow tipping!
 
5:42 AM
@ThePhoton thanks!
 
 
1 hour later…
user61389
7:06 AM
Good morning!
 
¡buenos dias!
 
 
1 hour later…
8:29 AM
hey
 
-8
Q: Any body can give a remote Circuit?

user222687I Have made a simple emergency lamp in my house.I wants to on and off the lamp with remote.Could anybody help me?

This guy^ is awesome :D
 
user61389
0
Q: Questions for Exam Test in Semiconductor Elements

MilianQuestions may be found in the link below: Task List Answered needed by Sunday night. Thankyou.

 
@CamilStaps Technically, he has a lot of specific questions ;-)
 
user61389
@AshRj sssh :P
 
remote how? :)
 
user61389
8:43 AM
Why was this closed as off topic?
 
user61389
-2
Q: Turn on computer by cell phone but not when it's already on

JohnI am newbie in electronic engineering. I'm trying to turn on my computer by calling my cell phone. I toke two wires from the vibrator of the cell phone and that's fine, but I don't want to turn off my computer when is on. So when my computer is turned on (indicated by a green LED), the cellphone ...

 
@AshRj I mean if you want to remote it with just a clap, your controller can record and check your clap and on or off your lamp. But if you want to do it with external device, you could use a wireless protocol
ahh lol... and here i am answering here... -.-
 
@BarışcanKayaoğlu It wasnt my question to start with but thanks any way ;-)
 
@AshRj yea i realised that :P
Anyways, anyone used a gyroscope?
 
 
1 hour later…
9:50 AM
@CamilStaps I can get really angry with those students.
We should keep that question to set an example of how things are not supposed to be done.
 
user61389
Yes, perhaps
 
Arghh.. can someone help me? I'm stuck with the most simple problem and i'm not able to solve it...
x = 60652 / 10000 print(x) results = 6
x = 60652; x = x / 10000; print(x) results 0 :S
writing with C to Msp430..
 
user61389
What data type has x?
 
user61389
Signed or unsigned? How many bits?
 
9:54 AM
signed
 
make it uint16_t or int32_t
 
user61389
With a 16-bit signed, you can only get to 32768. So yes, do what jippie says :)
 
yeah listen to the boy
;o)
 
ahh...
is this because my launchpad is 16 bit?
 
user61389
@BarışcanKayaoğlu no, it's because an int is 16 bits wide
 
9:56 AM
coz i'm on x64 platform so i thought int could hold 64 bit :)
 
no your compiler probably defaults to 16 bits
 
i see. Thanks :)
 
are you compiling for the PC?
 
that is your host, which has nothing to do with the target architecture
 
cause if your application isn't running on a 64 bit device, that's not going to have any effect
*beat
 
user61389
9:57 AM
No, MSP430. Your PC has nothing to do with the width of your data types.
 
^that
 
one more thing, uint32_t is unsigned?
 
:o)
 
it starts with u
 
u = unsigned
 
9:57 AM
so yes
 
user61389
@BarışcanKayaoğlu yes, that's the u
 
ok thanks :)
 
int = integer
32 = number of bits
 
uint = unsigned integer
 
_t for "type"
 
9:58 AM
There is a typedef somewhere in the headers
the ones that come with the compiler
If you're feeling curious, you can track down where the various data types are defined, and see specifically what is what that way
That can be interesting
 
user61389
Or check the docs
 
we sound like Huey, Dewey, and Louie :o)
2
 
yeah, I thought that was pretty awesome
It's not for the MSP, but it's representative:

typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed int int16_t;
typedef unsigned int uint16_t;
typedef signed long int int32_t;
typedef unsigned long int uint32_t;
typedef signed long long int int64_t;
typedef unsigned long long int uint64_t;
In this case, that's from the Atmel ATxmega stdint.h files
but it's pretty much the same everywhere, at least for most C compilers
 
oh god.. i included inttypes.h and my serial print func corrupted now :(
 
user61389
Don't you have short longs for AVRs? :)
 
10:02 AM
you shouldn't have to include it
@CamilStaps - apparently not
 
and btw, even with unsigned int if it's 16-bit, shouldn't it work? my number 60357 is within the range
 
user61389
@ConnorWolf I knew MCP was better :D
 
@camil how many bytes is a short long anyways
 
user61389
@BarışcanKayaoğlu yep, should work, as long as it's unsigned
 
user61389
@ConnorWolf 24, it isn't really useful :)
 
10:04 AM
huh
hahahahaha
 
@CamilStaps 24 bytes? that is hugely long int
 
well my first question
x = 60652 / 10000 print(x) results = 6
x = 60652; x = x / 10000; print(x) results 0 :S
was testing with unsigned int..
 
user61389
@jippie uh, not for MCP, long is 32 :)
 
@BarışcanKayaoğlu -
A 16 bit uint will do 0 - 65535
A 16 bit int will do -32768 - 32767
 
that is an astronmically long int
 
10:05 AM
ALL THE INTS
2
it's for calculating the number of protons in the visible universe
or the number of femtoseconds since the big bang
 
@ConnorWolf yeah commonly done on a PIC
 
ahh yes my bad. Forgot about the 2's complement
 
MY PIC SUPERCOMPUTER IS WORKIN
 
user61389
@ConnorWolf of course it works, it's PIC
 
hah, actually I've always found PICs pretty much a pain in the ass
 
10:06 AM
@CamilStaps you are confusing platforms
 
But after i changed them all in uint32_t all of them corrupted now. And how can i do this without including inttypes.h, appearently they are undefined
 
that's why I'm using ATxmegas
 
user61389
@ConnorWolf hush :)
 
@BarışcanKayaoğlu mayby you are running out of SRAM?
 
user61389
@BarışcanKayaoğlu what error message do you get?
 
10:07 AM
@BarışcanKayaoğlu - What are you changing? Are you editing the standard headers?
 
@CamilStaps I am not getting any message, just losing the bits resulting 0 where it should be 6
 
or are you passing the wrong variable types to functions without typecasting?
 
I am just changing my unsigned ints to uint32_t
 
user61389
Can we see your whole code? (Pastebin if it's too long)
 
if you're passing the variables who's data-type you changed to functions, that would probably be your problem
you can't pass 16-bit variables to functions that require 32 bit parameters, and vice versa
you have to explicitly cast
 
10:09 AM
unsigned int x;
x = 60356;
x = x / 10000;
serialPrint(x, 1);

//serialPrint is my function where it was working with the unsigned int representation, i changed all of unsigned ints to uint32_t in the function aswell
 
show us the print function too, please
 
user61389
That code should be optimized by the compiler to x=6 anyway.
 
depends on what the compiler does, and if he's in debugging mode (which often disables most/all optimizations)
 
void serialPrint(int num , int isInt) {
uint32_t num_send[6];
uint32_t numTemp;
uint32_t length;
..
else if(num/10000 > 0) { // 5digit
length = 5;
num_send[4] = num/10000;
numTemp = num % 10000;
num_send[3] = numTemp/1000;
numTemp = numTemp % 1000;
num_send[2] = numTemp/100;
numTemp = numTemp % 100;
num_send[1] = numTemp/10;
num_send[0] = numTemp % 10;
}
..
else if(length == 5) {
UCA0TXBUF = intToAscii(num_send[4]);
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = intToAscii(num_send[3]);
 
user61389
Why don't you use printf()?
 
10:12 AM
something is missing there
where is the first if?
 
i know its not dynamic but since im working with only 16 bit, i wrote it for only 6 digits
 
user61389
Try printf("%u", x) instead of your serialPrint call. Then we know if the problem is in your serialPrint or in the declaration of x.
 
I literally wrote an exact version of this for a different platform a few days ago
@CamilStaps - He probably doesn't have printf
 
well first if is checking num/100000 doing the same extraction for 6 digit, i only pasted the 5 digit part since the example num was 60357
 
getting print functions to work on a MCU is a nightmare
 
user61389
10:14 AM
@ConnorWolf what? Why not?
 
I don't have them on the XMEGA I'm dealing with
they're huge and bloated and triple the code size
 
is there a printf for msp430? I don't know if there is a console for this device :)
 
user61389
@ConnorWolf I have them on PICs, they're long but the work :)
 
user61389
@BarışcanKayaoğlu what compiler?
 
whatever CCS uses :)
 
user61389
10:15 AM
@BarışcanKayaoğlu See this: processors.wiki.ti.com/index.php/…
 
#define ASCII_ZERO_OFFSET 48 // the ascii table offset for 0

void LCD_Print_Number(uint16_t num)
{
LCD_Write_Char((num / 10000) + ASCII_ZERO_OFFSET);
num = num % 10000;
LCD_Write_Char((num / 1000) + ASCII_ZERO_OFFSET);
num = num % 1000;
LCD_Write_Char((num / 100) + ASCII_ZERO_OFFSET);
num = num % 100;
LCD_Write_Char((num / 10) + ASCII_ZERO_OFFSET);
num = num % 10;
LCD_Write_Char((num) + ASCII_ZERO_OFFSET);

}
doing the int-ascii conversion old-school
 
@ConnorWolf yes this is a similar thing that i'm doing
 
drop the functionality to skip printing leading zeroes, and see if that fixes stuff
 
user61389
@BarışcanKayaoğlu but Connor's code works for sure, so try that and we know where your problem is :)
 
well, you'd need to replace LCD_Write_Char with your own serial tx routine
 
user61389
10:17 AM
And to define ASCII_ZERO_OFFSET
 
FWIW, here is what it looks like on my end:


void LCD_Write_Char(unsigned char data)
{
USARTD1.DATA = data; // transmit char
if(!(USARTD1.STATUS&USART_DREIF_bm))
while(!(USARTD1.STATUS & USART_TXCIF_bm)); // wait for TX complete
USARTD1.STATUS |= USART_TXCIF_bm; // clear TX interrupt flag
};
@CamilStaps - Edited it into my post already
 
user61389
@ConnorWolf oh, didn't see that :)
 
@CamilStaps - Ninja'd
 
@ConnorWolf is this num that you declared is uint32_t?
 
I'm not using any uint32_t at all
it's all uint26_t and char
 
user61389
10:20 AM
@BarışcanKayaoğlu see the function params, it's a uint16_t
 
ok
ahh yes my bad :)=
 
the ADC and DAC in the system this is part of are only 16 bit, so I didn't bother with facilities for greater bit-depth
silly LCD is silly
incidentally, in your code:
else if(num/10000 > 0) { // 5digit
length = 5;
num_send[4] = num/10000;
numTemp = num % 10000;
num_send[3] = numTemp/1000;
numTemp = numTemp % 1000;
num_send[2] = numTemp/100;
numTemp = numTemp % 100;
num_send[1] = numTemp/10;
num_send[0] = numTemp % 10;
}
it looks like you're doing conditional checking to see how many digits the passed variable could take
you don't need to do that.
you can simply do:
num_send[4] = num/10000;
numTemp = num % 10000;
num_send[3] = numTemp/1000;
numTemp = numTemp % 1000;
num_send[2] = numTemp/100;
numTemp = numTemp % 100;
num_send[1] = numTemp/10;
num_send[0] = numTemp % 10;
the higher digits would evaluate to 0 either way, and your speed-gain isn't meaningfully significant anyways
plus, that way the higher digits are always zero, or valid
that way, you could do a loop over the num_send array
and make the whole thing a lot simpler
hmmm, one second.
void serialPrint(uint32_t num)
{
	uint32_t num_send[6];

	num_send[0] = num/10000;
	numTemp = num % 10000;
	num_send[1] = numTemp/1000;
	numTemp = numTemp % 1000;
	num_send[2] = numTemp/100;
	numTemp = numTemp % 100;
	num_send[3] = numTemp/10;
	num_send[4] = numTemp % 10;

	uint8_t loopCntr;
	for (loopCntr = 0; loopCntr < 5; loopCntr++)
	{
		if(num_send[loopCntr] != 0)
		{
			UCA0TXBUF = intToAscii(num_send[loopCntr]);
			while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
		}
	}
 }
That should work
I havn't compiled or tested it
but the general functionality is there
 
should i make a length control aswell? i feel like i'm sending 0's for no purpose
 
The code I just posted does that
Basically, we break num down into base-10 sections, in num_send
 
10:31 AM
then, you iterate over num_send from the most-dignificant digits to the least significant
wait, that would have issues if you have zeros anywhere
void serialPrint(uint32_t num)
{
	uint32_t num_send[6];

	num_send[0] = num/10000;
	numTemp = num % 10000;
	num_send[1] = numTemp/1000;
	numTemp = numTemp % 1000;
	num_send[2] = numTemp/100;
	numTemp = numTemp % 100;
	num_send[3] = numTemp/10;
	num_send[4] = numTemp % 10;

	uint8_t loopCntr;
	uint8_t started = FALSE;
	for (loopCntr = 0; loopCntr < 5; loopCntr++)
	{
		if((num_send[loopCntr] != 0) or started)
		{
			started = TRUE;
			UCA0TXBUF = intToAscii(num_send[loopCntr]);
			while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
there, I think that will fix it
You could also convert the modulo section into a loop
but that's probably not worth the effort
on the other hand, it would let you change the size of the printed integer by just twiddling the loop variables
 
Hmm i really need to check the functionality of this uint32_t.. For some reason it makes a ascii conversion.
the reason i was holding the variable isInt
like this
void serialPrint(uint32_t num, int isInt)
 
Anyways, the second version (above) sets a flag once it sees the first valid digit
what does isInt do?
the function can only take an int anyways
 
if(isInt) {..
else {
UCA0TXBUF = num;
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
}
its to use like this
serialPrint(Ascii_Dot, 0);
 
so num is always going to be an int
 
im sending 0x2E for the . character
and write it right into the TXbuffer
 
10:38 AM
so that should be a separate function
 
yes well that is in my else part checking the isInt
 
your "print an integer" function should not also double as your "print a decimal point" function.
 
sending like this
serialPrint(Ascii_Dot, 0);
or sending an integer like this serialPrint(123, 1)
 
yeah
that's silly
you should have serialPrint and serialPrintInteger
 
10:40 AM
and serialPrintInteger should call serialPrint instead of manipulating the USART registers directly
that way, all communication goes through that one function
and then, later on, if you want to change platforms/change serial port/whatever, it's just one change in one place.
 
Seperating the functions make it more specific and since it takes an unsigned char its more clean now. Thank you :)
 
hell, I bet if you replaced the LCD_Write_Char in the function I posted above with something that would work on the MSP, the rest would compile and work without issue, despite the fact that it's written for a completely different device, with different peripherals, and a different architecture
Incidentally, your code really, really violates the DRY principle:
http://en.wikipedia.org/wiki/Don't_Repeat_Yourself
 
nice url @ConnorWolf
 
I noticed
it's valid, but the SE chat seems to not handle " ' " properly
 
actually
i wrote a complete different one :)
 
10:49 AM
In software engineering, don't repeat yourself (DRY) is a principle of software development aimed at reducing repetition of information of all kinds, especially useful in multi-tier architectures. The DRY principle is stated as "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system." The principle has been formulated by Andy Hunt and Dave Thomas in their book The Pragmatic Programmer. They apply it quite broadly to include "database schemas, test plans, the build system, even documentation." When the DRY principle is applied successfully, a...
fixed
freaking urlescaping
basically, unless you really, REALLY needed to unroll those loops for speed, it's just a maintenance nightmare
 
Naa as i said earlier, since im working with 16 bit only
i do not need a dynamic loop
 
Yeah, but the loop is both clearer from a code-perspective, simpler to understand, and takes less effort to actually write
 
just wrote a serialWrite(num) function where it converts ascii to int and send, i wrote a few if statement and use serial writes
 
yeah, a 50 line if/else statement where a 5 line loop would work is nuts
it's horrible, horrible practice
 
uint32_t negCheck = 1<<15;
why does this gives me a warning says integer conversion results a change of sign?
 
11:00 AM
32 and 15?
 
is it not an unsigned int?
 
if you're doing math with it and a int16_t, it's probably being cast somewhere
automatically by the compiler
why are you defining that as a variable anyways
 
user61389
@ConnorWolf I don't really care about downvotes on Meta, but thanks :)
 
static stuff like that should be stuck in a #define
 
because somehow, compiler doesnt let me && operation with a defined one
 
11:01 AM
@CamilStaps - no problem
 
like the one in here
             if((yRate && negCheck) > 0) {
yRate is 32b int
 
Uh, you don't want && is the problem
C bitwise and is &
 
oh god... :)
 
user61389
&& is for 1-bit stuff
 
any why not simply say
` if(yRate < 0) {`
 
11:03 AM
man you are experienced.. And i was wondering whole this time why i could not convert 2's complement :)
 
The compiler will handle everything for you
I do SO much bit-twiddling
and no, most of the time I have no freaking idea what I am doing
I just do a very very convincing imitation of a competent person
 
I'm quite confused about this whole complement story..
i will make it clear
 
don't be
 
let me ask you this
 
you don't really ever have to deal with it
 
11:04 AM
what i'm trying to do is
 
if you want to check if a number is negative
if (x < 0) will work
 
taking 2 8 bit, combine it with | to get 16 bit
and print it :)
 
so you have two 8-bit sections that are parts of a signed 16 bit int?
 
yes :()
those 2 8 bit parts are represented as 2's complement
 
signedVar = (MSBsection << 8) | LSBsection;
I think
 
11:06 AM
yea i'm doing that
 
if they're already 2s complement, you shouldn't need to do any conversion
 
I'm not completely certain on bitwise operation on signed variables
probably somewhat compiler implementation specific
 
so if i declare a number 1111111111111100 is it -4 ?
as signed?
 
I think so
hold on
 
11:08 AM
conversion is like this with ^ operation and +1
 
math operators will likely change behaviour if the variable is signed or not
I'm not sure if bitwise operators will
(I don't think so)
 
maybe i should just stick with unsigned and make the conversions myself
 
yeah, it looks like bitwise operators ignore signing
in
int main()
{
   cout << "Hello World" << endl;
   int temp;
   temp = 30;
   temp |= 0xFFFFFFF0;
   cout << temp << endl;
   return 0;
}
it prints -2
this is with gcc 4.7.2, so a pretty standard compiler
further fiddling:
#include <iostream>

using namespace std;

int main()
{
   cout << "Hello World" << endl;
   int temp;
   temp = 0;
   temp |= 0x0FFFFFFF;
   temp <<= 4;
   cout << temp << endl;
   return 0;
}
so shifting a number ignores the sign
so
`signedVar = (MSBsection << 8) | LSBsection;`
should work
 
its ok i just declared negCheck as uint32_t negCheck = 32768;
 
stop with the neg-check stuff
 
11:12 AM
its 0x8000
 
if (x < 0)
you're overcomplicating it
 
@ConnorWolf Those "black" rectangles are conductive elastomer pads. That part has nothing to do with the keypress functionality, it's just providing a conduction path.
 
also, why uint32?
 
to stick with unsigned :P
 
it's a 16 bit variable
 
11:13 AM
ah
 
@AnindoGhosh - I stand corrected
thanks
 
i thought u16bit holds 8 bit negative
 
not if it's u
e.g. unsigned
@AnindoGhosh - If it's providing a connection to the actual key-switch membrane, I would say it has a lot to do with the keypress functionality
 
The complicated part is this. Normally i check if the result is negative and first send a ascii minus then send the value
 
so do that first
 
11:16 AM
that is why i was using negCheck
i could do if x < 0 for that
 
@ConnorWolf The keypress functionality is between the cross-wise traces seen for instance in the top left of the image, two different keys. The signal from such contact (or capacitance change, if it really is capacitive, they look similar) is being dragged down via the elastomer pads to the green PCB and thence to the receiving electronics.
 
if (x < 0)
{
SendNegativeSymbol();
x = x * -1;
}
 
with the signed int, but after that, if i use my serialPrintInteger(num), would the negative representation corrupt it?
 
@AnindoGhosh - I never meant to claim it's doing anything otherwise. It's basically a funky connector
 
or can i simply use serialPrint(x*-1) ?
 
11:17 AM
depends on the serialPrintInteger
Oh, yes, you would need to fix the sign
so yes
Fixed above
 
so by just changing the sign, i can use the serialPrintInteger(unsigned int num)
 
@ConnorWolf Yes it is. Just more commonly seen on LCD contact strips. A carbon-epoxy pad will not ensure robust contact with the FPC, since it won't have any "give".
 
yep
 
ok will try that, thanks :)
 
@AnindoGhosh - I was guessing there was a compliant thing behind the membrane, pushing it into contact with the PCB
 
11:19 AM
Hi @ChintalagiriShashank
 
Hey @AnindoGhosh
 
sup
Is it morning in inda or something?
 
@ConnorWolf Yes, that too would be typically needed, but is often produced by using a spring (or in this case, a plastic lip as a spring). Basically, compliance at both ends - the mechanical converse of LDC elastomeric connector strips, where the elastomer flexes at both PCB and LCD faces.
@ConnorWolf 4:51 pm.
 
@AnindoGhosh - I think we're in furious agreement here.
ah, evening
 
Close enough to morning. Also close enough to night.
 
11:21 AM
@ConnorWolf Yep
 
wait, 4:51?
it's 4:21 here
is there a half-hour time zone somewhere?
 
@ConnorWolf Yes, that's been known to happen. :-)
 
Either that, or NTP has REALLY screwed up somewhere
 
@ConnorWolf There are not just half-hour timezones (IST = GMT+0530) but also 15-minute timezones, see Nepal. :-)
 
I'm so uncultured
 
11:22 AM
@Con
 
I had no idea
 
@ConnorWolf : no. you're just American
 
@ConnorWolf Visit Nepal sometime, that'll take care of you.
 
@ChintalagiriShashank as I said, uncultured
 
Or Pakistan
 
11:23 AM
Doing better then most americans, at least. I've spent time in both south-america and europe
ANyways, I should probably get to bed before the sun comes up
evening, all
 
user61389
@ConnorWolf g'night
 
user61389
0
A: Energy efficient one button on/off and extra function

Camil StapsI searched around a bit of course and found this: Source: http://www.circuitsonline.net/schakelingen/145/computer-en-microcontroller/one-button-onoff.html (Dutch) According to the site, this circuit draws less than 1uA when off. I didn't test it myself. I don't know how much it draws when the...

 
user61389
Can I use that circuit without the voltage regulator as well?
 
@ConnorWolf Sleep well. And wake up to the revelation that conductive elastomers need not be carbon doped, and often are not (carbon doping = variable conductivity)
@CamilStaps Wait, so you asked a question, self-answered it, and posted it here on chat, all within about a minute?
 
user61389
@AnindoGhosh see the note in my question, I'm not happy with my answer :)
 
11:29 AM
@ConnorWolf Just to clarify one last time this returns the negative value right?
 
user61389
But is there a problem with that (asking, answering, posting in chat)?
 
@ConnorWolf int32_t readX() {
uint32_t xRate = 0;
xRate = Receive(GYRO_XOUT_H);
xRate = xRate << 8;
xRate |= Receive(GYRO_XOUT_L);
return xRate;
}
@ConnorWolf I'm taking the first bit into an unsigned variable, shift and or with another one, then return a signed value
 
@CamilStaps, did you draw the cell phone to turn on a computer diagram?
 
user61389
@PeterJ lol, no, the link was there already but not the image
 
@CamilStaps No, not at all... My observation was about the duration between the three actions - shows as the same minute on my screen. :-)
 
user61389
11:32 AM
@AnindoGhosh okay :)
 
@CamilStaps, I must have missed it in the edit history and was hoping it wasn't your work lol. I was laughing when I saw it and my girlfriend walked in the room and asked about what and she commented it looked like a 2-year old had drawn it.
 
user61389
@PeterJ lol
 
user61389
You can only see it when using "side-by-side markdown" for the rev history
 
@CamilStaps, ahh yes see it now
 
 
1 hour later…
12:40 PM
So do we have our scheduled hangout today?
 
@AnindoGhosh (or should I say R2D2?) - I might have to give it a miss I've got to get up early tomorrow and need to head off soon but might give it another go next week, I think I've sorted out my audio problems
 
user61389
R2D2?
 
@CamilStaps, yes I have determined Anindo is R2D2
R2-D2 (called "R2" for short) is a robot character in the Star Wars universe. An astromech droid (referred to in the novel as a 'thermocapsulary dehousing assister'), R2-D2 is a major character in all six Star Wars films. Along with his protocol droid companion C-3PO, he joins or supports Anakin Skywalker, Luke Skywalker, Princess Leia, and Obi-Wan Kenobi in various points in the saga. R2-D2 was played by Kenny Baker. Along with Anakin Skywalker (Darth Vader), Obi-Wan Kenobi, and C-3PO, he is one of only four characters to appear in all six Star Wars films. R2-D2 was designed by John S...
 
user61389
@PeterJ ha, why?
 
@CamilStaps, when I tried the hangout last time and had audio problems Anindo had latency problems for a while, and sounded like the beeps R2D2 makes
 
user61389
12:48 PM
@PeterJ oh, haha :)
 
@PeterJ Well, next week then. So who's still up for it?
 

« first day (933 days earlier)      last day (4006 days later) »