Popular Content

Showing most liked content since 03/19/2017 in all areas

  1. 7 likes
    Thanks @Rei Vilo. To all, the award goes to you too. Thanks for being wonderful members.
  2. 6 likes
    This project was put on hold over the holidays. It's always a busy time, plus the club doesn't hold meets over summer. But I have just completed another 10 units. More of the same, but thought you guys might enjoy some more photos. I couldn't get the same batteries as the last batch, which were 650mAh, these have much smaller 220mAh. But this still provides about 4 hours of run time. The uBlox GPS modules are a huge improvement. Even without the SAW filter in the RF path and the sub-optimal PCB size compared to the antenna. These find more GPS satellites faster than the G.top modules, plus they also use glonass which doubles the visible satellites.
  3. 6 likes
  4. 4 likes
    I have done both of these tasks for more than one client. The 1-Wire protocol speed ends up being about 15kHz, which is slow but reliable. It's really cool to see on an scope though. I developed the I2C slave code using the sample TI code as the starting point. Here are the research materials that I referred to while writing my I2C code: http://www.nxp.com/documents/application_note/AN10216.pdf http://www.nxp.com/documents/user_manual/UM10204.pdf http://i2c.info/i2c-bus-specification http://www.ti.com/lit/an/slva704/slva704.pdf My slave code just follows the logic of the transaction.
  5. 3 likes
    This is my approach to state machines. Your mileage may vary. Determine all of the sub-systems that you will want to service Commands, Controls and Inputs, User Interface, and Data Setup a system tick timer that fires its interrupt on a regular consistent basis. This system doesn't have to go into LPM4. If it does then periodically wake up the system and cycle through the software service loops then go back to sleep. Setup a series of service flags that are set during the interrupt service routine and cleared after being serviced: Flag(s) for Commands, Flag(s) for Controls and Inputs, Flag(s) for User Interface, and Flag(s) for Data Setup a variable that acts like the system timer odometer. Every Odometer == (DesiredInterval%ServiceFlag_n_now) set the ServiceFlag_n Decide how often you will service the other functional blocks of your code. For example, Update the 2x20 LCD display every one second, or Update the Serial Console every 250ms, or Retrieve the Temperature from a sensor every 15 minutes. Setup an Interrupt Service Routine to catch any characters coming into the Serial Port Buffer. Stuff them into the Input Ring Buffer Set a flag that there's something to service. In the main loop, scan all of the service flags to see if any are set. Call the servicing function for each set flag. Clear the service flag at the end of that process. Configure the program to repeat continuously until Kingdom Come. I've left out significant details about setting up all of the peripherals and general variables so don't forget to do that stuff. This is just the basic gist of my state machines on a bare metal level.
  6. 3 likes
    Came across this while browsing. MSP430 Analog Gauge Clock
  7. 2 likes
    SUCCESS ! using Mods as above plus twi.c and twi.sw.c from this link :- http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/529036/1924562#1924562 plus adding :- Wire.setModule (0) before Wire.begin() in Void Setup() in both Master and Slave :- I have managed to send two characters from the Master to turn off the Red Led in a loop on the Slave. BIG Thanks again to B@TTO. Wouldn't it be perhaps a good idea if these files were updated and placed in the Energia GitHub Repository ? How is this process carried out ?
  8. 1 like
    @yyrkoon, One place you might explore is under the "code examples" sections for the G2553. In particular, I'd start with: msp430g2xx3_uscib0_i2c_04.c ( USCI_B0 I2C Master RX single bytes from MSP430 Slave ) msp430g2xx3_uscib0_i2c_05.c ( USCI_B0 I2C Slave TX single bytes to MSP430 Master ) and msp430g2xx3_uscib0_i2c_06.c ( USCI_B0 I2C Master TX single bytes to MSP430 Slave ) msp430g2xx3_uscib0_i2c_07.c ( USCI_B0 I2C Slave RX single bytes from MSP430 Master ) As the examples note, you need the external pullup resistors. These examples will compile under CCS, IAR and GCC and while simplistic, they are a starting point for seeing the I2C comm in the debugger. I've used similar examples for the F2013 and F5529 to get those ICs to talk to each other, and subsequently to write code for the F5529 to talk to an sx1509 port expander (an adventure in reading and understanding docs...). FWIW, I would never have gotten very far without using both my logic analyzer and my oscilloscope... As to the jtag header and spy-by-wire headers (how I build all of my prototypes) - make sure there's the 47k resistor for the reset line (most devices do not need the capacitor placed), and you may want to account for using an external supply instead of the FET. The debuggers generally are limited in their supply capacity to ~50-60 mA. If your circuit is driving other devices, that can lead to failure for the debugger to even start. HTH Bob
  9. 1 like
    See boards.txt, platform.txt and programmers.txt. Exact location on the hard-disk depends on the OS you use.
  10. 1 like
    I'll update my status. I downloaded Energia again with no change. However I was successful when I tried a different USB port. Looks like I can get going now!
  11. 1 like
    well, I had the same trouble. it was fixed by the following lines: sudo apt-get install libc6:i386 libx11-6:i386 libasound2:i386 libatk1.0-0:i386 libcairo2:i386 libcups2:i386 libdbus-glib-1-2:i386 libgconf-2-4:i386 libgdk-pixbuf2.0-0:i386 libgtk-3-0:i386 libice6:i386 libncurses5:i386 libsm6:i386 liborbit2:i386 libudev1:i386 libusb-0.1-4:i386 libstdc++6:i386 libxt6:i386 libxtst6:i386 libgnomeui-0:i386 libusb-1.0-0-dev:i386 libcanberra-gtk-module:i386 and sudo ln -s /lib/i386-linux-gnu/libudev.so.1 /lib/libudev.so.0 As the previous response, it ws related to the Code Composer Studio Installation, those lines are taken from http://mostlyanalog.blogspot.mx/2014/09/msp430arm-development-on-linux.html
  12. 1 like
    Are you using Energia? If yes, then there is indeed a delay. This is due to the startup code figuring out what clock source to use for low power modes. Details can be found in enableXtal() in wiring.c. Robert
  13. 1 like
    Cool concept to adding boards to the Raspberry Pi. Atomo is a complete system for building electronic things with four parts: Control, IO, Power, and Connector. https://www.indiegogo.com/projects/atomo-modular-electronics-system-arduino--2#/ https://youtu.be/0uOsLvB1of0
  14. 1 like
    Am I reading correctly that this is with the LM35 not connected to the input pin? In other words, there is nothing connected to the input pin? If this is the case, then the potential on the pin will float, generally to about half of the power supply, give or take (depends on the device) and, being configured as an input, it will have very high impedance, so it will pick up noise. You would be measuring more the properties of the multimeter and its interaction with the floating input than a real potential.
  15. 1 like
    Welcome to 43oh. lcd_send_string(enum2str(haltIn)); What is the "haltIn" type. Can you type type cast or initialize it to the enum. The below works for me. Try to use typedef, to avoid tping "enum IOChannel" everytime. typedef enum {V1 = 11, I1 = 101, V2 = 12, I2 = 102}IOchannel; char *enum2str(IOchannel enumVariable) { switch(enumVariable) { case V1: return "V1"; default: return "I1"; } } /** * Main program. */ int main(void) { IOchannel haltIn = V1; enum2str(haltIn); }
  16. 1 like
    @ykaradana I will upload an EAGLE library for the CC1310 here to help anyone who needs this in the future. Specifically, it is the 128RHB version, but obviously it will work with any of the RHB variations. Hope it helps you. Cameron CC1310F128RHB.lbr
  17. 1 like
    the problem is the example code there @fmilburn ... move the #include <SPI.h> ahead of the include <Enrf24.h> ... #include <SPI.h> #include <Enrf24.h> #include <nRF24L01.h> Enrf24 radio(P2_0, P2_1, P2_2); // CE, CSN, IRQ pins ...
  18. 1 like
    A few questions: What is your power supply? What was the temperature of the environment? The lm35 needs at least a 4V supply. Its output is 10mV/degree C, so at 20 degrees C, the output should be 200 mV.
  19. 1 like
    More upgrades: PHP5.4 -> 5.6 Memcache support for forums. Added 12GB more to disc size.
  20. 1 like
    Hi @@osmanfish and welcome to 43oh, Irritating isn't it? It can be caused by several things. It can happen with the MSP430G2 and Energia if you are using serial print and close the serial monitor down while the sketch is printing. This does not seem to happen with other LaunchPads. Try unplugging the LaunchPad at the computer and then plug it back in. You may have to try uploading one or more times to get it working again. Also, avoid shutting down the serial window. Flash (upload) the target chip without shutting the serial monitor. If this does not seem to be your problem then google "Could not find MSP-FET430UIF on specified COM port (error = 57)" and you will find a number of other possible causes. Look on the TI e2e site.
  21. 1 like
    I stumbled across a list of nine open source books on Hacker News today that will help people learn how to program in C. YMMV
  22. 1 like
    I will add that, I do not know of the others, they look like they'd be good reads, but the Beej guide to( anything ) is not what I'd consider a good "book". I've read through several of his online books, relating to interprocess communications, and networking. Neither of those two topics were very well written, and the content is old. e.g. the content is outdated. I will also add that LDD( Linux Device drivers ) while in hard copy format is a paid book. The author felt compelled to make the book available free online: http://www.xml.com/ldd/chapter/book/ The third edition I believe is also available for free online here: https://lwn.net/Kernel/LDD3/. free electrons also seems to have a single pdf file version, but i have not looked into it. Anyway LDD2 is a very good book if you need to understand Linux device driver, I paid for a hard copy and have not regretted it. For C++, these are supposed to be pretty good as well: http://mindview.net/Books/TICPP/ThinkingInCPP2e.html, but they are dated.
  23. 1 like
    It looks like the author also made a tool to use EnergyTrace without needing to install CCS, might be worth a look: https://github.com/carrotIndustries/energytrace-util
  24. 1 like
    What you could do is build Energia from source. You can then change the upload command in https://github.com/energia/Energia/blob/master/app/src/processing/app/debug/MSP430Uploader.java.