Jump to content
43oh

cde

Members
  • Content Count

    940
  • Joined

  • Last visited

  • Days Won

    21

Reputation Activity

  1. Like
    cde got a reaction from Rickta59 in US Air Force Academy Embedded (Launchpad) Class ECE382 for free   
    From Hackaday:
     
     
     
    http://ece382.com/ and  http://github.com/toddbranch/ECE382
     
    A full embedded system course provided by the Tax Payers Yay. Based around the launchpad and an undocumented learning board (see lesson 3 for a partial picture of it).
    They even have a link to the 43oh forum post on msp430 in consumer devices.
     
     
  2. Like
    cde got a reaction from pine in US Air Force Academy Embedded (Launchpad) Class ECE382 for free   
    From Hackaday:
     
     
     
    http://ece382.com/ and  http://github.com/toddbranch/ECE382
     
    A full embedded system course provided by the Tax Payers Yay. Based around the launchpad and an undocumented learning board (see lesson 3 for a partial picture of it).
    They even have a link to the 43oh forum post on msp430 in consumer devices.
     
     
  3. Like
    cde reacted to zeke in Does anyone work as an embedded engineer?   
    I have always wanted to be an embedded systems engineer. I got my tech diploma first, worked as a board level troubleshooter/repair then I went back to university and got my EE degree. I have since worked for others and now I work for myself.
     
    What I realize from all of that experience is that the definition of Embedded Engineer is inside your head and heart. If you want to do it then it doesn't matter how much training you have or who you work for. If the thought of doing all of this EE like stuff consumes your thoughts, emotions and spare time then you are an Embedded Engineer.
     
    The "world" needs definitions and metrics to measure economic compensation and progress therefore you will be judged by the academic accolades behind your name. It's a fact of life. Don't let that get you down. There are some hurdles worth climbing over. Like strategically getting that degree or diploma that let's you pass the gatekeepers (HR department).
     
    Concerning the work itself, nothing is impossible to accomplish when you have knowledge, skills and abilities. You can learn the unknowns. You can practice the skills. If you don't have the abilities then you are screwed. 
     
    An example of an (dis)ability would be color blindness. If you cannot distinguish all the colors of the resistor codes then you are at a disadvantage.  If you cannot see with your eyes then you cannot code very fluidly. If you cannot hold your hand steady then you cannot hand place 0603 resistors very easily. If you do not believe in yourself then you will be gripped by fear and never take a risk to achieve your goals.
     
    I have been working in this electronics industry since 1988. I am constantly learning. I am constantly being judged by the work of my hands and my mind by peers, employers and, now, clients. I could create a very large list of important knowledge, skills and abilities that I consider as prerequisites to succeed in the electronics industry. That list would be only for me though. Your list will be different.
     
    I came across a speech by Arnold Schwarzenegger this week on youtube. I took notes since the speech is 25 minutes long unedited. Here is the sensationalized TL;DR version. Here's what I wrote down:
     
    1. Trust yourself:
    - What do you want to be?
    - What makes you happy?
     
    2. Break the rules
    - Don't follow society's rules and traditions blindly
     
    3. Don't be afraid to fail
    - Do NOT be paralyzed by fear or you will never make a decision
     
    4. Don't listen to the Naysayers
    - IT CAN BE DONE
     
    5. Work your butt off!
    - Leave no stone unturned aka: Network! Network! Network!
    - No pain No gain
    - There is no way around hard work
    (This next one is my favorite)
    - You cannot climb the ladder of success with your hands in your pockets!
     
    6. Give back
    - You have to help others around you
    - Pay it forward, Pay it back
    - Be generous to and with others
     
    In my opinion, YES, you can do it! You can be the Embedded Engineer that you see in your mind. You can make bluetooth peripherals work. You can do everything that you set your mind to do.
     
    Yes, it will be hard work learning how something works.
    Yes, it will be challenging learning how to craft code.
    Yes, you will have to ask for help.
    Yes, you will have obstacles.
    Yes, you will overcome them.
    Yes, you will succeed.
     
    Jack Ganssle did it. So can you.
     
     
     
     
  4. Like
    cde got a reaction from joelfinkle in Tiva: Can I attach a USB keyboard to the Device USB   
    Section 3.8.6 of the Tivaware document spmu297 I linked above. Not just the description, but an actual USB Host Keyboard example.
  5. Like
    cde reacted to roadrunner84 in Nokia 1202 Booster Pack (RobG)   
    Whenever you pass a constant integer value that does not fit in the standard integer (signed short), strictly you should pass qualifiers:
    8000000UL depicting the value is a unsigned long integer, not a default integer.
  6. Like
    cde reacted to oPossum in Nokia LCD not working when CS tied to ground? [Solved]   
    CS will enforce SPI sync. If CS is not used then you must make sure the SPI clock is perfect. If the LCD has not fully reset when SPI comms begin, then sync is messed up.
  7. Like
    cde reacted to oPossum in Nokia LCD not working when CS tied to ground? [Solved]   
    Try adding some delays to reset.
     

    // Reset LCD DISPLAY_PORT |= RES; // Pull Reset High to Known State, Probably Unneeded DISPLAY_PORT &= ~RES; // Pull Reset Low to Reset LCD __delay_cycles(100000); DISPLAY_PORT |= RES; // Pull Reset High to Complete Reset __delay_cycles(100000);
  8. Like
    cde reacted to LateAgainGerald in Boxing headgear wireless counter   
    I GOT IT WORKIIING!!
      Our adc code which my partner (we're doing the project in pairs) got had set pins 1.0, 1.1., 1.2 and 1.4 as a our ADC pins.. hence the 4 voltage levels 1, 2 ,3 and 4 in the expression window..
    1.2 is the UART transmit pin of the msp430 and i had that plugged into our datain of xbee

      The uart i suppose was getting confused coz its being given 2 tasks.. to send uart and to convert ADC. thats why it couldnt transmit anything to my wireless terminal

    i tried to disable all pins and only set the ADC pin to 1.4

    here is the code below, not siure if its 100% but it works i guess:
     
    #include "msp430g2553.h"       void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled ADC10CTL1 = INCH_1; // input A1 ADC10AE0 |= 0x02; // PA.1 ADC option select P1DIR |= 0x01; // Set P1.0 to output direction   for (; ;-) { ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit if (ADC10MEM < 0x1FF) P1OUT &= ~0x01; // Clear P1.0 LED off   else P1OUT |= 0x01; // Set P1.0 LED on } }   // ADC10 interrupt service routine #pragma vector=ADC10_VECTOR __interrupt void ADC10_ISR(void) { __bic_SR_register_on_exit(CPUOFF); // Clear CPUOFF bit from 0(SR) }   sorry about that enigmatic!
  9. Like
    cde got a reaction from LateAgainGerald in Boxing headgear wireless counter   
    Strlen is a standard string function, and part of standard C/C++. You have to actually include the library it is in to use it though:
    #include <string.h>
  10. Like
    cde got a reaction from LateAgainGerald in Boxing headgear wireless counter   
    According to http://dbindner.freeshell.org/msp430/adc_g2553.html#_usci_on_the_msp430_with_polling you are right. That UCBRS1 is bit 2 of 3 bits, so it's actually setting it to 010x or 2, not 1 (001x).
  11. Like
    cde got a reaction from GeekDoc in Elecrow PCB Service - Free color   
    HK government shutdown. If the US shuts down, everybody else has to or look like untrendy losers. /sarcasm.
  12. Like
    cde got a reaction from LateAgainGerald in Boxing headgear wireless counter   
    The simplest way to troubleshoot this is use the launchpad's serial connection. If you get the "Punch Detected" directly, then its an issue with the xbees. If not, then its an issue with the code or sensor wiring. 
  13. Like
    cde got a reaction from russcky in [Energia Library] Nokia 5110 LCD BoosterPack/Breakout PCB   
    I'm no c++ expert (or user or fan) but the library is built using constructors. You can use the default values, or you can use your own values. The only unique pin would be the Chip-Select.
     
    Instead of just initializing it as "LCD_5110 myScreen;" you would need
    LCD_5110 screenOne; LCD_5110 screenTwo(Another Free Pin,    // Chip Select              P2_4,    // Serial Clock              P2_0,    // Serial Data              P2_3,    // Data/Command              P1_0,    // Reset              P2_1,    // Backlight              PUSH2);   // Push Button 2 Or Different) That's for the software SPI with default pins for the g2553. Each screen would be individually controlled with screenOne.write or screenTwo.write, etc.
     
    See the library here: https://github.com/energia/Energia/blob/master/examples/7.Display/LCD_5110/LCD_5110.cpp or https://github.com/energia/Energia/blob/master/examples/7.Display/LCD_5110_SPI/LCD_5110_SPI.cpp for the hardware SPI version.
  14. Like
    cde got a reaction from Butterworth in My first microprocessor project ever , Data Logger with MSP430 Launchpad(MSP430G2553)   
    Yes, Yes, Yes, and no/maybe? If you are using the valueline launchpad's usb as a serial connection, you are already getting 5v to power everything from. The USB cable connected to a computer IS the external power supply. Or does he mean for when it's not connected to usb?
  15. Like
    cde got a reaction from LateAgainGerald in Boxing headgear wireless counter   
    Combined the two and made some changes to fix/clean them. I won't explain what I did, I'll leave that up to you to read the code and figure it out (There might be one error, as I removed the "_BIS_SR(GIE);" line, but I'm not seeing any interrupts to enable. Everything is polled when needed).
    #include <msp430.h> // MSP430 UART Example http://msp430.gorillaembedded.com By Silver Back [Gorilla Embedded ] // MSP430G2553 P1.1 and P1.2 as TX and RX // Uart Prototype void send_uart(char *data); void ConfigureUART(void); // ADC Prototype unsigned int voltageLevel[4]; void ReadAdc(void); void ConfigureAdc(void); void UpdateOnHit(void); void main(void) { WDTCTL = WDTPW + WDTHOLD;               // Stop WDT , not used BCSCTL1 = CALBC1_1MHZ;                  // DCO at 1 MHz DCOCTL = CALDCO_1MHZ;                   // DCO at 1 MHz // Configure LED P1DIR |= BIT6; P1OUT &= ~BIT6; ConfigureAdc(); ConfigureUART(); while(1){ ADC10SA = (unsigned int)voltageLevel; ReadAdc(); UpdateOnHit(); } } void ConfigureAdc(void){ ADC10CTL1 = INCH_3 + SHS_0 + CONSEQ_1; ADC10CTL0 = SREF_0 + ADC10SHT_2 + MSC + ADC10ON ; ADC10AE0 = BIT3 + BIT2 +BIT1 + BIT0; ADC10DTC1 = 0x4; } void ConfigureUART(void) { P1SEL |= 0x06;                       // Use P1.1 and P1.2 as USCI_A0 P1SEL2|= 0x06;                        // Use P1.1 and P1.2 as USCI_A0 P1DIR |= 0x04;                          // Set 1.2 as output UCA0CTL1 |= UCSSEL_2;                   // Use SMCLK / DCO UCA0BR0 = 104;                          // 1 MHz -> 9600   N=Clock/Baud UCA0BR1 = 0;                            // 1 MHz -> 9600 UCA0MCTL = UCBRS1;                      // Modulation UCBRSx = 1 UCA0CTL1 &= ~UCSWRST;                   // **Initialize USCI  } void ReadAdc(void) { ADC10CTL0 |= ENC + ADC10SC; while(ADC10CTL1 & BUSY); ADC10CTL0 |= ~ADC10SC; } void send_uart(char *data) { P1OUT ^= BIT6;  // Toggle LED unsigned int i; unsigned int size = strlen(data);      //get length of data to be sent for (i = 0; i < size; i++) { while (!(IFG2 & UCA0TXIFG));      //Wait UART to finish before next send UCA0TXBUF = data[i]; } } void UpdateOnHit(void){ if( voltageLevel[2] >= voltageLevel[3] ) { send_uart("Punch Detected! OUCH!\n\r"); } }
  16. Like
    cde reacted to tripwire in TI releasing something "game changing" on Sept 16th   
    Hang on... A $30 detector for electronic components dropped on the carpet? Now that really *is* game changing!
  17. Like
    cde got a reaction from leetrieu in [Help] How to make 2 devices working together using I2C??   
    If you are using two msp430s as i2c devices, figuring one as master one as slave, the slave's address is defined by you. See TI;s slaa383 pdf, and zip with code. http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=slaa383&fileType=pdf
  18. Like
    cde reacted to piglet in My first ever electronics or micrcontroller project: Radio Word clock   
    I'm mostly a lurker on this forum, and watch in somewhat bemused awe at the things you folks manage to create. I'm right at the bottom of a massive learning curve with very little time to climb up it.
     
    Still, I'm very happy with my first ever electronics or microcontroller project. 
     
    It's a word clock inspired by an image of a commercial product I bumped into on the internet.
     
    Parts list:
     
    1) A cheap frame from our local hobby shop
     
    2) An http://www.pvelectronics.co.uk/index.php?main_page=product_info&products_id=2'>






  19. Like
    cde got a reaction from theprophet in Bit-Bang USB on MSP430G2452   
    Breadboards are capacitive nightmares for high speed signals. Avoid them if you can.
  20. Like
    cde got a reaction from LateAgainGerald in Boxing headgear wireless counter   
    So you have 1, working ADC code, 2, working uart code, 3, and are able to receive the data on the other end at the computer (I'm assuming it's just a terminal session right?).
     
    Your already there, you just need a tweak to change the I assume adc value to a text. But for us to help, you'd have to share your code.
  21. Like
    cde reacted to russcky in [Energia Library] Nokia 5110 LCD BoosterPack/Breakout PCB   
    @@cde thanx for the help!
    I spent a little time and got it working with a quick hex2int function that I then converted back to the resulting character and could send it back to the write function:
    // grab 2 hex chars from file stream code[0]=buffer[i]; code[1]=buffer[i+1]; //convert 2 hex chars to single int value between 0-255 and then to single char before sending to LCD myScreen.write(0x0c, char(hex2int(code,2)));  Thanx again!
  22. Like
    cde got a reaction from russcky in [Energia Library] Nokia 5110 LCD BoosterPack/Breakout PCB   
    ASCII 0 is Hex 0x30, ASCII F is 0x46. Without seeing the code you are using, I expect that's might be the issue. If you are not converting the ascii character to the proper value (subtract 0x30 for 0-9, subtract 0x31 for A-F [cap sensitive]) and anding them properly before sending them (you could be adding them backwards, i.e. you expect 0x01 but you are sending 0x10).
  23. Like
    cde reacted to spirilis in Powering the MSP430 on Launchpad w/Emulator Disconnected   
    So the reason this happens, is that the RESET and TEST (and RXD, TXD) lines connect through those jumpers to other MCUs that are part of the Emulation layer.
     
    If that emulation layer is not powered, i.e. you applied power to the Vcc + GND lines of the target but the USB cable is unplugged, then the emulation-layer IC chips will have a 0V potential on their Vcc lines and seeing a higher-than-0V level on some of their GPIOs (the ones that ultimately lead to your RXD, TXD, TEST, RESET pins in your target) will cause power to flow through the "protection diodes" on the emulation ICs.
     
    Your target, in effect, is powering the emulation layer through any means possible ... the RESET pin probably being the only one that has a consistent +Vcc voltage level on it.  But since the only Vcc power applied to RESET is through a fairly high-value resistor, it doesn't take much load to drop that voltage very low to the point that it holds your target in RESET mode.
  24. Like
    cde got a reaction from glocke in Powering the MSP430 on Launchpad w/Emulator Disconnected   
    Try removing all the jumpers, not just VCC.
  25. Like
    cde got a reaction from spirilis in [SOLVED] Help! Software PWM for the MSP430F5529   
    Well, you could set pin 9 as an input, use a hardware pwm pin, and use a jumper from that pin to pin 9. Sure, you loose a pin, but unless your design is pin-heavy, I'm sure you have one to spare.
×
×
  • Create New...