Jump to content
43oh

tripwire

Members
  • Content Count

    193
  • Joined

  • Last visited

  • Days Won

    14

Reputation Activity

  1. Like
    tripwire got a reaction from jazz in Casio watch rebuild w/ MSP430   
    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
  2. Like
    tripwire reacted to jpnorair in CC13xx Application Integration Survey   
    Answering some of my own questions (for posterity):
     
    Turns out that all I need to do to port most TI-RTOS drivers to another OS is to provide an interface to five headers.  So that's good news for Energia-MT.
     
    Here's a link, describing more.  You can see the driver support matrix, but scroll down to the "Driver Ports" section to see the specific method for attacking a port job.  I tip my hat to TI, they did a nice thing, here.
    Drivers: TI-RTOS Full Driver API Reference
  3. Like
    tripwire reacted to Tieri in (Universal) Color LCD graphics library (2)   
    This was the case, at least for me. According to the datasheet I have for this display, the RGB/BGR direction is controlled by HW pin, so I made the following changes to the code in graphics.c file.
    void setColor(u_int color) { #if defined SWAP_TO_BRG     colorLowByte = (color & 0x07FF) << 11 | (color & 0x07E0) | (color & 0xFFE0) >> 11;     colorHighByte = ((color & 0x07FF) << 11 | (color & 0x07E0) | (color & 0xFFE0) >> 11) >> 8; #else     colorLowByte = color;     colorHighByte = color >> 8; #endif } void setBackgroundColor(u_int color) { #if defined SWAP_TO_BRG     colorLowByte = (color & 0x07FF) << 11 | (color & 0x07E0) | (color & 0xFFE0) >> 11;     colorHighByte = ((color & 0x07FF) << 11 | (color & 0x07E0) | (color & 0xFFE0) >> 11) >> 8; #else     bgColorLowByte = color;     bgColorHighByte = color >> 8; #endif } Then I just defined "SWAP_TO_BRG" and the colors work as they should.
    I know this is old discussion, but decided to post this anyway in hope that it might be helpful to someone.
  4. Like
    tripwire reacted to chicken in How to prevent and detect stack overflow   
    Here's a great webinar on the topic of stack overflow from basics like stack sizing all the way to stack usage estimation and analysis, stack monitoring and stack overflow handling.
     
    Recording:
    Transcript: http://barrgroup.com/Embedded-Systems/How-To/Prevent-Detect-Stack-Overflow
     
    Found via the Embedded Muse newsletter.
     
     
     
     
  5. Like
    tripwire reacted to EdoNork in CCS 7 is out   
    http://processors.wiki.ti.com/index.php/Download_CCS#Code_Composer_Studio_v7.0_Downloads
  6. Like
    tripwire got a reaction from agaelema in MSP432 SRAM retention and flash waitstates - check your settings   
    TI recently updated the MSP432 Technical Reference Manual to "revision A". Looking at the revision history shows some particularly interesting changes...
     
    First of all, the documented default value of SYS_SRAM_BANKRET has changed from 0x000000FF to 0x00000001. That means that only bank 0 retains its contents in LPM3 and LPM4. I've seen some mention of this here already, but I'm repeating it because it's quite important to know. The program stack lives at the top of SRAM by default; from bank 7 down. If you don't enable retention on the banks containing the stack then bad things will happen when the MCU wakes from LPM3 or LPM4.
     
    The next one is less dangerous to get wrong, but kills performance if you aren't careful. The original release of the TRM said that the flash controller defaults to zero wait state mode on startup (FLCTL_BANKx_RDCTL.WAIT=0). That would make sense because the MCLK speed on startup doesn't require any wait states, and it also matches the MSP430 behaviour. Normally you don't need to even think about wait states unless you set the clock speed above a certain level specified in the datasheet.
     
    Unfortunately the updated TRM now says that the default setting is three wait states (FLCTL_BANKx_RDCTL.WAIT=3)! That's one more than the datasheet says you need for ordinary reads at the maximum MCLK frequency of 48MHz. In other words, to get best performance you need to change that setting irrespective of your chosen MCLK frequency.
     
    For code execution the effect is hidden somewhat by the 128-bit read buffer in the flash controller, meaning that the extra wait states are only applied when crossing a 128b boundary. By default this buffer is only used for instruction fetches, so code reading large blocks of constant data from flash (with the CPU or DMA) will suffer badly by comparison.
     
    Luckily neither issue causes any problems as long as you're aware and set the correct values in your program. I guess it's all part of the fun of using preview silicon
  7. Like
    tripwire reacted to enl in Any Unique MSP432 Project Ideas?   
    What orientation do you have for a project? The capabilities of the processors differ so much that it is difficult to answer your question without knowing where you are going. No sarcasm is intended in the following suggestions:
     
    Robotics? You can do multiaxis control in real time.
     
    Audio? You can do signal processing within the limits of the ADC resolution.
     
    Video? I would guess that you could produce VGA output to run 640X480 VGA at 8 color (one bit per color), or possibly better with some careful programming, and have no major issue producing a videogame. Certainly 320X240 should be straightforward. Using R-2R chains, you could easily produce interesting video output, though anything requiring a frame buffer would likely be out due to RAM limitations. It would probably not be too hard to produce NTSC in the same vein as an Apple II.
     
    The gains you get with the 432 include speed, memory, and processing per cycle. With a 430, serious audio isn't really practical. Real video is superstar territory. With the 432, both are straightforward, though not necessarily trivial.
     
    Specific ideas in audio: A guitar multi effect, maybe distortion, Wah (a pot on an ADC for bandsweep), flange, and reverb. All are moderately straightforward, but explore different algorithms.
     
    Video: One of the coolest thins I saw at a trade show in the late 70's was a video dazzler. Just cool patterns, but really, really cool. An audio input to control an arithmetically produced pattern as VGA output?
     
    Robotics: An 8 channel, I2C command servo controller?
     
    Do you ride? One of the things I did years ago with a PIC was an electronic ignition for a 1975 Honda CB400F (4 cylinder). Maxed out at about 12000RPM. The unit was tight to about 8000, but had a bit of jitter above that. Drove an output for the tach as well. The 432 can cover other things at the same time, and not lose it's place for the ignition timing.
     
    Got a cat? Using the ADC and DSP capability, an ultimate class cat toy? Detect appropriate stimulus (Meow, scratching, othe r) using a microphone, and do something interesting, like turn on a laser pointer mounted on servo's to entertain the cat, and when it gets to a certain point, release a treat?
     
    Ok... my mind runneth over. Several of these are things I don't have the time to do. There are many, many more. All of these take more than the 430 can reasonably do (except ignition timing), but none fully explore the capability of the 432.
  8. Like
    tripwire reacted to Fred in It's Halloween Again   
    I like the coin in the above photo for scale - mainly because I can now estimate the size of a US quarter because I know the pitch of a TSSOP IC. :-)
  9. Like
    tripwire reacted to Fmilburn in It's Halloween Again   
    Here are my finished projects for the season...
     
    This is a princess tiara made from the wearable G2553 I posted above.  It drives 3 WS2812 "neopixels" on a tiara that I bought at the dollar store.  The WS2812 were ordered from Aliexpress and I find them difficult to solder up in a chain by hand.  I need to put together a jig or something to hold things in place and make it easier.

    All princesses need a magic wand and this one came with the tiara.  I cut out a star shape from some 4x6 cm 0.1" pitch PCB and soldered a blinking RGB LED, coin cell holder, and a tilt ball type switch to it.  The wand turns off when pointed down and on when lifted up while blinking different colors.  Because of bounce in the switch it kind of randomly blinks itself when shaken which is interesting.  I took a number of pictures to capture the 3 colors shown.

    The big project was the ferry boat.  Here is a photo of one of the many ferry boats that run in the Seattle area:

    I start by choosing a main box to work from and shape it.

    Then lay out more pieces to get an idea of what it will look like.

    Then cut to shape, glue everything up, and paint.  The electronics are more WS2812 and another G2553 wearable.  I had planned to add more electronic gizmos to this but ran out of time.  I guess that leaves me with something to do next year though.

    My grandson has been helping a bit.  He is really into Lego.  He built this pumpkin and then we put an LED into that is just taped to a coin cell.

    Finally, some satisfied customers at the local fall festival parade...


  10. Like
    tripwire reacted to Fred in TI has free shipping through Oct-23   
    It seems there is another free shipping deal. Spotted this over on EEVBlog.
     
  11. Like
    tripwire reacted to vinicius.jlantunes in TI has free shipping through Oct-23   
    TI store is having another free shipping promotion through October 23 - https://store.ti.com.
     
    No coupon required.
  12. Like
    tripwire reacted to Rei Vilo in CC3200 to IFTTT - I am missing one piece to complete my project   
    If you're not a programmer, may I suggest to try and compartmentalise your code?
     
    Instead of sending a IFTT request directly, blink a LED.
     
    If the LED blinks accordingly, then add the IFTT routine.
     
    Good luck!
  13. Like
    tripwire reacted to Clavier in Analog comparator   
    Huh? All MSP430 comparator modules are able to raise an interrupt for this.
  14. Like
    tripwire reacted to spirilis in MSP-EXP432P401R Pre-Production (black PCB) LaunchPad to be Phased Out   
    Looks like the XMS rev C is a minor pre-production release, whose differences from production are:
     
    http://www.ti.com/lit/an/slaz691a/slaz691a.pdf
  15. Like
    tripwire reacted to USWaterRockets in MSP-EXP432P401R Pre-Production (black PCB) LaunchPad to be Phased Out   
    I heard some rumors about new parts coming, and some new features which were a surprise to me. Definitely not something I can prove easily, but it ties back to something I wanted a while ago. I hope we hear something more solid soon. 
  16. Like
    tripwire reacted to greeeg in gpio interrupts   
    Isn't this still producing the wrong result??
     
    After negating , if you add you'll get an overflow....
    (~BIT0) + (~BIT5) == (~0x01) + (~0x20) == (0xFE) + (0xDF) == (0x1DD) If you insist on negating within brackets then you should be using AND operations to receive the required result, not ADD.
    (~BIT0) & (~BIT5) == (~0x01) & (~0x20) == (0xFE) & (0xDF) == (0xDE)
  17. Like
    tripwire reacted to greeeg in gpio interrupts   
    I'm curious about this snippet of code. Your use of brackets is confusing to me. Particularly these 3 lines.
     
     
    To me this feels like it will be performing function A. Which results in an overflow. Is this your intent?
    A. (~BIT0 + BIT5) == (~0x01 + 0x20) == (0xFE + 0x20) == (0x11E) == 0x1E <- After it's put into a 8bit register B. ~(BIT0 + BIT5) == ~(0x01 + 0x20) == ~(0x21) == 0xDE Doesn't look related to your issue. But still looks like a bug.
  18. Like
    tripwire reacted to chicken in [POTM] dAISy - A Simple AIS Receiver   
    More fun in the lab

     
  19. Like
    tripwire reacted to chicken in [POTM] dAISy - A Simple AIS Receiver   
    It's a modified aquarium pump with an improvised foot pedal (piece of wood with a hole to cover with your toe to enable the suction action). The airflow is not sufficient for larger parts, but 0603 works great. I got it off eBay two years ago for $20 or so.
  20. Like
    tripwire reacted to B@tto in MSP430G2553 LPM4 works by current doesn't go bellow ~ 75 ?A   
    Hi,
     
    Did you get off all jumpers ? Some current can be drown throught serial connexions.
  21. Like
    tripwire reacted to chicken in i2c problem. Extra byte and NACK   
    I seem to remember that the stop condition needs to be indicated to the I2C peripheral before the last byte is received..
     
    You may want to check out the I2C code in Energia.
  22. Like
    tripwire reacted to chicken in RANT: Cloud of this, IoT of that . . .   
    I think we're currently in the AOL and CompuServe stage of IoT. Here's hope that there's an equivalent of Tim Berners-Lee out there who will invent an open and simple but good-enough way to integrate all these devices.
     
    There will always be the Facebooks and Apples that try to capture their users in a closed system, but eventually the system that gives customers the right balance of simplicity and interoperability will dominate. Think HTML and REST over HTTP vs. Corba, J2EE, SOAP and many other dead sophisticated technologies that were supposed to take over the computer-to-computer communication.
     
    On the "widget tied to cloud services" tangent: Today, most hardware startups are pressured by their VCs to come up with a business model with recurring revenue. See the many blog posts about hardware business on Bolt.io to get a taste of it, e.g. this one.
     
    I doubt that this model is sustainable in the long run for applications where there's no real benefit for the customer to be tied to a vendor's internet service (locks, lights, litter box, fridge, ...). Having to develop and sustain an internet service adds a significant complexity, cost and time-to-market handicap. There will be hardware companies that copy the good idea (automated odor control for the litter box) without the baggage (vendor lock-in for refills, stink when the internet is down, ..), and probably they will be able to sell it to you for less money.
  23. Like
    tripwire reacted to roadrunner84 in RANT: Cloud of this, IoT of that . . .   
    This makes me think about a book I read a decade or so back: When Things Start to Think. For me, this book was a complete paradigm shift about what connectivity could be used for. There's lot of anecdotes in the book about things that are, that were and failed and where the future (which is now) is heading. I agree that a lot of IoT is just screaming to get pushed onto the market, but there are products that actually add a benefit to your life which are or might be classified as IoT.
     
    I think there is a slight difference between M2M and IoT. M2M is about machine interaction and machine monitoring, while IoT is about human interaction with machines in a more immersive way than the mouse/keyboard/screen. Alas, most IoT solutions nowadays interact through smartphones, which are these stupid screens again.
    Genuine Things (note the capital T) do not interact through a smartphone or website, they interact through other Things. For example, I do not want to switch on my coffeepot through scheduling it in my calendar, I want my coffeepot to figure out when I want coffee and have coffee ready when I want it. The pot can do so by querying my phone, watch (which monitors when I am asleep or not), my door lock, my alarm clock, my car, etc. I think Things are about smartness, not about connectivity.
     
    Cloud is different from servers, although just slightly. Cloud is about virtualization. Cloud is a server(park) that allows clients (or yourself) to use a virtual machine (IaaS), virtual back end (PaaS) or virtual application (SaaS) while not paying for the physical servers. Cloud is about being able to migrate machines from one cloud provider to another, unlike renting a dedicated server, which must be either physically moved or backuped and restored in another physical location. I still think a virtualization pool is a better name than a cloud, but cloud just has a better ring to it.
  24. Like
    tripwire reacted to LIJsselstein in RANT: Cloud of this, IoT of that . . .   
    So just last week I stood before some 300 fruit farmers at a university research center showing our little IoT soil moisture transmitter that may either lift the burden of manually measuring twice a day on multiple locations, or from the long wires crisscrossing their fields with gprs modems and bulky batteries. There was quite some interest both from farmers as from their consultants. The name 'IoT' may be hype but there are a lot of realy useful applications.
  25. Like
    tripwire reacted to ChrisA in Multi-task   
    I read on the (http://energia.nu/guide/multitasking/) page that one may use global variables for intertask communication.   
     
    Does Energia MT support anything else?
    Is any of the underlaying TI RTOS available?
     
    ?If the answer is no and no then I guess then I guess I will need to re-implement semaphore and queues and so on myself and put this in a library.   But maybe someone else has already done this and there is a library I can use?
     
    If the answer is no then I will write and eventually publish one.  I'm asking here before I go off and write something that may already exist. 
×
×
  • Create New...