PSoC™ 5, 3 & 1 Forum Discussions
Hi,
I studied and tried the I2C Bootloader AN86526 document and it works great. But there is one question.
For my application I need a couple of routines such as i2c communication and writing to a display. These basic (library) routines will be used by BOTH Bootloader and application program. Is there a way to use the libraries from both programs ? I am aware that in that case the libraries cannot be overwritten in case of new versions but it could save me memory.
I'm testing now with PSOC4 on my pioneer kit but as soon as I get my PCBs I will run my application on a PSOC3. Bootloading via I2C.
Thanks
Patrick
Show LessHi,
As default, PSoC 5 Timer component counts down but I want to use it as up counter.
Is it possible to change Timer to up counter?
Thanks.
Murat.
Show LessHello everyone,
I am developing a DAQ using PSOC 3 and I have 2 strain guage sensers I want to power them using the Kit. the power requirement is DC 12(10.5~15)V 30mA MAX for the first sensor. and DC 24(21~30)V 30mA MAX for the other one.
Please help me doing this.
maxdamage
Show LessPSoC 5lp ADC_SAR_Seq does not update readings correctly. The first conversion after reset
or programming seems to be correct but on subsequent reads the first channel updates on each
conversion, but the second channel only updates on every OTHER conversion. Does anyone else
have the same result??? I have tried both the software call ADC_SEQ_StartConvert and the hardware
conversion with a control register results same both ways. I also tried reading the finalResult
variables also same result.
Hello everyone,
Could you please tell me which memory saves the program loaded from PC in PSoC 5LP Development board?
Because after I load my program through usb, the program is still on board when I use the board next time. It seems that the program is stored in a ROM. I checked that development kit has FX2LP which also has EEPROM like PSoC chip. Is the memory in FX2LP or in PSoC chip? I'm confused about the programming process. It would be great if you could tell me a little about how the program is loaded? Thanks a lot!
Show LessI am repeatedly transmitting an array in sram over uart. It seems to work fine except that when I try to update the array with cpu access I am only able to intermittently get bytes into the array. Is there any type of blocking that can take place if dma is constantly reading from an array? I was under the impression that dma access to sram was clocked in such a way as to be transparent to cpu access. Has anyone else had a similar experience?
Show LessHi,
I am working on the psoc 5LP and unfortunately when I try to program to the device the creator doesn recognize the miniprog
it worked well until now and the device is defined correctly
what can I do?
Please your kind help
Show LessIf ADCINC14_fIsDataAvailable() used to return available data consistently and code inside executes properly, but now ADCINC14_fIsDataAvailable() always returns false after less than a minute of executing the code, what could be the problem?
The code hasn't changed, but now I do not get any data anymore. Could the PSoC be damaged and I just need to replace it?
if(ADCINC14_fIsDataAvailable()){
ADC_Filter1[Ptr1] = ADCINC14_iClearFlagGetData();
/* Simple moving average filter stage 1 */
Filter1_Result=0;
for(i=0;i<FILTER1_DEPTH;i++)
{
Filter1_Result += ADC_Filter1;
}
/* Wrapping around the Filter1 pointer */
if(Ptr1++ == FILTER1_DEPTH)
{
Ptr1 = 0;
}
/* Providing first stage result to second stage current pointer */
ADC_Filter2[Ptr2] = Filter1_Result >> SHIFTER;
/* Second stage filter reset to current value of the change is more than noise threshold */
if (((ADC_prev_Value - ADC_Filter2[Ptr2]) > THRESHOLD) || ((ADC_Filter2[Ptr2] - ADC_prev_Value) > THRESHOLD) && (ADC_Filter2[Ptr2] !=0))
{
for(i=0;i<FILTER2_DEPTH;i++)
{
ADC_Filter2 = ADC_Filter2[Ptr2];
}
}
/* Simple moving average filter stage 2 */
Filter2_Result=0;
for(i=0;i<FILTER2_DEPTH;i++)
{
Filter2_Result += ADC_Filter2;
}
ADC_prev_Value = ADC_Filter2[Ptr2];
/* Wrapping around the Filter2 pointer */
if(Ptr2++ == FILTER2_DEPTH)
{
Ptr2 = 0;
}
/* Final shift to divide for moving average filters output shift */
Filter2_Result = Filter2_Result >> SHIFTER;
UART_DB_PutSHexInt((signed int)Filter2_Result);
UART_DB_PutCRLF();
UART_BT_CPutString("write ");
UART_BT_PutSHexInt((signed int)Filter2_Result);
UART_BT_CPutString(",");
UART_BT_PutCRLF();
}else {
UART_DB_CPutString("No ADC data\r\n");
}
Show Less