Jump to content

agaelema

Members
  • Content count

    54
  • Joined

  • Last visited

  • Days Won

    38

agaelema last won the day on January 25

agaelema had the most liked content!

About agaelema

  • Rank
    Level 1

Contact Methods

  • Website URL
    http://br.linkedin.com/pub/haroldo-amaral

Profile Information

  • Gender
    Male
  • Location
    Brazil
  • Interests
    Analog and Digital Electronics, Microcontrollers, Launchpads and Beer :p
  • Github
    https://github.com/agaelema

Recent Profile Visitors

762 profile views
  1. agaelema

    Timeout Library for MSP43x

    Yes, you need to use the Code Composer Studio because there is no energia support for this variant.
  2. agaelema

    Timeout Library for MSP43x

    Hi, I think not because there are is no launchpad using the MSP430F6736, this device is for a specific niche. The Energia project focus on devices used on common development board, like the Arduino project. But you can use the DriverLib to facilitate the programming of the device.
  3. Hi, I posted a question on e2e but I found interesting to ask here too. I'm trying to port the Adafruit MCP4725 library to MSP430 using the Driverlib. I'm testing with launchpad EXP43FR2433 running at 1MHz and I would not want to use interruption to keep the code more portable. The sequence to write some value on DAC is relatively simple. - Set address -> send start -> send write cmd -> send upper byte -> send lower byte -> send stop. Using the following code one byte of the value is lost. msp43x_I2C_setSlaveAddress(EUSCI_B0_BASE, _i2caddr); msp43x_I2C_masterSendStart(EUSCI_B0_BASE); msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, controlBits); // write cmd msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, dataBits / 16); // Upper data bits (D11.D10.D9.D8.D7.D6.D5.D4) msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, (dataBits % 16) << 4); // Lower data bits (D3.D2.D1.D0.x.x.x.x) msp43x_I2C_masterMultiByteStop(EUSCI_B0_BASE); But if I insert some dummy code (__delay_cycles) the transmission starts to work. #define I2C_Delay 5 msp43x_I2C_setSlaveAddress(EUSCI_B0_BASE, _i2caddr); __delay_cycles(I2C_Delay); msp43x_I2C_masterSendStart(EUSCI_B0_BASE); __delay_cycles(I2C_Delay); msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, controlBits); // write cmd __delay_cycles(I2C_Delay); msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, dataBits / 16); // Upper data bits (D11.D10.D9.D8.D7.D6.D5.D4) __delay_cycles(I2C_Delay); msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, (dataBits % 16) << 4); // Lower data bits (D3.D2.D1.D0.x.x.x.x) __delay_cycles(I2C_Delay); msp43x_I2C_masterMultiByteStop(EUSCI_B0_BASE); __delay_cycles(I2C_Delay); Someone knows what's happening? It looks like the library is not checking if the transmission was correctly performed. Thanks
  4. agaelema

    Raw ECG Signal Processing with MSP430

    One "easy way" is increase the sampling rate and use some moving average or exponential moving average. It's possible to use it without increase the sampling, but will interfere a lot in the waveform. Another way is apply some IIR or FIR filter. You can try my DSP library in this post https://forum.43oh.com/topic/10495-dsp-and-math-lib/
  5. Although the MSP430X has 20 bit address capability, it still a 16bit uC because data bus still 16-bit. The increase of bits in address bus allow to access more memory, from 64kB to 1MB. http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/4142/blg-351/ekkaynaklar?g867878
  6. You can use a pointer of uint16_t to receive the address of the 64bit variable. After, it's just read the value inside the address pointed by the pointer and increment it, repeating the process to read all addresses.
  7. agaelema

    MSP432 RTC User adjust

    Hi @biza, This two conversions are quite simple to do. Decimal to BCD (considering a number between 0 and 99) - Divide the number by 10 - take te result and shift left 4 places - take the modulo of division (%) by 10 - add the reminder to the left shifted value BCD to Decimal (considering a number between 0 and 99) - Shift right 4 places and multiply by 10 - apply a "AND" opperation between the number and "0xF" to isolate the lowest nible, then, add to last number This video show this: - https://www.youtube.com/watch?v=nieuAryQ2SI
  8. agaelema

    MSP430FR2433 LCD16x2

    Hi @Tauronts, After read your post I updated an old library (I think it's similar to your library). It's available in this Thread. - http://forum.43oh.com/topic/12976-yet-another-lcd-16x2-library-easy-to-configure/ It works fine on new FR2433 launchpad. My lcd worked with 3.3v, but the contrast is very poor. You can power it with 5V from launchpad, but it can be dangerou without a level converter. If you want to test at your own risk, simply connect the RW pin to GND, so it will always work in write mode, but it's good use a level converter avoiding troubles.
  9. Hi guys, To train the use of some macros I decided to update/improve a 16x2 lcd library (HD44780) that I adapt many years ago. Possible there are other libraries shared here, but I liked how I managed the configuration of ports and pins using some macros. The use of macros made the library more versatile and easy to adap to new projets without the need to change tons of code lines. The same simples example of use is runnig on MSP430G2553 (old value line launchpad) and MSP430FR2433 (the new value line launchpad). I hope it's useful. https://github.com/agaelema/LCD16x2_MSP43x
  10. agaelema

    MSP-EXP432P111

    Hi @Rei Vilo, I don't found the library in the page. It's based in the examples from TI?
  11. agaelema

    MSP-EXP432P111

    Thanks @bluehash The main objective is to use this launchpad as part of the embedded system of my thesis related to smart metering. I can solve two problems - A simples interface, like the LCDs present in energy meters - A good amount of flash and mainly of RAM to run signal processing and other things
  12. agaelema

    MSP432P4111: What do we know about it so far?

    The Launchpad is available in the store! http://www.ti.com/tool/msp-exp432p4111 I wrote a little review about it LINK
  13. agaelema

    MSP-EXP432P111

    Hi guys, The new Launchpad MSP-EXP432P111 was released some days ago. I bought one and it arrived today . The board use the XMS432P1111 (pre-production version of MSP432) microcontroller, a Cortex M4 with 48MHz, 2MB of flash, 256KB of SRAM (very impressive), 14bit ADC and many other peripherals, like the LCD driver. Apparently, the LCD is the same of other launchpads (eg.: EXP430FR6989), very interesting to understand how to use the LCD driver and develop some projects. The Out-of-Box demo has two modes: - Blink LED, where you can controll the frequency of blink pressing the button S1 and controll the color by pressing the button S2. - Temperature mode: Show the temperature based in the internal sensor (pressing S2), or based in an external temperature sensor (pressing S1), a LMT70, but it's necessary to put a jumper in R8, powering the sensor. There is a online GUI enabling to control other parameters like special characters in the LCD. The finishing of PCB's is impeccable, as always.
  14. Hi, The new MSP430FR2433 ValueLine Launchpad is with a promotional price. https://e2e.ti.com/blogs_/b/msp430blog/archive/2017/11/08/introductory-price-of-4-30-for-msp430fr2433-mcu-launchpad-kit?HQS=epd-mcu-msp-vline-fb-blog-LPdiscount-wwe&hootPostID=97a463d63a1e96cbf999f3c7a33c703e It seems to be a good replacement to the old ValueLine G2
  15. agaelema

    DSP and Math lib

    Hi everyone, I updated the library adding some functions: - to easily generate sine waves in a array and iteratively - goertzel dft using array data or sample by sample (very interesting because not need an array) Enjoy it Github: https://github.com/agaelema/DSP_and_Math
×