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

A problem at return some function on av bios sdk

$
0
0

Dear all

I'm using the 8148 EVM and av_bio_sdk_0800. I added some function on 'demo' project in the sdk.

A exception occur when return my function.

What can I do to debug this issue?

------------------------------------

[C674] A0=0x0 A1=0x0
[C674] A2=0xffff0137 A3=0x86ee7e1c
[C674] A4=0x2000000 A5=0x1
[C674] A6=0xe1 A7=0xff00
[C674] A8=0x86edf16c A9=0x0
[C674] A10=0x0 A11=0x0
[C674] A12=0x0 A13=0x0
[C674] A14=0x0 A15=0x0
[C674] A16=0x0 A17=0x62000118
[C674] A18=0xfffffffe A19=0xffffffff
[C674] A20=0x0 A21=0x0
[C674] A22=0x53425eaf A23=0x2f81e721
[C674] A24=0x0 A25=0x80000000
[C674] A26=0x400 A27=0x80000000
[C674] A28=0x200 A29=0xe8ba2e8a
[C674] A30=0xd1600000 A31=0x0
[C674] B0=0x1 B1=0x1
[C674] B2=0x0 B3=0x74
[C674] B4=0x221e0100 B5=0x14000102
[C674] B6=0x80ca800 B7=0x0
[C674] B8=0x0 B9=0x1
[C674] B10=0x0 B11=0x0
[C674] B12=0x0 B13=0x0
[C674] B14=0x86eec178 B15=0x863483d0
[C674] B16=0x0 B17=0x0
[C674] B18=0x0 B19=0x6
[C674] B20=0x9f B21=0x20e8180
[C674] B22=0xf B23=0x0
[C674] B24=0x28f6a7c1 B25=0xa1b94a00
[C674] B26=0x0 B27=0xffffffff
[C674] B28=0x0 B29=0x1
[C674] B30=0x3fe00000 B31=0x25800
[C674] NTSR=0x1020d
[C674] ITSR=0x20d
[C674] IRP=0x86736be4
[C674] SSR=0x0
[C674] AMR=0x0
[C674] RILC=0x0
[C674] ILC=0x0
[C674] Exception at 0x30
[C674] EFR=0x2 NRP=0x30
[C674] Internal exception: IERR=0x1
[C674] Instruction fetch exception
[C674] ti.sysbios.family.c64p.Exception: line 248: E_exceptionMin: pc = 0x00000074, sp = 0x863483d0.
[C674] To see more exception detail, use ROV or set 'ti.sysbios.family.c64p.Exception.enablePrint = true;'
[C674] xdc.runtime.Error.raise: terminating execution

-------------------------------------------------------------------------------------------------------         

298       } (end of my function)
8670e32c:   018022EE            LDW.D2T2      *+B15[34],B3
8670e330:   07804452            ADDK.S2       136,SP
8670e334:   008CA362            BNOP.S2       B3,5
310    


PeripheralObserver with CC2540DK and CC2541EM

$
0
0

Hello,

I want to build PeripheralObserver with CC2540DK and CC2541EM.

When the connection is not built to the Android phone in the peripheral mode, the scanning works fine in the observer mode.
However, when the connection is built to the Android phone in the peripheral mode, the scanning does not work fine in the observer mode.

Why does the behavior happen?

I consult the following URL description and the sample code to build PeripheralObserver.
http://processors.wiki.ti.com/index.php/SimpleBLE_ComboRoles

And I'm using BLE-STACK v1.4.0 (http://www.ti.com/tool/ble-stack).

Best Regards.

Nomoto

Something wrong with Interaction between SYS/BIOS and interrupts

$
0
0

I used i2cAccelerometer.c (AM335X_StarterWare_02_00_01_01\examples\evmAM335x\accelerometer) as the basis of a some test code to test out the I2C devices on a new board design. 

It works if I change the code to poll (no interrupts). If I get the I2C interrupt it gets an exception in the HWI code when switching to the ISR stack. Note, I do not have HWI enabled in my .cfg file I have SYS/BIOS, task, timer, error handling. I tried enabling the HWI and that did not work either (same result). 

