Jump to content

RobG

Members
  • Content Count

    3,117
  • Joined

  • Last visited

  • Days Won

    247

Reputation Activity

  1. Like
    RobG got a reaction from veryalive in Graphics Library for MSP432   
    As long as it's the SPI verison, it will. If it's parallel, you will need have make updates to the code.
  2. Like
    RobG reacted to slipton in MSP430 Nixie Clock   
    Hi All,
    I just finished assembling and modifying this kit for my SO for Christmas. I put it in a vintage toaster from 1910. Works great and so cool! However, watch out for shorting anything while the clock is powered - I fried some transistors while playing around with it.
    In any case, I made quite a few modifications and will post them here. I added the following components to the kit:
    Arduino UNO I had lying around.
    Random photodiode I had lying around.
    Adafruit RTC module: https://www.adafruit.com/product/3013
    Adafruit motion sensor: https://www.adafruit.com/product/189
    I modified the code to use the photodiode and motion sensor to control the brightness of the display using PWM. I have attached that. It is not written with extreme discipline, but it works
    Let me know what you guys think,
    Saul
    main_v6.ino
    nixie.h



  3. Confused
    RobG got a reaction from DiegoPerGon in Can MSP430 do this?   
    You could use CC3200
  4. Thanks
    RobG got a reaction from flautzr in (Universal) Color LCD graphics library (2)   
    This is my new universal graphics library (original one is here.)
     
    Supported boards (this is out of the "box" support, but the library will work with any board after small changes.)
     
    TI's MSP430FR5969 LaunchPad (ugl16msp only for now)
    TI's MSP430F5529 LaunchPad
    TI's MSP430G2 LaunchPad with G2553 chip
    RobG's MSP430G2955 Dev Board
    RobG's MSP430F5172 Dev Board
    RobG's MSP430F5510 Dev Board
     
    Supported displays
     
    1.8" ST7735 based JD-T1800 - ugl8
    2.2" HX8340 based displays - ugl8
    2.2" ILI9225 based displays (touch panel) - ugl8
    2.2" ILI9341 based displays 320x240 pixels - ugl16
     
    Tiva versions are right here
     

     

     
     
    ugl8msp.zip (name change 4/18/14)
    ugl16msp.zip (updated 4/19/14)
  5. Like
    RobG got a reaction from Testtest in Tiva Eagle Library   
    Tiva Eagle Library
     
    All TM4C123xxxPM and TM4C129xxxPDT parts are now included.
    Two parts now, will add remaining 3 123xxxPM's in few days ( TM4C123[0,2,A]xxPM, TM4C123[6,F]xxPM, and TM4C123[7,G]xxPM )
    Just one part for now, TM4C123[1,3,B]xxPM (for example TM4C1231C3PM)
     
    Content:
    TM4C123[0,2,A]xxPM - 64 pin LQFP package - PM (S-PQFP-G64)
    TM4C123[1,3,B]xxPM - 64 pin LQFP package - PM (S-PQFP-G64)
    TM4C123[6,F]xxPM - 64 pin LQFP package - PM (S-PQFP-G64)
    TM4C123[7,G]xxPM - 64 pin LQFP package - PM (S-PQFP-G64)
    TM4C129xxxPDT - 128 pin TQFP package - PDT (S-PQFP-G128)
     
    ti-tiva.lbr (updated 4/25/14)
  6. Like
    RobG got a reaction from morelius21 in Nokia 5110 Booster Pack   
    Well, I think adapter is more appropriate, but let's call it a booster pack.
    There is nothing fancy, few connection options and a reset RC.
     

  7. Like
    RobG got a reaction from Rickta59 in Products using MSP430   
    I went to Sears yesterday to get my new lawn mower and I got a free gift, Kenmore Alfie Voice-Controlled Intelligent Shopper.
    The regular price of Alfie is $49, but they are now on sale for $25. However, if you are SYW member and you spend more than $25, you get one for free (expires 7/1/17!) 
    BTW, I also found Alfie for $7.95 on Amazon (with free Prime shipping, even cheaper from other vendors.)
    What's the big deal about Alfie? Crack one open and you will find the following:
    CC3200R1 Single-Chip Wireless MCU (with W25Q32JV (32M-bit) serial Flash memory from Winbond and a chip antenna)
    TLV320AIC3100 Low-Power Audio Codec With Audio Processing and Mono Class-D Amplifier
    3.7V 500mAh LiPo battery
    12 WS2812B LEDs
    Other useful things are microphone, large speaker, 2 LEDs, 2 switches, and USB port
    In other words, IoT experimenter's treasure chest!
    Can't wait to hack that thing (there's what appears to be programming header on the board.)
     
     
     




  8. Like
    RobG got a reaction from Fred in Products using MSP430   
    I went to Sears yesterday to get my new lawn mower and I got a free gift, Kenmore Alfie Voice-Controlled Intelligent Shopper.
    The regular price of Alfie is $49, but they are now on sale for $25. However, if you are SYW member and you spend more than $25, you get one for free (expires 7/1/17!) 
    BTW, I also found Alfie for $7.95 on Amazon (with free Prime shipping, even cheaper from other vendors.)
    What's the big deal about Alfie? Crack one open and you will find the following:
    CC3200R1 Single-Chip Wireless MCU (with W25Q32JV (32M-bit) serial Flash memory from Winbond and a chip antenna)
    TLV320AIC3100 Low-Power Audio Codec With Audio Processing and Mono Class-D Amplifier
    3.7V 500mAh LiPo battery
    12 WS2812B LEDs
    Other useful things are microphone, large speaker, 2 LEDs, 2 switches, and USB port
    In other words, IoT experimenter's treasure chest!
    Can't wait to hack that thing (there's what appears to be programming header on the board.)
     
     
     




  9. Like
    RobG got a reaction from dubnet in Products using MSP430   
    I went to Sears yesterday to get my new lawn mower and I got a free gift, Kenmore Alfie Voice-Controlled Intelligent Shopper.
    The regular price of Alfie is $49, but they are now on sale for $25. However, if you are SYW member and you spend more than $25, you get one for free (expires 7/1/17!) 
    BTW, I also found Alfie for $7.95 on Amazon (with free Prime shipping, even cheaper from other vendors.)
    What's the big deal about Alfie? Crack one open and you will find the following:
    CC3200R1 Single-Chip Wireless MCU (with W25Q32JV (32M-bit) serial Flash memory from Winbond and a chip antenna)
    TLV320AIC3100 Low-Power Audio Codec With Audio Processing and Mono Class-D Amplifier
    3.7V 500mAh LiPo battery
    12 WS2812B LEDs
    Other useful things are microphone, large speaker, 2 LEDs, 2 switches, and USB port
    In other words, IoT experimenter's treasure chest!
    Can't wait to hack that thing (there's what appears to be programming header on the board.)
     
     
     




  10. Like
    RobG got a reaction from Fmilburn in Products using MSP430   
    I went to Sears yesterday to get my new lawn mower and I got a free gift, Kenmore Alfie Voice-Controlled Intelligent Shopper.
    The regular price of Alfie is $49, but they are now on sale for $25. However, if you are SYW member and you spend more than $25, you get one for free (expires 7/1/17!) 
    BTW, I also found Alfie for $7.95 on Amazon (with free Prime shipping, even cheaper from other vendors.)
    What's the big deal about Alfie? Crack one open and you will find the following:
    CC3200R1 Single-Chip Wireless MCU (with W25Q32JV (32M-bit) serial Flash memory from Winbond and a chip antenna)
    TLV320AIC3100 Low-Power Audio Codec With Audio Processing and Mono Class-D Amplifier
    3.7V 500mAh LiPo battery
    12 WS2812B LEDs
    Other useful things are microphone, large speaker, 2 LEDs, 2 switches, and USB port
    In other words, IoT experimenter's treasure chest!
    Can't wait to hack that thing (there's what appears to be programming header on the board.)
     
     
     




  11. Like
    RobG got a reaction from Barcooler in [ ENDED ] Nov-Dec 2011 - 43oh Project of the Month Contest   
    Here is my entry to the PotM: Universal Panel Meter.
    The MCU is MSP430G2xx3 and the display is Nokia 5110.
    Here are the specs:
    Number of channels: 2
    Reference: internal or external (space for optional Maxim's, Linear's, and TI's Vrefs.)
    Input protection.
    Optional shunt resistor.
    Host connection: SPI & UART (optional RS232.)
    Optional resistor divider and multi-turn pot.
    Two general use outputs/inputs.
    Two switches.
    Board size: 45mm x 45mm (50mm with 2 optional switches and 2 LEDs,) matches 5110 footprint.
     
    Little background. My original panel meter was designed to fit behind 4 digit 0.56" LED display. Then I figured it will be better to use 16x2 LCD which will let me display more information. Now, after playing around with 5110, I decided that this display is the perfect choice for me since nothing beats nice GUI.
     

  12. Like
    RobG reacted to spirilis in MCU recommendation   
    Well, I am not sure about the interrupt latency (not that familiar with the arch), and the price is more like $1.50ish... but Renesas RL78/G13 is close:
     
    https://www.renesas.com/en-us/products/microcontrollers-microprocessors/rl78/rl78g1x/rl78g13.html
     
    https://products.avnet.com/shop/en/ProductDisplay?storeId=715839035&catalogId=10001&langId=-1&productId=3074457345625366633
     
    OK, going down a bit, RL78/G12 has a 24MHz part that's <$1:
    https://www.renesas.com/en-us/products/microcontrollers-microprocessors/rl78/rl78g1x/rl78g12.html?status=No%3B&pin_count=20%3A20%3B#
     
    https://products.avnet.com/shop/ProductDisplay?catalogId=10001&langId=-1&storeId=715839035&productId=3074457345625120989&categoryId=&fromPage=autoSuggest
     
    IIRC the compiler is free, or at least there is a GCC port, and Renesas e2studio is a free Eclipse-based IDE.
  13. Like
    RobG got a reaction from Fmilburn in LaunchPad IR Receiver   
    Here's the alternate code. It uses method from post #3 and port interrupt instead of timer's capture/compare feature.
    Timer is used to measure pulse's width and for timeout when signal is lost half way through.
     
    Enjoy.
     
    #include "msp430g2553.h" #define T05 300 #define T25 T05*5 #define T35 T05*7 #define T50 T05*10 #define TMAX 65000 #define IR_DETECTOR_PIN BIT1 void reset(); unsigned int rxData = 0; // received data: A4-A0 and C6-C0 0000 AAAA ACCC CCCC unsigned int bitCounter = 0; void main(void) { WDTCTL = WDTPW + WDTHOLD; // stop WDT BCSCTL1 = CALBC1_1MHZ; // load calibrated data DCOCTL = CALDCO_1MHZ; P1OUT &= ~(BIT0 + BIT6); // P1.0 & P1.6 out (LP LEDs) P1DIR |= (BIT0 + BIT6); P1REN |= IR_DETECTOR_PIN; // P1.1 pull-up P1OUT |= IR_DETECTOR_PIN; // P1.1 pull-up P1IE |= IR_DETECTOR_PIN; // P1.1 interrupt enabled P1IES |= IR_DETECTOR_PIN; // P1.1 high/low edge P1IFG &= ~IR_DETECTOR_PIN; // P1.1 IFG cleared CCR0 = TMAX; // interrupt if no edge for T32 TACTL = TASSEL_2 + MC_1; // SMCLK, up mode __bis_SR_register(LPM0_bits + GIE); // switch to LPM0 with interrupts } // Port 1 interrupt service routine #pragma vector=PORT1_VECTOR __interrupt void Port_1(void) { if (P1IFG & IR_DETECTOR_PIN) { P1IE &= ~IR_DETECTOR_PIN; if (bitCounter == 0) { P1IES &= ~IR_DETECTOR_PIN; // P1.1 low/high edge bitCounter++; TACTL |= TACLR; TACTL |= MC_1; CCTL0 = CCIE; } else { switch (bitCounter) { case 14: // received all bits // process received data, for example toggle LEDs switch (rxData & 0x001F) { // mask device number case 19: // Volume - 0010011 = 19 P1OUT ^= BIT0; break; case 18: // Volume + 0010010 = 18 P1OUT ^= BIT6; break; case 21: // Power 0010101 = 21 P1OUT |= BIT6; P1OUT |= BIT0; break; case 20: // Mute 0010100 = 20 P1OUT &= ~BIT6; P1OUT &= ~BIT0; break; } reset(); break; case 1: // start bit? if (TA0R < T35) { // could also add || TA0R > T50 reset(); } else { TACTL |= TACLR; TACTL |= MC_1; bitCounter++; } break; default: // data bit rxData >>= 1; if (TA0R > T25) { rxData |= 0x0800; // set bit 12 of rxData } TACTL |= TACLR; TACTL |= MC_1; bitCounter++; // increase bit counter break; } } P1IFG &= ~IR_DETECTOR_PIN; P1IE |= IR_DETECTOR_PIN; } } void reset() { CCTL0 &= ~CCIE; P1IES |= IR_DETECTOR_PIN; // P1.1 high/low edge rxData = 0; bitCounter = 0; } #pragma vector=TIMER0_A0_VECTOR __interrupt void Timer_A(void) { // reset P1IE &= ~IR_DETECTOR_PIN; reset(); P1IFG &= ~IR_DETECTOR_PIN; P1IE |= IR_DETECTOR_PIN; }
  14. Like
    RobG reacted to Tieri in (Universal) Color LCD graphics library (2)   
    This was the case, at least for me. According to the datasheet I have for this display, the RGB/BGR direction is controlled by HW pin, so I made the following changes to the code in graphics.c file.
    void setColor(u_int color) { #if defined SWAP_TO_BRG     colorLowByte = (color & 0x07FF) << 11 | (color & 0x07E0) | (color & 0xFFE0) >> 11;     colorHighByte = ((color & 0x07FF) << 11 | (color & 0x07E0) | (color & 0xFFE0) >> 11) >> 8; #else     colorLowByte = color;     colorHighByte = color >> 8; #endif } void setBackgroundColor(u_int color) { #if defined SWAP_TO_BRG     colorLowByte = (color & 0x07FF) << 11 | (color & 0x07E0) | (color & 0xFFE0) >> 11;     colorHighByte = ((color & 0x07FF) << 11 | (color & 0x07E0) | (color & 0xFFE0) >> 11) >> 8; #else     bgColorLowByte = color;     bgColorHighByte = color >> 8; #endif } Then I just defined "SWAP_TO_BRG" and the colors work as they should.
    I know this is old discussion, but decided to post this anyway in hope that it might be helpful to someone.
  15. Like
    RobG reacted to jpnorair in CC13xx Application Integration Survey   
    Answering some of my own questions (for posterity):
     
    Turns out that all I need to do to port most TI-RTOS drivers to another OS is to provide an interface to five headers.  So that's good news for Energia-MT.
     
    Here's a link, describing more.  You can see the driver support matrix, but scroll down to the "Driver Ports" section to see the specific method for attacking a port job.  I tip my hat to TI, they did a nice thing, here.
    Drivers: TI-RTOS Full Driver API Reference
  16. Like
    RobG got a reaction from dubnet in MSP430 Nixie Clock   
    Time to upgrade my Nixie clock.
    Here's what's new:
    1. the number one complaint about my current version is battery, or lack of it, done. The new version will come with backup battery.
    2. hour and minute divider (colon,) done. Added two INS-1 Nixie tubes. 
    3. improved HV power supply, it is now more efficient and quieter.
    Few other tiny improvements.
     
    Should be ready for holiday season.
     

     
  17. Like
    RobG got a reaction from cubeberg in MSP430 Nixie Clock   
    Time to upgrade my Nixie clock.
    Here's what's new:
    1. the number one complaint about my current version is battery, or lack of it, done. The new version will come with backup battery.
    2. hour and minute divider (colon,) done. Added two INS-1 Nixie tubes. 
    3. improved HV power supply, it is now more efficient and quieter.
    Few other tiny improvements.
     
    Should be ready for holiday season.
     

     
  18. Like
    RobG got a reaction from greeeg in MSP-EXP432P401R Pre-Production (black PCB) LaunchPad to be Phased Out   
    Black MSP432 LP used XMS silicon, so it was obvious that sooner or later the board will be updated and $4.32 sale was a signal of the coming change.
  19. Like
    RobG got a reaction from zeke in MSP430 Nixie Clock   
    Time to upgrade my Nixie clock.
    Here's what's new:
    1. the number one complaint about my current version is battery, or lack of it, done. The new version will come with backup battery.
    2. hour and minute divider (colon,) done. Added two INS-1 Nixie tubes. 
    3. improved HV power supply, it is now more efficient and quieter.
    Few other tiny improvements.
     
    Should be ready for holiday season.
     

     
  20. Like
    RobG got a reaction from maralme in (Universal) Color LCD graphics library (2)   
    This is my new universal graphics library (original one is here.)
     
    Supported boards (this is out of the "box" support, but the library will work with any board after small changes.)
     
    TI's MSP430FR5969 LaunchPad (ugl16msp only for now)
    TI's MSP430F5529 LaunchPad
    TI's MSP430G2 LaunchPad with G2553 chip
    RobG's MSP430G2955 Dev Board
    RobG's MSP430F5172 Dev Board
    RobG's MSP430F5510 Dev Board
     
    Supported displays
     
    1.8" ST7735 based JD-T1800 - ugl8
    2.2" HX8340 based displays - ugl8
    2.2" ILI9225 based displays (touch panel) - ugl8
    2.2" ILI9341 based displays 320x240 pixels - ugl16
     
    Tiva versions are right here
     

     

     
     
    ugl8msp.zip (name change 4/18/14)
    ugl16msp.zip (updated 4/19/14)
  21. Like
    RobG got a reaction from DoanQuocNam in (Universal) Color LCD graphics library   
    @Giuss, I have modified 2 functions, drawChar (5x7) and drawChar8_12. Drawing character or string will erase the background with the bgColor.
    11x16 requires more changes so I will do it in few days.
    There are also 2 new functions for setting background color, setBackgroundColor8 and setBackgroundColor16. clearScreen is now setting the background color to white or black, so if you use it before drawing, bgColor will be already set.
    Let me know if there are any issues.
     
    colorLCD.ccolorLCD.h
  22. Like
    RobG got a reaction from veryalive in T6963 Graphical LCD libraries   
    Still rough and slow. Some borrowed code that needs to be improved and optimized.
    Here you can find cubeberg's version of T6963 library.




    t6963.hpg128128a.h
    UPDATED 1/22/2012
    msp430_t6963.h
     
    Reuploaded on 11/26/2014 (looks like files were corrupt during 43oh migration)
    msp430_t6963.c
    main.c
  23. Like
    RobG reacted to JonnyBoats in TI Store - free shipping on all orders from June 19-26.   
    Free shipping at TI Store through 26-JUNE-2016: http://www.ti.com/lsds/ti/store/power-week-deals.page?HQS=corp-tistore-null-powerweek-adh-lp-null-wwe
     
     
  24. Like
    RobG got a reaction from Fmilburn in Nokia 5110 display   
    Yes, I am actually in the process of doing it.
     
    But going back to the problem, looks like compiler doesn't like when declaration is in the middle of statement block and there's no white space before the type. Moving declaration to the top of block or adding white space fixes the problem.
    void clearBank(unsigned char bank) { setAddr(0, bank); int c = 0; //<-- causes error while(c < PCD8544_HPIXELS) { ... void clearBank(unsigned char bank) { int c = 0; //<-- OK, declaration at the top setAddr(0, bank); while(c < PCD8544_HPIXELS) { ... void clearBank(unsigned char bank) { setAddr(0, bank); int c = 0; //<-- OK with white space (that's why formatted code works) while(c < PCD8544_HPIXELS) { ... You can reproduce it in new project like this:
    #include <msp430.h> /* * main.c */ int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer int c = 0; return 0; }
  25. Like
    RobG got a reaction from Fmilburn in Nokia 5110 display   
    @@veryalive, not sure what's going on, but I copy/pasted that code to new project in ccs6.1.3 and go the same exception (can't see any hidden chars, so it can't be it.)
    I then formatted code in main (shift-control-f) and all is good now.
    Attaching files just in case.
     
    main.cPCD8544.h
×
×
  • Create New...