-
Content Count
56 -
Joined
-
Last visited
-
Days Won
39
Reputation Activity
-
agaelema got a reaction from veryalive in Using SD16 of MSP430F2013 as an I2C ADC
Hi,
I wrote an article (in Portuguese) about how to use the SD16 ADC of MSP43F2013, and to show one practical application I transformed the MSP430F2013 in an I2C 16-bit ADC, similar to ADS1115.
In the example, I read the data using one Arduino Nano.
Comparing the conversion of SD16 and ADS1115:
More details about the project can be found in my Github:
https://github.com/agaelema/msp430f20x3_as_i2c_16bit_adc
The project is open to further improvements/optimizations and functions.
-
agaelema reacted to NicholasLindan in Announcing the PRTOS preemptive real time operating system
Announcing the release PRTOS, an open-source preemptive real time operating system kernel for bare-metal applications.
You may find PRTOS a good choice if you want to learn about preemptive multitasking. The API, though having all the features of FreeRTOS or uC/OS, is much simpler and easier to learn. Additionally the system will fit into much smaller processors.
PRTOS is released by Cleveland Engineering Design - the developer of the CoRTOS cooperative real time OS, also available on Sourceforge.
PRTOS presently supports the MSP430 and AVR architectures.
PRTOS is available on Sourceforge at https://sourceforge.net/projects/prtos-preemptive-rtos/
The advantages of PRTOS are:
It has the smallest footprint of any true preemptive system: 1.3kB for basic scheduling and task control, 4.8kB with all the features below (MSP430 / size optimization); Only 950 lines of code implement all of the RTOS features (SLOC-L); The system is configurable, you include only the features you need; There is minimal to zero interrupt burden; The system is well documented with a short but comprehensive manual, well-commented source code, and a test suite demonstrating the features; The system is proven - it has been in use since 1982 with applications in in-vitro medical equipment, process control instrumentation and industrial machinery; It is released under a GPL V3 license and commercial licensing is available. PRTOS provides the following features:
Scheduling
Preemptive Prioritized Round-robin equal priority tasks Task Control
Initialize/Ready Suspend/Resume Lock/Unlock Change priority Relinquish a round-robin turn Communication
Messages, priority messages Signals Delay & Time
Task delays Time-outs Periodic signals Run timers Resources (mutexes)
Multiple resource ownership Priority inversion mitigation Priority or FIFO queuing Semaphores
Binary Counting Signaling ISR -> task functions
Send signal Send message, send priority message Resume task
-
agaelema got a reaction from munny in 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/
-
agaelema got a reaction from Soumit in How to input a 64bit value from stack to one of the MSP430f5529 registers?
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.
-
agaelema got a reaction from veryalive in (Yet another) LCD 16x2 library - Easy to configure
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
-
agaelema got a reaction from Fmilburn in (Yet another) LCD 16x2 library - Easy to configure
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
-
agaelema got a reaction from Fmilburn in 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.
-
agaelema got a reaction from bluehash in (Yet another) LCD 16x2 library - Easy to configure
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
-
agaelema reacted to Rei Vilo in MSP-EXP432P111
@agaelema Have a look at my project of Low Power Weather Station.
The LCD library designed for the MSP430FR4133 and MPS430FR6989 shouldn't be difficult to port to the MSP432P111.
-
agaelema reacted to Rei Vilo in MSP-EXP432P111
The LCD library presently works for the MSP430FR4133 and MPS430FR6989 but shouldn't be difficult to port to the MSP432P111.
The LCD library is called LCD_Launchpad and included in the Energia 18 distribution for MSP430 boards.
-
agaelema got a reaction from Fmilburn in 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.
-
agaelema got a reaction from bluehash in 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
-
agaelema got a reaction from bluehash in 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.
-
agaelema reacted to Peabody in BSL for G2553 and G2231 using embedded USB-Serial adapter
I originally posted about this in October, but wanted to report that I've updated the G2553 special BSL entry code to fix a bug. Everything is included in my Github repository:
https://github.com/gbhug5a/MSP430-BSL
To review, this project deals with the MSP430G Value Line processors, and was prompted by the idea of embedding a CP2102 USB-to-Serial adapter in a project's circuit rather than hooking one up through a pin header, or using the Launchpad for JTAG flashing. So all you would need to flash new firmware is a USB cable and the right software. A detailed description of what's involved is in the long-winded PDF file. The PDF deals with the much-despised BSL password in the G2553 ROM-based BSL, and offers a couple ways around it, including special boot code that fits entirely in the INFOA segment along with the existing calibration data, and lets you run BSL with INFOA protected from erasure, which means you can flash new firmware without knowing the password, and without erasing the calibration data.
There's also a complete custom BSL system for the lowly G2231, which has no built-in BSL. Included are installers for the chip and the PC software to drive the process. And there's a discussion of circuit design for using embedded adapters or modules containing them.
The installers for the chips use the Naken assembler, and the PC software uses the LCC compiler. But the repo includes both the source code and the executables for everything, so assembler-phobes can just flash the hex files.
There are two small bonuses - a VBScript for Windows that converts an IntelHex file to TI-TXT format, and as part of the BSL installation for the G2231, the calibration values for 8, 12 and 16 MHz are derived from the existing 1 MHz calibration value, with no crystal required, and saved in the usual places in INFOA (based on original work by Steve Gibson).
I did the original work on this for a project, and decided I might as well write it up in case it might be useful to others at some point. The Value Line processors are kinda old school now, but are still available in DIP, and are still pretty popular. And the circuit design portion may be more generally useful.
Of course I'd like to know about any bugs or errors anyone may find. Hope this will be useful.
-
agaelema reacted to altineller in Neural network code
I have made a simple implementation of an ANN that runs on the Tiva-C and 5529 using c++. It basically is a spiking neural network where the input is summed, and if above threshold, that neuron fires all the axons with 1 * W. There is also a mechanism of decay of the firing rate each time the neuron runs, and a mechanism to modify the neurons firing time, (the more the sum is, the quicker it fires, with in a range.) So the output from each neuron is always one, but the frequency differs.
So, it is a trivial spiking neural network but it works. I already connected 4 light sensors, 4 input neurons, 1 hidden layer of 4 neurons, 2 output neurons to motors, and obtained a robot that goes around the light like a fly.
@spirilis are there other implementations for embedded platforms for neural networks, that runs on TI products?
would anyone be interested in the ANN code, if i make it opensource will anyone help me to make it better? I would be very interested in modifying it so it runs on the c2000.
basically it would benefit from a fpu. all it does is sum and multiply floating point numbers.
~Best
-
agaelema got a reaction from KatiePier in Promotion of MSP430FR2433 MCU LaunchPad™ kit
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
-
agaelema got a reaction from zeke in Promotion of MSP430FR2433 MCU LaunchPad™ kit
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
-
agaelema got a reaction from Fmilburn in Promotion of MSP430FR2433 MCU LaunchPad™ kit
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
-
agaelema got a reaction from veryalive in 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
-
agaelema got a reaction from bluehash in DSP and Math lib
Hi,
I'm working in this library with some useful DSP and math functions (ideally focusing on embedded systems). Currently it's in the initial version with few functions, but I hope to add more in the next update.
I prefered to use some structs to save parameters and use just one function to various instances of filters (very versatile).
Functions
- High Pass Filter (Single pole): Float, fixed and fixed extended version (with more bits to fractional part)
- Low Pass Filter (Single Pole): Float, fixed, fixed extended and fixed fast (with some limitations related to cuttof frequency, but more efficienty.
- RMS value: calculate RMS value of an array or sample by sample. Currently using square root function of math.h, but in the next update I will add a optimized version.
I hope this can be useful. Feel free to test, share and contribute with this project.
Github: https://github.com/agaelema/DSP_and_Math
-
agaelema got a reaction from bluehash in 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
-
agaelema got a reaction from Fmilburn in 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
-
agaelema got a reaction from tripwire in DSP and Math lib
Hi,
I'm working in this library with some useful DSP and math functions (ideally focusing on embedded systems). Currently it's in the initial version with few functions, but I hope to add more in the next update.
I prefered to use some structs to save parameters and use just one function to various instances of filters (very versatile).
Functions
- High Pass Filter (Single pole): Float, fixed and fixed extended version (with more bits to fractional part)
- Low Pass Filter (Single Pole): Float, fixed, fixed extended and fixed fast (with some limitations related to cuttof frequency, but more efficienty.
- RMS value: calculate RMS value of an array or sample by sample. Currently using square root function of math.h, but in the next update I will add a optimized version.
I hope this can be useful. Feel free to test, share and contribute with this project.
Github: https://github.com/agaelema/DSP_and_Math
-
agaelema got a reaction from Fmilburn in MSP432P4111: What do we know about it so far?
Hi,
I noted this device in july when I updated CCS and do some search in the "Research explorer". Very interesting. There is some examples in the "SimpleLink MSP432 SDK" and one image of the probable launchpad (very interesting).
-
agaelema got a reaction from Fmilburn in DSP and Math lib
Hi,
I'm working in this library with some useful DSP and math functions (ideally focusing on embedded systems). Currently it's in the initial version with few functions, but I hope to add more in the next update.
I prefered to use some structs to save parameters and use just one function to various instances of filters (very versatile).
Functions
- High Pass Filter (Single pole): Float, fixed and fixed extended version (with more bits to fractional part)
- Low Pass Filter (Single Pole): Float, fixed, fixed extended and fixed fast (with some limitations related to cuttof frequency, but more efficienty.
- RMS value: calculate RMS value of an array or sample by sample. Currently using square root function of math.h, but in the next update I will add a optimized version.
I hope this can be useful. Feel free to test, share and contribute with this project.
Github: https://github.com/agaelema/DSP_and_Math