That being said, this may or may not be related. If I try to enable the Console Uart or call BIOS_Start I get a similar behavior. 

I am wondering what is missing in my configuration. I quite comfortable with the ARM and used the SYS/BIOS before but there must be something I am missing with the new GUI and SYS/BIOS version.

Right now I have a simple power on self test going and then we will start up the tasking.  

Aaron

TS3A24159 V+

$
0
0

Hello, I'm Hidetoshi Matsunami.

I would like to ask about TS3A24159.

Will I+ change from 4.9mA when the control signal input is lower under a condition different from the following URL?

http://www.tij.co.jp/jp/lit/an/scda011/scda011.pdf

For example, what will becom of 1.8V and 2.8V control signal when V+ is 3V?

Best Regards,

Hidetoshi Matsunami

C6678: incomplete DWARF section when compiling/linking using version 7.4.0 tools

$
0
0

Hello,

I have the following problem when using the C/C++ Compiler & Linker version 7.4.0.

I am compiling using the following 2 options: --symdebug:dwarf and --symdebug:dwarf_version=3. The object files generated by the C/C++ Compiler using the options above contains complete DWARF .debug_pubnames sections. However, the executable generated by the Linker contains an incomplete.debug_pubnames DWARF section: some global symbols are missing.

When using C/C++ Compiler & Linker version 7.3.4, all is well. The executable generated by the Linker contains a complete .debug_pubnames DWARF section: all global symbols are there.

Is there a way to solve this problem?

Thanks,

Sergiu

SWIFT Isolate Flayback circuit

$
0
0

Hi all

Do you have Flayback schematic by SWIFT(eg.TPS54x31,TPS54x40)?
VIN=+12V, VOUT=+15V,-15V, Accuracy=+/- 5%

Regards,
PAN-M

How to verify smart reflex voltage targets in AM335x silicon

$
0
0

On our design, during Linux boot, we see:

am33xx_sr_probe: Zero NValue read from EFUSE.


After searching the forums, I found this post: http://e2e.ti.com/support/arm/sitara_arm/f/791/t/234498.aspx

From the post:

Certain AM335x samples did not have voltage targets programmed by the factory.  If you mount the debug filesystem and you cannot see /debug/smartreflex, this is likely the case for your board.  You can further verify this by checking the Linux boot log ('dmesg'), and look for the string "Zero NValue read from EFUSE".

In AM335x_Power_Management_User_Guide, it states:

Furthermore, SmartReflex is currently supported only on the ZCZ package.  Please note that SmartReflex may not operate on AM335x sample devices which were not programmed with voltage targets.

