Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by oPossum

  1. Wikipedia has a nice table of instructions: http://en.wikipedia.org/wiki/TI_MSP430#MSP430_CPU Details of the instruction set are in the 2000 series users guide: http://www.ti.com/litv/pdf/slau144i An example of using C & asm for sound synthesis: http://forum.43oh.com/topic/912-32k-interupts-a-second/?p=10283 Details of using assembly: http://www.ti.com/litv/pdf/slau132g and http://www.ti.com/litv/pdf/slau131e Basically R12 to R15 are passed from C code and you can trash them - preserve all others. The multiplications in your code (in the IIR filter) will take by far the mo
  2. The Vishay IR receivers can be rather erratic without the RC filter shown in the data sheet. I have seen then oscillate, output noise, have short range, and in general just not work right without the filter. They also can be rather picky about supply voltage. Love the dog pic!
  3. Keep in mind that alkaline cells (AAA, AA, C, D, etc) begin at 1.5V and have an almost linear decline to 0.9V over their useful life. The MSP430 can run on 1.8V, but only at 6 MHz. It requires at least 3.3V to run at 16 MHz. Here is a simple laser sound using an exponential change in frequency of a square wave on P1.6. #include <msp430.h> void main(void) { WDTCTL = WDTPW | WDTHOLD; // Disable watchdog // DCOCTL = 0; // Run DCO at 16 MHz BCSCTL1 = CALBC1_16MHZ;
  4. OK for 74xx TTL stuff, but not for NMOS like the Z80. The pink foam and bags where common in the late 70s to late 80s. Mostly replaced by black foam and silver bags now.
  5. Richard: I used the MCP1700 because it is low cost, readily available, and provides a good amount of current. It is my favorite small LDO. The LM1117/LD1117 are popular LDO for up to 800 mA. RoadRunner: That board is Open Hardware, so you can hack away at it. A narrow version would be really cool. Maybe also something that would fit in a USB stick plastic case. The extra vias are to reduce resistance in the traces that carry power - it is intentional. When a 2.0 mm board is used, Kapton tape can be used to cover the MiniB connector pad. It is also possible to drill a few vias to di
  6. http://www.compendiumarcana.com/forumpics/ftdi_43oh_r1.zip The USB connector is drawn to the official spec. A plastic shim is required with common 1.6 mm boards for proper fit and insulation of the mini-b pads. The shim stock I use is 0.015" for glue or 0.0125" for adhesive tape. McMaster Carr 9513K22 & 9513K21.
  7. MCP1702 would be my first choice. Using a shunt regulator (zener) doesn't solve the dropout problem because current decreases rapidly as the supply voltage approaches the zener voltage. So the supply must always be somewhat higher than the zener voltage.
  8. That seems to work - but can't edit it - the tags are gone.
  9. [ code ] tag test //test void foo(void) { for(a = ' '; a < 127; ++a) putc(c) } for(; }
  10. The Faraday cage would be integrated in to the device. Not a box you would stash something in.
  11. Adjust the motor PWM based on battery voltage - no regulator required.
  12. Faraday cage is actually the most practical answer. I think you may not understand what it is. Be aware that many means of generating high power EMP involve high explosives, so if the EMP doesn't get you the blast might.
  13. I tried to edit the code in some of my old posts, and it just got worse. Really messed up formating, and added some sort of eol tags. Is there a way to use [tags] like phpbb instead of the wysiwyg editor?
  14. For a sample rate 'S' in units of samples per second... F[0]: 0 Hz (DC) F[1]: S * 1 / 8 Hz F[2]: S * 2 / 8 Hz F[3]: S * 3 / 8 Hz F[4]: S * 4 / 8 Hz F[5]: S * -3 / 8 Hz F[6]: S* - 2 / 8 Hz F[7]: S * -1 / 8 Hz There is also a mistake in the code this: Real[j]=Real[j]+ f*sin((2*3.14*u*j/h)); // Vector parte Real Imag[j]=Imag[j]+ f*cos(-2*3.14*u*j/h); // Vector parte Imag should be: Real[j] += f * cos(2 * 3.14 * u * j / h); // Vector parte Real Imag[j] += f * -sin(2 * 3.14 * u * j / h); // Vector parte Imag
  15. That is a DFT not a FFT. It should work, but will be *very* slow. Does serial.print() work with floats? Not sure about that.
  16. Non-muxed is the standard for 4 digit LCD displays and most have the same pinout. I have never seen a muxed 4 digit LCD.
  17. Pointer? What pointer? static const char * const hex = "0123456789ABCDEF"; *s-- = hex[x & 15]; static const char hex[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; *s-- = hex[x & 15]; Same thing.
  18. void uint32hex(uint32_t x, char *s) { unsigned n = 8; s += n; *s-- = 0; do { *s-- = "0123456789ABCDEF"[x & 15]; x >>= 4; } while(--n); }
  19. TA0.2 is only on the 28 pin package (SMD only), it is not on the 20 pin version that comes with the launchpad.
  20. You can not do PWM (mode 7 or 3) on CCR0. CCR0 is used to set the period of the PWM signal. CCRx (x != 0) is used to set the width. It is possible to do a simple square wave on CCR0 using mode 4. From SLAU144i...
  21. Earthquake, flood, competition from Samsung, etc.. http://dealbook.nytimes.com/2012/12/10/japanese-manufacturers-bail-out-renesas/
  22. Try this - just for fun uint32_t max31855::memory_read(void) { unsigned bits = 32; uint32_t data = 0; digitalWrite(_cs, LOW); do { digitalWrite(_sclk, HIGH); data <<= 1; if(digitalRead(_so)) data |= 1; digitalWrite(_sclk, LOW); } while(--bits); digitalWrite(_cs, HIGH); return data; }
  23. Don't do that. Anything static - like ports and pins - should be specified when an instance of the template is created - don't pass static info to functions.
  24. I use the FET portion of a Launchpad (usually) or the MSP-FET430UIF programmer for program/debug of anything I make. If you want an integrated FET on your project, the GoodFET may work. Be aware it is program only - no debug. And SBW support seems to be a bit immature.
  • Create New...