tingo reacted to jpnorair in Why to C over C++?
That's a central point for both me and Linus, though. If you have an open source project, it is easier to manage if it is being worked-on by a smaller number of good programmers than a larger number of less-than-good programmers. If I can use C to prevent less-than-good programmers from contributing code, that's a great attribute of C. Generally, I find this works, too.
It is important to understand that I am not interested in the language features of C++ or, really, any programming language in particular. Programmers who argue about one language feature against another aren't really people I want on my projects. Coders who obsess about language features tend not to obsess about the performance of the product. The hallmark of modern language features -- maintainability of source trees in group programming -- is not really important for embedded products due to the way hardware is released. Performance, however, is very important. (I'd also argue that Git and things like it make source-tree maintainability a different issue than it was when C++ and Java were being developed).
Lastly, "being right" in this matter is purely a function of doing. Most great software and firmware is still done in C (especially true with open source software). If you make a great piece of C++ software, then it is right.
tingo reacted to pabigot in Open source (BSD-3-Clause) embedded text formatting library released
In the tradition of giving 43oh folks first notice when I release something that may be relevant:
embtextf is a library of routines supporting text formatting for embedded systems. Primarily, this is printf(), but done in a way that's agnostic of whether output is to a UART, an LCD, a memory buffer, or whatever. The implementation is pretty feature-complete with respect to C standard format strings, excepting floating point. Unwanted features can be disabled at compile-time to reduce memory.
There are also functions to convert C integer data types (int, long, long long) to text in any radix from 2 to 36, for when you can't spare the stack space that generic printf has to reserve. Sure you can write these yourself, but throwing them in along with printf was easy.
The bulk of this is extracted and refactored from the implementations in msp430-libc. The motivation for 43oh would be to get full printf() support in less memory when using Code Composer Studio; I'm using this for the console support of BSP430 (CCS support coming soon). It's also useful on other microcontrollers: e.g. the CodeSourcery ARM compilers use newlib underneath, and getting newlib's printf() to function properly is a very bad dream if not an outright nightmare (and it's a space hog).
Check out the documentation, and provide any feedback/bugs/suggestions issue tracker.
tingo reacted to geodave in Solar Driveway Light to MSP430 Wireless Sensor Node
Greetings! I am new to the forum and this is my first solo microcontroller project. Please be kind to me as I am a Geographer and by no means a programmer or electrical engineer. Stupid questions should be expected.
Photo 1. The $4 light from Lowes Hardware. Portfolio Landscape brand Model #0379420 (http://tinyurl.com/cn4e684)
Photo 2. I like that it has a nice battery compartment and comes with a 800Mah AA Battery.
Photo 3. The inside of the light. Contains a chip which boosts the 1.2v battery to 5.0v to power the LED. Comes with an inductor and diode that can be reused.
I taught myself Eagle Autocad and created a schematic/board to replace the stock board inside the solar light. My board utilizes a Texas Instrument TPS61097 (free sample) which converts the 1.2v from the batter to 3.3v to power the MSP430. Version 1 of the board is shown below with just the power circuitry populated (Photo 6). I put a jumper wire on the TPS61097 between the EN and VIN because I wasn't able to get the bypass switch (Page 16 of the schematic http://www.ti.com/lit/ds/symlink/tps61097-33.pdf ) to work correctly. I had 200k resistors on R1 and R2 (actually 2x100k 1% in series each...didn't have any 200k on hand) which didn't work (bypass switch stays on) so I jumpered EN and VIN and now get the full 3.3v. I would like to get this bypass feature enabled. Any ideas where I am going wrong here? I assume the resistor values are incorrect for the 1.2v battery.
Photos 4 and 5. Board Mockups from OSHPark
Photo 6. V1.0 of the board received 3/20/2013. Partially populated (no time!!!). Two green wires are from stock photoresistor (not yet connected).
Photo 7. Schematic for v1.0
Current Project Status: Basic code for Raspberry Pi done (python and Flot charting), code written that reads sensors and sends comma delimited sensor data over Raspberry Pi UART, v1.0 solar light board done and receive today from OSHPark (3/20/2013).
Current Activities: Waiting for my second child to be born and testing the charging and booster circuit.
Still to do: Get nRF24L01+code working with my existing code and design Raspberry Pi Node (current version on rough protoboard board). I did start playing with my nRF24L01+ modules and was able to send my name through the character buffer array. I need to find the best way to send this data through the nRF24L01+ module and print it to the UART attached to the Raspberry Pi.
I hope you guys enjoy my project idea and with your help I will hopefully finish. I will post schematics/boards, code, etc when it is more complete. My wife is due next week so things will likely progress slowly.
The code I do post will likely be messy. If you like my project feel free to help me clean it up but please do explain whatever you do in layman terms. I am not as lay as I use to be with electronics/programming but much more lay than most of you folks! Cheers!
tingo reacted to JeffersonJHunt in ePaper Hour Meter
Special thanks to the authors of the following projects - ePaper Calendar and bilder.org !
I picked up the ePaper display and the associated header from the good folks at SparkFun!
I needed to build an hour meter for a 240v heater in the shop. I could have used a COTS power adapter and a mechanical hour meter, but I couldn't pass up the chance to use ePaper.
The meter tracks total time since last reset (via a jumper) and the current/last amount of time the unit ran. I used an ePaper display so the display would be readable even when the unit was powered down.
The code is very run of the mill stuff sans the small bit of code to rotate run time between 3 chunks of info memory with a small error correction routine. This not only protects from a bad write (say during a power cycle) but also effectively triples the endurance of the flash. Look in the flash.c and flash.h files. The code is fairly clean, but not terribly optimized. It weighs in at ~2016 bytes so it just about maxes out the g2211 I used. There is a video I took just before final assembly : hour-meter-v1.zip
tingo reacted to jpnorair in STM32L vs. MSP430F5: What's left for MSP430?
I agree on this, although I am biased in the sense that I author a competitor to Contiki. It takes a lot of effort to engineer an RTOS for low power. Low-power was never a primary focus of Contiki, made obvious by the fact it doesn't manange low-power modes in the kernel or even have a simple way to describe sleeping possibilities to the user at all. Every MCU RTOS has a primary architecture -- it is the first one that it was designed on. For Contiki, it is AVR. For OpenTag (my RTOS), it is MSP430F5 (esp CC430F5137). Most MCU RTOS systems have schedulers that run each tick, which is something I avoided -- in retrospect I can probably thank the influence of MSP430 roots. Contiki's timer API is fairly rigid, and there is no support for sleeping in the kernel, so if you are trying to build a low-power product using MSP430, it might not be worth the effort to try to do it with Contiki. It will take a lot of hacking to get it suitable, at which point you might lose compatibility with other Contiki libs. If it's uIP that you want, why not just port that... my two cents.
Re SVM on the MSP430F5: this is definitely one of the sticking points for me. The STM32L SVM has no overhead coming out of deep sleep, but the elongated wakeup out of LPM3 is a problem on the 430F5. However, in practice it isn't really a huge problem. It is unlikely that your battery will fail during LPM3, because I don't think it is possible on the MSP430F5 to schedule a timer interval more than a few hours long. You go longer with the RTC, but that requires powering the RTC, which often isn't worth it. All of the apps I do have battery runtime measured in years, and on my products I only check the battery once every few hours -- sometimes less. It is a lot simpler with the STM32L, which can maintain the SVM at all times, but on the flip-side it is extremely difficult to do deep-sleep asynchronous scheduling on the STM32L (it is easy on the 430F5).
tingo reacted to wulfman in [Group Buy-13]MSP430 Reflow Oven Controler
yeah thats it oven is for any oven that has top and bottom elements and a convection fan i grabbed mine at walmart for 50-60 bux
single element ovens will not work well as temp control will not be good enough and it also cannot heat up fast enough for the reflow profiles especially for lead free solders
tingo reacted to mbeals in Multidrop UART
Nope that's the right part. For all intents and purposes RS422 is equivalent to full duplex RS485. Half duplex RS485 is a single set of differential pairs. RS422 just adds a second pair (4 wires total) with one pair handling RX and the other TX. There are some minor differences between the two standards, but for a device like this, they shouldn't be an issue.
tingo reacted to mechg in PowerScope
43oh Store link I found myself wanting a dedicated power monitor to use while developing battery-powered application circuits, so I built one using the MSP430G2402. http://code.google.com/p/powerscope/ This device has already helped me identify and eliminate about 40% of the power usage of a project in-progress. Right now, I just have the code as a zip file on the download tab, but if anyone wants to develop additional features, I can check the code into Subversion and create some branches. The board can be ordered for about $12 (for 3 boards) by uploading the Eagle .brd file to http://www.oshpark.com I don't make any money from oshpark. Greg Glenn
tingo reacted to Fred in Sundial - Kids Clock with LEDs
They're fairly readily available - mostly as torches. No motors as standard but they're large enough that fitting a servo shouldn't be too hard. I've got a Stormtrooper alarm clock one intended as the base for my nephew's clock, and a Darth Vader that may one day use his light saber display the results of our source code builds at work. I've also used one for my son's nightlight (including a MSP430 based PIR) as documented here - http://www.instructables.com/id/Motion-sensing-Lego-figure-nightlight/
tingo reacted to bluehash in What is reputation?
Everytime a member provides something useful to the community and other members "thank" the member, the reputation goes up by one, depending on the votes.
For eg: I just "Thanked" your post, you went from 0 to 1. The button is on the bottom right of every post.
tingo reacted to GG430 in Sundial - Kids Clock with LEDs
In the past few month our older daughter woke up in the middle of the night once in a while. She didn't know whether it was late enough to get up and ready for Kindergarten. So she woke my wife and myself up and asked. Bad idea...
I needed a solution for her without the need to read the clock. So I decided to build the "Sundial" clock for her 4th birthday. Well this idea came up maybe 2 month before her birthday. This brought me under pressure to complete it, but I had a good plan and it was ready the day before her birthday.
It's driven by a MSP430G2553. It has one LED for the moon and one for the sun. The twelve LEDs for the clock are charlieplexed to four pins. The plexiglass is called endlighten and has some particles in it to enlight the entire area of the glass and not only the edges.
The clock is off all the time. From 7am to 8am the sun and clock are on. From 6 to 7pm the moon and clock are on.
Beside the moon is a capacitive sensing area behind the wood. It's just one button and turns on the clock and depending on the time 7am - 6pm the sun and 6pm - 7am the moon for 30 seconds.
The video shows a bit of the details.
tingo reacted to simpleavr in Bootloader for MSP430
changes since releasing video.
supports both 8k and 16k devices fixed bug in assembler code regarding SE0 checks (fixes from Mecrimus-. loaded application can share same port 1 interrupt w/ bootloader (w/ a slight delay). include two example apps as show on video.
thanks Mecrimus-B, oPossum, Christian Starkjohann for the ground works.
source code now available for the adventurous.
please see README on github project page for more detail.
tingo reacted to jazz in Connecting external JTAG programmer (Olimex JTAG-ISO-MK2) to MSP430 Launchpad
SBW is JTAG version over 2 (TEST/RESET) wires. I made SBW programmer few years ago, and working now on another one, and I am not working for TI.
Also, MSP430 DLL is open source now: http://processors.wiki.ti.com/index.php/MSP_Debug_Stack
tingo reacted to GeekDoc in USB Controllable 8 Outlet AC Relay Box
DealExtreme has same/similar:
http://dx.com/p/8-channel-5v-relay-modu ... 24?item=28
Actually, they have many relay modules, in many voltages:
The ones I bought seem to be of good quality. I would recommend any of these modules, as they seem to be from the same source. Good quality, easy to work with. :thumbup:
tingo reacted to ike in 3.6V LCD 16x2 HD44780 for $2.31
It came to my attention that the price of LCD modules have dropped by 1$ last time I checked. So I ordered one. When it arrives I checked to see if it works and I noticed that it have more contrast with 1.8 kOhm resistor to ground, that I use with those kind cheap blue LCD's. So I tried to run it with LaunchPad's 3.6 Volts, contrast was poor and brightness was weak(only 8mA at LED diode @3.5V). So I changed resistor with simple wire to ground and I added extra resistor with value 68 Ohm in parallel to the internal 100 Ohm SMD resistor(15mA at LED @3.6V). Result was pretty good. Yes I know that 3.3V LCD differs form 5.0V ones with charge pump IC and different resistor that control internal oscillator, but you can see the result. I know that cameras don't always tell the true and I'm not very pretentious man, but I like the end result.
I order it form this seller http://myworld.ebay.com/chip_partner for $2.31 .
I'm warning you that he can change his LCD modules for other type from different factory, so it may not work at 3.6V.
I'm warning you that at 3.3V maybe contrast will not be as good as it's on 3.6V.
I'm warning you that there are now sellers on ebay that sells cheaper LCD modules, just search for "LCD module" and sort by "price+shipping".