Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by DanielPHuber

  1. Hi Reaper, thanks a lot, I learned a thing ot two. There is nothing wrong with the library, I must have fooled myself yesterday. Anyway, today the library works with F(..). However, I do not yet understand fully what F(..) does on the MSP430. On the Arduino we have a Harvard architecture, that means separate address spaces for code and data. Therefore before using "print " to print a string in code segment, we must trick "print" into fetching the string from code and not data space. must first be copied into data segment. Here F(..) makes sense. However, MSP430 is von Neuman, that m
  2. The following concerns Energia 0101E0017 on Windows 10 and EtherEncLib-0.4.2 Launchpad MSP-EXP430G2 with a MSP430G2553 Hi Reaper, thanks a lot for the library. However, I had a bad start. To begin with, I was not able to get the smallest answer from it. Of course, I suspected the SPI interface, but was barking up the wrong tree. Not until I began to dig into the library I stroke gold. The first problem was a function "F" used in print context like e.g. ? Serial.println(F("Text to print")) I never encountered this function bevor with MSP430G2553, I do not know what it does, but
  3. Hi, I tried my hand for the first time on a servo and my experience may be helpful to other people. Servos are controlled by the length of a pulse. This pulse is repeated ca. every 20mS. The pulse length can vary coarsly between 1 and 2 mS. The pulse length determines the rotation angle. If the servo starts up, it goes to a middle position, corresponding to a ca. 1.5 mS pulse. For shorter pulses the servo turns in one direction, for longer pulses to the other. The range is limited, mostly to +/- 90 degree, the accurate values depend on the servo, as does the min/max widths. Mine had a ran
  4. Hi Robert, My happiness did not last long. Next morning that old problems were back!!!! Although it works fine with Win7 and Ubuntu, I gave it another try. The culprit seems to be the serial line monitor. Here is a workaround I found: Open some serial terminal, plug in the Launchpad and connect it to the terminal (you need to guess the correct COM port). Only now start Energia. Check if in the Energia preferences the serial line monitor is set to "false". Now you can compile and download. This seems to work, although I did not yet had time to test it thoroughly. There seems to be so
  5. I am banging my head and make slow progress. I could pin down the bug to the Serial library, the Serial.print command. As long as my program does not use the UART and Serial monitor, everything is fine. I can even initialize with "Serial.begin(9600)". I checked that the jumpers are set for "Hardware UART". Downloading also works, so I am no more sure if it is a driver problem. However, as soon as I send something with Serial.print from the Launchpad to the PC, Energia freezes for quit some time. If I prevent the Launchpad to send data by pressing the reset button, everything is fine,
  6. Here is my environment: Windows 10 64 Energia 0101E0017 MSP430G2553 Launchpad version 1.5 I updated to Windows 10, downloaded and installed the drivers "EZ430-UART.zip" for the virtual serial port without an error message. When I plug in the Launchpad, it is recognised by the device manager as "USB serial device (COM11)". Under "Devices and printers" it is shown as "Texas Instruments MSP -FET43QUIF". Now, as long as the Launchpad is not yet plugged in, Energia works just fine. However, if the Launchpad is already plugged in when I start Energia it takes forever until the following err
  7. Hello, thanks for the response, it is greatly appreciated. I happily arrived at a solution. It seemed that during the very first download some part of the memory was protected (I always suffer from too much security!) What finally brought the solution was the unprotection of memory by the procedure described in the CodeComposer 6.1 manual: slau575B. On page 22, section 7 "Device Security" the procedure is described. The draw back is that you need CodeComposer to do this. Maybe it can also be done using the Cloud, but I am not sure. There seems to be a further issue with firmware versi
  8. Hi, thanks a lot for your reply: "a little help from a friend..." Unfortunately, I still get the following error message. New is the line: "Failed: Operation was aborted". Does this mean something with linking is wrong? Could it be that the firmware has been altered? Because the original out of the box code has also been erased or damaged by my first trial to download. Here is the error message: ================== >>>> Done <<<< xcopy E:\P\energia-0101E0017\hardware\emt\ti\runtime\wiring\msp432\configPkg\package\cfg\energia_*.rov.xs . /Y E:\P\energia-0101E0017\
  9. Hi, I just got a MSP432. I am working on Windows 7 64 bit. Upload to MSP430 does work, so I think Energia is o.k.. The problem are probably drivers. As upload did not work to MSP432, I updated to Energia 17, but this did not help. Then I updated drivers from: http://energia.nu/fi...110_drivers.zip This did not help either. I noticed that if I plug the MSP432, I get 2 virtual USB ports, not one as with MSP430, but this may be o.k.? From the utility xdfdsu -e I get following info about the drivers: ===================== VID: 0x0451 PID: 0xbef3 Device Name: XDS110 with CMSIS-DA
  10. In between I found the excellent post from this forum : digitalReadFast and speed of digitalReadStarted by altineller, Aug 19 2014 05:41 PM and you bet, the problem was the "digitalRead". I replaced digitalRead(_CIN2) by: P1IN & 0b00100000) and it works. It is astonishing that for a CPU running with 16MHz, digitalRead is so slow. According to the above postdigitalRead takes approx. 18 uS what explains my problem.
  11. A decoder from a motor has 2 square wave outputs that deliver 256 pulses/revolution (duty cycle 1:1). The two outputs are 90 degree out of phase for direction information. I want to count pulse, in one direction up, in the other down. Towards this aim I attach to the first decoder output following routine: void countStep(){ if(digitalRead(_CIN2)){_pos++;} else {_pos--;} } "_CIN2" is the second decoder output and "pos" the counter variable. This works well until up to approx. 16kHz. But for higher frequencies it counts in the wrong direction. I first guessed, that the phase r
  12. A display is a nice thing to have in many projects. A very cheap solution for only 2$ to 4$ is a 4 digit display from Qifei that can be found e.g. at www.Aliexpress.com. Of course, for this price you do not get a user manual! But what beats me is that I could not find a usable description on the internet. Therefore I had to rely on trial and error. Here is what I learned. The device has 2 cascaded 74HC595 shift registers, one for the digit select, the other for segements select. By this the deviceu can only display one digit at a time. Therefore, you must time multiplex the for digits fast en
  13. DanielPHuber

    LCD Game

    Everybody here certainly loves the MSP430LaunchPad. But its is not easy to communicate info from the controller to the outside world. To switch some LED on and off is the most you can easily do. Larsie (Lars Kristian Roland), a member of this forum made a wonderful project, a LCD booster back for the MSP430: http://www.43oh.com/forum/viewtopic.php?f=9&t=2138 These are available in Larsies shop or in the 43oh shop. I lately bought one of thouse. To learn how to program the LCD controller, I first made some font demos and then the game here. For an interactive game you need some but
  14. Hi kenemon, I actually use an expansion tank, otherwise the system would crack (see pictures). At first thought it seems ridiculous that the tank consist of an upside down PET bottle. But if you dig in, you will find that these PET bottles are rated for an unbelievable 15bar. I have some experiences with these bottles, I used them to build "water rockets" for the kids. These consists of an upside down bottle, approx. half filled with water. You then pump them up with air (we used 7bar from a compressor or a bicycle pump) and then you let go. These "rockets" fly approx. 30m high and are fun
  15. Hi Kenemon, the storage was a problem as I did not have the necessary space. Therefore, I needed another solution. The original installation had a small electrical boiler. I installed a second boiler in serie with the original one. Thereby, the electrical boiler receives water preheated by the solar collector. If there is not enough sunshine, the water temperature will be boosted by electricity during night time. If the sun shines long enough, no electricity is used. Of course I can not store heat for a long time, it is used on a daily basis. For cut off, I monitor the temperature dif
  16. I wanted to try out myself how well solar energy really works. Toward this aim I built a solar collector system for waterheating. A small boiler with a heat exchanger is used for heat storage and a ordinary heating pump for the water circulation. Temperature is measured at the collector, at the entrance and outlet of the heat exchanger and inside the heat storage boiler. As a controller for the pump I used an MSP430 launchpad. There were several problems I had to solve. First, temperature must be measured with a resolution of at least 1 degree. My preferred temperature sen
  • Create New...