Jump to content

RobG

Members
  • Content Count

    3,117
  • Joined

  • Last visited

  • Days Won

    247

Everything posted by RobG

  1. RobG

    MSP430 Nixie Clock

    For those who want to customize. main.c
  2. Interference could be the problem. Didn't experience it with CC's, but I did with GPS module. Yes, internal resistor. I didn't test the range and I tested single bytes of data. I may do some more tests tonight.
  3. @@CorB, I tested my Air setup with 2.4" BP and it seems to be working fine. The only thing I had to do is make sure touch CS (P2.1) is pulled up.
  4. I have similar issue with 2.2" BP and my Ethernet BP. Everything works except when MISO is used. Slowing down SPI to 8MHz works for me. When used separately, both BP are OK @ 16MHz.
  5. The new 2.4 BP has pads very close to LCD's frame, check for shorts. Also, since there are many more tracks, it could be reflections. Try with the slower SPI clock.
  6. Unfortunately, pin conflicts are unavoidable when dealing with stacked BoosterPacks.
  7. Sorry, I meant D/C pin, not RS (it's basically the same thing, data/control or register select.)
  8. You have to keep 0.1uF as close as possible to Vcc pin. Something like this with peripherals.bmp
  9. RobG

    MIDI Booster Pack

    @@ABeardedSwede, here's a sample code (this is what I used for Tindie video.) This code has some extra things that you don't rally need. To send MIDI, all you need is a circular buffer to which you add necessary number of bytes for each MIDI event. midi_arp_with_adc.cmidi_arpeggiator.hmidi_constants.h
  10. Any suggestions for accessory boards? I was thinking to make the following: DAC (possibly with +/-12V DC/DC) Configurable op amp Configurable comparator 74HC165 parallel in/serial out shift register
  11. RST pin is floating, you should pull it up to Vcc (directly or through 47k resistor. If you want to do in circuit programming, add 47k resistor between Vcc and RST and 1nF capacitor between RST and GND.) Also, add 0.1uF bypass capacitors next to Vcc pins of both chips or MSP at least.
  12. Good to hear it works and I hope you got something out of this. You should now try to move switch conditionals to ISR. What you have works, but this is not the best solution. This is just my hobby, but software development is what I do for living.
  13. Ah, that makes big difference, your schematic says F2132. Connect EN_A to P2.6 instead of P2.3 (BTW, there was a mistake in my previous post, it was ENA instead on EN_A.) Also, added little delay to the loop. Otherwise you would not be able to adjust speed, it would just go up to 100% and down to 0% with a single press. #include "msp430g2553" // I don't have io430.h, so I will use standard defines #define Button_forward BIT0 //P1IN_bit.P0 #define Button_reverse BIT1 //P1IN_bit.P1 #define Button_stop BIT2 //P1IN_bit.P2 #define Button_fast BIT3 //P1IN_bit.P3 #define Button_slow BIT4 //P1IN_bit.P4 #define IN_1 BIT0 //P2OUT_bit.P0 #define IN_2 BIT1 //P2OUT_bit.P1 #define EN_A BIT6 //P2OUT_bit.P2 void main(void) { WDTCTL = WDTPW + WDTHOLD; DCOCTL = CALDCO_1MHZ; BCSCTL1 = CALBC1_1MHZ; // we need to use P2.6 which by default are xtal pins, clear SELs P2SEL = 0; P2SEL2 = 0; //configure timer CCR0 = 99; // we use smaller number so that you don't have to press fast/slow 1000 times CCTL1 = OUTMOD_3; CCR1 = 50; TACTL = TASSEL_2 + MC_1; // configure outputs P2OUT = 0x00; P2DIR |= IN_1 + IN_2; //configure timer's output P2DIR |= EN_A; P2SEL |= EN_A; // configure inputs (all pins are inputs by default, so this is not really necessary) // I am assuming fast & slow switches are connected to P1.3 & P1.4 same way as the other 3 are, with resistors. P1DIR &= ~(Button_forward + Button_reverse + Button_stop + Button_fast + Button_slow); while (1) { _delay_cycles(200000); if (P1IN & Button_forward) { // again, no io430.h, so I will use standard way P2OUT |= IN_1; P2OUT &= ~IN_2; } else if (P1IN & Button_reverse) { P2OUT &= ~IN_1; P2OUT |= IN_2; } else if (P1IN & Button_stop) { P2OUT &= ~IN_1; P2OUT &= ~IN_2; } else if (P1IN & Button_fast) { if (CCR1 < CCR0) { CCR1++; } } else if (P1IN & Button_slow) { if (CCR1 > 0) { CCR1--; } } } }
  14. Which processor do you have?
  15. Input pins are used to control direction. Enable pin is used to control the speed by turning both drivers (in1 & in2 ) on and off. You should see PWM signal on P2.3, to verify, connect LED (with resistor) to P2.3 and GND and you should see it dim.
  16. I don't have F2132 or io430.h so I cannot test your code, but try the code below. All switches are connected the same way, ENA is connected to P2.3 instead of P2.2 Code removed, see later posts
  17. The new screen will work with ILI9431 library (like my 2.2" LCD BP) and the touch panel works just like in my 2.2" LCD with Touch BP (ILI9225.) So all that should be required to make it work is just changing LCD CS & RS pin and which driver chip is used.
  18. I am looking for some information about Rigol's Active Logic Head (LH1116) which is included with DS1102D/DS1052D. I wanted to buy new head to replace my missing one, but at >$300, it's just not worth it. I have decided to make my own, but I wasn't sure if it's possible. The price suggested that this must be rather complex piece of hardware and there's no documentation whatsoever. I was able to locate few pictures of the PCB, and as it turns out, this thing is super simple, it's just a few LVD drivers and some simple resistor dividers (totally not worth the $300 price.) There were some problems with those heads, so some versions also have Schottky buffers in them. After some investigative work, I was able to figure out the connections, but one thing I don't know yet is the polarity of some of the signals (I do know D2, D6, D8, and D12.) I will have to build a simple driver to confirm the polarity, but if there's someone who has this head and would be willing to do some tests (the head must be opened for this,) that would save me some time.
  19. Have you figured this out yet? You monitor switches 2 different ways in your code, while loop and ISR. Pick one, it will make things a lot easier. Disconnect ENB and SENSB, those belong to the second bridge. Connect ENA to P2.3 (where ENB was connected before.) Configure P2.3 as timer output TA0.1 (P2SEL.) I am using TA0.1 in my code, but on pin P1.2 BTW, which processor are you using? F2132?
  20. Here's the pinout (LCDs are preconfigured for new pinout.) Pos/Pin CS_Dis CS_SD D/C New(1) P2.5 P2.4 P1.3 Legacy(2) P1.0 P2.5 P1.4 P2.0 Touch IRQ P2.1 Touch CS As for the library, use ugl16msp.zip (from here) and change the following lines in msp.h // chip select #ifndef LCD_CS_PIN #define LCD_CS_PIN BIT5 // from BIT0 to BIT5 #define LCD_CS_PORT P2 // from P1 to P2 #endif #define LCD_CS_OUT portOut(LCD_CS_PORT) #define LCD_CS_DIR portDir(LCD_CS_PORT) // #define LCD_SELECT LCD_CS_OUT &= ~LCD_CS_PIN #define LCD_DESELECT LCD_CS_OUT |= LCD_CS_PIN // data/control #ifndef LCD_DC_PIN #define LCD_DC_PIN BIT3 // from BIT4 to BIT3 #define LCD_DC_PORT P1 Now, that library does not support touch panel, but there are some touch examples posted by me. Rei's library supports touch panel, so you could also use that one as well. I am almost done adding touch to my library, but I am not sure when I will finish it, possibly next week.
  21. @@CorB, the pinout is the same as my 2.2" 320x240 LCD, touch controller same as 2.2" Touch LCD. I will add this information here later on and also update my lib (there are only 3 lines that have to be changed.)
  22. @@mfpek, took a quick look at your code and I see that your pins are not configured properly. PxDIR has to be 0 for input, 1 for output. PxSEL is used for other functions, so leave it as is. Configure pull-up resistors and interrupts using PxIE, PxIFG, PxIES, PxREN, PxOUT. Also, Timer's output is not configured as it should be.
  23. It's very simple @@mfpek, just configure 2 pins as inputs with interrupts and add ISR Something like this #pragma vector=PORT1_VECTOR __interrupt void Port_1(void) { if (P1IFG & SWITCH1_BIT) { //faster if(CCR1 < 1000) // CCR1 < CCR0 CCR1++; P1IFG &= ~SWITCH1_BIT; } if (P1IFG & SWITCH2_BIT) { //slower if(CCR1 > 0) CCR1--; P1IFG &= ~SWITCH2_BIT; } }
  24. RobG

    MSP430 Nixie Clock

    @@zeke, I have this uncomfortable feeling that I missed your order, let me check my post office slips.' UPDATE: will ship on Monday, sorry about the delay
  25. It's 390 ohm, R12's value is incorrect.
×
×
  • Create New...