Our hardware engineer confirmed that the design uses the ZCZ package.  However, we still see the Zero NValue message.  So my question is:  is there a way to tell on the ZCZ part markings (date code, serial #, etc) whether it is programmed with voltage targets for smartreflex?  Or alternatively, any AM335x register that we can read to  determine whether the chip has voltage targets?

Thanks in advance.


---

EDIT: 

After reading about the low power options possible via smartreflex, our design isn't a handheld device and doesn't have any power saving requirements.  It'll operate at the fastest stable CPU clock and DDR3 bus speed.  Will the lack of smartreflex impact performance?

Problem With Function osal_nv_item_init()

$
0
0

Hello everyone:


I am using the TI Zigbee Stack 1.1.0 with a CC2530F2565 SoC. In the ZMain file, there is a function "zmain_ext_addr()" that determines the device's MAC Address. I can confirm, that the MAC has been written to the NV RAM and and can be retrieved properly.

However, on occasion, when the code executes the function (during power-up initialization):

result = osal_nv_item_init( ZCD_NV_EXTADDR, Z_EXTADDR_LEN, NULL ) to determine if a valid MAC Address exists in NV RAM, "result" will be "NV_ITEM_UNINIT" when I know for a fact the MAC has been initialized and the code can read it back.


What would cause the NV RAM to return "uninitialized" when I know it is initialized with valid data?

Thanks!


4 packets @ 30ms connection interval, but last packet only 10 bytes

$
0
0

Hello, 

 I've done some experiments, and I'm getting 3x20 byte packets (full length) and 1 packet at 10 bytes. If I try and up the last packet size, I only receive 3 packets overall. Setting it to 10 bytes payload seems to be the magic number. Is this what I can expect? Can I expect to get 20 bytes in the last packet? 

Image: http://gyazo.com/80890b5be1645f56deebc49d6b707178

I'm at a 30ms connection interval? I'm using notifications on 2 characteristics, calling GATT_NOTIFICATION on the 20 byte size 3x and GATT_NOTIFICATIOn on 10byte 1 time. Using cc2541 (sensortag)

Any ideas?

how to use output post-scale and ouput pre-scale in TAS5713?

$
0
0

I'm from china xidian university ,and i'm going to use TAS5713 in my hardware from the project in my lab

here is my problem 

when i read the TAS5713 datasheet ,the register 0x56 and 0x57  meaing output post-scale and pre-scale

how can i configure them to realize the best performance ,and by the way,how do they work?

i just can't get the meanig of  post-scale and pre-scale?

need help!!

thank you~

AM1808 reference design

$
0
0

Hi,

      We are developing the device based on AM1808 and we are using OMAPL138 LCDK reference design. 

Is AM1808 have separate reference design or OMAP138 and AM1808 are same?

If its not same what are the changes need to be do in AM1808 schematic from the reference of OMAPl188 LCDK reference design?

Do we need to change in power section and boot section or any other sections? Kindly let me know the details.

Thanks

Sangly.

Help on MSP FET430PIF

$
0
0

Dear All,

  I am working on a system that has  MSP430F2410 and I am using the 4-wire JTAG with MSP FET430PIF parallel port programmer. Please let me know if this debugger can be used with Code Composer Studio ? And if yes, which version ? Its very important and urgent, please let me know.

 

TPA3116D2 questions

$
0
0

Hello,

Can the TPA3116D2 gain be reduced below 20?

 

Does installation of JP4 defeat power limit in the TPA3116D2 eval board?

 

Thanks

code composer

$
0
0

Hello All

   I am using code composer for MSP430F2481 and I am getting following error

Can't find a source file at "/tmp/TI_MKLIBGY645N/SRC/boot.c"
Locate the file or edit the source lookup path to include its location.

can anybody help me??

Thank you

Perry

pfatehi@socal.rr.com

How to send UART data on timer based interrupt on F28027F using CCS

$
0
0

Hello all,

I have made a running program which takes the data from ADC channels and sends it on adc interrupt via SCIA, i am also receiving it properly on PC using my own c# front end as well as other terminal programs. The thing I intend to do now is I would like to run the adc/uart part on each timer based interrupt event, so that they don't run unnecessarily all the time. I need help to code it, i have seen the led_blink and the  F2802x CPU Timer Example, but am unable to implement the code, here's the error free code I am using so far: 

#include "DSP28x_Project.h"     // Device Headerfile and Examples Include File
#include "f2802x_common/include/adc.h"
#include "f2802x_common/include/clk.h"
#include "f2802x_common/include/flash.h"
#include "f2802x_common/include/gpio.h"
#include "f2802x_common/include/pie.h"
#include "f2802x_common/include/pll.h"
#include "f2802x_common/include/pwm.h"
#include "f2802x_common/include/wdog.h"
#include "f2802x_common/include/sci.h"
#include "f2802x_common/include/timer.h"

// Prototype statements for functions for analog to digital conversion
void Adc_Config(void);
// Prototype statements for functions for sci/uart communication.
void scia_echoback_init(void);
void scia_fifo_init(void);
void scia_xmit(int a);
void scia_msg(char *msg);
char *itoa(int i, char *a, int r);

char *msg;
char buffer[4];
// Global variables used in this example:
uint16_t LoopCount;
uint16_t ConversionCount;
uint16_t Voltage1;
uint16_t Voltage2;
uint16_t ErrorCount;
uint16_t ReceivedChar;
ADC_Handle myAdc;
CLK_Handle myClk;
FLASH_Handle myFlash;
GPIO_Handle myGpio;
PIE_Handle myPie;
PWM_Handle myPwm1;
SCI_Handle mySci;

void main(void)
{

    CPU_Handle myCpu;
    PLL_Handle myPll;
    WDOG_Handle myWDog;

    // Initialize all the handles needed for this application    
    myAdc = ADC_init((void *)ADC_BASE_ADDR, sizeof(ADC_Obj));
    myClk = CLK_init((void *)CLK_BASE_ADDR, sizeof(CLK_Obj));
    myCpu = CPU_init((void *)NULL, sizeof(CPU_Obj));
    myFlash = FLASH_init((void *)FLASH_BASE_ADDR, sizeof(FLASH_Obj));
    myGpio = GPIO_init((void *)GPIO_BASE_ADDR, sizeof(GPIO_Obj));
    myPie = PIE_init((void *)PIE_BASE_ADDR, sizeof(PIE_Obj));
    myPll = PLL_init((void *)PLL_BASE_ADDR, sizeof(PLL_Obj));
    myPwm1 = PWM_init((void *)PWM_ePWM1_BASE_ADDR, sizeof(PWM_Obj));
    mySci = SCI_init((void *)SCIA_BASE_ADDR, sizeof(SCI_Obj));
    myWDog = WDOG_init((void *)WDOG_BASE_ADDR, sizeof(WDOG_Obj));

    // Perform basic system initialization    
    WDOG_disable(myWDog);
    CLK_enableAdcClock(myClk);
    (*Device_cal)();
    
    //Select the internal oscillator 1 as the clock source
    CLK_setOscSrc(myClk, CLK_OscSrc_Internal);
    
    // Setup the PLL for x12 /2 which will yield 60Mhz = 10Mhz * 12 / 2
    PLL_setup(myPll, PLL_Multiplier_12, PLL_DivideSelect_ClkIn_by_2);
    
    // Disable the PIE and all interrupts
    PIE_disable(myPie);
    PIE_disableAllInts(myPie);
    CPU_disableGlobalInts(myCpu);
    CPU_clearIntFlags(myCpu);
    
// If running from flash copy RAM only functions to RAM   
#ifdef _FLASH
    memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
#endif   
    // Initalize GPIO
       GPIO_setPullUp(myGpio, GPIO_Number_28, GPIO_PullUp_Enable);
       GPIO_setPullUp(myGpio, GPIO_Number_29, GPIO_PullUp_Disable);
       GPIO_setQualification(myGpio, GPIO_Number_28, GPIO_Qual_ASync);
       GPIO_setMode(myGpio, GPIO_Number_28, GPIO_28_Mode_SCIRXDA);
       GPIO_setMode(myGpio, GPIO_Number_29, GPIO_29_Mode_SCITXDA);
    // Setup a debug vector table and enable the PIE
    PIE_setDebugIntVectorTable(myPie);
    PIE_enable(myPie);

       // Initialize the ADC
         ADC_enableBandGap(myAdc);
         ADC_enableRefBuffers(myAdc);
         ADC_powerUp(myAdc);
         ADC_enable(myAdc);
         ADC_setVoltRefSrc(myAdc, ADC_VoltageRefSrc_Int);
         // Enable ADCINT1 in PIE
         PIE_enableAdcInt(myPie, ADC_IntNumber_1);
         // Enable CPU Interrupt 1
         CPU_enableInt(myCpu, CPU_IntNumber_10);
         // Enable Global interrupt INTM
         CPU_enableGlobalInts(myCpu);
         // Enable Global realtime interrupt DBGM
         CPU_enableDebugInt(myCpu);
         // Configure ADC
         //Note: Channel ADCINA4  will be double sampled to workaround the ADC 1st sample issue for rev0 silicon errata
         ADC_setIntPulseGenMode(myAdc, ADC_IntPulseGenMode_Prior);               //ADCINT1 trips after AdcResults latch
         ADC_enableInt(myAdc, ADC_IntNumber_1);                                  //Enabled ADCINT1
         ADC_setIntMode(myAdc, ADC_IntNumber_1, ADC_IntMode_ClearFlag);          //Disable ADCINT1 Continuous mode
         ADC_setIntSrc(myAdc, ADC_IntNumber_1, ADC_IntSrc_EOC2);                 //setup EOC2 to trigger ADCINT1 to fire
         ADC_setSocChanNumber (myAdc, ADC_SocNumber_0, ADC_SocChanNumber_A4);    //set SOC0 channel select to ADCINA4
         ADC_setSocChanNumber (myAdc, ADC_SocNumber_1, ADC_SocChanNumber_A4);    //set SOC1 channel select to ADCINA4
         ADC_setSocChanNumber (myAdc, ADC_SocNumber_2, ADC_SocChanNumber_A2);    //set SOC2 channel select to ADCINA2
         ADC_setSocTrigSrc(myAdc, ADC_SocNumber_0, ADC_SocTrigSrc_EPWM1_ADCSOCA);    //set SOC0 start trigger on EPWM1A, due to round-robin SOC0 converts first then SOC1
         ADC_setSocTrigSrc(myAdc, ADC_SocNumber_1, ADC_SocTrigSrc_EPWM1_ADCSOCA);    //set SOC1 start trigger on EPWM1A, due to round-robin SOC0 converts first then SOC1
         ADC_setSocTrigSrc(myAdc, ADC_SocNumber_2, ADC_SocTrigSrc_EPWM1_ADCSOCA);    //set SOC2 start trigger on EPWM1A, due to round-robin SOC0 converts first then SOC1, then SOC2
         ADC_setSocSampleWindow(myAdc, ADC_SocNumber_0, ADC_SocSampleWindow_64_cycles);   //set SOC0 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)
         ADC_setSocSampleWindow(myAdc, ADC_SocNumber_1, ADC_SocSampleWindow_64_cycles);   //set SOC1 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)
         ADC_setSocSampleWindow(myAdc, ADC_SocNumber_2, ADC_SocSampleWindow_64_cycles);   //set SOC2 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)
         // Enable PWM clock
         CLK_enablePwmClock(myClk, PWM_Number_1);
         CLK_enableTbClockSync(myClk);
         // Setup PWM
         PWM_enableSocAPulse(myPwm1);                                         // Enable SOC on A group
         PWM_setSocAPulseSrc(myPwm1, PWM_SocPulseSrc_CounterEqualCmpAIncr);   // Select SOC from CPMA on upcount
         PWM_setSocAPeriod(myPwm1, PWM_SocPeriod_FirstEvent);                 // Generate pulse on 1st event
         PWM_setCmpA(myPwm1, 0x0080);                                         // Set compare A value
         PWM_setPeriod(myPwm1, 0xFFFF);                                       // Set period for ePWM1
         PWM_setCounterMode(myPwm1, PWM_CounterMode_Up);                      // count up and start


         // Register interrupt handlers in the PIE vector table
         PIE_registerPieIntHandler(myPie, PIE_GroupNumber_10, PIE_SubGroupNumber_1, (intVec_t)&adc_isr);

         // Wait for ADC interrupt


         for(;;)
         { LoopCount++;

       }




}


interrupt void adc_isr(void)
{


	scia_echoback_init();  // Initalize SCI for echoback
scia_fifo_init();      // Initialize the SCI FIFO

    //discard ADCRESULT0 as part of the workaround to the 1st sample errata for rev0
    Voltage1 = ADC_readResult(myAdc, ADC_ResultNumber_1);
    Voltage2 = ADC_readResult(myAdc, ADC_ResultNumber_2);
    // Wait for inc character
                       /*   while(SCI_getRxFifoStatus(mySci) < SCI_FifoStatus_1_Word){
                          }

                          // Get character
                          ReceivedChar = SCI_getData(mySci);
*/
                          // Send Data
    //msg="\r\nTemp Value of LM35CAZ is:\t";
   // scia_msg(msg);
                          msg =  itoa( Voltage2 , buffer, 10);
                          scia_msg(msg);
msg="\r\n";
scia_msg(msg);

    // Clear ADCINT1 flag reinitialize for next SOC
    ADC_clearIntFlag(myAdc, ADC_IntNumber_1);
    // Acknowledge interrupt to PIE
    PIE_clearInt(myPie, PIE_GroupNumber_10);

    return;
}
void scia_echoback_init()
{

    CLK_enableSciaClock(myClk);

    // 1 stop bit,  No loopback
    // No parity,8 char bits,
    // async mode, idle-line protocol
    SCI_disableParity(mySci);
    SCI_setNumStopBits(mySci, SCI_NumStopBits_One);
    SCI_setCharLength(mySci, SCI_CharLength_8_Bits);

    SCI_enableTx(mySci);
    SCI_enableRx(mySci);
    SCI_enableTxInt(mySci);
    SCI_enableRxInt(mySci);

    // SCI BRR = LSPCLK/(SCI BAUDx8) - 1
#if (CPU_FRQ_60MHZ)
    SCI_setBaudRate(mySci, SCI_BaudRate_115_2_kBaud);
#elif (CPU_FRQ_50MHZ)
    SCI_setBaudRate(mySci, (SCI_BaudRate_e)162);
#elif (CPU_FRQ_40MHZ)
    SCI_setBaudRate(mySci, (SCI_BaudRate_e)129);
#endif

    SCI_enable(mySci);

    return;
}

// Transmit a character from the SCI
void scia_xmit(int a)
{
//    while (SciaRegs.SCIFFTX.bit.TXFFST != 0) {}
    while(SCI_getTxFifoStatus(mySci) != SCI_FifoStatus_Empty){
    }
//    SciaRegs.SCITXBUF=a;
    SCI_putDataBlocking(mySci, a);

}

void scia_msg(char * msg)
{
    int i;
    i = 0;
    while(msg[i] != '\0')
    {
        scia_xmit(msg[i]);
        i++;
    }
}

// Initalize the SCI FIFO
void scia_fifo_init()
{

    SCI_enableFifoEnh(mySci);
    SCI_resetTxFifo(mySci);
    SCI_clearTxFifoInt(mySci);
    SCI_resetChannels(mySci);
    SCI_setTxFifoIntLevel(mySci, SCI_FifoLevel_Empty);SCI_enableTxFifoInt(mySci);
    SCI_resetRxFifo(mySci);
    SCI_clearRxFifoInt(mySci);
    SCI_setRxFifoIntLevel(mySci, SCI_FifoLevel_4_Words); SCI_enableRxFifoInt(mySci);


    return;
}
static char *i2a(unsigned i, char *a, unsigned r)
{
    if (i/r > 0) a = i2a(i/r,a,r);
    *a = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[i%r];
    return a+1;
}
char *itoa(int i, char *a, int r)
{
    if ((r < 2) || (r > 36)) r = 10;
    if (i < 0)
    {
        *a = '-';
        *i2a(-(unsigned)i,a+1,r) = 0;
    }
    else *i2a(i,a,r) = 0;
    return a;
}

Can anyone help me on how to achieve my aforesaid goals by showing me the exact example?


Problem with MSP430 LaunchPad backchannel USB-serial link

$
0
0


Under certain circumstances the backchannel USB-serial link to the MSP430 LaunchPad board will stop communicating, and the link will remain in this "frozen" state until the LaunchPad board is unplugged and replugged. I searched the MSP forum here, but couldn't find any specific description of the problem ( I realize this proves nothing <grin!> ), so I'm posting as complete a description of it as I can.

Here's one way of reproducing the problem, using a fresh-out-of-the-box LaunchPad v1.5 with its MSP430G2553 pre-programmed with the TemperatureMeasurement Demo Application.

  1. Plug the LaunchPad v1.5 board into a USB port on the host. You should see LED0 on steady and LEDs 1 and 2 blinking on and off alternately.
  2. Verify that the ttyACM0 device has been created:
        frank@bagheera:~$ ls /dev/ttyA*
        /dev/ttyACM0

  3. Set the host device to expect characters at 2400 Baud:
        stty 2400 -F /dev/ttyACM0
  4. Prepare to accept data from the LaunchPad:
        cat /dev/ttyACM0
    You should not see any output yet.
  5. Press LaunchPad button S2 (next to LEDs 1&1, blinking). You should now see LEDs 1&2 go out, and a paced sequence of uppercase ASCII letters generated by the G2553 and representing temperature measurements appearing in the terminal window on the
    host, something like the following:
        EEEEFEFFFEEEEEFFFEFEFEEFFFFFFFFF...   (continues indefinitely)
  6. So far, this is the expected behavior of the program.  However, if you interrupt the reception of the data by pressing Ctl-C and then attempt to restart it you see an error:
        frank@bagheera:~$ cat /dev/ttyACM0         (step 4 above)
        EEEEFEFFFEEEEEFFFEFEFEEFFFFFFFFF^C         (output from step 5)
        frank@bagheera:~$ cat /dev/ttyACM0         (attempted continuation)
        cat: /dev/ttyACM0: Input/output error  (Whoops!)


This condition appears to persist until the LaunchPad is unplugged andreplugged.  In particular, pressing the LaunchPad RESET button (S1)
does not clear the condition, indicating that the problem is either in the host driver or the LaunchPad firmware (e.g. the TUSB3410 USB
interface chip).

This forum post describes it as a driver problem:

  Linux Serial Driver for the Launchpad Bugs

  http://forum.43oh.com/topic/935-linux-serial-driver-for-the-launchpad-bugs/ 

but I'm not sure I agree.  I reproduced the problem on an embedded Linux system (OpenWrt), then unloaded and reloaded theti_usb_3410_5052 driver using rmmod and insmod.  This did not clear the error condition, which makes me suspect that it might be a TUSB3410firmware problem.

Here's another wrinkle: It turns out that you can prevent the "freeze"by resetting the G2553 before interrupting the host side of the seriallink.  That is, when the Demo program is running properly and characters are appearing at the host (step 5 above), the followingsteps do work:

  - Press RESET (S1). LEDs 1&2 resume blinking
  - Press Ctl-C on the host, interrupting the 'cat' operation
  - Issue another 'cat /dev/ttyACM0' command
  - Press S2. LEDs 1&2 go out and characters appear on the host.

Removing and replacing the LaunchPad J3 VCC jumper and replacing itdoes not clear the problem.

I attempted to reset the /dev/ttyACM0 device using a Linux utility called 'usb_modeswitch':

  usb_modeswitch -R -v 0x0451 -p 0xf432

but only succeeded in making /dev/ttyACM0 disappear.  Fortunately, unplugging and replugging the LaunchPad brought it back. <grin!>

Assuming that I'm correct, that this problem is a result of the TUSB3410 chip not liking output-to-host characters that no one everpicks up (TUSB3410 internal buffer overrun?), dropping power to theLaunchPad would be likely to clear the problem.  The following forumpost offers hints on how this might be done, but I was unable to get any visible results on my Dell D630 laptop (Ubuntu 10.04.4 LTS).  Inany case, I would put it in the "Kids, don't try this at home" category:

  Linux USB: turning the power on and off? 

  http://stackoverflow.com/questions/1163824/linux-usb-turning-the-power-on-and-off

 
Can anyone offer a method for recovering from this problem which does not require unplugging and replugging the LaunchPad?

Is there any chance that this problem is related to the intermittent "host serial port locks up" problems which other users and I have experienced with the MSP430LaunchPad in the past?

Any hints, clues, and observations will be appreciated.


Frank McKenney

--
  Human beings feel an instinctive urge to ally with the wise, the
  generous, the benevolent, and the righteous.  Caring people wish to
  stand against the brutal, the unfeeling, and the rapacious.  We
  _feel_ better by constructing alliances with moral individuals or by
  linking ourselves with apparently moral qualities, but that's not
  always the same as being effective in achieving our desired
  practical ends.
                  -- Tyler Cowen / An Economist Gets Lunch
--



Problem with write to CFR in ADS8331

$
0
0

Hi.

Firstly, i wolud like tell that i read all topics about problems with ADS8331 and nothing...

I have good comunication with my ADS8331 but I can't write settings to CFR.

ADS8331 send me good values but all inputs. When i send different bits to CFR there's nothing happend.

I need read values only one input but i can't change the settings of ADS8331.

Please help ( apologise for my English)

BQ500210 LED indication scheme

$
0
0

Hello.

I am using the BQ500210 along with the BQ51013 and am having the exact same issues as described in the thread post pasted below in italics. 

Once placing the TX coil on the RX coil, the LED1 of the BQ500210 blinks slowly and charging of our battery begins.  Once charging has completed, I drive the TS/CTRL line high through a p-type mosfet in order to terminate power transfer, which causes the LED to turn solid green.  This is the behavior that we expect and want, however after some time period after, the LED turns off with no indication of fault or other error. 

I too would be interested in any ways of making LED1 remain on or begin flashing slowly once charging is re-initiated.

Thank you,

Matt

Hello,

I am working on a design which has recently made the change from the BQ500110 to the BQ500210. Everything seems to be working fine except for some unexpected behavior that I'm seeing on the LED indicators (specifically LED1 on theBQ500210). I am using the BQ51013 on the receiver side.

When I place the RX coil on the TX coil, LED1 begins to slowly flash green indicating power transfer. When I force the BQ51013 to terminate the transfer (by pulling TS/CTRL high) then I see LED1 turn solid green.

Then, if I stop forcing the TS/CTRL pin on the BQ51013 high and wait 5 minutes - the power transfer will start again but LED1 turns off and remains off instead of flashing. Once I send another termination packet from the BQ51013 the power transfer will stop and LED1 will turn solid green again.

I have tried LED modes 1, 3, 4 and 5 and they all show the same behavior.

Is there anyway to make LED1 not turn off (it can either remain solid or slowly flash) if a power transfer is re-initiated after a termination packet has been sent?

Any help or information would be greatly appreciated.

ccs6 beta3 : is there is a list of removed functionality

$
0
0

After installing CCS6 beta3 noticed that there appears to be no support for C5400 devices. I don't use C5400 so that isn't a problem. However, reading the CCS6 beta3 release notes I can't find any mention of removed functionality.

Is there is list of functionality which has been removed in CCS6 beta3 compared to CCS5?

Stellaris graphics library [use TSC2007 touch I2C driver instead of onboard ADC] [LCD BOOSTERPACK V2]

$
0
0

Hello!

i am the designer of LCDBPV2 ( http://danirebollo.es/index.php/bundles/lcd-bp-v2 ) and i sent it to promote in http://www.ti.com/ww/en/launchpad/boosterpacks.html . while i'm waiting, i'm fixing some code on my library.
It works very well with my libraries but i would like to use Texas Instruments Graphics library because widgets and more, so:
In my first version of this LCD boosterpack, it was totally compatible because all pinout are the same and connect touch with microcontroller directly, but in second version i use TSC2007.

I successfully initialize them and i get position on the screen with interrupts but now i would like to intercept TI Graphic Library (touch.c) to give my data and make it work.

I looked to "touch.c" and i found that "g_sTouchX" and "g_sTouchY" stores "x" and "y" data. i get some conclussions (maybe wrong...):

-"TouchScreenIntHandler()" runs when every ADC sample is adquired and set "g_sTouchX" and "g_sTouchY" raw data. Later "TouchScreenDebouncer()" reads "g_sTouchX" and "g_sTouchY" data and updates all framework (widgets, buttons...).
-"g_sTouchX" and "g_sTouchY" are external variables, so i can change his value in main. "TouchScreenIntHandler()" and "TouchScreenDebouncer()" are extrnal functions, so i can call to it in main.

I comment these lines to delete ADC interrupt: "ADCIntEnable(ADC0_BASE, 3); IntEnable(INT_ADC3);" and, in main, i put my touch values on "g_sTouchX" and "g_sTouchY" variables and later call to "TouchScreenDebouncer()" , but wont work...


can you tell me if i need to call to another function to get it works?
thanx.

Viewing all 262198 articles
Browse latest View live


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