Quantcast
Channel: Forums - Recent Threads
Viewing all 262198 articles
Browse latest View live

Compiler: C11/C++11/C++14 Roadmap

$
0
0

Tool/software: TI C/C++ Compiler

I was very pleased to see the announcement that C++11/14 support has been added to the TI compiler tools for ARM and MSP430. While this is a big step forward, there are quite a few missing features:

• The compiler does not support embedded C++ run-time-support libraries.
• The library supports wide chars (wchar_t), in that template functions and classes that are defined for
char are also available for wchar_t. For example, wide char stream classes wios, wiostream,
wstreambuf and so on (corresponding to char classes ios, iostream, streambuf) are implemented.
However, there is no low-level file I/O for wide chars. Also, the C library interface to wide char support
(through the C++ headers <cwchar> and <cwctype>) is limited as described above in the C library.
• Two-phase name binding in templates, as described in [tesp.res] and [temp.dep] of the standard, is not
implemented.
• The export keyword for templates is not implemented.
• A typedef of a function type cannot include member function cv-qualifiers.
• A partial specialization of a class member template cannot be added outside of the class definition.
• Constant expressions for target-specific types are only partially supported.
• New character types (introduced in the C++11 standard) are not supported.
• Unicode string literals (introduced in the C++11 standard) are not supported.
• Universal character names in literals (introduced in the C++11 standard) are not supported.
• Sequence points (introduced in the C++11 standard) are not supported.
• Atomic operations (introduced in the C++11 standard) are not supported.
• Strong compare and exchange (introduced in the C++11 standard) are not supported.
• Bidirectional fences (introduced in the C++11 standard) are not supported.
• Memory model (introduced in the C++11 standard) is not supported.
• Data-dependency ordering for atomics and memory model (introduced in the C++11 standard) is not
supported.
• Propagating exceptions (introduced in the C++11 standard) is not supported.
• Allowing atomics in signal handlers (introduced in the C++11 standard) is not supported.
• Thread-local storage (introduced in the C++11 standard) is not supported.
• Dynamic initialization and destruction with concurrency (introduced in the C++11 standard) is not
supported.

That list is from the Compiler User's Guide (spnu151r.pdf), which covers this is a lot more detail than the announcement page. A lot of those I can live without, but I was really hoping the C++11 memory model would be supported.

In addition, there are other devices which don't have any C++11 support at present. Finally there is C11, which isn't supported at all.

Is there any roadmap information available regarding which (if any) of these will be tackled, and in what order?


CCS/MSP430FR5969: How to write the ISR for TimerA1 module?

$
0
0

Part Number:MSP430FR5969

Tool/software: Code Composer Studio

Hello everyone,

I'm trying to use the grove ultrasonic ranger for some distance measurement.

The plan is to send out a pulse of 10us and capture the high-time of the echo from the sensor and then calculate the distance.

However it seems that i can't get into the ISR (which i copied from one of the example code file of TA1). Im already using TA0 for some other job and therefore have to use TA1:

I configured TA1 in capture mode and on P1.2 (which is the Timer 1 CCR1 register according to the datasheet) I'm waiting to recieve to echo signal and trigger the ISR:

#include <msp430.h>
#include "stdint.h"
#include <string.h>
#include <stdlib.h>


unsigned int counter;
unsigned int distance_cm;

// Timer A1 interrupt service routine
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector = TIMER1_A0_VECTOR
__interrupt void Timer1_A0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(TIMER1_A0_VECTOR))) Timer1_A0_ISR (void)
#else
#error Compiler not supported!
#endif
{
    if (TA1CCTL1 & CCI)            // Rising edge
        {
            counter = TA1CCR1;      // Copy counter value to variable
        }
        else                        // Falling edge
        {
            // Formula: Distance in cm = (Time in uSec)/58
            distance_cm = (TA1CCR1 - counter)/58;
        }
        TA1CCTL1 &= ~CCIFG;           // Clear interrupt flag - handled
}

// Clock System Setup
void clock_init(){

      CSCTL0_H = CSKEY >> 8;                    // Unlock CS registers
      CSCTL1 = DCOFSEL_0;                       // Set DCO to 1MHz
      CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK;  // Set SMCLK = MCLK = DCO
                                                // ACLK = VLOCLK
      CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1;     // Set all dividers to 1
      CSCTL0_H = 0;                             // Lock CS registers
    }

//timer1A setup
void timer_init(){

    TA1CTL = TASSEL_2 | MC_2 ;          // SMCLK, cont. mode
    TA1CCTL1 = CM_3 | SCS | CAP | CCIE; //capture on rising&falling edge, synchronize CCI1A with clock,
                                        // capture mode, capture interrupt enable
    }

