PSoC™ 5, 3 & 1 Forum Discussions
Hi there,
I got a string from TeraTerm: numbuf and want to convert it to set_voltage (define as float) , so I use sscanf function:
sscanf(numBuf, "%f", &set_voltage)
Then I want to print that set_voltage to the LCD so I use sprintf to convert it to ASCII string resultbuf (define as char resultbuf[6]) :
sprintf (resultbuf, "%3.1f", set_voltage);
then use
LCD_PrintString(resultbuf); to the LCD.
but I got some wierd characters on the LCD.
Can anyone explain to my why?
I just want to print a float number to LCD.
Show LessI'm trying to automate loading of firmware on a device via SWD. In order to do so, I'm running the CLI tool from a Windows CMD prompt. Everything starts fine but when I try to "Program" the device I get this error:
"Device is not in ISSP mode"
I try to set the device to program via SWD (SetProtocol 😎 but this does not seem to work. Is there some kind of trick I need to use to get this to work? The process works fine from the PSoC Programmer UI. When I try to script the process using the "runfile" command rather than typing into the CMD prompt I get the same error.
EDIT: This is with PSoC Programmer 3.24.4
Show Lesshi, i am using CY8C29466-24SXI kit, and i am trying to convert the RPM speed of motor to a frequency from the monitor "n", i have problem with the code, the output is constant and should change when i change the speed of motor
the equation should be : Freq(monitor) = [n ( speed[rpm]) * Zpol ( which is 😎 ] / 20
thanks
Show LessIm developing an app with CY8C27143
It uses all 8 digital user modules
I wanted to test adding a Comparator user module
So I just added the Comparator and generated the code for that configuration and the app stops working.
Trying to trace the fault I just unplaced the user module (Comparator) and regenerated configuration code, the app worked again.
Then i removed Comparator module totally and added a PGA UM (just for testing if analog side had a problem), generated code and same, app stops working!
Then removed one of the digital user modules, removed referent code for that UM , leaving the PGA UM in schematic and generating configuration code.
App works again!
So adding a 9th user module seems to be the fault??
Can anybody help in what i´m doing wrong or how to trace the problem?
Thanks in advance
Luis
Show LessI've been playing with the Sparkfun FreeSOC2 for about a day, and everything was going well, but now it's "stuck" and I can't enter debug.
I can program the device, but after that I get a message "The start request failed. Encountered error (SetTarget timeout)"
Tried resetting the board, power cycle etc.
How do I recover?
Show LessHello,
I want to read exactly what is on the MISO line right after it is transmitted. What is the method for doing this? For example I send 0x9700 over MOSI and then the MISO that comes back should be 0x0C04. I want to capture this 0x0C04 right when it comes in
Show LessHi guys, I am going to try include a external SD2 (sigma delta 2ºorder) ADC on my device for sensing current load.
It is an fullbridge topology and i am trying take de load current measure.
Do you know it is could be possible use the digital part of orignal SD(inside Psoc) to decode the
I need for a external bitstream (1 bit, 20M): - circ3 filter implemented on the psoc.
- try to use the internal DIGITAL part of the original SD,
Could you say me something about bitstream decoder or cir3 filter implementation?
Thanks you for your time.
Show LessHello everyone
By reference to the first generation of PSoC (PSoC 1),the analog input range is 0-5 volt with AGND equal to 2.5v if Ref Mux=(Vdd/2)+/-(Vdd/2).
by using psoc 5lp , the range is [0-1.020]v or [0-4.080]v ???
also vref =1.020 as default, why that ?why my analog input shouldn't exceeded 4.080 v?
the range in psoc 1 is better than psoc 5,right ?
What is the equivalent of AGND in psoc 5lp ???This is a question in need of an answer.
the problem is :
i worked on psoc1 cy8c29466 with range 0-5 v and agnd=2.5 , i have implemented a big project using it and It works well, i want to development it by using psoc5lp cy8c5888 ,But there is a difference in input voltage range ,and AGND ??
please help
I have attached image about my project using PSoC1
Thanks in advance
I'd be eternally grateful if someone could help me out here. I am trying to write bootable application metadata directly to flash for an SD card based bootloader. The system has ECC disabled and uses a CY8C5888LTQ-LP097 (one of the USB stick parts). Whatever I seem to do with flash is failing.
Comments on the code are in-line. First is a snippet showing how writing metadata is tested, then the code for flashing the metadata structure itself.
TAIA
Jerry.
// structure to manage metadata as per http://www.cypress.com/file/44531/download P21 PSOC5_Metadata metadata; // fill with checkbyte memset(&metadata,0xEE,sizeof(PSOC5_Metadata)); // first get existing metadata. this works, we get valid numbers. uint32 length = Bootloader_GetMetadata(Bootloader_GET_BTLDB_LENGTH,0); uint32 checksum = Bootloader_GetMetadata(Bootloader_GET_BTLDB_CHECKSUM,0); // update using our own API metadata.ActiveApplication = 1; metadata.AppCheckSum = checksum; metadata.AppLength = length; metadata.AppAddress = Bootloader_GetMetadata(Bootloader_GET_BTLDB_ADDR,0); // status returns CYRET_SUCCESS status = UpdateMetadata(0,&metadata); // and check again. these values now come back as zero (!) length = Bootloader_GetMetadata(Bootloader_GET_BTLDB_LENGTH,0); checksum = Bootloader_GetMetadata(Bootloader_GET_BTLDB_CHECKSUM,0); // this (predictably) fails status = Bootloader_ValidateBootloadable(0);
// full row buffer uint8 metaBuf[CYDEV_FLS_ROW_SIZE]; cystatus UpdateMetadata(int appId,PSOC5_Metadata* metadata) { PSOC5_Metadata* pc = 0; cystatus status = CySetTemp(); if (status != CYRET_SUCCESS) { return status; } // size_t bytes = sizeof(PSOC5_Metadata); // clear buffer memset(&metaBuf[0],0,CYDEV_FLS_ROW_SIZE); // copy in metadata. See // memcpy(&metaBuf[0],metadata,bytes); // See AN60137 section A.3. Data is _not_ aligned to block start memcpy(&metabuf[CYDEV_FLS_ROW_SIZE - 64],metadata,bytes); // choose which row to update uint16 row = Bootloader_MD_ROW_NUM(appId); // Update metadata in flash status = CyWriteRowData(Bootloader_MD_FLASH_ARRAY_NUM, row, metaBuf); // CyFlushCache(); // sanity check ... pc = (PSOC5_Metadata*) &metaBuf[0]; // return status; }
Show Less
hi guy
when programing psoc chip like cy8c29466, and power it , there are a period to initialize it , it's about 150 millisecond , right ?
after this time,the generated signals inside psoc started to works .
okay,but at this period (150 ms ) what are the states of my pins ? it's low ,high, high Z , ...?
I need to know the state of it in this time (150 ms ) , i adjust it in PSoC Designer Device Editor , but it's same as i adjusted during this period ?
are there an application note explain the state of the pins during this period.
Question 2:Can I control the output of a analog pin and adjust it to what value for a period of time like i need to adjust a pin to 2.5 volt or 0 volt for a 20 second and then make this pins takes a value of a user models inside the chip ?
( i have a sine signal generated in side psoc on pin p0.1 but i want this output equals 0 for a 20 second, and after this period it's transferred to the sine wave signal output ?