Jump to content
43oh

Automate

Members
  • Content Count

    253
  • Joined

  • Last visited

  • Days Won

    7

Reputation Activity

  1. Like
    Automate reacted to stanley in [Energia Library] Nordic nRF24L01+ library   
    Dear Spirilis,
     
    Thanks for the quick replies...
    After a few tweaks, I manage to get the StellarPad working with my Arduino UNO !!!
     
    Thank you :-)
     
     
     
    Here are the setting to get it working with Arduino RF24 libraries :-
     
    // This address must matched any of the receiving address/pipes on the UNO
    const uint8_t txaddr[] = { 0xDE, 0xDE, 0xDE, 0xDE, 0xE3 };   // Match UNO bitrate to 1Mbps   radio.begin(1000000);  // Defaults 1Mbps    // Channel number must match   radio.setChannel(88);   // The CRC was set to 16bit, so set to 16 bit, 1st number turn on/off CRC, 2nd number turn on/off 8 or 16bit   radio.setCRC(1,1);     Here are my Serial Monitor on the UNO side :-   Got payload: ON len:2  Got payload: OFF len:3  Got payload: ON len:2  Got payload: OFF len:3  Got payload: ON len:2      Anyone else that needed help to get the enrf24 libs working with Uno/attiny/Raspberry Pi can contact me or post here...      Stanley
  2. Like
    Automate got a reaction from bluehash in Tiva-C Series Launchpad Course on EdX   
    Third topic about this.  But don't feel bad, I started the second.  
     
    http://forum.stellarisiti.com/topic/1725-free-online-course-using-tiva-c/ http://forum.stellarisiti.com/topic/1597-mooc-on-stellaristiva-at-edx/
  3. Like
    Automate reacted to spirilis in Noritake Graphic VFD 128x32 Free Sample   
    Thanks for reminding me to get mine out & play with it :grin:
     
    Just got mine working on the F5529 LaunchPad.  I'm using C with my own cooked up libraries for setting the clock and doing UART I/O, but Energia will probably work a heck of a lot easier for this.
     
    Serial I/O is 115200 (J0 & J1 are shorted on the back with solder blobs; see datasheet PDF page 29)
     
    Product page for these series of displays: http://www.noritake-elec.com/7000.htm
    Command cheat sheet: http://www.noritake-elec.com/7000commands.htm
    Datasheet: http://itron.tv/gu140x32f-7000-d
     
    Hello world:

     
    Pinout:

     
    Pins are showing top-to-bottom which I think is reverse order but they are:
     
    RESET
    N/C
    SBUSY
    GND
    SIN
    VCC
     
    RESET is an input, I hooked mine to P6.0 and it's RESET=LOW, ENABLED=HIGH (similar to the reset behavior of the MSP430).  I just set P6.0 low for a short delay and high before sending the serial INIT command.
    SBUSY is a GPIO output driven by the VFD telling you when the display is busy doing things and you shouldn't send it data... I am assuming this is a 5V level I/O so I didn't hook it up anywhere and used __delay_cycles() with reasonable delays.  Might make a small adapter board with a level shifter for that.
    SIN is the serial input, I hooked it up to P3.3 (UCA0TXD) and did all my I/O using USCI_A0 (UCA0TXBUF et al).
    VCC goes to 5V, GND to GND.
     
    This program uses two libraries of mine (one of which I doctored up for the F5529 with USCI_A0) which I may polish and post later-
    #include <msp430.h> #include <stdlib.h> #include <string.h> #include "clockinit.h" #include "uartcli.h" char inbuf[8]; extern void uartcli_tx_lpm0(void); int main() { WDTCTL = WDTPW | WDTHOLD; P4DIR |= BIT7; P4OUT |= BIT7; P4SEL &= ~BIT7; ucs_clockinit(16000000, 1, 0); __delay_cycles(800000); P4OUT &= ~BIT7; uartcli_begin(inbuf, 8); // Noritake RESET line P6SEL &= ~BIT0; P6DIR |= BIT0; P6OUT &= ~BIT0; __delay_cycles(160000); P6OUT |= BIT0; __delay_cycles(160000); UCA0TXBUF = 0x1B; uartcli_tx_lpm0(); UCA0TXBUF = 0x40; uartcli_tx_lpm0(); // INIT __delay_cycles(160000); UCA0TXBUF = 0x1B; uartcli_tx_lpm0(); UCA0TXBUF = 0x52; uartcli_tx_lpm0(); UCA0TXBUF = 0x00; uartcli_tx_lpm0(); // set font 0 (US) __delay_cycles(160000); uartcli_println_str("Hello world!"); LPM4; return 0; } Apparently there's all kinds of commands to send starting with 0x1B, see the command cheat sheet.
    Looks like a cool display!  Gets warm to the touch after a few minutes though.  Not a low-power gadget.
  4. Like
    Automate reacted to p2baron1426459919 in [Energia library] x10rf   
    Hi All,   Wanted to share a library I've created to broadcast x10 messages using a cheap 433Mhz OOK device. There are a lot of (Arduino based) libraries dealing with X10. I couldn't find any RF libraries that works without a 'firecracker' (CMA17) device so I've created one. I am not a coder and this is my first Energia library ever so use at your own risk.    The library can emulate x10 switches and x10 security devices and also RFXMeter and RFXSensor devices manufactured by RFXCom. (www.rfxcom.com) Tested on a TI Stellarpad (LM4F120H5QR) and Energia 0101E0010. It should also work with other boards.   Examples are provided with the library.
    You can find it on Github: https://github.com/p2baron/x10rf
      Regards, PP
  5. Like
    Automate reacted to petertux in Overengineered 12V lead battery recharger   
    Hi,
     
    I did a small project that would allow 8 12V batteries taken from an older UPS to be charged from a bunch of photovoltaic panels.
     
    at first I used a charge controller I got from the electronic store, but I was very unhappy by the fact that the controller would discharge the batteries in a few months. it had between 4 and 8 mA of quiescent current, which was much too high given the fact that my pannels almost never get direct sunlight.
     
    so in it comes a msp430 that controls the charging and every once in a while logs to a uSD card the battery and PV voltage, charge current, internal temperature, heatsink temperature and the timestamp of course. all that and it ended up having an Iq of 170uA. that would go down to ~130uA if I drop the status LEDs.
     
    maximum charging current is given by the PB137, so it is arround 2A. I guess two of these could be used in parallel for 4A, but I never get this much sunlight.
     
    it uses a 3V coin cell battery (only for backup when the batteries are unplugged), 8x3w 5V panels from seeedstudio and 8 12V lead batteries all put in parallel.
     
    it has a bunch of optional status LEDs that would either show voltage presence in the input/output/charging circuit, one on the SPI clock and 4 controllable by the uC.
    as connectors go there are 5 IO pins - one of them is re-mappable, i2c connector for an optional display, TI spy-bi-wire for programming/debugging, 1 UART for debugging or a serial display, optional USB connection for programming or status gathering.
     
    pictures here: https://plus.google.com/photos/106706955427383613204/albums/5947961264604104321?banner=pwa
     
    all sourcecode and schematics are here: https://github.com/rodan/solar-charger/
     
     


  6. Like
    Automate reacted to grahamf72 in Building low power into Energia   
    I've had a little bit of a play, and have made up a few libraries for basic LPM support. These libraries are based on the Energia core files, but take advantage of the fact that the Energia linker gives a higher priority to libraries than to the core, consequently if you add these libraries to your sketch, they will be used seamlessly instead of the core files.  The advantage of doing it this way, is that unless you add the library to your sketch, the standard core files are used, so there's no compatibility issues resulting from modifying the standard core.  I have also designed the routines so that they maintain total compatibility with the existing Energia framework.  Although I don't expect any insidious bugs, the code isn't thoroughly debugged, so if you do choose to use it, it is at your risk.  I have only tested on the 2553 & 2452 - perhaps someone with a 2231 or 5529 could test and modify if they feel so inclined.
     
    My replacement libraries are:
    LPMinterrupts - replaces the core Winterrupts.c.  The inbuilt pin handler now clears LPM bits on exit, so you can go to LPM4 and have your program wake up after a pin interrupt occurs.  Also I've added a couple of functions "waitForAnyPin" and "waitForPin" that allow you to pause execution at a set low power mode until a pin interrupt occurs, with an optional timeout.
     
    crystalWDT - replaces the basic timer core in wiring.c with a version that uses the 32.768 crystal instead of SMCLK. This reduces the resolution of millis & delay, but allows the use of LPM3 timed delays. I have enhanced the delay function to take an optional parameter specifying the low power mode.  In addition I have also added a seconds() function which gives the number of seconds since startup. It takes about 136 years for seconds() to roll over, compared to approx 50 days for millis().
     
    VLOclockWDT - replaces the core wiring.c with a version that uses the internal VLO clock. Again this allows the use of LPM3 timed delays but the VLO clock has poorer resolution and is not nearly as accurate as the standard SMCLK.  I didn't bother with a seconds() function here, as I don't believe the low accuracy of the VLO clock would make it useful.
     
    I have also attached a couple of basic sketches to demonstrate the functions in the libraries.  When I tested I found the following power consumption in the delay and waitForPin functions:
     
    LPM0 - 735uA
    LPM3 - 9uA
    LPM4 - <1uA (my meter read 0)
     
    These are just an idea that I'm throwing out into the open for people to look at, criticise, praise, use or delete as they desire. I'm not suggesting that it be the method ultimately used in Energia (although I'd be very flattered if it is).
     
     
    EDIT: Apparently some people are having trouble opening the zip - if it doesn't work, try the version attached a couple of posts down.
    lpm.zip
  7. Like
    Automate reacted to Fred in Nice MSP430 / Stellaris based heating control   
    I just got a really nice Tado home heating control system. It can be accessed remotely, detects when you're there and looks really slick. Sort of like a Nest, but seems much better - more substance rather than just styling.
    http://www.tado.com

    It's currently in beta in the UK and whilst trying to identify a couple of wrinkles (due to my crappy Sky router) I got chatting to one of the developers. The reason I mention it is that it's apparently using a MSP430 and a TI Cortex-M3 (which I assume is Tiva but could be wrong).
     
    [Edited - it's a Stellaris LM3S9997, not a Tiva]
  8. Like
    Automate reacted to adrianF in How to make a ROM image of a sketch for distribution   
    In the "Sketch" menu/drop-down inside of Energia, there are a few simple ways to get to the generated hex file of your compiled sketch. 
    - "Copy Hex file as path" will add the directory path to your hex file to your clipboard
    - "Show compilation folder" will open up your windows explorer to show where all of the compiled files are, including the .hex file
     
    Now that you have the .hex file, users can flash this to a LaunchPad with several tools:
    - For MSP users, there is MSP430Flasher @ www.ti.com/msp430flasher // this tool is lightweight, has the ability to create batch files for simple one-click flashing, etc.
    - For Tiva C users, there is LMFlasher @ http://www.ti.com/tool/lmflashprogrammer
    - There is also the catch-all TI CCS UniFlash @ http://www.ti.com/tool/uniflash
    - And also third party tools such as the one flasher from Elprotronic
     
    Hope this helps!
  9. Like
    Automate got a reaction from Rickta59 in panStamp switching to CC430   
    panStamp has provided new information
     
     
    Announcements? > ? panStamp NRG is coming...posted 21 hours ago by Daniel Berenguer   [ updated 8 hours ago ]
    panStamp NRG, the new version of our flexible wireless modules, is almost ready for beta-test. We have been contacted by lots of developers wanting to help us test the new platform and this is the kind of thing that makes us really proud. We are in fact preparing a special batch of beta units for this community of kamikazes, containing all the necessary to start developing for the new panStamps.   Figure 1 : New panStamp NRG     As you may see in the picture above, specifications have changed a bit since the first announcement was posted. We have omitted an on-board EEPROM since the CC430 already includes a specific region in flash (info memory) to save data into. On the other hand, future versions of the board will probably include a footprint on the bottom side for SPI RAM or EEPROM IC's.   One of the strengths of the new panStamp is that each board will be uniquely identifiable in the world thanks to the wafer ID and X-Y position of the MCU in the wafer. Thus, we will be able to use this unique ID as a MAC for our projects or even develop a DHCP mechanism to dynamically assign addresses to our wireless nodes.   And not less important, the onboard LED, thermistor and (optional) accelerometer will make our tiny modules more autonomous than ever. As an example, only a panStamp connected to a 3V battery will make a cheap wireless temperature sensor without the need of a carrier board or an external sensor.     Figure 2 : Wireless temperature sensor powered by a CR2032 coin cell   The CC430F5137 is a surprising MCU. Hidden behind the modesty of a MSP430, it inherits all the low-power features of Texas Instrument's popular 16-bit cores. Besides the integrated radio, it also provides lots of interesting things like addressable digital pins, unique ID, 12-bit ADC's, hardware RTC, etc. This SOC works in fact perfect with out SWAP protocol, it is very reliable, efficient and, very important, it works with Energia. This great MCU, combined with our stack and all the onboard sensors and carrier boards will make the new NRG modules a serious alternative for any kind of low-power wireless project.   panStamp NRG will be proudly showcased at Smart City Expo (Barcelona) between 19-21 November so if you are in Barcelona around those dates please come to visit us at Hall 2, booth F 648 (Innovation Zone).    
  10. Like
    Automate got a reaction from bluehash in panStamp switching to CC430   
    panStamp has provided new information
     
     
    Announcements? > ? panStamp NRG is coming...posted 21 hours ago by Daniel Berenguer   [ updated 8 hours ago ]
    panStamp NRG, the new version of our flexible wireless modules, is almost ready for beta-test. We have been contacted by lots of developers wanting to help us test the new platform and this is the kind of thing that makes us really proud. We are in fact preparing a special batch of beta units for this community of kamikazes, containing all the necessary to start developing for the new panStamps.   Figure 1 : New panStamp NRG     As you may see in the picture above, specifications have changed a bit since the first announcement was posted. We have omitted an on-board EEPROM since the CC430 already includes a specific region in flash (info memory) to save data into. On the other hand, future versions of the board will probably include a footprint on the bottom side for SPI RAM or EEPROM IC's.   One of the strengths of the new panStamp is that each board will be uniquely identifiable in the world thanks to the wafer ID and X-Y position of the MCU in the wafer. Thus, we will be able to use this unique ID as a MAC for our projects or even develop a DHCP mechanism to dynamically assign addresses to our wireless nodes.   And not less important, the onboard LED, thermistor and (optional) accelerometer will make our tiny modules more autonomous than ever. As an example, only a panStamp connected to a 3V battery will make a cheap wireless temperature sensor without the need of a carrier board or an external sensor.     Figure 2 : Wireless temperature sensor powered by a CR2032 coin cell   The CC430F5137 is a surprising MCU. Hidden behind the modesty of a MSP430, it inherits all the low-power features of Texas Instrument's popular 16-bit cores. Besides the integrated radio, it also provides lots of interesting things like addressable digital pins, unique ID, 12-bit ADC's, hardware RTC, etc. This SOC works in fact perfect with out SWAP protocol, it is very reliable, efficient and, very important, it works with Energia. This great MCU, combined with our stack and all the onboard sensors and carrier boards will make the new NRG modules a serious alternative for any kind of low-power wireless project.   panStamp NRG will be proudly showcased at Smart City Expo (Barcelona) between 19-21 November so if you are in Barcelona around those dates please come to visit us at Hall 2, booth F 648 (Innovation Zone).    
  11. Like
    Automate reacted to javakys in [Energia Library] Ethernet using WIZ820io   
    Hi,
     
    To test ethernet connectivity, I prepared two boards, MSP-EXP430F5529LP and WIZnet's WIZ550io.
    I'm convinced that you already know MSP-EXP430F5529LP.
    For WIZ550io, refer to http://wizwiki.net/wiki/doku.php?id=products:wiz550io:allpages
     
    This is a module which supports TCP/IP functions and has ethernet RJ45 jack.
    It provides SPI bus for interface with host MCU.
     
    Arduino ethernet examples are working on the platform using WIZnet's products, so we can run all examples from arduino with this module.
     
    How to connect the new launchpad with WIZ550io
     
    <Pin Map>
     
    new MSP Launch pad                 WIZ550io
    ==============================
    3V3               <------------------->      VCC
    P3.2 (SCLK)  <------------------->      SCLK
    P2.7              <------------------->       SCS
    GND              <------------------->      GND
    RST               <------------------>      nRESET
    P3.0 (MOSI)   <------------------>      MOSI
    P3.1 (MISO)   <------------------>      MISO
  12. Like
    Automate reacted to grahamf72 in Building low power into Energia   
    I guess the challenge with LPM's is to be able to do it in a way that doesn't break Arduino compatibility.  With that in mind I would suggest the following:
     
    The first thing is very straightforward, and is as simple as adding a call to _BIC_SR_IRQ(LPM4bits) into the pin-interrupt handler. That way you can put the processor into LPM4 inside loop() (or setup if you feel so inclined), then when a pin interrupt occurs, the interrupt handler will run, then the loop() will continue to run from the next instruction after the LPM4.  Of course if you want to do all your work in the interrupt, all you have to do is just have LPM4 in your loop and it will resume to LPM4 very soon after the interrupt has run.
     
    For a bit more advanced low power control, I'd like to see a mechanism of selecting the 32.768 crystal as the source of the WDT timer. I do this in my RTC library.  The drawback is that due to hardware limitations within the WDT module, the maximum resolution is only 1/512 seconds (approx 2 mSec). The big plus though, is that because the crystal runs in LPM3 mode it allows delays to be done in LPM3 mode. In the RTC library I create an "LPM3delay" function that does that. Of course it still comes briefly out of LPM3 512 times per second, but it offers substantial power saving over the traditional LPM0 delay function.
     
    The difficulty here is that the default setting still needs to be that the WDT is sourced from SMCLK to allow for maximum Arduino compatibility and to cater for the many launchpads that don't have the crystal attached. I'm not sure what the best way to provide a crystal option would be - options would include:
    A runtime function (e.g. create a function setTimerSourceXtal() or similar) which reconfigures the clocks. The code for the interrupt, mills & delay would have to have some mechanism of determining at runtime what the interrupt frequency is so it can keep the timers accurate. This is currently done at compile-time, so doing it at runtime would add extra code & ram overhead. One advantage of the run-time option though is that it could even be extended to control the frequency between 512/64/4/1 Hz. The lower frequencies would dramatically reduce the resolution of delay() & millis(), (which could break some libraries) but depending on the application that may not be an issue, and the lower frequencies would allow a lower power consumption. Linking in an alternative to wiring.c as part of a library - similar to the way the RTC library does it now. When the linker finds a replacement for core code in either the main .ino or in a library it replaces the core code with the new version. The only drawback I can see is that there may be an issue keeping both lots of code in synch. For example my RTC library uses a method of calculating millis() based on the wiring.c included with Energia 9. Energia 10 has a much improved millis() algorithm which isn't in the RTC library. A compile time option that allows you to select the crystal as a board type - e.g. in drop-down where you select the 2452, 2553 etc, have something like "2553 with 32kHz Crystal". I'm not sure if this method of board selection is possible but if it is it would then presumably be a matter of using a #ifdef to determine if the alternate code should be compiled.
  13. Like
    Automate reacted to energia in Building low power into Energia   
    Energia in it's current implementation takes advantage of low power in some places but we can improve on this quite a bit.
    To make sure that the implementation of low power modes is inline with what you expect, I want to ask you: "How would you like to see low power work"
     
    I have some ideas but do not want to bias anybody by listing them. Anything goes!
     
    Thanks!
     
    Robert
  14. Like
    Automate reacted to ILAMtitan in First actual fried MSP430   
    There are a couple options out there.
    Inline USB Isolation: http://www.bb-elec.com/Products/USB-Connectivity/USB-Isolators/USB-Isolators.aspx
    Isolated USB Hubs: http://www.sealevel.com/store/hub7i-optically-isolated-7-port-usb-hub.html
    Isolated FET: https://www.olimex.com/Products/MSP430/JTAG/MSP430-JTAG-ISO-MK2/
  15. Like
    Automate reacted to energia in Adding new core to Energia?   
    A future release of Energia will use a different build system and will adopt a similar mechanism to add cores without having to add support for that in the IDE. I will probably be not the next release which is slated for mid December but most likely the release that is scheduled for late Feb / early March.
  16. Like
    Automate got a reaction from chicken in Nov-Dec 2013 Project of the Month Contest Feeler.   
    Does it make sense to alternate Projects of the Month with the 43oh forum so both are not occurring concurrently? Many users work with both the MSP430 and Tiva and may not have time for projects on both at the same time. 
  17. Like
    Automate got a reaction from bluehash in Thermocouple BoosterPack ADS1118   
  18. Like
    Automate got a reaction from pine in Thermocouple BoosterPack ADS1118   
  19. Like
    Automate reacted to VMM in Another 430 Watch   
    Well, it's up and running.  All the hardware seems to check out.  Display and accelerometer are playing nice on a shared spi bus.  The FR5738 RTC is keeping time.  LIS3DH initialized and generating interrupts properly.  Lots of programming to do now for the interface, calibrations, etc.

  20. Like
    Automate reacted to RobG in Ethernet Booster Pack v3   
    Buy: The 43oh Store or Rob's Tindie Store.
     
    The newest version of the Ethernet BoosterPack is based on the newest chip from WIZnet, W5500.
     
    P1.5 - SCLK
    P1.6 - MISO
    P1.7 - MOSI
    P2.3 - /CS
    P2.4 - /INT
    P2.5 - /RST
     

     
    Configuration jumpers are on the bottom, PMODE1-PMODE3, LINK LED, and ACT LED.
    LED jumpers control which LEDs are used, on board or socket.

     
     
    Available on Tindie.
  21. Like
    Automate reacted to juani_c in Arduino TRE   
    So, now Texas is making* an Arduino;
    http://e2e.ti.com/blogs_/b/toolsinsider/archive/2013/10/03/introducing-arduino-tre.aspx?DCMP=dsp-arm-arduinotre-131003&HQS=dsp-arm-arduinotre-b-e2e'>Most powerful Arduino available to date, powered by Texas Instruments Sitara
  22. Like
    Automate got a reaction from igor in MSP430 ControlWare Project   
    Nice.
     
    Have you documented the protocol used between the MSP430 and the PC?
    Did you look at Firmata http://firmata.org/wiki/Main_Page or use anything from their standard?
  23. Like
    Automate got a reaction from YanuarPrijadi in MSP430 ControlWare Project   
    Nice.
     
    Have you documented the protocol used between the MSP430 and the PC?
    Did you look at Firmata http://firmata.org/wiki/Main_Page or use anything from their standard?
  24. Like
    Automate got a reaction from bluehash in MSP430 ControlWare Project   
    Nice.
     
    Have you documented the protocol used between the MSP430 and the PC?
    Did you look at Firmata http://firmata.org/wiki/Main_Page or use anything from their standard?
  25. Like
    Automate reacted to Jaspreet@DTU in MSP430 ControlWare Project   
    Hi all!  This is my first post on 43oh forum. I am currently working on a project which i think the 43oh community members will like.   :grin: 
     
    Project Description: The main aim of the project was to create a Simple, Easy to control Graphic User Interface (GUI) to control various pins on MSP430 Launchpad (MSP430g2553 uC). The GUI for this purpose was created using Visual C# and can be used on any Windows based System.
     
    (GUI in action)
                                                                                                                                                                             
     


    Features:
    The GUI allows the user to test and develop hardware without having to write any code for the device. Pins configured GPIO can be turned "LOW" or "HIGH". The present version of the GUI enables real time data acquisition and plotting. The data obtained from the pins configured as "ADC" can also be stored in an Excel Sheet. Data from Internal Temperature Sensor of the uC can be obtained and plotted as well. The GUI enables the user to Generate three independent PWM Signals and vary the Duty Cycle. Instructions:  You need to upload a code to the MSP430g2553 microcontroller for working with the GUI. The code and the application GUI can be downloaded from the link given below. Extract the contents of the download file and load the MSP430_ControlWare project in Code Composer Studio and upload the code to the MSP430 Launchpad (MSP430g2553 uC). You can also view the video for the demonstration of the GUI. 
     
    Future Upgrades:  First thing that i will do this weekend is to implement a scheme for making the serial communication more efficient. There are way too many comparisons in the current code and i would definitely like to reduce that by a significant amount. Secondly, i will improve the PWM part to allow user to select the frequency as well. I would like to have suggestions on what more i should do with the User Interface.
     
    For any queries and suggestions, feel free to drop me a mail or reply to this post.
     
    MSP430 ControlWare.rar 
×
×
  • Create New...