Jump to content
43oh

zeke

Members
  • Content Count

    1,782
  • Joined

  • Last visited

  • Days Won

    102

Reputation Activity

  1. Like
    zeke got a reaction from MadhaV in Question regarding Launchpad Programmer.   
    Even better.
     
    It means that the LP can program any MSP430 that has the Spy BiWire interface.
  2. Like
    zeke got a reaction from MadhaV in Question regarding Launchpad Programmer.   
    Yes, you can.
     
    If the device fits into the socket then you can program it easily.
     
    If the device is on another circuit board and you have constructed a Spy BiWire interface then you can plug the LP into that SBW and program the target board easily.
  3. Like
    zeke got a reaction from Robby in Best information for those new to the MSP430?   
    This is a follow up to the 5Volt tolerant I/O posting above.
     
    I decided that I should put up a picture of a sample circuit that I've used to do 5V tolerant I/O.
     
    The resistive divider on the left will scale down the 5V to a range tolerable by the MSP430.
     
    The NPN transistor will do the same in the output direction. You could drive anything with the NPN - not just a relay.
     
    This should make things clearer.

  4. Like
    zeke reacted to GeekDoc in Houston Robot Project Underway   
    You could just put a 3-4 wire header on the target board and use the LaunchPad as an in-circuit-programmer.
  5. Like
    zeke reacted to none in 2006 MSP430 eZ Design Contest project files   
    In 2006, TI held a contest with the http://processors.wiki.ti.com/index.php/EZ430-F2013 development tool. The contest site was http://designmsp430.com, now defunct, i.e., forwarding to the TI wiki.
    I've taken the liberty to list all the projects from archive.org on http://processors.wiki.ti.com/index.php/MSP430_eZ_Design_Contest, the problem is, the contest entries were never linked directly but via a login, which is why the files were not accessible by any robots/spiders and so were not archived.
     
    Since the Launchpad has spawned new interest in MSP430 projects, it's a pity they're not available anymore.
    Maybe some of you have some of those files? Maybe someone has a good connection to TI folks who could post those files somewhere?
  6. Like
    zeke got a reaction from jsolarski in MSP430 Day Presentations   
    Hi Guys,
     
    For those who could not attend the recent TI seminars on the MSP430 and the Stellaris, I found the webpage that lists all the presentations given on MSP430/Stellaris Day this past April.
     
    Take a look here.
     
    You want to read them before the end of May.
     
    Yes, you do!
  7. Like
    zeke got a reaction from bluehash in MSP430 Day Presentations   
    Hi Guys,
     
    For those who could not attend the recent TI seminars on the MSP430 and the Stellaris, I found the webpage that lists all the presentations given on MSP430/Stellaris Day this past April.
     
    Take a look here.
     
    You want to read them before the end of May.
     
    Yes, you do!
  8. Like
    zeke got a reaction from Fe2o3Fish in MSP430 Day Presentations   
    Hi Guys,
     
    For those who could not attend the recent TI seminars on the MSP430 and the Stellaris, I found the webpage that lists all the presentations given on MSP430/Stellaris Day this past April.
     
    Take a look here.
     
    You want to read them before the end of May.
     
    Yes, you do!
  9. Like
    zeke reacted to TheDirty in Stellaris availability?   
    I used Stellaris before it was bought by TI and they are okay chips, but later Cortex-M3's have really overshadowed them. They have a huge parts list, but only a fraction of that list is stocked by suppliers and they are expensive now. Digikey has Plenty of Stellaris parts out there if you are interested and I think Newark was pretty good last time I checked. Just search for 'LM3S'.
  10. Like
    zeke reacted to Rickta59 in Full-duplex hardware UART for launchpad   
    Now that I have a freshly minted uniarch version of msp430-gcc, I wanted to test it out and make sure the newly added support for the msp430g2553 chip really worked. I took my softserial full duplex code and twisted it around some to take advantage of gcc. I also exercised some of my favorite features of gcc, specifically templates, just to make sure they work in the uniarch version.
     
    Yeah, as I get further into the msp430 world I've decided I don't really like TI's version of eclipse + CDT too much. Along my path to enlightenment I have left the CCS blanket and wrapped myself in the latest Eclipse+CDT (Helios) with msp430-gcc running on Ubuntu. Unfortunately, the code below probably won't compile with CCS. However, I'm sure at some point someone will port the uniarch version of mspgcc over to cygwin.
     
    One of the nice thing about the 2553 vs the 2231 is the 2553 chip has a hardware UART builtin. No more stolen TimerA cycles for me. I'm doing the serial dance with hardware now. Attached you will find the code and a Makefile.
     
    Notes about hardware USCI UART: You have to flip your TX/RX jumpers on your launchpad. This has been talked about elsewhere on the forums. I'm just using a couple of F-M jumper wires going to my msp430g2553 on a breadboard.
     
    You can read the announcement about uniarch and support for the newer chips over on the mailing list:
    http://sourceforge.net/mailarchive/foru ... pgcc-users
     
    The latest version of the following source code can be found here: https://gist.github.com/969447
     
    I took a snapshot of the code:

    /** * usci_serial.cpp - simple example using USCI UART + ringbuffer + command line monitor * * This code was written to test the new uniarch version of msp430-gcc. I wanted * to make sure it could generate code for the msp430g2553 running on the TI * launchpad. * * This code mplements a command line interface over the USB-CDC serial at * 9600-8-N-1. To test you must swap the RX/TX pins on your launchpad to use * the hardware USCI UART. I disconnected those jumpers on my launchpad and used * a couple of F-M jumper wires to run the msp430g2553 from a breadboard. * P1.1=RXD and P1.2=TXD ( this is the opposite of the msp430g2231 default setup ) * * * License: Do with this code what you want. However, don't blame * me if you connect it to a heart pump and it stops. This source * is provided as is with no warranties. It probably has bugs!! * You have been warned! * * Author: Rick Kimball * email: rick@kimballsoftware.com * Version: 1.00 Initial version 05-12-2011 */ #include #include #include #include "config.h" #include "ringbuffer.h" #include "usci_serial.h" /** * create a ring buffer that holds up to 16 uint8_t bytes * * Note: you could change the ringbuffer_ui8_16 typedef to * make it smaller or larger, just be consistent with what * you provide the Serial template */ ringbuffer_ui8_16 usci_buffer = { 0, 0, { 0 } }; Serial usci0 = { usci_buffer }; /** * USCI0RX_ISR - USCI UART receive character ISR handler * * we get an interrupt when a new character arrives via * the USCI UART receive pin. We just stuff it into * our buffer and let the main routine consume it. */ interrupt(USCIAB0RX_VECTOR) USCI0RX_ISR(void) { /** * Note: a side effect of reading UCA0RXBUF * is the rx interrupt flag is cleared */ usci_buffer.push_back(UCA0RXBUF); } /** * main - echo back to the user whatever they type */ int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT BCSCTL1 = CALBC1_16MHZ; // set DCO clock for MCLK and SMCLK DCOCTL = CALDCO_16MHZ; usci0.init(); __bis_SR_register(GIE); // interrupts enabled usci0.xmit("\r\nMSP430G2553 Monitor\r\n$ "); while (true) { while (!usci0.empty()) { volatile int c; c = usci0.recv(); usci0.xmit((uint8_t) c); } } }
     

    /** * config.h - configure baud rates, MCLK frequency * * License: Do with this code what you want. However, don't blame * me if you connect it to a heart pump and it stops. This source * is provided as is with no warranties. It probably has bugs!! * You have been warned! * * Author: Rick Kimball * email: rick@kimballsoftware.com * Version: 1.00 Initial version 05-12-2011 */ #ifndef CONFIG_H_ #define CONFIG_H_ #define F_CPU 16000000 // use calibrated 16MHZ clock #ifdef __MSPGCC__ #define _enable_interrupts() __bis_status_register(GIE) #define _disable_interrupts() __bic_status_register(GIE) #endif #endif
     

    /* * ringbuffer.h - template for a circular buffer * * License: Do with this code what you want. However, don't blame * me if you connect it to a heart pump and it stops. This source * is provided as is with no warranties. It probably has bugs!! * You have been warned! * * Author: Rick Kimball * email: rick@kimballsoftware.com * Version: 1.00 Initial version 05-12-2011 */ #ifndef RINGBUFFER_H_ #define RINGBUFFER_H_ /** * ringbuffer - a template based interrupt safe circular buffer structure with functions */ template struct ringbuffer { volatile int head; volatile int tail; volatile T buffer[MAX_ITEMS]; /** * empty() - checks the buffer for data * * returns true if empty, false if there is data */ inline bool empty() { bool isEmpty; _disable_interrupts(); // prevent inconsistent reads isEmpty = (head == tail); _enable_interrupts(); return isEmpty; } /** * push_back() - append a byte to the buffer is possible * assumed to be called from the recv interrupt */ inline void push_back(T c) { int i = (unsigned int) (head + 1) % MAX_ITEMS; if (i != tail) { buffer[head] = c; head = i; } } /** * pop_front() - remove a value from front of ring buffer */ inline T pop_front() { T c = -1; _disable_interrupts(); // disable interrupts to protect head and tail values // This prevents the RX_ISR from modifying them // while we are trying to read and modify // if the head isn't ahead of the tail, we don't have any characters if (head != tail) { c = (T) buffer[tail]; tail = (unsigned int) (tail + 1) % MAX_ITEMS; } _enable_interrupts(); // ok .. let everyone at them return c; } }; typedef ringbuffer ringbuffer_ui8_16; // ringbuffer, max of 16 uint8_t values typedef ringbuffer Ringbuffer_uint8_32; // ringbuffer, max of 32 uint8_t values #endif /* RINGBUFFER_H_ */

    /** * usci_serial.cpp - simple example using USCI UART + ringbuffer + command line monitor * * This code was written to test the new uniarch version of msp430-gcc. I wanted * to make sure it could generate code for the msp430g2553 running on the TI * launchpad. * * This code mplements a command line interface over the USB-CDC serial at * 9600-8-N-1. To test you must swap the RX/TX pins on your launchpad to use * the hardware USCI UART. I disconnected those jumpers on my launchpad and used * a couple of F-M jumper wires to run the msp430g2553 from a breadboard. * P1.1=RXD and P1.2=TXD ( this is the opposite of the msp430g2231 default setup ) * * * License: Do with this code what you want. However, don't blame * me if you connect it to a heart pump and it stops. This source * is provided as is with no warranties. It probably has bugs!! * You have been warned! * * Author: Rick Kimball * email: rick@kimballsoftware.com * Version: 1.00 Initial version 05-12-2011 */ #include #include #include #include "config.h" #include "ringbuffer.h" #include "usci_serial.h" /** * create a ring buffer that holds up to 16 uint8_t bytes * * Note: you could change the ringbuffer_ui8_16 typedef to * make it smaller or larger, just be consistent with what * you provide the Serial template */ ringbuffer_ui8_16 usci_buffer = { 0, 0, { 0 } }; Serial usci0 = { usci_buffer }; /** * USCI0RX_ISR - USCI UART receive character ISR handler * * we get an interrupt when a new character arrives via * the USCI UART receive pin. We just stuff it into * our buffer and let the main routine consume it. */ interrupt(USCIAB0RX_VECTOR) USCI0RX_ISR(void) { /** * Note: a side effect of reading UCA0RXBUF * is the rx interrupt flag is cleared */ usci_buffer.push_back(UCA0RXBUF); } /** * main - echo back to the user whatever they type */ int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT BCSCTL1 = CALBC1_16MHZ; // set DCO clock for MCLK and SMCLK DCOCTL = CALDCO_16MHZ; usci0.init(); __bis_SR_register(GIE); // interrupts enabled usci0.xmit("\r\nMSP430G2553 Monitor\r\n$ "); while (true) { while (!usci0.empty()) { volatile int c; c = usci0.recv(); usci0.xmit((uint8_t) c); } } }
    #ifndef HW_SERIAL_H #define HW_SERIAL_H /** * Serial - simple access to USCI UART hardware * code implements interrupt driven input * and poll driven output. * * License: Do with this code what you want. However, don't blame * me if you connect it to a heart pump and it stops. This source * is provided as is with no warranties. It probably has bugs!! * You have been warned! * * Author: Rick Kimball * email: rick@kimballsoftware.com * Version: 1.00 Initial version 05-12-2011 */ template struct Serial { T_STORAGE &_recv_buffer; /** * init - setup the USCI UART hardware for 9600-8-N-1 * P1.1 = RX PIN, P1.2 = TX PIN */ inline void init() { P1SEL = BIT1 + BIT2; // P1.1=RXD, P1.2=TXD P1SEL2 = BIT1 + BIT2; // P1.1=RXD, P1.2=TXD UCA0CTL1 |= UCSSEL_2; // use SMCLK for USCI clock UCA0BR0 = 130; // 16MHz 9600 UCA0BR1 = 6; // 16MHz 9600 UCA0MCTL = UCBRS1 + UCBRS0; // Modulation UCBRSx = 3 UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** IE2 |= UCA0RXIE; // Enable USCI0RX_ISR interrupt } inline bool empty() { return _recv_buffer.empty(); } inline int recv() { return _recv_buffer.pop_front(); } void xmit(uint8_t c) { while (!(IFG2 & UCA0TXIFG)) ; // USCI_A0 TX buffer ready? UCA0TXBUF = (uint8_t) c; // TX -> RXed character } void xmit(const char *s) { while (*s) { xmit((uint8_t) *s); ++s; } } }; #endif /* HW_SERIAL_H */

    # # Makefile - usci_serial # # License: Do with this code what you want. However, don't blame # me if you connect it to a heart pump and it stops. This source # is provided as is with no warranties. It probably has bugs!! # You have been warned! # # Author: Rick Kimball # email: rick@kimballsoftware.com # Version: 1.00 Initial version 05-12-2011 CC=msp430-gcc CXX=msp430-g++ MCU=msp430g2553 CFLAGS=-mmcu=$(MCU) -O2 -g -Wall APP=usci_serial TARGET=Debug all: $(TARGET)/$(APP).elf $(TARGET)/$(APP).elf: $(TARGET)/$(APP).o $(CC) $(CFLAGS) -o $(TARGET)/$(APP).elf $(TARGET)/$(APP).o msp430-objdump -DS $(TARGET)/$(APP).elf >$(TARGET)/$(APP).lst msp430-size $(TARGET)/$(APP).elf $(TARGET)/$(APP).o: config.h ringbuffer.h $(APP).cpp $(APP).h $(CC) $(CFLAGS) -c -o $(TARGET)/$(APP).o $(APP).cpp install: mspdebug -q --force-reset rf2500 "prog $(TARGET)/$(APP).elf" clean: rm -f $(TARGET)/$(APP).o $(TARGET)/$(APP).elf $(TARGET)/$(APP).lst mkdir -p $(TARGET)/
  11. Like
    zeke got a reaction from RobG in MIDI Light controller   
    Oh nothing I suppose, if you're careful. Otherwise things will catch fire.
     

    is what I think of when I consider 120VAC in a breadboard.  
    FOOM!
    :shock:
  12. Like
    zeke got a reaction from gatesphere in Peeked in a dumpster, and look what I found...   
    Dumpster dove into ancient history!
     
    That is about 36 years old - circa 1977.
     
    Here's some pdf manuals for it.
     
    It's a Motorola processor. I think it's a MC6800 CPU but I can't be sure. The photo on the above page is kinda blurry.
  13. Like
    zeke got a reaction from cde in Temperature reading every second.   
    Kinda reminds me of this short comedy about D&D players in french, with english subtitles...
     
    off topic>
     
    Now, what were we talking about?
  14. Like
    zeke reacted to gwdeveloper in MSP-EXP430F5529   
    Well hooray for that. I emailed TI tech support and they got back to me super fast. The completed driver package should be posted to the TI tool folder on Monday but...
     
    enjoy this link
    http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPEXP430F5529UE/latest/index_FDS.html
  15. Like
    zeke got a reaction from bluehash in Altium = $120 for students   
    Hi Guys,
     
    If you didn't know, Altium caters to students too. It's just not obvious on their website.
     
    For those of you who are students, you can buy a copy with a 1 year licence (full blown version - no restrictions) for $120 US.
     
    If you're interested then contact this guy because he handles the student licensing:
     
    Kyle Sanders
    Inside Sales Representative
    Altium
  16. Like
    zeke got a reaction from bluehash in MSP-EXP430F5529   
    The info is hiding in plain site on the product page.
     
    Just grab the schematics for the board to see all the design details.
  17. Like
    zeke got a reaction from jbremnant in MSP430 USB FET (JTAG + SBW)   
    I have it. It's the only thing that will work on the older devices that only have JTAG.
     
    I think it's worth it.
  18. Like
    zeke got a reaction from RobG in Electronic Parts Suppliers   
    The best prices I've seen on SMD caps and resistors is from MDFLY.
     
    The resistor kits are from Yageo: 0405, 0603 and 0805.
     
    Their capacitor kits are from Murata: 0603 and 0805.
     
    Building your own kit is a labor intensive operation. You can buy reels of caps and resistors for $10 each but then you have to cut them into x50 or x100 unit strips. If you want 63 values in your resistor kits then you have to make 63 cuts. Then consider how many kits you want to build.
     
    Here's my math:
    1. 63 values * $10/reel = $630 for uncut parts
    2. 5000 pieces-on-a-reel / 50-on-a-strip = 100 strips
    3. 63 reels * 100 strips = 6300 strips-need-to-be-cut
    4. Raw cost per kit = $630/100 = $6.3/kit
     
    So, it would cost $6.3 for each kit of 63x50 resistors.
    Add to that the cost of your time and there is your kit value.
     
    MDFLY sells their 0603 and 0805 kits for $13.95 each. That's around $10 gross profit per resistor kit. I wonder what their net profit is? Maybe they have a cutting machine to lessen the workload?
     
    I don't think I could make a living selling kits like this for that final price. I'd have to sell A LOT of them.
  19. Like
    zeke got a reaction from JMLB in We got Hack a Day'ed - Indirectly.   
    Oh no. The In-Laws are coming!


  20. Like
    zeke got a reaction from RobG in MSP430 Seminars   
    I have the second and third boards you mentioned. I'll be using the F5438 as my BT5190 eval board since the two processors are pin identical. In fact, I read that the BT5190 is a die-tweaked F5438.
     
    If the first board you mentioned is this one then I would definitely pick it over the other two. It looks awesome!
     
    If you get the chance to obtain CCS on a deal then you should dive at it. It's normally $495. I've seen it on sale for $249 after the seminar.
     
    @Geekdoc: The only way to get in on the discounts is to attend the seminar. They take attendance! If you see something on the deals list then try to attend the seminar. Of course, it's a meeting where they try to appeal to your electronic geekiness so that you'll buy the products but you knew that already, right?
     
    Our seminar was postponed for a months because the guy who has to deliver the presentation was just hired two weeks ago! I told him to push it off as far as he can. I think he's holed up in a motel somewhere in Dallas-FtWorth taking training session after training session with TI.
     
    By the way, I believe that MSP430 is in the morning and Stellaris is in the afternoon. If you don't know anything about Stellaris then this is your opportunity to see some electronic coolness.
  21. Like
    zeke reacted to DanAndDusty in Electronic Parts Suppliers   
    It kinda all depends on how long you want to wait and if you have the quantity/items to soak up the shipping.. but this is a good price.. I have their (el-cheapeo) 700 pt boards and Im happy with em.
  22. Like
    zeke got a reaction from jsolarski in Anyone notice ...   
    I'm reading through the datasheetright now and I just discovered that this part holds a juicier secret.
     
    Check out page 50. It is possible to crank up the DCO to 135MHz!
     
    This means that you can run peripherals at 135MHz ie: SPI bus.
     
    My samples are ordered.
     
    Time to make a dev board.
  23. Like
    zeke reacted to cde in msp430g2231 + Sd Card + 74HC595 Shift Register   
    A project I've linked to various times.
     
    http://www.diylife.com/photos/msp430-au ... ut/770748/
     
    DIYLife had a series of articles on programing a msp430 to play and record audio from a sd card.
     
    TI has a code library for sd card reading that the project uses.
     
    And with these bigger valueline chips, maybe a real fat system can be used. Just google attiny msdos for comparable ideas.
  24. Like
    zeke got a reaction from bluehash in Anyone notice ...   
    I'm reading through the datasheetright now and I just discovered that this part holds a juicier secret.
     
    Check out page 50. It is possible to crank up the DCO to 135MHz!
     
    This means that you can run peripherals at 135MHz ie: SPI bus.
     
    My samples are ordered.
     
    Time to make a dev board.
  25. Like
    zeke got a reaction from jsolarski in e2e website is like a chicken coop   
    I went over to the e2e.ti.com website today just to see what's going on.
     
    I gotta say, if you could hear it out loud, that place would be like the Grand Central Station of chicken coops!
     
    There's a zillion people asking questions and few answers coming back to them.
     
    I don't know if you could call that place "organized" chaos but you could call it chaotic.
     
    Too bad the TI guys don't hang out here. They'd find this forum like a pleasant trip to the Weekend Cottage at the Lake.
     
    Ooo! Maybe I shouldn't say anything. It might turn into an episode of The Great Outdoors!
×
×
  • Create New...