void peripherals_init(){

    P1DIR |= BIT3;                   //set output for trigger
    P1DIR &= ~BIT2;                  //set input for echo
    P1SEL0 |= BIT2;                  //configure P1.2 as capture input (CCI1A) for TimerA1
    P1SEL1 &= ~BIT2;

   }

void main (void){
   WDTCTL = WDTPW | WDTHOLD;      //Stop Watchdog Timer
   PM5CTL0 &= ~LOCKLPM5;          // This is Needed for MSP430FR5969!

   clock_init();
   timer_init();
   peripherals_init();
   init_UART();

   P1OUT &= ~BIT3;                  //keep trigger low

// Welcome String over UART
   send_str("Ultrasonic Distance Measurement in cm: ");

   __bis_SR_register(GIE);


   while (1)
       {
           // measuring the distance
           P1OUT ^= BIT3;                      // trigger high
           __delay_cycles(10);                  // 10us wide
           P1OUT ^= BIT3;                       // trigger low
           __delay_cycles(500000);              // 0.5sec measurement cycle

       }
}

TMS570LC4357: Power Management Module vs clock domain

$
0
0

Part Number:TMS570LC4357

Is it possible to have some additional information on how the PMM (power management module) works?

In the reference manual, section 5.1, it said that “Turning off a domain has the effect to only turn off the clocks into the domain.” But when I look at the datasheet section 6.6.2.2 the clock domains and the power domain does not necessarily match. So, what is the link between the power domain and the clock domain?

  1. Let say Power domain (PD) 6 is turned off.  PD6 switches domain ePWN, eCAP and eQEP to off. However, VCLK3 goes to ePWN, eCAP and eQEP but also to EMIF and Ethernet. So which clock does the PD6 turn off?
  2. Let say PD4 is turned off. If VCLKA2 is turned on after, will the PMM detect an error?

I am asking the question in the context of DO-254 DAL A development where unused functions need to be properly deactivated.

Thank you

TL720M05-Q1: Where to Find Mentor Graphics PADS Footprint

$
0
0

Part Number:TL720M05-Q1

Hello

I plan to use this voltage regulator in a test board. Is there a PCB footprint available for Mentor Graphics PADS? Where can I find it if it's available?

Thank you

Ian

CCS/CC3200: error in running ti_rtos_config for CC3200 in CCS 8

$
0
0

Part Number:CC3200

Tool/software: Code Composer Studio

I'm getting the same error message as everyone else

Buildfile generation error occurred..
Product 'com.ti.rtsc.TIRTOSCC32XX' v2.15.0.17 is not currently installed and no compatible version is available. Please install this product or a compatible version.

LM27761: Test will Delete

test

CC2530: How to know the netaddresses of a device's sleepy children

$
0
0

Part Number:CC2530

Hello,

I am trying to list a device's children using the AssocList API. The device is working as a Zigbee coordinator in a network with star topology.

I use AssocCount to know how many children does the device have. Here is the code:

  byte x;
  uint16 nwkAddr;
  byte aItems;
  associated_devices_t *aDevice;

  // Get the number of associated items
  
  aItems = (uint8)AssocCount( PARENT, CHILD_FFD_RX_IDLE );
  aItems += (uint8)AssocCount( PARENT, CHILD_FFD );
  aItems += (uint8)AssocCount( PARENT, CHILD_RFD_RX_IDLE );
  aItems += (uint8)AssocCount( PARENT, CHILD_RFD );
  
  for (x = 0 ; x < aItems; x++ )
  {
    aDevice = AssocFindDevice( x );
    nwkAddr = aDevice->shortAddr;

    if(nwkAddr!=0)
      zclNwkMeshManager_ProcessInSendToUart(GET_NET_ADDRESSES_RSP,NULL,nwkAddr,0xFF,0,0, NULL);              

  }

Later on I call AssocFindDevice() with an index to get the Nth active associated device, and it works fine with non sleepy devices.

However, sleepy devices stop getting listed after a certain amount of time. Is this because they are marked a inactive at some point?

I am using ZStack HA Profile 1.2.1 . It's a program built upon Home Automation / Smart Energy

Greetings, Marco.


RTOS/EK-TM4C1294XL: Most elegant way to sample >8 ADC inputs with one trigger

$
0
0

Part Number:EK-TM4C1294XL

Tool/software:TI-RTOS

Hi,

for my project I need to read 12 analog values back-to-back. What is the most elegant way, as the largest sequence only samples 8 inputs?

Also I need the values to be stored in memory by the DMA, so that close to no CPU time is consumed at all.

Best regards

CCS/MSP430F5529: Cannot connect to target using external power supply

$
0
0

Part Number:MSP430F5529

Tool/software: Code Composer Studio

I am using the MSP430F5529 launchpad to program an MSP430G2221 on an external board.

