PSoC™ 5, 3 & 1 Forum Discussions
text.format{('custom.tabs.no.results')}
Hi everyone,
Before diving into all the details of USB HID, I would like to get your opinion.
I would like to have switches (like a small keyboard) and send strings instead of just individual characters. Do you think a PSoC5LP with USB HID configured as a keyboard can do the job? The predefined strings will be hardcoded in the PSoC.
Do you have any documentation/reference or application that could help me starting? I found the AN58726 - USB HID Intermediate with PSoC® 3 and PSoC 5LP.
Thank you
Hal
Show Less
Hi I'm connecting the following pressure sensor to my psoc using my psoc 5lp . I watched couple of tutorials on how to interface a pressure sensor and have looked at the ADC example on psoc website. My code is very similiar to the person on the youtube link below. I also have watched the following analog sensor for the arduino code but its not working. similiar psoc posts also couldn't help me solve the problem. The pressure is from alibaba, I have used the formula used by arduino community.
https://www.youtube.com/watch?v=IqHeLsDwxVY&ab_channel=AngelaSodemann
https://youtu.be/UrqPxwsPWGk - anlog pressure sensor in arduino
https://community.cypress.com/t5/PSoC-5-3-1-MCU/Bourns-analog-pressure-transducer/m-p/127862
Show Less
Hi,
I'd like to use PSoC5 as a kind of "bridge". I want to route some pins with other pins. This is going to be a 1-to-1 connection. And it is going to be bi-directional. And the routing-map will be defined in runtime... (UPDATE: if it is not possible to do it in runtime, then "offline" is good too).
For clarification purposes, let's assume that I have 8 GPIOs: A1, A2, B1, B2, C1, C2, D1, D2. I'd like that A1 be routed to A2, B1 to B2... etc. But this info is not hardcoded. I should be able to change in runtime.
My questions are:
- What's the best way to achieve this? DSI?
- What's the maximum number of connections that I can do? Can I do a 28 x 28 routing-map?
Thanks!
[This is a follow up of this question: https://community.cypress.com/t5/PSoC-5-3-1-MCU/PSOC5LP-DSI-manual-routing-for-32x32-mux/td-p/183433 ]
Show Less
Due to the chip shortage I was unable to buy Psoc5LP parts and was forced to substitute for an obsolete Psoc5 part: CY8C5365AXI-043. I can't find this part in the psoc creator device selector because its obsolete. Is there a way I can add this obsolete part to the list? Can I select a different equivalent device and program as if it were that one?
Show LessHi,
I am using your CY8C5868 PSOC, use it sample lmt84(temperature sensor) P3.7 temperature as below configuration.
But FW can't capture stable value, use the scope capture the lmt84(temperature sensor) output signal is pull down in about 100KHZ. If I disconnet the output pin to P3.7, the lmt84 output signal is stable.
Best Regards,
Kent
Show Less
Hi
I am using the ADC_DelSig in differential mode. I am interested in sampling the voltage between two metal electrodes in electrolysis (between 100 mV to 1 V). The ADC voltage is fluctuating a lot – most of the time giving random values. My question is therefore, what could be wrong?
Here is my setup for the ADC.
Pin_1 is on metal 1 (positive) and pin_2 is on metal 2 (negative). I am using the ADC_DelSig_1_CountsTo_mVolts(ADC_DelSig_1_GetResult32()) function.
Thanks -
Show LessHi everyone,
I'd like to program a potentiostat able to perform cyclic voltammetry. I need a design that allows me to drive linearly a pin between -0.8 and 0.8V. How is it possible by using simply a DAC?
Thanks
Show Less
Hi,
I just want to dump to a .hex file a firmware that is flashed in my PSoC5LP, in order to do that, I open PSoC Programmer, "File - > Read to Hex", and that should work. The problem is that the configuration does not allow me to pick a 5 pin connector (it appears in gray, as you can see in the attached image), which is the connector that I have on my board. How could I change it?
Regards.
Show LessI am performing Square wave voltammetry using PSoC 5LP. In it, a square wave is superimposed on a base staircase potential. It is then applied to an electrochemical cell with a 3 electrode configuration. I have generated a waveform. Now I want to test it before applying it to the cell. I need to perform both DC and AC analysis of the circuit. Does anybody have any suggestions?
Experiment conditions: Potential range: -1 to +1V. Width of pulse: 25ms. Max current to be sourced at the cell: 100 microAmps(0.1mA).
Perform AC analysis on different time constants and measure current
and share your views on the schematic I shared with this?
Show LessI am trying to get samples from two LUTs with chained TDs. The clock signal starts TD0 (from LUT array to register, increase source address) which then starts TD1. Once TD1 is executed, an interrupt is generated to process the samples stored in the registers. For some reason the LED lights up but does not turn off and needless to say, there is no signal on the scope. What am I doing wrong? It has to be something to do with the TD configuration. Thank you for any help in advance.
#define DMA_1_BYTES_PER_BURST 1
#define DMA_1_REQUEST_PER_BURST 1
#define DMA_1_SRC_BASE (CYDEV_SRAM_BASE)
#define DMA_1_DST_BASE (CYDEV_SRAM_BASE)
#include "project.h"
#include "LUT.h"
void configureDMA(void);
CY_ISR_PROTO(isr_1);
uint8_t sineReg;
uint8_t sawReg;
int main(void)
{
CyGlobalIntEnable; /* Enable global interrupts. */
configureDMA();
VDAC8_1_Start();
VDAC8_2_Start();
isr_1_StartEx(isr_1);
LED_pin_Write(0u);
for(;;)
{
}
}
CY_ISR(isr_1){
// do math on sample then write sit in DAC register
LED_pin_Write(1u);
VDAC8_1_SetValue(sineReg);
VDAC8_2_SetValue(sawReg);
CyDelay(100);
LED_pin_Write(0u);
}
void configureDMA(){
uint8 DMA_1_Chan;
uint8 DMA_1_TD[2];
/* DMA Configuration for DMA_1 */
DMA_1_Chan = DMA_1_DmaInitialize(DMA_1_BYTES_PER_BURST, DMA_1_REQUEST_PER_BURST,
HI16(DMA_1_SRC_BASE), HI16(DMA_1_DST_BASE));
DMA_1_TD[0] = CyDmaTdAllocate();
DMA_1_TD[1] = CyDmaTdAllocate();
CyDmaTdSetConfiguration(DMA_1_TD[0], 1, DMA_1_TD[1], CY_DMA_TD_INC_SRC_ADR | CY_DMA_TD_AUTO_EXEC_NEXT);
CyDmaTdSetConfiguration(DMA_1_TD[1], 1, DMA_1_TD[0], DMA_1__TD_TERMOUT_EN | CY_DMA_TD_INC_SRC_ADR);
CyDmaTdSetAddress(DMA_1_TD[0], LO16((uint32)sineWaveLUT), LO16((uint32)sineReg));
CyDmaTdSetAddress(DMA_1_TD[1], LO16((uint32)sawWaveLUT), LO16((uint32)sawReg));
CyDmaChSetInitialTd(DMA_1_Chan, DMA_1_TD[0]);
CyDmaChEnable(DMA_1_Chan, 1);
}
Show Less