It has been smooth until I tried to program the MSP430G2221 using its own power supply. It consists of a 25V switching supply which is connected to a parasitic supply. Then it goes to an LDO and finally to the MSP430G2221. Both grounds, the one on the launchpad and the one of the MSP430G2221, are connected. 

I have measure the voltage between grounds and it is 0V, as expected. The voltage between the 3V3 output of the launchpad and the LDO output is -190mV. I am not sure if this voltage difference is enough to make the communication fail. 

MSP-EXP430FR4133: Expected power usage of MSP-EXP430FR4133 with out-of-box software?

$
0
0

Part Number:MSP-EXP430FR4133

What is the expected current consumption of the MSP-EXP430FR4133 when running the out-of-box-demo code in "stopwatch" mode with the stopwatch not running?

I am seeing about 10uA at 3.3V according to both EnergyTrace in CCS and an external current probe. I have all the block jumpers removed.

In this mode, I would expect the the current used to be much lower. According to the datasheet, this part should draw <1uA with the LCD and RTC running in standby mode. 

The example code looks to follow ULP best practices by making sure that all GPIO pins are not floating and disabling the WDT. 

Is there anything I can change in the code to reduce the power used with RTC and LCD are on in standby mode to <1uA?

I am new to this part, so sorry if I am missing something obvious. Thanks!

motor kit specification

$
0
0

Wich motor kit can I use to drive this sensored bldc motor (140kV)?

Is it possible to drive it without sensors and vary the speed from zero to the maximum? 

TPS7A05: TPS7A05

$
0
0

Part Number:TPS7A05

Hi,

can you direct me to the DQN package drawing that includes device dimensions?

Thanks,

Sal

TINA/Spice/TPS92515: Please help to identify the part "IC=0" and "IC-5" in circle in the schematics

$
0
0

Part Number:TPS92515

Tool/software:TINA-TI or Spice Models

Hi, there,

I downloaded the PSpice model for the TPS92515 and it ran fine in the OrCAD PSpice simulation. There are something in the schematics that I need to know what that is and if its needed for our system to drive the LEDs. Please see attachment for the screen capture and I circle the items in questions, "IC=0" and "IC=5", what kind of device or component is that? are they just PSpice model? Where should I go to find them in the "Place" part drop down list? what is their function?

Thanks,

Terri

TivaWare v2.1.4.178 Patch

$
0
0

Hi team,

i just installed the latest version of SW-TM4C (v2.1.4.178) and I noticed that there is an accompanying patch found here: SW-TM4C-2.1.4.178.PATCH-1.0.zip

When opening the ReadMe of that patch, it says "Replace the folder "windows_drivers" of TivaWare v2.1.1.178 with the contents of this patch."

Is this patch indeed for v2.1.4.178 or is it for v2.1.1.178?

Regards,

Akash


TDC1000: Is it possible to detect "tx shift" signature on rx side?

$
0
0

Part Number:TDC1000

Hello,

Is it possible to detect right tx burst by "tx shift signature" while detecting rx signal?

I have a very noisy environment and I want to detect "just right" tx bursts.

THanks

AM5716: IDK Schematic

$
0
0

Part Number:AM5716

Question from the customer: The PDF Schematic shows 23 schem decal for the AM5718 IDK, yet the PADS decal they imported from the .DSN file has 13 decals. Why the discrepancy?

Linux/AM5728: Errata Implementation for i202 (MDR1 Access Can Freeze UART Module)

$
0
0

Part Number:AM5728

Tool/software: Linux

Hello,

Has the workaround for AM5728 errata item i202 (MDR1 Access Can Freeze UART Module) been implemented in one of the Processor SDK releases? If so:

  1. Is it implemented within U-Boot or the Linux kernel?
  2. What version of the Processor SDK was the workaround introduced?

Thanks!

SN74CBT3257: Is this part suitable for +3.3V to +5V level translating

$
0
0

Part Number:SN74CBT3257

I would like to know if this part is suitable for level-translating.  Specifically I have a 3.3V I2C bus on one side of the MUX and two +5V I2C busses on the other side of the MUX.  Will I have back drive issues with the +5V bus going over the +3.3V rail on the other side of the MUX. The +3.3V side is not 5V tolerant.

TPS65986: Max Wake-up time from SLEEP after first I2C attempt, until next I2C attempt can be recognized

$
0
0

Part Number:TPS65986

I understand there is some time in transition from 100kHz sleep clock, over to 48MHz oscillator starting and stabilizing when transitioning to ACTIVE mode, so that the digital core is ready to process I2C commands.  Can we quantify the max time we could see from the "dummy" I2C command to wake-up the device, and when it is ready to process I2C commands?  

Viewing all 262198 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>